<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>The Pleasure of Finding Things Out: A blog by James Triveri</title>
<link>https://www.jtrive.com/</link>
<atom:link href="https://www.jtrive.com/index.xml" rel="self" type="application/rss+xml"/>
<description>A technical blog by James Triveri&quot;</description>
<generator>quarto-1.5.57</generator>
<lastBuildDate>Sun, 08 Mar 2026 06:00:00 GMT</lastBuildDate>
<item>
  <title>Practical NLP for Risk Modeling, Part III - Narrative Compression vs. Truncation</title>
  <link>https://www.jtrive.com/posts/practical-nlp-for-risk-modeling-part-3/practical-nlp-for-risk-modeling-part-3.html</link>
  <description><![CDATA[ 





<blockquote class="blockquote">
<p>The notebook version of this post can be downloaded <a href="https://github.com/jtrive84/jtrive84.github.io/blob/master/posts/practical-nlp-for-risk-modeling-part-3/practical-nlp-for-risk-modeling-part-3.ipynb">here</a>.</p>
</blockquote>
<p>In <a href="https://www.jtrive.com/posts/practical-nlp-for-risk-modeling-part-2/practical-nlp-for-risk-modeling-part-2.html">Part II</a> of the <em>Practical NLP for Risk Modeling</em> series, we fine-tuned DistilBERT end-to-end on NOAA tornado narratives and saw significant performance improvement versus the frozen-embedding baseline from Part I. That result is encouraging, but it raises a practical question: How much narrative text do we actually need? Free-form text data can be long, repetitive, and expensive to process. If it is possible to compress narratives while simultaneously preserving most of the severity signal, we get cheaper scoring with an acceptable level of performance degradation. In this post, we explore text compression using abstractive summarization models.</p>
<p>Abstractive summarization is a technique where a model generates a new, shorter version of a text that captures its main ideas rather than extracting sentences from the original. Abstractive models can rephrase, combine, and restructure information to produce a more concise summary. Modern approaches typically use sequence-to-sequence transformer models that generate the summary token-by-token.</p>
<p>In the process of running these experiments, I discovered that I misunderstood how abstractive text summarization models actually operate. The original experimental outline was to perform a compression sweep, where text narratives would be summarized at increasingly aggressive compression levels, and the hope was to identify the point at which performance deteriorates to an unacceptable level. The plan was to compress the original text at 5%, 10%, 25%, 50%, 75%, 90%, and 95%, where “X% compression” means “keep (1 − X%) of the original token budget”, measured via the DistilBERT tokenizer. But I found that the summarized output was virtually identical regardless of the token budget. There would be a slight difference between the full narrative and 5% compression. The summary would be the same for 5% compression through 90% compression, then the 95% the summary would be identical to the 90% summary but with trailing words removed to satisfy the token budget.</p>
<p>After doing a little research, this behavior turns out not to be surprising. Sequence-to-sequence summarizers are trained to produce a fluent summary, not to fill an arbitrary token budget. Once the model decides the summary is complete, generation terminates before hitting any upper bound token constraint.</p>
<p>As a consequence, I changed the design of the experiment. Instead of the compression sweep, four conditions will be evaluated:</p>
<ol type="1">
<li>The full event narrative with no compression. This is the upper-bound reference point.</li>
<li>Truncation baseline. Keep only a fixed fraction of the original DistilBERT token budget by cutting off the narrative after the allotted number of tokens.</li>
<li>A medium summary condition, which limited the number of summarized output tokens to 96.</li>
<li>A short summary setting, which limited the number of summarized output tokens to 48.</li>
</ol>
<p>After generating the summary, the same final DistilBERT token budget used for truncation will still be enforced (128 tokens). This matters because the summarizer and classifier use different tokenizers, so the post-generation truncation step keeps the comparison fair. The revised plan is:</p>
<ol type="1">
<li>Train a fine-tuned DistilBERT classifier on the full-text training set (2008–2022).</li>
<li>Create validation sets associated with each of the four conditions (2023-2025).</li>
<li>Evaluate the model on each validation set using a fixed classification threshold.</li>
<li>Compare performance across full-text, truncation and medium and short compression conditions.</li>
</ol>
<p><br></p>
<section id="environment" class="level3">
<h3 class="anchored" data-anchor-id="environment"><strong>Environment</strong></h3>
<p>It would be impractical to run this notebook without GPU acceleration. If you do not have access to a GPU, opt for a 15-20% subset of the original validation set prior to creating the short and medium compressed datasets later in the post. Alternatively, check out Google Colab, which provides a limited GPU runtime for their managed notebook instances free of charge.</p>
<p>To match the environment used in throughout this notebook, install the dependencies specified in the following <em>requirements.txt</em>. Note that transformers&gt;=5.0 and torch&gt;2.5 are required:</p>
<div id="8e1c39c9" class="cell">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!</span>python <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>m pip install <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>r https:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">//</span>gist.githubusercontent.com<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>jtrive84<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>e313afbf2def24687e3c3247aa836fe9<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>raw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>f2493005d291920dc1fcfd54274b9dfa42004ebe<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>requirements.txt <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>quiet</span></code></pre></div>
</div>
<p>If an NVIDIA GPU is available, install the CUDA-enabled PyTorch wheel instead of the default CPU build. This is only necessary if installing the dependencies on your own machine. GPU instances in Sagemaker, Colab and the NVIDIA RAPIDS Docker images already have CUDA-enabled PyTorch available:</p>
<div id="b77b31e2" class="cell">
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!</span>python <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>m pip install <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>r https:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">//</span>gist.githubusercontent.com<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>jtrive84<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>bc9dad844ab927357f0c35ea71f33963<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>raw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span><span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">1d84194f9ad59f3b265e45d7ff39cefe1386673</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>requirements<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>gpu.txt <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>quiet</span></code></pre></div>
</div>
<p>If the CUDA-enabled PyTorch wheel was installed, the torch version number should have a <code>+cu***</code> suffix:</p>
<div id="34d9e58b" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"></span>
<span id="cb3-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torch</span>
<span id="cb3-3"></span>
<span id="cb3-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"torch version: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>torch<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>__version__<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb3-5"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"cuda version : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>torch<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>version<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>cuda<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>torch version: 2.6.0+cu124
cuda version : 12.4</code></pre>
</div>
</div>
<p><br></p>
<p>To keep this notebook as self-contained as possible, the next few cells walk through retrieving and reproducing the train–validation splits used in Parts I and II of the series.</p>
<div id="c8954b10" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"></span>
<span id="cb5-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> os</span>
<span id="cb5-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb5-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> requests</span>
<span id="cb5-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> bs4 <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> BeautifulSoup</span>
<span id="cb5-6"></span>
<span id="cb5-7">base_url <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"https://www.ncei.noaa.gov/pub/data/swdi/stormevents/csvfiles/"</span></span>
<span id="cb5-8"></span>
<span id="cb5-9"></span>
<span id="cb5-10"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> get_latest_details_file(year):</span>
<span id="cb5-11">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb5-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Return the filename of the latest details file for the given year.</span></span>
<span id="cb5-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Sample filename: StormEvents_details-ftp_v1.0_d2022_c20250721.csv.gz</span></span>
<span id="cb5-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb5-15">    html <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> requests.get(base_url).text</span>
<span id="cb5-16">    soup <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> BeautifulSoup(html, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"html.parser"</span>)</span>
<span id="cb5-17">    candidates <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb5-18">        a[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"href"</span>]</span>
<span id="cb5-19">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> a <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> soup.find_all(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"a"</span>, href<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb5-20">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"StormEvents_details-ftp_v1.0_d</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>year<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> a[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"href"</span>]</span>
<span id="cb5-21">    ]</span>
<span id="cb5-22"></span>
<span id="cb5-23">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sorted</span>(candidates)[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb5-24"></span>
<span id="cb5-25"></span>
<span id="cb5-26"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Check if dataset exists locally prior to hitting NOAA servers.</span></span>
<span id="cb5-27"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> os.path.exists(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"noaa-events-2008-2025.parquet"</span>):</span>
<span id="cb5-28">    </span>
<span id="cb5-29">    <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fetching latest filenames from NOAA servers..."</span>)</span>
<span id="cb5-30">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get latest filenames for years 2008-2025.</span></span>
<span id="cb5-31">    latest_filenames <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [get_latest_details_file(year) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> year <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2008</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2026</span>)]</span>
<span id="cb5-32"></span>
<span id="cb5-33">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Load each file into a DataFrame and concatenate.</span></span>
<span id="cb5-34">    dfall <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.concat(</span>
<span id="cb5-35">        [pd.read_csv(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>base_url <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> fname<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, compression<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gzip"</span>) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> fname <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> latest_filenames],</span>
<span id="cb5-36">        ignore_index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb5-37">    )</span>
<span id="cb5-38">    dfall.to_parquet(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"noaa-events-2008-2025.parquet"</span>)</span>
<span id="cb5-39"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb5-40">    <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Loading dataset locally..."</span>)</span>
<span id="cb5-41">    dfall <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_parquet(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"noaa-events-2008-2025.parquet"</span>)</span>
<span id="cb5-42"></span>
<span id="cb5-43"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Total records loaded: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>dfall<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb5-44">dfall.head()</span>
<span id="cb5-45"></span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Loading dataset locally...
Total records loaded: 1,161,550</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="4">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">BEGIN_YEARMONTH</th>
<th data-quarto-table-cell-role="th">BEGIN_DAY</th>
<th data-quarto-table-cell-role="th">BEGIN_TIME</th>
<th data-quarto-table-cell-role="th">END_YEARMONTH</th>
<th data-quarto-table-cell-role="th">END_DAY</th>
<th data-quarto-table-cell-role="th">END_TIME</th>
<th data-quarto-table-cell-role="th">EPISODE_ID</th>
<th data-quarto-table-cell-role="th">EVENT_ID</th>
<th data-quarto-table-cell-role="th">STATE</th>
<th data-quarto-table-cell-role="th">STATE_FIPS</th>
<th data-quarto-table-cell-role="th">...</th>
<th data-quarto-table-cell-role="th">END_RANGE</th>
<th data-quarto-table-cell-role="th">END_AZIMUTH</th>
<th data-quarto-table-cell-role="th">END_LOCATION</th>
<th data-quarto-table-cell-role="th">BEGIN_LAT</th>
<th data-quarto-table-cell-role="th">BEGIN_LON</th>
<th data-quarto-table-cell-role="th">END_LAT</th>
<th data-quarto-table-cell-role="th">END_LON</th>
<th data-quarto-table-cell-role="th">EPISODE_NARRATIVE</th>
<th data-quarto-table-cell-role="th">EVENT_NARRATIVE</th>
<th data-quarto-table-cell-role="th">DATA_SOURCE</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>200802</td>
<td>22</td>
<td>1300</td>
<td>200802</td>
<td>22</td>
<td>2200</td>
<td>14216</td>
<td>79884</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>A noreaster moved up the coast southeast of Ca...</td>
<td>NaN</td>
<td>CSV</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>200804</td>
<td>1</td>
<td>352</td>
<td>200804</td>
<td>1</td>
<td>352</td>
<td>15549</td>
<td>88334</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>Strong southwest flow behind a warm front allo...</td>
<td>An amateur radio operator recorded a wind gust...</td>
<td>CSV</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>200803</td>
<td>1</td>
<td>0</td>
<td>200803</td>
<td>1</td>
<td>1320</td>
<td>14773</td>
<td>83820</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>Low pressure tracked from the Great Lakes acro...</td>
<td>NaN</td>
<td>CSV</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>200801</td>
<td>14</td>
<td>500</td>
<td>200801</td>
<td>14</td>
<td>1700</td>
<td>13559</td>
<td>75727</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>Low pressure moved up the Atlantic coast and s...</td>
<td>NaN</td>
<td>CSV</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>200812</td>
<td>19</td>
<td>1353</td>
<td>200812</td>
<td>21</td>
<td>200</td>
<td>25148</td>
<td>146588</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>An intensifying coastal low spread heavy snow ...</td>
<td>Six to eight inches of snow fell across easter...</td>
<td>CSV</td>
</tr>
</tbody>
</table>

<p>5 rows × 51 columns</p>
</div>
</div>
</div>
<p>Pre-processing steps:</p>
<ul>
<li>Retain events from 2008 to present.</li>
<li>Keep only records with EVENT_TYPE = “Tornado”.</li>
<li>Drop records having TOR_F_SCALE “EFU”, “EF0”, “EF1”,“F0”, “F1”.</li>
<li>CLASS = 0 for EF2 events, CLASS = 1 for (EF3, EF4 and EF5) events.</li>
<li>Create a <code>DatasetDict</code>, with training set including events from 2008-2022 and test set events from 2023-2025.</li>
</ul>
<div id="6e4e5c43" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"></span>
<span id="cb7-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> warnings</span>
<span id="cb7-3"></span>
<span id="cb7-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> datasets <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> Dataset, DatasetDict</span>
<span id="cb7-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> mpl</span>
<span id="cb7-6"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb7-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb7-8"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb7-9"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torch</span>
<span id="cb7-10"></span>
<span id="cb7-11">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>)</span>
<span id="cb7-12">pd.options.mode.chained_assignment <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb7-13">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.max_columns'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb7-14">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.width'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb7-15">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"display.precision"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb7-16">warnings.filterwarnings(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ignore"</span>)</span>
<span id="cb7-17"></span>
<span id="cb7-18"></span>
<span id="cb7-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Filter for tornadoes from 2008 onward with significant damage ratings.</span></span>
<span id="cb7-20">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb7-21">    dfall[</span>
<span id="cb7-22">        (dfall.YEAR <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2008</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span> </span>
<span id="cb7-23">        (dfall.EVENT_TYPE <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tornado"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span> </span>
<span id="cb7-24">        (<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>dfall.TOR_F_SCALE.isin([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EFU"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EF0"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EF1"</span> ,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F0"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F1"</span>]))</span>
<span id="cb7-25">    ]</span>
<span id="cb7-26">    .dropna(subset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>])</span>
<span id="cb7-27">    .drop_duplicates(subset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>])</span>
<span id="cb7-28">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb7-29">)</span>
<span id="cb7-30"></span>
<span id="cb7-31"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Strip whitespace from EVENT_NARRATIVE.</span></span>
<span id="cb7-32">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.replace(<span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">r"\s+"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">" "</span>, regex<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.strip()</span>
<span id="cb7-33"></span>
<span id="cb7-34"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create target class based on TOR_F_SCALE.</span></span>
<span id="cb7-35">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.where(df.TOR_F_SCALE.isin([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EF2"</span>]), <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb7-36"></span>
<span id="cb7-37">keep_columns <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb7-38">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_ID"</span>,</span>
<span id="cb7-39">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>,</span>
<span id="cb7-40">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"TOR_F_SCALE"</span>,</span>
<span id="cb7-41">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BEGIN_LAT"</span>,</span>
<span id="cb7-42">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BEGIN_LON"</span>,</span>
<span id="cb7-43">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span></span>
<span id="cb7-44">]</span>
<span id="cb7-45"></span>
<span id="cb7-46"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create train-test splits. </span></span>
<span id="cb7-47">dftrain <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"YEAR"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&lt;=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2022</span>][keep_columns].reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb7-48">dfvalid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"YEAR"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>  <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2022</span>][keep_columns].reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb7-49"></span>
<span id="cb7-50"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create Dataset objects.</span></span>
<span id="cb7-51">ds_train <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Dataset.from_pandas(dftrain)</span>
<span id="cb7-52">ds_valid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Dataset.from_pandas(dfvalid)</span>
<span id="cb7-53">ds <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> DatasetDict({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"train"</span>: ds_train, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"valid"</span>: ds_valid})</span>
<span id="cb7-54"></span>
<span id="cb7-55"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Train size: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(dftrain)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb7-56"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Valid size: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(dfvalid)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,}</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb7-57"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Training sample:</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>ds_train[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stderr">
<pre><code>c:\Users\jtriv\miniforge3\envs\gnlp\Lib\site-packages\tqdm\auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
  from .autonotebook import tqdm as notebook_tqdm</code></pre>
</div>
<div class="cell-output cell-output-stdout">
<pre><code>Train size: 2,621
Valid size: 642

Training sample:
{'EVENT_ID': 105611, 'EVENT_NARRATIVE': 'A tornado damaged numerous trees, including large trees uprooted, blew windows out of a home, destroyed a metal shed, blew two windows and part of a wall out of a metal building, damaged at least three grain bins, destroyed or damaged numerous outbuildings and small sheds, blew down or snapped off at least 15 power poles, bent a metal light pole, tipped one wagon and blew the top off another, blew down a barb wire fence and pushed fence posts almost to the ground, destroyed a hog barn, and flattened corn stubble, before crossing the county line into Lyon County. Contents inside several damaged or destroyed buildings and sheds were also damaged, especially on one farm where damaged buildings housed a farm and trucking business.', 'TOR_F_SCALE': 'EF2', 'BEGIN_LAT': 43.1421, 'BEGIN_LON': -96.3, 'CLASS': 0}</code></pre>
</div>
</div>
<p><br></p>
</section>
<section id="fine-tune-distilbert-on-full-text-baseline-model" class="level3">
<h3 class="anchored" data-anchor-id="fine-tune-distilbert-on-full-text-baseline-model"><strong>Fine-tune DistilBERT on Full Text (baseline model)</strong></h3>
<p>The compression experiment needs a single reference classifier. We train the model once on full text, then evaluate it on compressed holdout narratives. This largely reproduces the work from Part II.</p>
<div id="078e7254" class="cell">
<div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb10-1"></span>
<span id="cb10-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> random</span>
<span id="cb10-3"></span>
<span id="cb10-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb10-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb10-6"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torch</span>
<span id="cb10-7"></span>
<span id="cb10-8"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> sklearn.metrics <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> (</span>
<span id="cb10-9">    accuracy_score,</span>
<span id="cb10-10">    roc_auc_score,</span>
<span id="cb10-11">    average_precision_score</span>
<span id="cb10-12">)</span>
<span id="cb10-13"></span>
<span id="cb10-14"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> transformers <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> (</span>
<span id="cb10-15">    AutoTokenizer,</span>
<span id="cb10-16">    AutoModelForSequenceClassification,</span>
<span id="cb10-17">    TrainingArguments,</span>
<span id="cb10-18">    Trainer,</span>
<span id="cb10-19">    DataCollatorWithPadding</span>
<span id="cb10-20">)</span>
<span id="cb10-21"></span>
<span id="cb10-22">device <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> torch.device(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cuda"</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> torch.cuda.is_available() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cpu"</span>)</span>
<span id="cb10-23"></span>
<span id="cb10-24"></span>
<span id="cb10-25"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set random seed for reproducibility.</span></span>
<span id="cb10-26">SEED <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">516</span></span>
<span id="cb10-27">random.seed(SEED)</span>
<span id="cb10-28">np.random.seed(SEED)</span>
<span id="cb10-29">torch.manual_seed(SEED)</span>
<span id="cb10-30"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> torch.cuda.is_available():</span>
<span id="cb10-31">    torch.cuda.manual_seed_all(SEED)</span>
<span id="cb10-32"></span>
<span id="cb10-33"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Device: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>device<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb10-34"></span>
<span id="cb10-35"></span>
<span id="cb10-36"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> tokenize_batch(batch):</span>
<span id="cb10-37">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> tokenizer(</span>
<span id="cb10-38">        batch[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>],</span>
<span id="cb10-39">        truncation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb10-40">        max_length<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">512</span></span>
<span id="cb10-41">    )</span>
<span id="cb10-42"></span>
<span id="cb10-43"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> softmax(x):</span>
<span id="cb10-44">    x <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> x <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> x.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, keepdims<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb10-45">    exp_x <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.exp(x)</span>
<span id="cb10-46">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> exp_x <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> exp_x.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, keepdims<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb10-47"></span>
<span id="cb10-48"></span>
<span id="cb10-49"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> compute_metrics(eval_pred):</span>
<span id="cb10-50">    logits, labels <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> eval_pred</span>
<span id="cb10-51">    probs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> softmax(logits)[:, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb10-52">    preds <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (probs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>).astype(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>)</span>
<span id="cb10-53">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> {</span>
<span id="cb10-54">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"accuracy"</span>: accuracy_score(labels, preds),</span>
<span id="cb10-55">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"roc_auc"</span>: roc_auc_score(labels, preds),</span>
<span id="cb10-56">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"precision"</span>: average_precision_score(labels, probs),</span>
<span id="cb10-57">    }</span>
<span id="cb10-58"> </span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Device: cuda</code></pre>
</div>
</div>
<div id="47ebb729" class="cell">
<div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb12-1"></span>
<span id="cb12-2">model_name <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"distilbert-base-uncased"</span></span>
<span id="cb12-3">tokenizer <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> AutoTokenizer.from_pretrained(model_name)</span>
<span id="cb12-4"></span>
<span id="cb12-5">ds_tokenized <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ds.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>(tokenize_batch, batched<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb12-6">ds_tokenized <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ds_tokenized.remove_columns([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"TOR_F_SCALE"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_ID"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BEGIN_LAT"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BEGIN_LON"</span>])</span>
<span id="cb12-7">ds_tokenized <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ds_tokenized.rename_column(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"labels"</span>)</span>
<span id="cb12-8">ds_tokenized.set_format(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"torch"</span>)</span>
<span id="cb12-9">collator <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> DataCollatorWithPadding(tokenizer<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>tokenizer)</span>
<span id="cb12-10">model <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> AutoModelForSequenceClassification.from_pretrained(model_name, num_labels<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>).to(device)</span>
<span id="cb12-11"></span>
<span id="cb12-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Training arguments. </span></span>
<span id="cb12-13">args <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> TrainingArguments(</span>
<span id="cb12-14">    output_dir<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"distilbert-noaa-ef-part3"</span>,</span>
<span id="cb12-15">    eval_strategy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"epoch"</span>,</span>
<span id="cb12-16">    save_strategy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"epoch"</span>,</span>
<span id="cb12-17">    logging_strategy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"steps"</span>,</span>
<span id="cb12-18">    logging_steps<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">50</span>,</span>
<span id="cb12-19">    learning_rate<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2e-5</span>,</span>
<span id="cb12-20">    per_device_train_batch_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>,</span>
<span id="cb12-21">    per_device_eval_batch_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">16</span>,</span>
<span id="cb12-22">    num_train_epochs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>,</span>
<span id="cb12-23">    weight_decay<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span>,</span>
<span id="cb12-24">    load_best_model_at_end<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>,</span>
<span id="cb12-25">    metric_for_best_model<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"roc_auc"</span>,</span>
<span id="cb12-26">    greater_is_better<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb12-27">    seed<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>SEED</span>
<span id="cb12-28">)</span>
<span id="cb12-29"></span>
<span id="cb12-30">trainer <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Trainer(</span>
<span id="cb12-31">    model<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>model,</span>
<span id="cb12-32">    args<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>args,</span>
<span id="cb12-33">    train_dataset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>ds_tokenized[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"train"</span>],</span>
<span id="cb12-34">    eval_dataset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>ds_tokenized[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"valid"</span>],</span>
<span id="cb12-35">    data_collator<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>collator,</span>
<span id="cb12-36">    compute_metrics<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>compute_metrics</span>
<span id="cb12-37">)</span>
<span id="cb12-38"></span>
<span id="cb12-39">trainer.train()</span></code></pre></div>
<div class="cell-output cell-output-stderr">
<pre><code>Map: 100%|██████████| 2621/2621 [00:01&lt;00:00, 2312.68 examples/s]
Map: 100%|██████████| 642/642 [00:00&lt;00:00, 1815.11 examples/s]
Loading weights: 100%|██████████| 100/100 [00:00&lt;00:00, 218.74it/s, Materializing param=distilbert.transformer.layer.5.sa_layer_norm.weight]   
DistilBertForSequenceClassification LOAD REPORT from: distilbert-base-uncased
Key                     | Status     | 
------------------------+------------+-
vocab_projector.bias    | UNEXPECTED | 
vocab_transform.bias    | UNEXPECTED | 
vocab_layer_norm.weight | UNEXPECTED | 
vocab_transform.weight  | UNEXPECTED | 
vocab_layer_norm.bias   | UNEXPECTED | 
pre_classifier.weight   | MISSING    | 
classifier.weight       | MISSING    | 
pre_classifier.bias     | MISSING    | 
classifier.bias         | MISSING    | 

Notes:
- UNEXPECTED    :can be ignored when loading from different task/architecture; not ok if you expect identical arch.
- MISSING   :those params were newly initialized because missing from the checkpoint. Consider training on your downstream task.</code></pre>
</div>
<div class="cell-output cell-output-display">

    <div>
      
      <progress value="3280" max="3280" style="width:300px; height:20px; vertical-align: middle;"></progress>
      [3280/3280 1:22:38, Epoch 10/10]
    </div>
    
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">Epoch</th>
<th data-quarto-table-cell-role="th">Training Loss</th>
<th data-quarto-table-cell-role="th">Validation Loss</th>
<th data-quarto-table-cell-role="th">Accuracy</th>
<th data-quarto-table-cell-role="th">Roc Auc</th>
<th data-quarto-table-cell-role="th">Precision</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>0.450666</td>
<td>0.459206</td>
<td>0.788162</td>
<td>0.621244</td>
<td>0.509355</td>
</tr>
<tr class="even">
<td>2</td>
<td>0.230294</td>
<td>0.385231</td>
<td>0.900312</td>
<td>0.831570</td>
<td>0.836489</td>
</tr>
<tr class="odd">
<td>3</td>
<td>0.188894</td>
<td>0.325148</td>
<td>0.914330</td>
<td>0.903474</td>
<td>0.875828</td>
</tr>
<tr class="even">
<td>4</td>
<td>0.160771</td>
<td>0.340444</td>
<td>0.925234</td>
<td>0.859782</td>
<td>0.900350</td>
</tr>
<tr class="odd">
<td>5</td>
<td>0.073583</td>
<td>0.407805</td>
<td>0.920561</td>
<td>0.880924</td>
<td>0.861684</td>
</tr>
<tr class="even">
<td>6</td>
<td>0.038271</td>
<td>0.458676</td>
<td>0.919003</td>
<td>0.908915</td>
<td>0.821543</td>
</tr>
<tr class="odd">
<td>7</td>
<td>0.036121</td>
<td>0.429346</td>
<td>0.922118</td>
<td>0.884349</td>
<td>0.879728</td>
</tr>
<tr class="even">
<td>8</td>
<td>0.032758</td>
<td>0.490672</td>
<td>0.923676</td>
<td>0.914356</td>
<td>0.822769</td>
</tr>
<tr class="odd">
<td>9</td>
<td>0.001190</td>
<td>0.458039</td>
<td>0.923676</td>
<td>0.907106</td>
<td>0.866877</td>
</tr>
<tr class="even">
<td>10</td>
<td>0.012224</td>
<td>0.439459</td>
<td>0.928349</td>
<td>0.905297</td>
<td>0.878418</td>
</tr>
</tbody>
</table>
<p>
</p></div>
<div class="cell-output cell-output-stderr">
<pre><code>Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  2.00it/s]
Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  2.08it/s]
Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  1.68it/s]
Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  1.22it/s]
Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  3.29it/s]
Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  4.18it/s]
Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  4.09it/s]
Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  3.89it/s]
Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  4.04it/s]
Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  4.10it/s]</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="7">
<pre><code>TrainOutput(global_step=3280, training_loss=0.14509652031631004, metrics={'train_runtime': 4959.9542, 'train_samples_per_second': 5.284, 'train_steps_per_second': 0.661, 'total_flos': 2612640273795948.0, 'train_loss': 0.14509652031631004, 'epoch': 10.0})</code></pre>
</div>
</div>
<p><br></p>
</section>
<section id="compressing-tornado-event-narratives" class="level3">
<h3 class="anchored" data-anchor-id="compressing-tornado-event-narratives"><strong>Compressing Tornado Event Narratives</strong></h3>
<p>Abstractive summarization is the process of using a summarization model to compress a narrative into fewer tokens. There are many summarization models to choose from, but we will focus on <code>sshleifer/distilbart-cnn-12-6</code>, which is a distilled version of the BART sequence-to-sequence transformer designed for text summarization. It was trained on the CNN/DailyMail news summarization dataset learning to generate summaries of long news articles. Because it is distilled (compressed) from the full BART model, it is smaller and faster at inference while retaining much of the original model’s summarization quality.</p>
<p>I also evaluated <code>facebook/bart-large-cnn</code>, but the generated summaries were very similar. Exploring alternative models is a topic that may warrant further examination.</p>
<div id="e7a2f94f" class="cell">
<div class="sourceCode cell-code" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb16-1"></span>
<span id="cb16-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> transformers <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> AutoModelForSeq2SeqLM</span>
<span id="cb16-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> sklearn.metrics <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> precision_recall_fscore_support</span>
<span id="cb16-4"></span>
<span id="cb16-5"></span>
<span id="cb16-6">comp_model_id <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"sshleifer/distilbart-cnn-12-6"</span></span>
<span id="cb16-7">comp_tokenizer <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> AutoTokenizer.from_pretrained(comp_model_id)</span>
<span id="cb16-8">summarizer <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> AutoModelForSeq2SeqLM.from_pretrained(comp_model_id).to(device)</span>
<span id="cb16-9"></span>
<span id="cb16-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Settings for short and medium compressed narratives. </span></span>
<span id="cb16-11">summary_presets <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {</span>
<span id="cb16-12">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"short"</span>: {</span>
<span id="cb16-13">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"max_new_tokens"</span>: <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">48</span>,</span>
<span id="cb16-14">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"min_new_tokens"</span>: <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>,</span>
<span id="cb16-15">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"num_beams"</span>: <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>,</span>
<span id="cb16-16">    },</span>
<span id="cb16-17">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"medium"</span>: {</span>
<span id="cb16-18">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"max_new_tokens"</span>: <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">96</span>,</span>
<span id="cb16-19">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"min_new_tokens"</span>: <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">40</span>,</span>
<span id="cb16-20">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"num_beams"</span>: <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>,</span>
<span id="cb16-21">    },</span>
<span id="cb16-22">}</span>
<span id="cb16-23"></span>
<span id="cb16-24"></span>
<span id="cb16-25"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> token_len_distilbert(text):</span>
<span id="cb16-26">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb16-27"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Length of tokenized text.</span></span>
<span id="cb16-28"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb16-29">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(tokenizer(text, truncation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, max_length<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">512</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"input_ids"</span>])</span>
<span id="cb16-30"></span>
<span id="cb16-31"></span>
<span id="cb16-32"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> summarize_text_fixed(text, summary_cfg):</span>
<span id="cb16-33">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb16-34"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Generate a summary using a fixed summarization configuration.</span></span>
<span id="cb16-35"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb16-36">    inputs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> comp_tokenizer(</span>
<span id="cb16-37">        text,</span>
<span id="cb16-38">        return_tensors<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"pt"</span>,</span>
<span id="cb16-39">        truncation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb16-40">        max_length<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1024</span></span>
<span id="cb16-41">    ).to(device)</span>
<span id="cb16-42"></span>
<span id="cb16-43">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">with</span> torch.no_grad():</span>
<span id="cb16-44">        summary_ids <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> summarizer.generate(</span>
<span id="cb16-45">            <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span>inputs,</span>
<span id="cb16-46">            max_new_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>summary_cfg[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"max_new_tokens"</span>],</span>
<span id="cb16-47">            min_new_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>summary_cfg[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"min_new_tokens"</span>],</span>
<span id="cb16-48">            num_beams<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>summary_cfg[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"num_beams"</span>],</span>
<span id="cb16-49">            do_sample<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>,</span>
<span id="cb16-50">            early_stopping<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span></span>
<span id="cb16-51">        )</span>
<span id="cb16-52"></span>
<span id="cb16-53">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> comp_tokenizer.decode(summary_ids[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>], skip_special_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb16-54"></span>
<span id="cb16-55"></span>
<span id="cb16-56"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> summarize_then_fit_budget(text, keep_tokens, summary_cfg):</span>
<span id="cb16-57">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb16-58"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Summarize first, then enforce the final DistilBERT token budget so the</span></span>
<span id="cb16-59"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    downstream classifier sees the same maximum length as the truncation </span></span>
<span id="cb16-60"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    baseline.</span></span>
<span id="cb16-61"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb16-62">    summary_text <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> summarize_text_fixed(text, summary_cfg)</span>
<span id="cb16-63">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> truncate_to_token_budget(summary_text, keep_tokens)</span>
<span id="cb16-64"></span>
<span id="cb16-65"></span>
<span id="cb16-66"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> truncate_to_token_budget(text, keep_tokens):</span>
<span id="cb16-67">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb16-68"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Truncate original text to retain at most keep_tokens.</span></span>
<span id="cb16-69"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb16-70">    enc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tokenizer(text, truncation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, max_length<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">512</span>, add_special_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb16-71">    ids <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> enc[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"input_ids"</span>]</span>
<span id="cb16-72"></span>
<span id="cb16-73">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># keep_tokens includes special tokens in this simple implementation.</span></span>
<span id="cb16-74">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Enforces a minimum length of 8 tokens.</span></span>
<span id="cb16-75">    nbr_tokens <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">min</span>(keep_tokens, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(ids)))</span>
<span id="cb16-76">    ids_keep <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ids[:nbr_tokens]</span>
<span id="cb16-77"></span>
<span id="cb16-78">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># decode back to text.</span></span>
<span id="cb16-79">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> nbr_tokens, tokenizer.decode(ids_keep, skip_special_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb16-80"></span></code></pre></div>
</div>
<p><br></p>
<ul>
<li><p><code>summarize_text_fixed</code> turns a the original event narrative into a generated summary using the pre-specified model in either short or medium mode.</p></li>
<li><p><code>truncate_to_token_budget</code> ensures the compressed narrative is constrained by the same maximum length as the truncation baseline.</p></li>
<li><p><code>summarize_then_fit_budget</code> wraps <code>summarize_text_fixed</code> and <code>truncate_to_token_budget</code>.</p></li>
</ul>
<p>The data flow can be envisioned as follows:</p>
<pre><code>original narrative text
      ↓
summarizer tokenizer
      ↓
summarizer token IDs
      ↓
DistilBART generate summary
      ↓
summary token IDs
      ↓
constrain number of tokens
      ↓
decode back to summarized text</code></pre>
<p><br></p>
<p>The next cell provides an example using <code>summarizer</code>. We define a helper function, <code>generate_compressed_narrative</code>, to generate compressed text. <code>generate_compressed_narrative</code> is only used to show the summarizer in action, and isn’t used beyond the next cell.</p>
<div id="da8c0c71" class="cell">
<div class="sourceCode cell-code" id="cb18" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb18-1"></span>
<span id="cb18-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> IPython.display <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> display, Markdown</span>
<span id="cb18-3"></span>
<span id="cb18-4"></span>
<span id="cb18-5"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> generate_compressed_narrative(txt, max_new_tokens, min_new_tokens):</span>
<span id="cb18-6">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb18-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Generate a compressed version of the input text using the summarization model.</span></span>
<span id="cb18-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb18-9">    inputs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> comp_tokenizer(</span>
<span id="cb18-10">        txt,</span>
<span id="cb18-11">        return_tensors<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"pt"</span>,</span>
<span id="cb18-12">        truncation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb18-13">        max_length<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1024</span></span>
<span id="cb18-14">    ).to(device)</span>
<span id="cb18-15"></span>
<span id="cb18-16">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">with</span> torch.no_grad():</span>
<span id="cb18-17">        summary_ids <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> summarizer.generate(</span>
<span id="cb18-18">            <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span>inputs,</span>
<span id="cb18-19">            min_new_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>min_new_tokens,</span>
<span id="cb18-20">            max_new_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>max_new_tokens,</span>
<span id="cb18-21">            num_beams<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>,</span>
<span id="cb18-22">            do_sample<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>,</span>
<span id="cb18-23">            early_stopping<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span></span>
<span id="cb18-24">        )</span>
<span id="cb18-25"></span>
<span id="cb18-26">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> comp_tokenizer.decode(summary_ids[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>], skip_special_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb18-27"></span>
<span id="cb18-28"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Select a random event narrative.</span></span>
<span id="cb18-29">txt_full <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ds_train[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>][<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>] <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 655</span></span>
<span id="cb18-30">nbr_tokens_orig <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(comp_tokenizer(txt_full, add_special_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"input_ids"</span>])</span>
<span id="cb18-31"></span>
<span id="cb18-32">txt_medium <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> generate_compressed_narrative(</span>
<span id="cb18-33">    txt_full, </span>
<span id="cb18-34">    max_new_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>summary_presets[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"medium"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"max_new_tokens"</span>],</span>
<span id="cb18-35">    min_new_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>summary_presets[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"medium"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"max_new_tokens"</span>]</span>
<span id="cb18-36">)</span>
<span id="cb18-37">nbr_tokens_medium <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(comp_tokenizer(txt_medium, add_special_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"input_ids"</span>])</span>
<span id="cb18-38"></span>
<span id="cb18-39">txt_short <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> generate_compressed_narrative(</span>
<span id="cb18-40">    txt_full, </span>
<span id="cb18-41">    max_new_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>summary_presets[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"short"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"max_new_tokens"</span>],</span>
<span id="cb18-42">    min_new_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>summary_presets[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"short"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"max_new_tokens"</span>]</span>
<span id="cb18-43">)</span>
<span id="cb18-44">nbr_tokens_short <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(comp_tokenizer(txt_short, add_special_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"input_ids"</span>])</span>
<span id="cb18-45"></span>
<span id="cb18-46"></span>
<span id="cb18-47">display(Markdown(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"**Original event narrative (</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>nbr_tokens_orig<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> tokens):**"</span>))</span>
<span id="cb18-48">display(Markdown(txt_full))</span>
<span id="cb18-49">display(Markdown(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"**Medium summary (</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>nbr_tokens_medium<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> tokens):**"</span>))</span>
<span id="cb18-50">display(Markdown(txt_medium))</span>
<span id="cb18-51">display(Markdown(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"**Short summary (</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>nbr_tokens_short<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> tokens):**"</span>))</span>
<span id="cb18-52">display(Markdown(txt_short))</span></code></pre></div>
<div class="cell-output cell-output-display cell-output-markdown">
<p><strong>Original event narrative (316 tokens):</strong></p>
</div>
<div class="cell-output cell-output-display cell-output-markdown">
<p>Most of the tornado damage was north of interstate 30 with some structures showing EF2 damage. In particular, the cinderblock and brick lawnmower business just north of Hwy 82 was completely destroyed with roofing debris and lawnmower parts thrown to the west and north of the building location. A brick home several hundred yards from the lawnmower business sustained significant damage to its roof and exterior walls. A metal shop building built with large metal I-beams was completely destroyed. I-beams were twisted and thrown in a northerly and westerly direction up to 200 yards from the building location with concrete still attached. The trees between the large metal building and the interstate were uprooted or snapped in a convergent pattern…indicative of tornadic winds. In total…12 structures were damaged or destroyed between Hwy 82 and the interstate and numerous trees were downed. Three tractor trailers were flipped on interstate 30 which resulted in the interstate being shut down and there was one injury. Further south of Hwy 82 on the Lonestar Army Ammunition Depot, numerous trees were snapped or uprooted and damage to parts of the Depot were reported…although it was not surveyed. North of interstate 30 along the service road…an outbuilding sales business lost several buildings and had many others damaged. Along Farm to Market 2253, numerous trees were snapped and uprooted on either side of the road and several sheds and barns were damaged or destroyed. A greenhouse was severely damaged near the end of the track. Some homes were also damaged from fallen trees.</p>
</div>
<div class="cell-output cell-output-display cell-output-markdown">
<p><strong>Medium summary (96 tokens):</strong></p>
</div>
<div class="cell-output cell-output-display cell-output-markdown">
<p>Most of the tornado damage was north of interstate 30 with some structures showing EF2 damage . In total…12 structures were damaged or destroyed between Hwy 82 and the interstate and numerous trees were downed . A metal shop building built with large metal I-beams was completely destroyed . Three tractor trailers were flipped on interstate 30 which resulted in the interstate being shut down and there was one injury . A greenhouse was severely damaged near the end of the track . Further south of H</p>
</div>
<div class="cell-output cell-output-display cell-output-markdown">
<p><strong>Short summary (48 tokens):</strong></p>
</div>
<div class="cell-output cell-output-display cell-output-markdown">
<p>Most of the tornado damage was north of interstate 30 with some structures showing EF2 damage . A cinderblock and brick lawnmower business just north of Hwy 82 was completely destroyed . A metal shop building built with large metal</p>
</div>
</div>
<p><br></p>
<p><code>build_validation_set</code> constructs a validation dataset in order to validate our classification model under different input length strategies. Starting from the original event narratives and class labels, <code>build_validation_set</code>can return either the full text, a truncated version limited to a specified token budget, or a summarized version that is subsequently constrained to that same budget. For each record, it tracks the original DistilBERT token length and the number of tokens allowed for the classifier, enabling later analysis of how compression affects model performance. The output is converted to a Hugging Face <code>Dataset</code> containing the processed narratives, labels, token statistics, and a method indicator identifying whether the input text was left unchanged, truncated, or summarized.</p>
<div id="22ba6873" class="cell">
<div class="sourceCode cell-code" id="cb19" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb19-1"></span>
<span id="cb19-2"></span>
<span id="cb19-3"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> build_validation_set(</span>
<span id="cb19-4">    ds_valid, method<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"truncate"</span>, keep_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">512</span>, summary_cfg<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>, method_label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb19-5">):</span>
<span id="cb19-6">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb19-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Build full, compressed or truncated datasets. </span></span>
<span id="cb19-8"></span>
<span id="cb19-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb19-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb19-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ds_valid : Dataset</span></span>
<span id="cb19-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Validation dataset containing EVENT_NARRATIVE and CLASS columns.</span></span>
<span id="cb19-13"></span>
<span id="cb19-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    keep_tokens : int</span></span>
<span id="cb19-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Maximum number of DistilBERT tokens allowed for classifier input.</span></span>
<span id="cb19-16"></span>
<span id="cb19-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    method : str</span></span>
<span id="cb19-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Either "full", "truncate" or "summarize".</span></span>
<span id="cb19-19"></span>
<span id="cb19-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    summary_cfg : dict or None</span></span>
<span id="cb19-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Required when method="summarize". Controls summarization generation.</span></span>
<span id="cb19-22"></span>
<span id="cb19-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb19-24">    texts <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ds_valid[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>]</span>
<span id="cb19-25">    ys <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ds_valid[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>]</span>
<span id="cb19-26">    orig_nbr_tokens <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [token_len_distilbert(txt) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> txt <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> texts]</span>
<span id="cb19-27"></span>
<span id="cb19-28">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> method <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"full"</span>:</span>
<span id="cb19-29"></span>
<span id="cb19-30">        df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame({</span>
<span id="cb19-31">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>: texts,</span>
<span id="cb19-32">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"labels"</span>: ys,</span>
<span id="cb19-33">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"orig_tokens"</span>: orig_nbr_tokens,</span>
<span id="cb19-34">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"kept_tokens"</span>: orig_nbr_tokens,</span>
<span id="cb19-35">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"method"</span>: [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"full_text"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(texts)</span>
<span id="cb19-36">        })</span>
<span id="cb19-37"></span>
<span id="cb19-38">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb19-39">        out_texts, out_orig_tokens, out_nbr_tokens <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [], [], []</span>
<span id="cb19-40"></span>
<span id="cb19-41">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> txt <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> texts:</span>
<span id="cb19-42">            orig_nbr_tokens <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> token_len_distilbert(txt)</span>
<span id="cb19-43"></span>
<span id="cb19-44">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> method <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"truncate"</span>:</span>
<span id="cb19-45">                nbr_tokens, txt_c <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> truncate_to_token_budget(txt, keep_tokens)</span>
<span id="cb19-46"></span>
<span id="cb19-47">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">elif</span> method <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"summarize"</span>:</span>
<span id="cb19-48">                nbr_tokens, txt_c <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> summarize_then_fit_budget(txt, keep_tokens, summary_cfg)</span>
<span id="cb19-49"></span>
<span id="cb19-50">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb19-51">                <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">raise</span> <span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">ValueError</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"method must be 'full', 'truncate' or 'summarize'"</span>)</span>
<span id="cb19-52"></span>
<span id="cb19-53">            out_texts.append(txt_c)</span>
<span id="cb19-54">            out_orig_tokens.append(orig_nbr_tokens)</span>
<span id="cb19-55">            out_nbr_tokens.append(nbr_tokens)</span>
<span id="cb19-56"></span>
<span id="cb19-57">        df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame({</span>
<span id="cb19-58">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>: out_texts,</span>
<span id="cb19-59">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"labels"</span>: ys,</span>
<span id="cb19-60">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"orig_tokens"</span>: out_orig_tokens,</span>
<span id="cb19-61">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"kept_tokens"</span>: out_nbr_tokens,</span>
<span id="cb19-62">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"method"</span>: [(method_label <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">or</span> method)] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(out_texts)</span>
<span id="cb19-63">        })</span>
<span id="cb19-64"></span>
<span id="cb19-65">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> Dataset.from_pandas(df)</span>
<span id="cb19-66"></span>
<span id="cb19-67"></span>
<span id="cb19-68"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> tokenize_for_eval(ds):</span>
<span id="cb19-69">    ds2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ds.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>(tokenize_batch, batched<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb19-70">    keep_cols <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"input_ids"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"attention_mask"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"labels"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"orig_tokens"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"keep_tokens"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"method"</span>]</span>
<span id="cb19-71">    remove_cols <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [c <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> c <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> ds2.column_names <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> c <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> keep_cols]</span>
<span id="cb19-72">    ds2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ds2.remove_columns(remove_cols)</span>
<span id="cb19-73">    ds2.set_format(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"torch"</span>)</span>
<span id="cb19-74">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> ds2</span>
<span id="cb19-75"></span>
<span id="cb19-76"></span>
<span id="cb19-77"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> compute_metrics_from_predictions(yhat, yact):</span>
<span id="cb19-78"></span>
<span id="cb19-79">    precision, recall, f1, _ <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> precision_recall_fscore_support(</span>
<span id="cb19-80">        yhat,</span>
<span id="cb19-81">        yact,</span>
<span id="cb19-82">        average<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"weighted"</span>,</span>
<span id="cb19-83">        zero_division<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span></span>
<span id="cb19-84">    )</span>
<span id="cb19-85"></span>
<span id="cb19-86">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> {</span>
<span id="cb19-87">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"accuracy"</span>: accuracy_score(yhat, yact),</span>
<span id="cb19-88">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"precision_weighted"</span>: precision,</span>
<span id="cb19-89">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"recall_weighted"</span>: recall,</span>
<span id="cb19-90">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"f1_weighted"</span>: f1,</span>
<span id="cb19-91">    }</span>
<span id="cb19-92"></span>
<span id="cb19-93"></span>
<span id="cb19-94"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> evaluate_dataset(ds):</span>
<span id="cb19-95">    ds_tokenized <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tokenize_for_eval(ds)</span>
<span id="cb19-96">    pred_output <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> trainer.predict(ds_tokenized)</span>
<span id="cb19-97">    yhat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.argmax(pred_output.predictions, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb19-98">    yact <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pred_output.label_ids</span>
<span id="cb19-99">    metrics <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> compute_metrics_from_predictions(yhat, yact)</span>
<span id="cb19-100">    avg_orig_tokens <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(np.mean(ds[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"orig_tokens"</span>]))</span>
<span id="cb19-101">    avg_keep_tokens <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(np.mean(ds[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"kept_tokens"</span>]))</span>
<span id="cb19-102">    </span>
<span id="cb19-103">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> {</span>
<span id="cb19-104">        <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span>metrics,</span>
<span id="cb19-105">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"avg_orig_tokens"</span>: avg_orig_tokens,</span>
<span id="cb19-106">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"avg_nbr_tokens"</span>: avg_keep_tokens</span>
<span id="cb19-107">    }</span></code></pre></div>
</div>
<p><br></p>
<p>In the next cell each of the four validation sets are created and <code>keep_tokens</code> is set to 128. The event narratives are typically 200-300 DistilBERT tokens on average. A value around 128 compresses the average narrative by roughly 50% while still allowing multiple sentences, and is a common sequence length for BERT-style classifiers in practice. Note that the 128-token limit is treated as a maximum budget, not a target length. If a summarized narrative is already shorter than 128 tokens, it is passed to the classifier unchanged. Truncation is only applied when the compressed text exceeds this limit.</p>
<div id="ce04134f" class="cell">
<div class="sourceCode cell-code" id="cb20" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb20-1"></span>
<span id="cb20-2">keep_tokens <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">128</span></span>
<span id="cb20-3"></span>
<span id="cb20-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Original event narratives. </span></span>
<span id="cb20-5">ds_valid_full <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> build_validation_set(</span>
<span id="cb20-6">    ds_valid, </span>
<span id="cb20-7">    method<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"full"</span></span>
<span id="cb20-8">)</span>
<span id="cb20-9"></span>
<span id="cb20-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Event narratives truncated to 128 tokens. </span></span>
<span id="cb20-11">ds_valid_trunc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> build_validation_set(</span>
<span id="cb20-12">    ds_valid,</span>
<span id="cb20-13">    keep_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>keep_tokens,</span>
<span id="cb20-14">    method<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"truncate"</span></span>
<span id="cb20-15">)</span>
<span id="cb20-16"></span>
<span id="cb20-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Moderate compression.</span></span>
<span id="cb20-18">ds_valid_sum_medium <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> build_validation_set(</span>
<span id="cb20-19">    ds_valid,</span>
<span id="cb20-20">    keep_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>keep_tokens,</span>
<span id="cb20-21">    method<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"summarize"</span>,</span>
<span id="cb20-22">    summary_cfg<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>summary_presets[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"medium"</span>],</span>
<span id="cb20-23">    method_label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"summarize_medium"</span></span>
<span id="cb20-24">)</span>
<span id="cb20-25"></span>
<span id="cb20-26"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Aggressive compression.</span></span>
<span id="cb20-27">ds_valid_sum_short <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> build_validation_set(</span>
<span id="cb20-28">    ds_valid,</span>
<span id="cb20-29">    keep_tokens<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>keep_tokens,</span>
<span id="cb20-30">    method<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"summarize"</span>,</span>
<span id="cb20-31">    summary_cfg<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>summary_presets[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"short"</span>],</span>
<span id="cb20-32">    method_label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"summarize_short"</span></span>
<span id="cb20-33">)</span></code></pre></div>
</div>
<p><br></p>
<p>With the datasets prepared, we evaluate the classifier across the four validation sets and capture the resulting performance metrics:</p>
<div id="39b32a38" class="cell">
<div class="sourceCode cell-code" id="cb21" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb21-1"></span>
<span id="cb21-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> time <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> perf_counter</span>
<span id="cb21-3"></span>
<span id="cb21-4">results <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb21-5"></span>
<span id="cb21-6"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> name, ds_curr <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> [</span>
<span id="cb21-7">    (<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"full_text"</span>, ds_valid_full),</span>
<span id="cb21-8">    (<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"truncate"</span>, ds_valid_trunc),</span>
<span id="cb21-9">    (<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"summarize_medium"</span>, ds_valid_sum_medium),</span>
<span id="cb21-10">    (<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"summarize_short"</span>, ds_valid_sum_short)</span>
<span id="cb21-11">]:</span>
<span id="cb21-12">    t_i <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> perf_counter()</span>
<span id="cb21-13">    metrics <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> evaluate_dataset(ds_curr)</span>
<span id="cb21-14">    t_total <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> perf_counter() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> t_i</span>
<span id="cb21-15">    results.append({</span>
<span id="cb21-16">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"condition"</span>: name,</span>
<span id="cb21-17">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"runtime"</span>: t_total,</span>
<span id="cb21-18">        <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span>metrics</span>
<span id="cb21-19">    })</span>
<span id="cb21-20"></span>
<span id="cb21-21">dfsumm <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame(results)</span>
<span id="cb21-22"></span>
<span id="cb21-23">dfsumm.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span></code></pre></div>
<div class="cell-output cell-output-stderr">
<pre><code>Map: 100%|██████████| 642/642 [00:00&lt;00:00, 3081.44 examples/s]</code></pre>
</div>
<div class="cell-output cell-output-display">

</div>
<div class="cell-output cell-output-stderr">
<pre><code>Map: 100%|██████████| 642/642 [00:00&lt;00:00, 4806.41 examples/s]</code></pre>
</div>
<div class="cell-output cell-output-display">

</div>
<div class="cell-output cell-output-stderr">
<pre><code>Map: 100%|██████████| 642/642 [00:00&lt;00:00, 5358.20 examples/s]</code></pre>
</div>
<div class="cell-output cell-output-display">

</div>
<div class="cell-output cell-output-stderr">
<pre><code>Map: 100%|██████████| 642/642 [00:00&lt;00:00, 2741.43 examples/s]</code></pre>
</div>
<div class="cell-output cell-output-display">

</div>
<div class="cell-output cell-output-display" data-execution_count="13">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">condition</th>
<th data-quarto-table-cell-role="th">runtime</th>
<th data-quarto-table-cell-role="th">accuracy</th>
<th data-quarto-table-cell-role="th">precision_weighted</th>
<th data-quarto-table-cell-role="th">recall_weighted</th>
<th data-quarto-table-cell-role="th">f1_weighted</th>
<th data-quarto-table-cell-role="th">avg_orig_tokens</th>
<th data-quarto-table-cell-role="th">avg_nbr_tokens</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>full_text</td>
<td>12.38370</td>
<td>0.92835</td>
<td>0.92756</td>
<td>0.92835</td>
<td>0.92785</td>
<td>223.26636</td>
<td>223.26636</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>truncate</td>
<td>3.44808</td>
<td>0.87072</td>
<td>0.88704</td>
<td>0.87072</td>
<td>0.87644</td>
<td>223.26636</td>
<td>115.88785</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>summarize_medium</td>
<td>4.08387</td>
<td>0.85826</td>
<td>0.87870</td>
<td>0.85826</td>
<td>0.86549</td>
<td>223.26636</td>
<td>62.97508</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>summarize_short</td>
<td>2.94239</td>
<td>0.84579</td>
<td>0.88494</td>
<td>0.84579</td>
<td>0.85898</td>
<td>223.26636</td>
<td>46.38006</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Our results show a clear trade-off between predictive performance and input length. Using full narratives resulted in the best classification performance (weighted recall of ~93%), but it is also the slowest condition because the classifier is required to process the entire text sequence for each sample. Surprisingly, truncation provides the best compromise among the three compression methods: although recall drops a bit, it retains roughly half the original tokens while cutting runtime by ~75%. The trade off is that truncation blindly discards the latter portion of the narrative, which may occasionally remove useful information.</p>
<p>The summarization approaches compress the narratives more aggressively, but the additional compression comes with a further decline in predictive performance. The results suggest that most of the useful signal for classification appears early in the narrative.</p>
<p>Whether the degradation in performance is acceptable is application dependent. For full text, the model’s inference rate was about 52 samples per second. For truncation, it was closer to 187 samples per second. The full-text approach would be more desirable in research settings where accuracy is the primary concern. If analysts are retrospectively studying severe weather events to improve risk models or validate damage classifications, runtime is far less important than ensuring the model captures every useful detail in the narrative. In a high-volume workflow, the ability to process records quickly and cheaply can matter more than extracting every last bit of predictive signal from the narrative.</p>
<p>Finally, an avenue for future exploration would be to carry out a truncation sweep, conceptually sticking to the original idea motivating this post but focusing on different truncation thresholds instead of constrained abstractive summarization.</p>


</section>

 ]]></description>
  <category>Python</category>
  <category>Transformers</category>
  <category>Machine Learning</category>
  <guid>https://www.jtrive.com/posts/practical-nlp-for-risk-modeling-part-3/practical-nlp-for-risk-modeling-part-3.html</guid>
  <pubDate>Sun, 08 Mar 2026 06:00:00 GMT</pubDate>
</item>
<item>
  <title>Practical NLP for Risk Modeling, Part II - Fine-tuning DistilBERT End-to-End on Tornado Narratives</title>
  <link>https://www.jtrive.com/posts/practical-nlp-for-risk-modeling-part-2/practical-nlp-for-risk-modeling-part-2.html</link>
  <description><![CDATA[ 





<blockquote class="blockquote">
<p>The notebook version of this post can be downloaded <a href="https://github.com/jtrive84/jtrive84.github.io/blob/master/posts/practical-nlp-for-risk-modeling-part-2/practical-nlp-for-risk-modeling-part-2.ipynb">here</a>.</p>
</blockquote>
<p>In <a href="https://www.jtrive.com/posts/practical-nlp-for-risk-modeling-part-1/practical-nlp-for-risk-modeling-part-1.html">Part I</a> of the <em>Practical NLP for Risk Modeling</em> series, we walked through how to use a pre-trained transformer model as a frozen feature extractor for classifying tornado severity based on NOAA event narratives. Each narrative was embedded into a 768-dimensional vector, then trained using a regularized Logistic Regression head. That baseline exhibited solid performance, and has a nice property: Once the text is embedded, everything downstream looks like a normal tabular modeling problem.</p>
<p>In Part II we remove the frozen constraint and fine-tune DistilBERT end-to-end on the tornado severity classification task. A small classification head is attached directly to the pretrained model, and the entire network is trained jointly on the task. During training, the model adjusts the classification layer as well as the internal language representations to better align with the target labels. The goal is to measure the performance gain over and above the frozen baseline by letting the language model adapt to NOAA narrative phrasing and severity cues.</p>
<p>We’ll stick to <code>distilbert-base-uncased</code> to remain consistent with Part I. All code checks for CUDA. If a GPU is present it will accelerate training dramatically, but nothing here requires one.</p>
<p>Since the first installment of this series, the transformers library has been updated. To ensure the code provided here is reproducible into the future, it is strongly encouraged that a new virtual environment be created with the following dependencies:</p>
<pre><code># requirements.txt
numpy==1.26.4
pandas==2.2.1
scikit-learn==1.4.2
scipy==1.12.0
torch==2.4.1

# Hugging Face stack (Trainer-capable)
transformers==5.1.0
accelerate==1.3.0
datasets==2.18.0
evaluate==0.4.1

# Must match Transformers v5 requirements
tokenizers
huggingface-hub

# Utilities
tqdm==4.66.2
pyarrow==15.0.2
sentencepiece==0.2.0

# Additional
matplotlib==3.8.3
wordcloud==1.9.6
bs4 
requests 
contextily
geopandas</code></pre>
<p><br></p>
<p>These can be installed directly from GitHub by executing the next cell:</p>
<div id="2ec9bf25" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!</span>python <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>m pip install <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>r https:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">//</span>gist.githubusercontent.com<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>jtrive84<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>e313afbf2def24687e3c3247aa836fe9<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>raw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>f2493005d291920dc1fcfd54274b9dfa42004ebe<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>requirements.txt <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>quiet</span></code></pre></div>
</div>
<p><br></p>
<p>The code to download the NOAA Storm Events database is reproduced from the first post for convenience. We first check whether <em>noaa-events-2008-2025.parquet</em> exists in the current working directory. If not, the files are downloaded and saved locally. Subsequent executions of the next cell will read your local copy of the database:</p>
<div id="c8954b10" class="cell">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"></span>
<span id="cb3-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> os</span>
<span id="cb3-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb3-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> requests</span>
<span id="cb3-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> bs4 <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> BeautifulSoup</span>
<span id="cb3-6"></span>
<span id="cb3-7">base_url <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"https://www.ncei.noaa.gov/pub/data/swdi/stormevents/csvfiles/"</span></span>
<span id="cb3-8"></span>
<span id="cb3-9"></span>
<span id="cb3-10"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> get_latest_details_file(year):</span>
<span id="cb3-11">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb3-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Return the filename of the latest details file for the given year.</span></span>
<span id="cb3-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Sample filename: StormEvents_details-ftp_v1.0_d2022_c20250721.csv.gz</span></span>
<span id="cb3-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb3-15">    html <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> requests.get(base_url).text</span>
<span id="cb3-16">    soup <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> BeautifulSoup(html, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"html.parser"</span>)</span>
<span id="cb3-17">    candidates <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb3-18">        a[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"href"</span>]</span>
<span id="cb3-19">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> a <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> soup.find_all(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"a"</span>, href<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb3-20">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"StormEvents_details-ftp_v1.0_d</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>year<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> a[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"href"</span>]</span>
<span id="cb3-21">    ]</span>
<span id="cb3-22"></span>
<span id="cb3-23">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sorted</span>(candidates)[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb3-24"></span>
<span id="cb3-25"></span>
<span id="cb3-26"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Check if dataset exists locally prior to hitting NOAA servers.</span></span>
<span id="cb3-27"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> os.path.exists(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"noaa-events-2008-2025.parquet"</span>):</span>
<span id="cb3-28">    </span>
<span id="cb3-29">    <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fetching latest filenames from NOAA servers..."</span>)</span>
<span id="cb3-30">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get latest filenames for years 2008-2025.</span></span>
<span id="cb3-31">    latest_filenames <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [get_latest_details_file(year) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> year <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2008</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2026</span>)]</span>
<span id="cb3-32"></span>
<span id="cb3-33">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Load each file into a DataFrame and concatenate.</span></span>
<span id="cb3-34">    dfall <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.concat(</span>
<span id="cb3-35">        [pd.read_csv(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>base_url <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> fname<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, compression<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gzip"</span>) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> fname <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> latest_filenames],</span>
<span id="cb3-36">        ignore_index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb3-37">    )</span>
<span id="cb3-38">    dfall.to_parquet(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"noaa-events-2008-2025.parquet"</span>)</span>
<span id="cb3-39"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb3-40">    <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Loading dataset locally..."</span>)</span>
<span id="cb3-41">    dfall <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_parquet(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"noaa-events-2008-2025.parquet"</span>)</span>
<span id="cb3-42"></span>
<span id="cb3-43"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Total records loaded: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>dfall<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb3-44">dfall.head()</span>
<span id="cb3-45"></span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Loading dataset locally...
Total records loaded: 1,158,836</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="2">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">BEGIN_YEARMONTH</th>
<th data-quarto-table-cell-role="th">BEGIN_DAY</th>
<th data-quarto-table-cell-role="th">BEGIN_TIME</th>
<th data-quarto-table-cell-role="th">END_YEARMONTH</th>
<th data-quarto-table-cell-role="th">END_DAY</th>
<th data-quarto-table-cell-role="th">END_TIME</th>
<th data-quarto-table-cell-role="th">EPISODE_ID</th>
<th data-quarto-table-cell-role="th">EVENT_ID</th>
<th data-quarto-table-cell-role="th">STATE</th>
<th data-quarto-table-cell-role="th">STATE_FIPS</th>
<th data-quarto-table-cell-role="th">...</th>
<th data-quarto-table-cell-role="th">END_RANGE</th>
<th data-quarto-table-cell-role="th">END_AZIMUTH</th>
<th data-quarto-table-cell-role="th">END_LOCATION</th>
<th data-quarto-table-cell-role="th">BEGIN_LAT</th>
<th data-quarto-table-cell-role="th">BEGIN_LON</th>
<th data-quarto-table-cell-role="th">END_LAT</th>
<th data-quarto-table-cell-role="th">END_LON</th>
<th data-quarto-table-cell-role="th">EPISODE_NARRATIVE</th>
<th data-quarto-table-cell-role="th">EVENT_NARRATIVE</th>
<th data-quarto-table-cell-role="th">DATA_SOURCE</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>200802</td>
<td>22</td>
<td>1300</td>
<td>200802</td>
<td>22</td>
<td>2200</td>
<td>14216</td>
<td>79884</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>None</td>
<td>None</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>A noreaster moved up the coast southeast of Ca...</td>
<td>None</td>
<td>CSV</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>200804</td>
<td>1</td>
<td>352</td>
<td>200804</td>
<td>1</td>
<td>352</td>
<td>15549</td>
<td>88334</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>None</td>
<td>None</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>Strong southwest flow behind a warm front allo...</td>
<td>An amateur radio operator recorded a wind gust...</td>
<td>CSV</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>200803</td>
<td>1</td>
<td>0</td>
<td>200803</td>
<td>1</td>
<td>1320</td>
<td>14773</td>
<td>83820</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>None</td>
<td>None</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>Low pressure tracked from the Great Lakes acro...</td>
<td>None</td>
<td>CSV</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>200801</td>
<td>14</td>
<td>500</td>
<td>200801</td>
<td>14</td>
<td>1700</td>
<td>13559</td>
<td>75727</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>None</td>
<td>None</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>Low pressure moved up the Atlantic coast and s...</td>
<td>None</td>
<td>CSV</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>200812</td>
<td>19</td>
<td>1353</td>
<td>200812</td>
<td>21</td>
<td>200</td>
<td>25148</td>
<td>146588</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>None</td>
<td>None</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>An intensifying coastal low spread heavy snow ...</td>
<td>Six to eight inches of snow fell across easter...</td>
<td>CSV</td>
</tr>
</tbody>
</table>

<p>5 rows × 51 columns</p>
</div>
</div>
</div>
<p>Pre-processing is handled the same as in Part I:</p>
<ul>
<li>Retain events from 2008 to present.</li>
<li>Keep only records with EVENT_TYPE = “Tornado”.</li>
<li>Drop records having TOR_F_SCALE “EFU”, “EF0”, “EF1”,“F0”, “F1”.</li>
<li>CLASS = 0 for EF2 events, CLASS = 1 for (EF3, EF4 and EF5) events.</li>
<li>Create a DatasetDict, with training set including events from 2008-2022 and test set events from 2023-2025.</li>
</ul>
<div id="6e4e5c43" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"></span>
<span id="cb5-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> warnings</span>
<span id="cb5-3"></span>
<span id="cb5-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> datasets <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> Dataset, DatasetDict</span>
<span id="cb5-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> mpl</span>
<span id="cb5-6"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb5-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb5-8"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb5-9"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torch</span>
<span id="cb5-10"></span>
<span id="cb5-11">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>)</span>
<span id="cb5-12">pd.options.mode.chained_assignment <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb5-13">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.max_columns'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb5-14">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.width'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb5-15">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"display.precision"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb5-16">warnings.filterwarnings(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ignore"</span>)</span>
<span id="cb5-17"></span>
<span id="cb5-18"></span>
<span id="cb5-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Filter for tornadoes from 2008 onward with significant damage ratings.</span></span>
<span id="cb5-20">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb5-21">    dfall[</span>
<span id="cb5-22">        (dfall.YEAR <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2008</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span> </span>
<span id="cb5-23">        (dfall.EVENT_TYPE <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tornado"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span> </span>
<span id="cb5-24">        (<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>dfall.TOR_F_SCALE.isin([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EFU"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EF0"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EF1"</span> ,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F0"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F1"</span>]))</span>
<span id="cb5-25">    ]</span>
<span id="cb5-26">    .dropna(subset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>])</span>
<span id="cb5-27">    .drop_duplicates(subset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>])</span>
<span id="cb5-28">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb5-29">)</span>
<span id="cb5-30"></span>
<span id="cb5-31"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Strip whitespace from EVENT_NARRATIVE.</span></span>
<span id="cb5-32">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.replace(<span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">r"\s+"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">" "</span>, regex<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.strip()</span>
<span id="cb5-33"></span>
<span id="cb5-34"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create target class based on TOR_F_SCALE.</span></span>
<span id="cb5-35">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.where(df.TOR_F_SCALE.isin([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EF2"</span>]), <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb5-36"></span>
<span id="cb5-37">keep_columns <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb5-38">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_ID"</span>,</span>
<span id="cb5-39">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>,</span>
<span id="cb5-40">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"TOR_F_SCALE"</span>,</span>
<span id="cb5-41">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BEGIN_LAT"</span>,</span>
<span id="cb5-42">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BEGIN_LON"</span>,</span>
<span id="cb5-43">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span></span>
<span id="cb5-44">]</span>
<span id="cb5-45"></span>
<span id="cb5-46"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create train-test splits. </span></span>
<span id="cb5-47">dftrain <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"YEAR"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&lt;=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2022</span>][keep_columns].reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb5-48">dfvalid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"YEAR"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>  <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2022</span>][keep_columns].reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb5-49"></span>
<span id="cb5-50"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create Dataset objects.</span></span>
<span id="cb5-51">ds_train <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Dataset.from_pandas(dftrain)</span>
<span id="cb5-52">ds_valid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Dataset.from_pandas(dfvalid)</span>
<span id="cb5-53">ds <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> DatasetDict({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"train"</span>: ds_train, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"valid"</span>: ds_valid})</span>
<span id="cb5-54"></span>
<span id="cb5-55"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Train size: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(dftrain)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb5-56"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Valid size: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(dfvalid)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,}</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb5-57"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Training sample:</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>ds_train[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stderr">
<pre><code>c:\Users\jtriv\miniforge3\envs\bert\Lib\site-packages\tqdm\auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
  from .autonotebook import tqdm as notebook_tqdm</code></pre>
</div>
<div class="cell-output cell-output-stdout">
<pre><code>Train size: 2,620
Valid size: 641

Training sample:
{'EVENT_ID': 105611, 'EVENT_NARRATIVE': 'A tornado damaged numerous trees, including large trees uprooted, blew windows out of a home, destroyed a metal shed, blew two windows and part of a wall out of a metal building, damaged at least three grain bins, destroyed or damaged numerous outbuildings and small sheds, blew down or snapped off at least 15 power poles, bent a metal light pole, tipped one wagon and blew the top off another, blew down a barb wire fence and pushed fence posts almost to the ground, destroyed a hog barn, and flattened corn stubble, before crossing the county line into Lyon County. Contents inside several damaged or destroyed buildings and sheds were also damaged, especially on one farm where damaged buildings housed a farm and trucking business.', 'TOR_F_SCALE': 'EF2', 'BEGIN_LAT': 43.1421, 'BEGIN_LON': -96.3, 'CLASS': 0}</code></pre>
</div>
</div>
<p>We can visualize the starting points for each training set tornado. CLASS=0 events are shown in blue, CLASS=1 in red.</p>
<div id="e3c9c451" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb8" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb8-1"></span>
<span id="cb8-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> geopandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> gpd</span>
<span id="cb8-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> contextily <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> cx</span>
<span id="cb8-4"></span>
<span id="cb8-5"></span>
<span id="cb8-6">gdf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.GeoDataFrame(</span>
<span id="cb8-7">    {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>:  dftrain[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>]},</span>
<span id="cb8-8">    geometry<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>gpd.points_from_xy(dftrain[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BEGIN_LON"</span>], dftrain[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BEGIN_LAT"</span>]),</span>
<span id="cb8-9">    crs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:4326"</span>,</span>
<span id="cb8-10">).to_crs(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:3857"</span>)</span>
<span id="cb8-11"></span>
<span id="cb8-12">ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf.plot(</span>
<span id="cb8-13">    figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">8.5</span>),</span>
<span id="cb8-14">    markersize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>,</span>
<span id="cb8-15">    alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>,</span>
<span id="cb8-16">    color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>({<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>})</span>
<span id="cb8-17">)</span>
<span id="cb8-18">cx.add_basemap(ax, source<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>cx.providers.OpenStreetMap.Mapnik)</span>
<span id="cb8-19">ax.collections[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].set_color(gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>({<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>}).tolist())</span>
<span id="cb8-20">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tornado starting locations by severity"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span>
<span id="cb8-21">colors <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>({<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>}).tolist()</span>
<span id="cb8-22">ax.collections[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].set_color(colors)</span>
<span id="cb8-23">ax.set_axis_off()</span>
<span id="cb8-24"></span>
<span id="cb8-25"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Legend.</span></span>
<span id="cb8-26">handles <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb8-27">    mpl.patches.Patch(color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"low severity (EF2)"</span>),</span>
<span id="cb8-28">    mpl.patches.Patch(color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"high severity (EF3+)"</span>),</span>
<span id="cb8-29">]</span>
<span id="cb8-30">ax.legend(handles<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>handles, title<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>, loc<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"upper right"</span>, frameon<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb8-31"></span>
<span id="cb8-32">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/practical-nlp-for-risk-modeling-part-2/practical-nlp-for-risk-modeling-part-2_files/figure-html/cell-5-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<section id="fine-tuned-transformer-classifier-distilbert-end-to-end" class="level3">
<h3 class="anchored" data-anchor-id="fine-tuned-transformer-classifier-distilbert-end-to-end"><strong>Fine-Tuned Transformer Classifier (DistilBERT end-to-end)</strong></h3>
<p>Our objective is to train DistilBERT end-to-end by attaching a classification head and updating all weights. This is the simplest all-transformer setup, where text is provided as input and class probabilities are produced as output.</p>
<div id="7414a478" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"></span>
<span id="cb9-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> transformers <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> (</span>
<span id="cb9-3">    AutoTokenizer,</span>
<span id="cb9-4">    AutoModel,</span>
<span id="cb9-5">    AutoModelForSequenceClassification,</span>
<span id="cb9-6">    DataCollatorWithPadding,</span>
<span id="cb9-7">    TrainingArguments,</span>
<span id="cb9-8">    Trainer</span>
<span id="cb9-9">)</span>
<span id="cb9-10"></span>
<span id="cb9-11"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> sklearn.metrics <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> (</span>
<span id="cb9-12">    accuracy_score,</span>
<span id="cb9-13">    classification_report,</span>
<span id="cb9-14">    roc_auc_score,</span>
<span id="cb9-15">    average_precision_score,</span>
<span id="cb9-16"></span>
<span id="cb9-17">)</span>
<span id="cb9-18"></span>
<span id="cb9-19">model_name <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"distilbert-base-uncased"</span></span>
<span id="cb9-20"></span>
<span id="cb9-21">device <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> torch.device(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cuda"</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> torch.cuda.is_available() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cpu"</span>)</span>
<span id="cb9-22"></span>
<span id="cb9-23">tokenizer <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> AutoTokenizer.from_pretrained(model_name)</span>
<span id="cb9-24"></span>
<span id="cb9-25"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">Device: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>device<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stderr">
<pre><code>Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.</code></pre>
</div>
<div class="cell-output cell-output-stdout">
<pre><code>
Device: cpu</code></pre>
</div>
</div>
<p><br></p>
<p>As before we begin with tokenization, this time using the Hugging Face dataset mapping API. This keeps tokenization tied to the dataset object and avoids manual tensor management until training time. <code>ds_tokenized.set_format("torch")</code> ensures all features are automatically converted to <code>torch.Tensor</code> objects.</p>
<p>When fine-tuning a transformer, each training batch contains sequences of different lengths. While we already specified a maximum sequence length during tokenization, we do not want to pad every example in the dataset to that maximum ahead of time. Doing so would waste memory and slow training, especially on CPU.</p>
<p><code>DataCollatorWithPadding</code> solves this by performing dynamic padding at batch time. For each batch, it looks at the longest sequence in that batch and pads all other sequences just enough to match it. The tokenizer is passed into the collator so it knows which padding token to use and how to construct the corresponding attention masks.</p>
<div id="cd5c8f22" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb12-1"></span>
<span id="cb12-2"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> tokenize_batch(batch):</span>
<span id="cb12-3">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> tokenizer(</span>
<span id="cb12-4">        batch[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>],</span>
<span id="cb12-5">        truncation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb12-6">        max_length<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">512</span></span>
<span id="cb12-7">    )</span>
<span id="cb12-8"></span>
<span id="cb12-9">ds_tokenized <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ds.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>(tokenize_batch, batched<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb12-10">ds_tokenized <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ds_tokenized.remove_columns([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"TOR_F_SCALE"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_ID"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BEGIN_LAT"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BEGIN_LON"</span>])</span>
<span id="cb12-11">ds_tokenized <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ds_tokenized.rename_column(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"labels"</span>)</span>
<span id="cb12-12">ds_tokenized.set_format(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"torch"</span>)</span>
<span id="cb12-13"></span>
<span id="cb12-14">collator <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> DataCollatorWithPadding(tokenizer<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>tokenizer)</span></code></pre></div>
<div class="cell-output cell-output-stderr">
<pre><code>Map: 100%|██████████| 2620/2620 [00:00&lt;00:00, 8733.79 examples/s]
Map: 100%|██████████| 641/641 [00:00&lt;00:00, 5777.82 examples/s]</code></pre>
</div>
</div>
<p><br></p>
<p>DistilBERT with 2 classes produces logits of shape (N, 2). We convert logits to probabilities using softmax, then take P(class=1). <code>compute_metrics</code> is passed into the <code>Trainer</code> object initialized in a few cells, which provides us with validation metrics at each epoch.</p>
<div id="d57af10d" class="cell" data-execution_count="7">
<div class="sourceCode cell-code" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb14-1"></span>
<span id="cb14-2"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> softmax(x):</span>
<span id="cb14-3">    x <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> x <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> x.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, keepdims<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb14-4">    exp_x <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.exp(x)</span>
<span id="cb14-5">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> exp_x <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> exp_x.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, keepdims<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb14-6"></span>
<span id="cb14-7"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> compute_metrics(eval_pred):</span>
<span id="cb14-8">    logits, labels <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> eval_pred</span>
<span id="cb14-9">    probs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> softmax(logits)[:, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb14-10">    preds <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (probs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>).astype(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>)</span>
<span id="cb14-11">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> {</span>
<span id="cb14-12">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"accuracy"</span>: accuracy_score(labels, preds),</span>
<span id="cb14-13">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"roc_auc"</span>: roc_auc_score(labels, preds),</span>
<span id="cb14-14">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"precision"</span>: average_precision_score(labels, probs),</span>
<span id="cb14-15">    }</span>
<span id="cb14-16">    </span></code></pre></div>
</div>
<p><br></p>
<p>In the next cell, when <code>AutoModelForSequenceClassification.from_pretrained</code> is called, three things happen at once:</p>
<ol type="1">
<li><p>The pretrained DistilBERT encoder weights are loaded from Hugging Face. This is the same transformer we used in Part I as a frozen feature extractor.</p></li>
<li><p>A fully-connected neural network head is added on top of the encoder. For sequence classification, this is a linear layer that takes the model’s internal representation of the input sequence and maps it to <code>num_labels</code> outputs. For our dataset, the head outputs two logits (CLASS=0 and CLASS=1).</p></li>
<li><p>The model is configured end-to-end so that both the encoder and the classification head are trainable. During fine-tuning, gradients flow from the classification loss back through the head and into DistilBERT’s layers. This is what allows the model to adapt to NOAA-specific language and severity cues.</p></li>
</ol>
<div id="eeb7c4b6" class="cell" data-execution_count="8">
<div class="sourceCode cell-code" id="cb15" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb15-1"></span>
<span id="cb15-2">model <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> AutoModelForSequenceClassification.from_pretrained(</span>
<span id="cb15-3">    model_name,</span>
<span id="cb15-4">    num_labels<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb15-5">).to(device)</span></code></pre></div>
<div class="cell-output cell-output-stderr">
<pre><code>Loading weights: 100%|██████████| 100/100 [00:00&lt;00:00, 964.04it/s, Materializing param=distilbert.transformer.layer.5.sa_layer_norm.weight]    
DistilBertForSequenceClassification LOAD REPORT from: distilbert-base-uncased
Key                     | Status     | 
------------------------+------------+-
vocab_layer_norm.bias   | UNEXPECTED | 
vocab_transform.weight  | UNEXPECTED | 
vocab_projector.bias    | UNEXPECTED | 
vocab_layer_norm.weight | UNEXPECTED | 
vocab_transform.bias    | UNEXPECTED | 
classifier.weight       | MISSING    | 
pre_classifier.bias     | MISSING    | 
pre_classifier.weight   | MISSING    | 
classifier.bias         | MISSING    | 

Notes:
- UNEXPECTED    :can be ignored when loading from different task/architecture; not ok if you expect identical arch.
- MISSING   :those params were newly initialized because missing from the checkpoint. Consider training on your downstream task.</code></pre>
</div>
</div>
<p><code>TrainingArguments</code> is the configuration object that tells the Hugging Face Trainer how to run training. More on available options can be found <a href="https://huggingface.co/docs/transformers/en/main_classes/trainer">here</a>.</p>
<div id="204a5b9a" class="cell" data-execution_count="9">
<div class="sourceCode cell-code" id="cb17" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb17-1"></span>
<span id="cb17-2">args <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> TrainingArguments(</span>
<span id="cb17-3">    output_dir<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"distilbert-noaa"</span>,</span>
<span id="cb17-4">    eval_strategy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"epoch"</span>,</span>
<span id="cb17-5">    save_strategy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"epoch"</span>,</span>
<span id="cb17-6">    logging_strategy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"steps"</span>,</span>
<span id="cb17-7">    logging_steps<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">50</span>,</span>
<span id="cb17-8">    learning_rate<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2e-5</span>,</span>
<span id="cb17-9">    per_device_train_batch_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>,</span>
<span id="cb17-10">    per_device_eval_batch_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">16</span>,</span>
<span id="cb17-11">    num_train_epochs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>,</span>
<span id="cb17-12">    weight_decay<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span>,</span>
<span id="cb17-13">    load_best_model_at_end<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb17-14">    metric_for_best_model<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"roc_auc"</span>,</span>
<span id="cb17-15">    greater_is_better<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span></span>
<span id="cb17-16">)</span>
<span id="cb17-17"></span>
<span id="cb17-18">trainer <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Trainer(</span>
<span id="cb17-19">    model<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>model,</span>
<span id="cb17-20">    args<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>args,</span>
<span id="cb17-21">    train_dataset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>ds_tokenized[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"train"</span>],</span>
<span id="cb17-22">    eval_dataset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>ds_tokenized[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"valid"</span>],</span>
<span id="cb17-23">    data_collator<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>collator,</span>
<span id="cb17-24">    compute_metrics<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>compute_metrics</span>
<span id="cb17-25">)</span></code></pre></div>
</div>
<p><br></p>
<p>All that’s left to do is train and evaluate. I kept <code>num_train_epochs</code> low assuming CPU training. Feel free to increase this value if GPU acceleration is available. On my machine, training via CPU for 5 epochs took ~1.5 hours:</p>
<div id="9076fa9e" class="cell">
<div class="sourceCode cell-code" id="cb18" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb18-1"></span>
<span id="cb18-2">trainer.train()</span>
<span id="cb18-3">eval_out <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> trainer.evaluate()</span>
<span id="cb18-4"></span>
<span id="cb18-5"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fine-tuned DistilBERT validation metrics:"</span>)</span>
<span id="cb18-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(eval_out)</span></code></pre></div>
<div class="cell-output cell-output-display">

    <div>
      
      <progress value="1640" max="1640" style="width:300px; height:20px; vertical-align: middle;"></progress>
      [1640/1640 1:18:36, Epoch 5/5]
    </div>
    
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">Epoch</th>
<th data-quarto-table-cell-role="th">Training Loss</th>
<th data-quarto-table-cell-role="th">Validation Loss</th>
<th data-quarto-table-cell-role="th">Accuracy</th>
<th data-quarto-table-cell-role="th">Roc Auc</th>
<th data-quarto-table-cell-role="th">Precision</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>0.502981</td>
<td>0.484903</td>
<td>0.801872</td>
<td>0.596458</td>
<td>0.499649</td>
</tr>
<tr class="even">
<td>2</td>
<td>0.183584</td>
<td>0.259172</td>
<td>0.939158</td>
<td>0.912315</td>
<td>0.852742</td>
</tr>
<tr class="odd">
<td>3</td>
<td>0.258704</td>
<td>0.231112</td>
<td>0.948518</td>
<td>0.911132</td>
<td>0.917165</td>
</tr>
<tr class="even">
<td>4</td>
<td>0.108387</td>
<td>0.235922</td>
<td>0.945398</td>
<td>0.923599</td>
<td>0.923016</td>
</tr>
<tr class="odd">
<td>5</td>
<td>0.084391</td>
<td>0.243583</td>
<td>0.951638</td>
<td>0.917981</td>
<td>0.925314</td>
</tr>
</tbody>
</table>
<p>
</p></div>
<div class="cell-output cell-output-stderr">
<pre><code>Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  4.00it/s]
Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  3.63it/s]
Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  2.02it/s]
Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  3.34it/s]
Writing model shards: 100%|██████████| 1/1 [00:00&lt;00:00,  3.17it/s]
There were missing keys in the checkpoint model loaded: ['distilbert.embeddings.LayerNorm.weight', 'distilbert.embeddings.LayerNorm.bias'].
There were unexpected keys in the checkpoint model loaded: ['distilbert.embeddings.LayerNorm.beta', 'distilbert.embeddings.LayerNorm.gamma'].</code></pre>
</div>
<div class="cell-output cell-output-display">

</div>
<div class="cell-output cell-output-stdout">
<pre><code>Fine-tuned DistilBERT validation metrics:
{'eval_loss': 0.23589347302913666, 'eval_accuracy': 0.9453978159126365, 'eval_roc_auc': 0.92359900373599, 'eval_precision': 0.923015586437536, 'eval_runtime': 98.0304, 'eval_samples_per_second': 6.539, 'eval_steps_per_second': 0.418, 'epoch': 5.0}</code></pre>
</div>
</div>
<p><br></p>
<p>Generate the classification report:</p>
<div id="35d9fd42" class="cell" data-execution_count="11">
<div class="sourceCode cell-code" id="cb21" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb21-1"></span>
<span id="cb21-2">pred_out <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> trainer.predict(ds_tokenized[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"valid"</span>])</span>
<span id="cb21-3">logits <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pred_out.predictions</span>
<span id="cb21-4">p1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> softmax(logits)[:, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>] </span>
<span id="cb21-5">y_valid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pred_out.label_ids</span>
<span id="cb21-6"></span>
<span id="cb21-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Assume 0.50 threshold for time being.</span></span>
<span id="cb21-8">y_pred <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (p1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>).astype(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>)</span>
<span id="cb21-9"></span>
<span id="cb21-10"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(classification_report(y_valid, y_pred, digits<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>))</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>              precision    recall  f1-score   support

           0    0.96559   0.96364   0.96461       495
           1    0.87755   0.88356   0.88055       146

    accuracy                        0.94540       641
   macro avg    0.92157   0.92360   0.92258       641
weighted avg    0.94554   0.94540   0.94546       641
</code></pre>
</div>
</div>
<p>We are now in a position to compare results from Part I. Recall the classification summary from our frozen embeddings model:</p>
<pre><code>              precision    recall  f1-score   support

           0    0.89447   0.71919   0.79731       495
           1    0.42798   0.71233   0.53470       146

    accuracy                        0.71763       641
   macro avg    0.66123   0.71576   0.66601       641
weighted avg    0.78822   0.71763   0.73750       641
</code></pre>
<p><br></p>
<p>The big takeaway is that fine-tuning delivers a step-change improvement. Accuracy, precision and recall improved across the board, but what really stands out is the increase in CLASS=1 precision. In Part 1, CLASS=1 precision of ~0.43 meant that more than half of the events flagged as severe were actually EF2. It might catch severe events, but it would generate a lot of false positives. After fine-tuning, CLASS=1 precision jumped to ~0.84. Now, when the model says “this looks like an EF3+ event”, it’s usually correct. We’re no longer trading false positives for recall: the model is genuinely better at recognizing severe events from event narratives. From an insurance perspective, that’s the difference between an exploratory model and something that could potentially support triage or prioritization.</p>
</section>
<section id="conclusion" class="level3">
<h3 class="anchored" data-anchor-id="conclusion"><strong>Conclusion</strong></h3>
<p>Fine-tuning DistilBERT end-to-end on tornado narratives led to a dramatic improvement in classification performance compared to using frozen embeddings. Precision and recall for EF3+ events both increased substantially, which indicates that the model has learned severity-specific language patterns that embeddings alone weren’t able to fully capture. However, the improvement fine-tuning provided came at the cost of 15x longer training time, greater computational overhead, and a more complex modeling pipeline. Whether that tradeoff is worthwhile depends on how much narrative detail is truly necessary for the task in question.</p>
<p>In Part III, we explore that question directly by evaluating whether compressed versions of the original text can achieve comparable performance, and how much information can be removed before predictive power begins to degrade.</p>


</section>

 ]]></description>
  <category>Python</category>
  <category>Machine Learning</category>
  <guid>https://www.jtrive.com/posts/practical-nlp-for-risk-modeling-part-2/practical-nlp-for-risk-modeling-part-2.html</guid>
  <pubDate>Sat, 07 Feb 2026 06:00:00 GMT</pubDate>
</item>
<item>
  <title>Practical NLP for Risk Modeling, Part I - Turning Text into Embeddings with Pretrained Transformers</title>
  <link>https://www.jtrive.com/posts/practical-nlp-for-risk-modeling-part-1/practical-nlp-for-risk-modeling-part-1.html</link>
  <description><![CDATA[ 





<blockquote class="blockquote">
<p>The notebook version of this post can be downloaded <a href="https://github.com/jtrive84/jtrive84.github.io/blob/master/posts/practical-nlp-for-risk-modeling-part-1/practical-nlp-for-risk-modeling-part-1.ipynb">here</a>.</p>
</blockquote>
<p>Modern NLP workflows increasingly rely on pretrained transformer models such as BERT and its variants. These models are trained on massive text datasets to learn general purpose language representations that can be reused across a wide range of downstream tasks, including classification, information extraction, and document triage.</p>
<p>In an insurance setting, text classification problems show up frequently. Claim descriptions, underwriting notes, and risk control reports all contain unstructured text that often needs to be categorized, prioritized, or routed. Pretrained language models offer a practical way to extract meaningful signal from text without building task-specific representations from scratch.</p>
<p>When applying a pretrained model to a text classification problem, there are two common approaches: The first uses the pretrained model strictly as a feature extractor. The language model is treated as a frozen encoder that converts raw text into dense, fixed-length vector representations. These vectors are then passed into a traditional machine learning model for classification. The language model itself is never updated; it simply provides high-quality semantic features that can be plugged into an existing ML pipeline.</p>
<p>The second approach is end-to-end fine-tuning. A small classification head is attached directly to the pretrained model, and the entire network is trained jointly on a given task. During training, the model adjusts the classification layer as well as the internal language representations to better align with the target labels. This often yields higher accuracy, but comes at the cost of increased computational requirements and greater sensitivity to hyperparameters.</p>
<p>This post is the first in a four-part series that provides an end-to-end guide to applying modern transformer models for text classification in real-world data science workflows. Our focus will be on predicting the EF Scale for US tornado events based on event narratives captured in the NOAA Severe Weather Events Database, which is a publicly available resource maintained by the National Centers for Environmental Information (NCEI) that documents significant weather events across the United States. Throughout the series, we’ll work through four complementary themes:</p>
<ul>
<li><p><strong>Part I: Using Pretrained Transformers as Embedding Generators</strong> Introduces how to convert raw text into dense numeric embeddings using DistilBERT and use those embeddings as inputs to a classical machine learning model, establishing a simple baseline for text classification.</p></li>
<li><p><strong>Part II: Fine-Tuning Transformers for Domain-Specific Text Classification</strong> Walks through training a transformer end-to-end on labeled text, explaining what changes compared to feature extraction, when fine-tuning is worth the cost, and how to structure training against the NOAA tornado event dataset.</p></li>
<li><p><strong>Part III: Evaluating Compressed vs Full Text</strong> Compares model performance when using full text versus compressed representations to assess trade-offs between accuracy and operational complexity.</p></li>
<li><p><strong>Part IV: Interpretation and Calibration</strong> Focuses on making NLP models usable in production by covering probability calibration, threshold selection, error analysis, and interpretability techniques.</p></li>
</ul>
<p><br></p>
<section id="pre-processing" class="level3">
<h3 class="anchored" data-anchor-id="pre-processing"><strong>1. Pre-Processing</strong></h3>
<p>The text descriptions are sourced from the the <a href="https://www.ncei.noaa.gov/stormevents/ftp.jsp">NOAA Severe Weather Events Database</a>. It contains detailed records on hazards such as tornadoes, hail, floods, hurricanes and winter storms. Each entry provides structured data and narrative descriptions. Each file contains two columns with text descriptions of significant weather events:</p>
<ul>
<li><p><strong>EVENT_NARRATIVE</strong> describes the specific, individual event. For example, if there is a tornado in one county, the EVENT NARRATIVE contains details about that tornado (its path, damage, casualties, and circumstances).</p></li>
<li><p><strong>EPISODE_NARRATIVE</strong> describes the broader weather episode that groups multiple related events. For instance, if a line of severe thunderstorms produced several tornadoes and hail reports across multiple counties, the EPISODE_NARRATIVE provides the larger context of the storm system, while each tornado or hail report has its own EVENT NARRATIVE.</p></li>
</ul>
<p>Think of EPISODE NARRATIVE as the big picture story of the weather system and EVENT NARRATIVE as the details of each individual occurrence. We will focus on EVENT_NARRATIVE for our analysis, but a follow-up analysis will assess whether EPISODE_NARRATIVE combined with EVENT_NARRATIVE offers improvement vs.&nbsp;EVENT_NARRATIVE alone.</p>
<p>The dataset is filtered to retain events from 2008 to present and records with EVENT_TYPE = ‘Tornado’. We also drop records having TOR_F_SCALE “EFU”, “EF0”, “EF1”,“F0”, “F1”.</p>
<p>Since our goal is to train a classifier that can distinguish between low severity (EF2) and high severity (EF3, EF4 and EF5) events based on the event narrative, a <code>CLASS</code> column is created and used as the target for the downstream classifier. <code>CLASS</code> takes on the value 0 for EF2 events and 1 for EF3, EF4 and EF5 events.</p>
<p>To ensure the code provided is this series is reproducible into the future, it is strongly encouraged that a new virtual environment be created with the following dependencies:</p>
<pre><code># requirements.txt
numpy==1.26.4
pandas==2.2.1
scikit-learn==1.4.2
scipy==1.12.0
torch==2.4.1

# Hugging Face stack (Trainer-capable)
transformers==5.1.0
accelerate==1.3.0
datasets==2.18.0
evaluate==0.4.1

# Must match Transformers v5 requirements
tokenizers
huggingface-hub

# Utilities
tqdm==4.66.2
pyarrow==15.0.2
sentencepiece==0.2.0

# Additional
matplotlib==3.8.3
wordcloud==1.9.6
bs4 
requests 
contextily
geopandas</code></pre>
<p><br></p>
<p>These can be installed directly from GitHub by executing the next cell:</p>
<div id="00466ffd" class="cell">
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!</span>python <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>m pip install <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>r https:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">//</span>gist.githubusercontent.com<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>jtrive84<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>e313afbf2def24687e3c3247aa836fe9<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>raw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>f2493005d291920dc1fcfd54274b9dfa42004ebe<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>requirements.txt</span></code></pre></div>
</div>
<p><br></p>
<p>NOAA’s Storm Events Database can be pulled directly over HTTP, so we don’t need use a special API client. The next cell programmatically discovers the latest file for each year and reads each into a single DataFrame. We first check whether <em>“noaa-events-2008-2025.parquet”</em> exists in the current working directory. If not, the files are downloaded and saved locally. Subsequent executions of the next cell will read your local file instead of unnecessarily burdening NOAA’s file server:</p>
<div id="7155fa22" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"></span>
<span id="cb3-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> os</span>
<span id="cb3-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb3-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> requests</span>
<span id="cb3-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> bs4 <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> BeautifulSoup</span>
<span id="cb3-6"></span>
<span id="cb3-7">base_url <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"https://www.ncei.noaa.gov/pub/data/swdi/stormevents/csvfiles/"</span></span>
<span id="cb3-8"></span>
<span id="cb3-9"></span>
<span id="cb3-10"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> get_latest_details_file(year):</span>
<span id="cb3-11">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb3-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Return the filename of the latest details file for the given year.</span></span>
<span id="cb3-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Sample filename: StormEvents_details-ftp_v1.0_d2022_c20250721.csv.gz</span></span>
<span id="cb3-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb3-15">    html <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> requests.get(base_url).text</span>
<span id="cb3-16">    soup <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> BeautifulSoup(html, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"html.parser"</span>)</span>
<span id="cb3-17">    candidates <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb3-18">        a[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"href"</span>]</span>
<span id="cb3-19">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> a <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> soup.find_all(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"a"</span>, href<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb3-20">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"StormEvents_details-ftp_v1.0_d</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>year<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> a[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"href"</span>]</span>
<span id="cb3-21">    ]</span>
<span id="cb3-22"></span>
<span id="cb3-23">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sorted</span>(candidates)[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb3-24"></span>
<span id="cb3-25"></span>
<span id="cb3-26"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Check if dataset exists locally prior to hitting NOAA servers.</span></span>
<span id="cb3-27"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> os.path.exists(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"noaa-events-2008-2025.parquet"</span>):</span>
<span id="cb3-28">    </span>
<span id="cb3-29">    <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fetching latest filenames from NOAA servers..."</span>)</span>
<span id="cb3-30">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get latest filenames for years 2008-2025.</span></span>
<span id="cb3-31">    latest_filenames <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [get_latest_details_file(year) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> year <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2008</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2026</span>)]</span>
<span id="cb3-32"></span>
<span id="cb3-33">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Load each file into a DataFrame and concatenate.</span></span>
<span id="cb3-34">    dfall <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.concat(</span>
<span id="cb3-35">        [pd.read_csv(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>base_url <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> fname<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, compression<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gzip"</span>) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> fname <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> latest_filenames],</span>
<span id="cb3-36">        ignore_index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb3-37">    )</span>
<span id="cb3-38">    dfall.to_parquet(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"noaa-events-2008-2025.parquet"</span>)</span>
<span id="cb3-39"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb3-40">    <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Loading dataset locally..."</span>)</span>
<span id="cb3-41">    dfall <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_parquet(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"noaa-events-2008-2025.parquet"</span>)</span>
<span id="cb3-42"></span>
<span id="cb3-43"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Total records loaded: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>dfall<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb3-44">dfall.head()</span>
<span id="cb3-45"></span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Fetching latest filenames from NOAA servers...
Total records loaded: 1,158,836</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="1">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">BEGIN_YEARMONTH</th>
<th data-quarto-table-cell-role="th">BEGIN_DAY</th>
<th data-quarto-table-cell-role="th">BEGIN_TIME</th>
<th data-quarto-table-cell-role="th">END_YEARMONTH</th>
<th data-quarto-table-cell-role="th">END_DAY</th>
<th data-quarto-table-cell-role="th">END_TIME</th>
<th data-quarto-table-cell-role="th">EPISODE_ID</th>
<th data-quarto-table-cell-role="th">EVENT_ID</th>
<th data-quarto-table-cell-role="th">STATE</th>
<th data-quarto-table-cell-role="th">STATE_FIPS</th>
<th data-quarto-table-cell-role="th">...</th>
<th data-quarto-table-cell-role="th">END_RANGE</th>
<th data-quarto-table-cell-role="th">END_AZIMUTH</th>
<th data-quarto-table-cell-role="th">END_LOCATION</th>
<th data-quarto-table-cell-role="th">BEGIN_LAT</th>
<th data-quarto-table-cell-role="th">BEGIN_LON</th>
<th data-quarto-table-cell-role="th">END_LAT</th>
<th data-quarto-table-cell-role="th">END_LON</th>
<th data-quarto-table-cell-role="th">EPISODE_NARRATIVE</th>
<th data-quarto-table-cell-role="th">EVENT_NARRATIVE</th>
<th data-quarto-table-cell-role="th">DATA_SOURCE</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>200802</td>
<td>22</td>
<td>1300</td>
<td>200802</td>
<td>22</td>
<td>2200</td>
<td>14216</td>
<td>79884</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>A noreaster moved up the coast southeast of Ca...</td>
<td>NaN</td>
<td>CSV</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>200804</td>
<td>1</td>
<td>352</td>
<td>200804</td>
<td>1</td>
<td>352</td>
<td>15549</td>
<td>88334</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>Strong southwest flow behind a warm front allo...</td>
<td>An amateur radio operator recorded a wind gust...</td>
<td>CSV</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>200803</td>
<td>1</td>
<td>0</td>
<td>200803</td>
<td>1</td>
<td>1320</td>
<td>14773</td>
<td>83820</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>Low pressure tracked from the Great Lakes acro...</td>
<td>NaN</td>
<td>CSV</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>200801</td>
<td>14</td>
<td>500</td>
<td>200801</td>
<td>14</td>
<td>1700</td>
<td>13559</td>
<td>75727</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>Low pressure moved up the Atlantic coast and s...</td>
<td>NaN</td>
<td>CSV</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>200812</td>
<td>19</td>
<td>1353</td>
<td>200812</td>
<td>21</td>
<td>200</td>
<td>25148</td>
<td>146588</td>
<td>NEW HAMPSHIRE</td>
<td>33</td>
<td>...</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>An intensifying coastal low spread heavy snow ...</td>
<td>Six to eight inches of snow fell across easter...</td>
<td>CSV</td>
</tr>
</tbody>
</table>

<p>5 rows × 51 columns</p>
</div>
</div>
</div>
<div id="adb50ae8" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"></span>
<span id="cb5-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> warnings</span>
<span id="cb5-3"></span>
<span id="cb5-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> mpl</span>
<span id="cb5-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb5-6"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb5-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torch</span>
<span id="cb5-8"></span>
<span id="cb5-9">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>)</span>
<span id="cb5-10">pd.options.mode.chained_assignment <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb5-11">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.max_columns'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb5-12">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.width'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb5-13">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"display.precision"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb5-14">warnings.filterwarnings(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ignore"</span>)</span>
<span id="cb5-15"></span>
<span id="cb5-16"></span>
<span id="cb5-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Event files by year available @ https://www.ncei.noaa.gov/stormevents/ftp.jsp.</span></span>
<span id="cb5-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># events_path = "C:\\Users\\jtriv\\repos\\blog-posts-in-progress\\practical-nlp-for-risk-modeling-part-2\\noaa-events-2008-2025.parquet"</span></span>
<span id="cb5-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># dfall = pd.read_parquet(events_path)</span></span>
<span id="cb5-20"></span>
<span id="cb5-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Filter for tornadoes from 2008 onward with significant damage ratings.</span></span>
<span id="cb5-22">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb5-23">    dfall[</span>
<span id="cb5-24">        (dfall.YEAR <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2008</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span> </span>
<span id="cb5-25">        (dfall.EVENT_TYPE <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tornado"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span> </span>
<span id="cb5-26">        (<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>dfall.TOR_F_SCALE.isin([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EFU"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EF0"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EF1"</span> ,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F0"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F1"</span>]))</span>
<span id="cb5-27">    ]</span>
<span id="cb5-28">    .dropna(subset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>])</span>
<span id="cb5-29">    .drop_duplicates(subset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>])</span>
<span id="cb5-30">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb5-31">)</span>
<span id="cb5-32"></span>
<span id="cb5-33"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Strip whitespace from EVENT_NARRATIVE.</span></span>
<span id="cb5-34">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.replace(<span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">r"\s+"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">" "</span>, regex<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.strip()</span>
<span id="cb5-35"></span>
<span id="cb5-36"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create target class based on TOR_F_SCALE.</span></span>
<span id="cb5-37">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.where(df.TOR_F_SCALE.isin([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EF2"</span>]), <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb5-38"></span>
<span id="cb5-39"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Total records after filtering: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>df<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb5-40"></span>
<span id="cb5-41">df.head()</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Total records after filtering: 3,261</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="3">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">BEGIN_YEARMONTH</th>
<th data-quarto-table-cell-role="th">BEGIN_DAY</th>
<th data-quarto-table-cell-role="th">BEGIN_TIME</th>
<th data-quarto-table-cell-role="th">END_YEARMONTH</th>
<th data-quarto-table-cell-role="th">END_DAY</th>
<th data-quarto-table-cell-role="th">END_TIME</th>
<th data-quarto-table-cell-role="th">EPISODE_ID</th>
<th data-quarto-table-cell-role="th">EVENT_ID</th>
<th data-quarto-table-cell-role="th">STATE</th>
<th data-quarto-table-cell-role="th">STATE_FIPS</th>
<th data-quarto-table-cell-role="th">YEAR</th>
<th data-quarto-table-cell-role="th">MONTH_NAME</th>
<th data-quarto-table-cell-role="th">EVENT_TYPE</th>
<th data-quarto-table-cell-role="th">CZ_TYPE</th>
<th data-quarto-table-cell-role="th">CZ_FIPS</th>
<th data-quarto-table-cell-role="th">CZ_NAME</th>
<th data-quarto-table-cell-role="th">WFO</th>
<th data-quarto-table-cell-role="th">BEGIN_DATE_TIME</th>
<th data-quarto-table-cell-role="th">CZ_TIMEZONE</th>
<th data-quarto-table-cell-role="th">END_DATE_TIME</th>
<th data-quarto-table-cell-role="th">INJURIES_DIRECT</th>
<th data-quarto-table-cell-role="th">INJURIES_INDIRECT</th>
<th data-quarto-table-cell-role="th">DEATHS_DIRECT</th>
<th data-quarto-table-cell-role="th">DEATHS_INDIRECT</th>
<th data-quarto-table-cell-role="th">DAMAGE_PROPERTY</th>
<th data-quarto-table-cell-role="th">DAMAGE_CROPS</th>
<th data-quarto-table-cell-role="th">SOURCE</th>
<th data-quarto-table-cell-role="th">MAGNITUDE</th>
<th data-quarto-table-cell-role="th">MAGNITUDE_TYPE</th>
<th data-quarto-table-cell-role="th">FLOOD_CAUSE</th>
<th data-quarto-table-cell-role="th">CATEGORY</th>
<th data-quarto-table-cell-role="th">TOR_F_SCALE</th>
<th data-quarto-table-cell-role="th">TOR_LENGTH</th>
<th data-quarto-table-cell-role="th">TOR_WIDTH</th>
<th data-quarto-table-cell-role="th">TOR_OTHER_WFO</th>
<th data-quarto-table-cell-role="th">TOR_OTHER_CZ_STATE</th>
<th data-quarto-table-cell-role="th">TOR_OTHER_CZ_FIPS</th>
<th data-quarto-table-cell-role="th">TOR_OTHER_CZ_NAME</th>
<th data-quarto-table-cell-role="th">BEGIN_RANGE</th>
<th data-quarto-table-cell-role="th">BEGIN_AZIMUTH</th>
<th data-quarto-table-cell-role="th">BEGIN_LOCATION</th>
<th data-quarto-table-cell-role="th">END_RANGE</th>
<th data-quarto-table-cell-role="th">END_AZIMUTH</th>
<th data-quarto-table-cell-role="th">END_LOCATION</th>
<th data-quarto-table-cell-role="th">BEGIN_LAT</th>
<th data-quarto-table-cell-role="th">BEGIN_LON</th>
<th data-quarto-table-cell-role="th">END_LAT</th>
<th data-quarto-table-cell-role="th">END_LON</th>
<th data-quarto-table-cell-role="th">EPISODE_NARRATIVE</th>
<th data-quarto-table-cell-role="th">EVENT_NARRATIVE</th>
<th data-quarto-table-cell-role="th">DATA_SOURCE</th>
<th data-quarto-table-cell-role="th">CLASS</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>200805</td>
<td>1</td>
<td>1759</td>
<td>200805</td>
<td>1</td>
<td>1816</td>
<td>18091</td>
<td>105611</td>
<td>IOWA</td>
<td>19</td>
<td>2008</td>
<td>May</td>
<td>Tornado</td>
<td>C</td>
<td>167</td>
<td>SIOUX</td>
<td>FSD</td>
<td>01-MAY-08 17:59:00</td>
<td>CST-6</td>
<td>01-MAY-08 18:16:00</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0.50M</td>
<td>0.00K</td>
<td>NWS Storm Survey</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>EF2</td>
<td>8.89</td>
<td>400.0</td>
<td>FSD</td>
<td>IA</td>
<td>119.0</td>
<td>LYON</td>
<td>4.0</td>
<td>S</td>
<td>ROCK VLY</td>
<td>6.0</td>
<td>NW</td>
<td>ROCK VLY</td>
<td>43.1421</td>
<td>-96.3000</td>
<td>43.2573</td>
<td>-96.3787</td>
<td>Thunderstorms produced 5 confirmed tornadoes o...</td>
<td>A tornado damaged numerous trees, including la...</td>
<td>CSV</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>200802</td>
<td>6</td>
<td>21</td>
<td>200802</td>
<td>6</td>
<td>25</td>
<td>13933</td>
<td>80215</td>
<td>KENTUCKY</td>
<td>21</td>
<td>2008</td>
<td>February</td>
<td>Tornado</td>
<td>C</td>
<td>93</td>
<td>HARDIN</td>
<td>LMK</td>
<td>06-FEB-08 00:21:00</td>
<td>EST-5</td>
<td>06-FEB-08 00:25:00</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>3.00M</td>
<td>0.00K</td>
<td>NWS Storm Survey</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>EF2</td>
<td>7.10</td>
<td>400.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>1.0</td>
<td>SE</td>
<td>FRANKLIN XRDS</td>
<td>1.0</td>
<td>NE</td>
<td>MARTIN BOX</td>
<td>37.6625</td>
<td>-86.0125</td>
<td>37.6807</td>
<td>-85.8848</td>
<td>A cold front along with a strong upper level l...</td>
<td>The tornado destroyed a trailer and an outbuil...</td>
<td>CSV</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>200802</td>
<td>6</td>
<td>27</td>
<td>200802</td>
<td>6</td>
<td>29</td>
<td>13933</td>
<td>80216</td>
<td>KENTUCKY</td>
<td>21</td>
<td>2008</td>
<td>February</td>
<td>Tornado</td>
<td>C</td>
<td>93</td>
<td>HARDIN</td>
<td>LMK</td>
<td>06-FEB-08 00:27:00</td>
<td>EST-5</td>
<td>06-FEB-08 00:29:00</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>150.00K</td>
<td>0.00K</td>
<td>NWS Storm Survey</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>EF2</td>
<td>1.02</td>
<td>300.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>4.0</td>
<td>SE</td>
<td>TUNNEL HILL</td>
<td>4.0</td>
<td>ESE</td>
<td>TUNNEL HILL</td>
<td>37.6965</td>
<td>-85.7759</td>
<td>37.7037</td>
<td>-85.7596</td>
<td>A cold front along with a strong upper level l...</td>
<td>The tornado knocked a trailer off its foundati...</td>
<td>CSV</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>200802</td>
<td>6</td>
<td>106</td>
<td>200802</td>
<td>6</td>
<td>108</td>
<td>13933</td>
<td>80218</td>
<td>KENTUCKY</td>
<td>21</td>
<td>2008</td>
<td>February</td>
<td>Tornado</td>
<td>C</td>
<td>229</td>
<td>WASHINGTON</td>
<td>LMK</td>
<td>06-FEB-08 01:06:00</td>
<td>EST-5</td>
<td>06-FEB-08 01:08:00</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>15.00K</td>
<td>0.00K</td>
<td>NWS Storm Survey</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>EF2</td>
<td>0.99</td>
<td>250.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>2.0</td>
<td>WSW</td>
<td>DEEP CREEK</td>
<td>1.0</td>
<td>WSW</td>
<td>DEEP CREEK</td>
<td>37.6889</td>
<td>-85.0649</td>
<td>37.6937</td>
<td>-85.0478</td>
<td>A cold front along with a strong upper level l...</td>
<td>This tornado touched down on Russell Lane abou...</td>
<td>CSV</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>200802</td>
<td>6</td>
<td>50</td>
<td>200802</td>
<td>6</td>
<td>52</td>
<td>13933</td>
<td>79065</td>
<td>KENTUCKY</td>
<td>21</td>
<td>2008</td>
<td>February</td>
<td>Tornado</td>
<td>C</td>
<td>179</td>
<td>NELSON</td>
<td>LMK</td>
<td>06-FEB-08 00:50:00</td>
<td>EST-5</td>
<td>06-FEB-08 00:52:00</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>250.00K</td>
<td>0.00K</td>
<td>NWS Storm Survey</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>EF2</td>
<td>0.76</td>
<td>300.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>1.0</td>
<td>SW</td>
<td>WOODLAWN</td>
<td>0.0</td>
<td>WNW</td>
<td>WOODLAWN</td>
<td>37.8113</td>
<td>-85.3812</td>
<td>37.8215</td>
<td>-85.3763</td>
<td>A cold front along with a strong upper level l...</td>
<td>The tornado destroyed or heavily damaage two s...</td>
<td>CSV</td>
<td>0</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Let’s get an idea of the distribution of events by <code>TOR_F_SCALE</code> as well as <code>CLASS</code>:</p>
<div id="6e79bc5d" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"></span>
<span id="cb7-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> IPython.display <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> display_html</span>
<span id="cb7-3"></span>
<span id="cb7-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Distribution over TOR_F_SCALE.</span></span>
<span id="cb7-5">tbl1a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.TOR_F_SCALE.value_counts().reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb7-6">tbl1b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.TOR_F_SCALE.value_counts(normalize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>).reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb7-7">tbl1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tbl1a.merge(tbl1b, on<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"TOR_F_SCALE"</span>, how<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"left"</span>)</span>
<span id="cb7-8"></span>
<span id="cb7-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Distribution over class.</span></span>
<span id="cb7-10">tbl2a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.CLASS.value_counts().reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb7-11">tbl2b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.CLASS.value_counts(normalize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>).reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb7-12">tbl2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tbl2a.merge(tbl2b, on<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>, how<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"left"</span>)</span>
<span id="cb7-13"></span>
<span id="cb7-14">tbl1_style <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tbl1.style.set_table_attributes(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"style='display:inline'"</span>).set_caption(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'TOR_F_SCALE'</span>).hide(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'index'</span>)</span>
<span id="cb7-15">tbl2_style <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tbl2.style.set_table_attributes(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"style='display:inline'"</span>).set_caption(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'CLASS'</span>).hide(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'index'</span>)</span>
<span id="cb7-16">display_html(tbl1_style._repr_html_()<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span>tbl2_style._repr_html_(), raw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span></code></pre></div>
<div class="cell-output cell-output-display">
<style type="text/css">
</style>

<div id="T_a1a89" class="quarto-float quarto-figure quarto-figure-center anchored" data-quarto-postprocess="true" style="display:inline">
<figure class="quarto-float quarto-float-tbl figure">
<figcaption class="quarto-float-caption-top quarto-float-caption quarto-float-tbl" id="T_a1a89-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Table&nbsp;1: TOR_F_SCALE
</figcaption>
<div aria-describedby="T_a1a89-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<table id="T_a1a89" class="caption-top table table-sm table-striped small" data-quarto-postprocess="true">
<thead>
<tr class="header">
<th id="T_a1a89_level0_col0" class="col_heading level0 col0" data-quarto-table-cell-role="th">TOR_F_SCALE</th>
<th id="T_a1a89_level0_col1" class="col_heading level0 col1" data-quarto-table-cell-role="th">count</th>
<th id="T_a1a89_level0_col2" class="col_heading level0 col2" data-quarto-table-cell-role="th">proportion</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td id="T_a1a89_row0_col0" class="data row0 col0">EF2</td>
<td id="T_a1a89_row0_col1" class="data row0 col1">2460</td>
<td id="T_a1a89_row0_col2" class="data row0 col2">0.754370</td>
</tr>
<tr class="even">
<td id="T_a1a89_row1_col0" class="data row1 col0">EF3</td>
<td id="T_a1a89_row1_col1" class="data row1 col1">656</td>
<td id="T_a1a89_row1_col2" class="data row1 col2">0.201165</td>
</tr>
<tr class="odd">
<td id="T_a1a89_row2_col0" class="data row2 col0">EF4</td>
<td id="T_a1a89_row2_col1" class="data row2 col1">134</td>
<td id="T_a1a89_row2_col2" class="data row2 col2">0.041092</td>
</tr>
<tr class="even">
<td id="T_a1a89_row3_col0" class="data row3 col0">EF5</td>
<td id="T_a1a89_row3_col1" class="data row3 col1">11</td>
<td id="T_a1a89_row3_col2" class="data row3 col2">0.003373</td>
</tr>
</tbody>
</table>
</div>
</figure>
</div>

<style type="text/css">
</style>

<div id="T_889c3" class="quarto-float quarto-figure quarto-figure-center anchored" data-quarto-postprocess="true" style="display:inline">
<figure class="quarto-float quarto-float-tbl figure">
<figcaption class="quarto-float-caption-top quarto-float-caption quarto-float-tbl" id="T_889c3-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Table&nbsp;2: CLASS
</figcaption>
<div aria-describedby="T_889c3-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<table id="T_889c3" class="caption-top table table-sm table-striped small" data-quarto-postprocess="true">
<thead>
<tr class="header">
<th id="T_889c3_level0_col0" class="col_heading level0 col0" data-quarto-table-cell-role="th">CLASS</th>
<th id="T_889c3_level0_col1" class="col_heading level0 col1" data-quarto-table-cell-role="th">count</th>
<th id="T_889c3_level0_col2" class="col_heading level0 col2" data-quarto-table-cell-role="th">proportion</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td id="T_889c3_row0_col0" class="data row0 col0">0</td>
<td id="T_889c3_row0_col1" class="data row0 col1">2460</td>
<td id="T_889c3_row0_col2" class="data row0 col2">0.754370</td>
</tr>
<tr class="even">
<td id="T_889c3_row1_col0" class="data row1 col0">1</td>
<td id="T_889c3_row1_col1" class="data row1 col1">801</td>
<td id="T_889c3_row1_col2" class="data row1 col2">0.245630</td>
</tr>
</tbody>
</table>
</div>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>~75% of events fall in CLASS = 0, and ~25% in CLASS = 1. The dataset is mildly imbalanced, but a 75/25 split is common in real-world problems and usually workable with standard classifiers. Most algorithms can still learn meaningful decision boundaries without special tricks.</p>
<p><code>DAMAGE_PROPERTY</code> captures the estimated dollar value of property damage associated with each event. This includes losses to homes, buildings, infrastructure, vehicles, and other physical assets. While we will not use <code>DAMAGE_PROPERTY</code> as a feature in our classifier in Part I, it is still informative to understand how average property damage varies across EF classes. Because this field is stored in a non-numeric format within the NOAA database, we first convert it to a numeric type and then compute average damage by <code>TOR_F_SCALE</code>:</p>
<div id="6691b17d" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb8" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb8-1"></span>
<span id="cb8-2"></span>
<span id="cb8-3"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> convert_to_numeric(damage_str):</span>
<span id="cb8-4">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb8-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Convert damage string with K, M, B suffix to numeric value.</span></span>
<span id="cb8-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb8-7">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> pd.isna(damage_str):</span>
<span id="cb8-8">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>  </span>
<span id="cb8-9">    damage_str <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(damage_str).upper()</span>
<span id="cb8-10">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"K"</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> damage_str:</span>
<span id="cb8-11">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(damage_str.replace(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"K"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">""</span>)) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span></span>
<span id="cb8-12">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">elif</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"M"</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> damage_str:</span>
<span id="cb8-13">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(damage_str.replace(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"M"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">""</span>)) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000000</span></span>
<span id="cb8-14">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">elif</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"B"</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> damage_str: </span>
<span id="cb8-15">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(damage_str.replace(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"B"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">""</span>)) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000000000</span></span>
<span id="cb8-16"></span>
<span id="cb8-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Apply function to each row of dft. </span></span>
<span id="cb8-18">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DAMAGE_PROPERTY_NUMERIC"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DAMAGE_PROPERTY"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">apply</span>(convert_to_numeric).fillna(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb8-19"></span>
<span id="cb8-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute average property damage by TOR_F_SCALE.</span></span>
<span id="cb8-21">avg_damage <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"TOR_F_SCALE"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DAMAGE_PROPERTY_NUMERIC"</span>].mean()</span>
<span id="cb8-22"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Average Property Damage by TOR_F_SCALE:"</span>)</span>
<span id="cb8-23">avg_damage <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> avg_damage.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">apply</span>(<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> x: <span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"$</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>x<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>).reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb8-24"></span>
<span id="cb8-25">avg_damage</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Average Property Damage by TOR_F_SCALE:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="5">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">TOR_F_SCALE</th>
<th data-quarto-table-cell-role="th">DAMAGE_PROPERTY_NUMERIC</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>EF2</td>
<td>$1,990,912.94</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>EF3</td>
<td>$15,629,913.11</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>EF4</td>
<td>$55,035,537.31</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>EF5</td>
<td>$466,145,454.55</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>This aligns with our expectations. EF classes are based on wind speed, and the damage from EF5 events will be far greater on average than the other classes:</p>
<table class="caption-top table">
<colgroup>
<col style="width: 6%">
<col style="width: 18%">
<col style="width: 74%">
</colgroup>
<thead>
<tr class="header">
<th style="text-align: right;">EF Scale</th>
<th style="text-align: right;">Wind Speed Range (mph)</th>
<th>Damage Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: right;">EF0</td>
<td style="text-align: right;">65–85</td>
<td>Light damage (tree branches broken, shallow-rooted trees pushed over)</td>
</tr>
<tr class="even">
<td style="text-align: right;">EF1</td>
<td style="text-align: right;">86–110</td>
<td>Moderate damage (roofs stripped, mobile homes overturned)</td>
</tr>
<tr class="odd">
<td style="text-align: right;">EF2</td>
<td style="text-align: right;">111–135</td>
<td>Considerable damage (roofs torn off well-constructed houses, large trees snapped)</td>
</tr>
<tr class="even">
<td style="text-align: right;">EF3</td>
<td style="text-align: right;">136–165</td>
<td>Severe damage (entire stories of houses destroyed, significant structural damage)</td>
</tr>
<tr class="odd">
<td style="text-align: right;">EF4</td>
<td style="text-align: right;">166–200</td>
<td>Devastating damage (well-built homes leveled, cars thrown)</td>
</tr>
<tr class="even">
<td style="text-align: right;">EF5</td>
<td style="text-align: right;">&gt;200</td>
<td>Incredible damage (strong-frame houses swept away, large debris carried long distances)</td>
</tr>
</tbody>
</table>
<p><br></p>
<p>A word cloud can be used to quickly visualize the most frequent or prominent words in a body of text, with more important words appearing larger. Its purpose is to give an at-a-glance sense of dominant themes in the text.</p>
<p>Two separate word clouds are created based on <code>EVENT_NARRATIVE</code> (one for CLASS = 0 the other for CLASS = 1). Output is limited to the top 50 words:</p>
<div id="419be014" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb10-1"></span>
<span id="cb10-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> wordcloud <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> WordCloud</span>
<span id="cb10-3"></span>
<span id="cb10-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Limit to top 50 words for word clouds.</span></span>
<span id="cb10-5">num_words <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">50</span></span>
<span id="cb10-6"></span>
<span id="cb10-7">text0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.loc[df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>]<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.cat(sep<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">" "</span>)</span>
<span id="cb10-8">text1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.loc[df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>]<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.cat(sep<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">" "</span>)</span>
<span id="cb10-9">wc0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> WordCloud(max_words<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>num_words, background_color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"white"</span>).generate(text0)</span>
<span id="cb10-10">wc1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> WordCloud(max_words<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>num_words, background_color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"white"</span>).generate(text1)</span>
<span id="cb10-11"></span>
<span id="cb10-12">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>), dpi<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">150</span>, tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb10-13">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS=0 (EF2)"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>)</span>
<span id="cb10-14">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].imshow(wc0)</span>
<span id="cb10-15">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].axis(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"off"</span>)</span>
<span id="cb10-16">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS=1 (EF3, EF4, EF5)"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>)</span>
<span id="cb10-17">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].imshow(wc1)</span>
<span id="cb10-18">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].axis(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"off"</span>)</span>
<span id="cb10-19">plt.show()</span>
<span id="cb10-20"></span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/practical-nlp-for-risk-modeling-part-1/practical-nlp-for-risk-modeling-part-1_files/figure-html/cell-7-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>At first glance, the CLASS=0 and CLASS=1 word clouds do not appear meaningfully different.</p>
<p><br></p>
</section>
<section id="using-distilbert-as-a-feature-extractor" class="level3">
<h3 class="anchored" data-anchor-id="using-distilbert-as-a-feature-extractor"><strong>2. Using DistilBERT as a Feature Extractor</strong></h3>
<p>Hugging Face is an open-source AI platform best known for making modern NLP and foundation models easy to use and share. It provides pre-trained models, standardized model APIs, and datasets so you don’t have to build everything from scratch. Training is more convenient because common tasks—tokenization, batching, fine-tuning, and evaluation—are handled by well-designed libraries with sensible defaults.</p>
<p>The Python transformers library is Hugging Face’s core toolkit for working with models like BERT, GPT, T5, and vision transformers. It offers simple APIs to load pre-trained models, tokenize data and fine-tune on your own datasets. In this section, we carry out the following steps:</p>
<ol start="0" type="1">
<li>Create Dataset object from event narratives.</li>
<li>Tokenize event narratives with DistilBERT tokenizer.<br>
</li>
<li>Run frozen DistilBERT forward pass.</li>
<li>Pool token embeddings into one vector per event.</li>
</ol>
<p>Instead of creating a random train-test split, events are split based on time. The training set will include all events from 2008-2022, the test set 2022-present. We do this because language evolves over time and reporting practices change. It can also be viewed as a way to assess how well the model generalizes to future event descriptions.</p>
<p>In the next cell train and validation Dataset objects are created from the original DataFrame. We create the <code>DatasetDict</code> instance manually: Had we opted for a random split, this would have been created automatically when calling <code>.train_test_split</code> on the original DataFrame, i.e., <code>Dataset.from_pandas(df).train_test_split(test_size=0.20)</code>. Dataset objects integrate tightly with the Transformers training APIs. They represent data in a standard format that supports lazy loading and fast preprocessing.</p>
<div id="1bd55875" class="cell" data-execution_count="7">
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1"></span>
<span id="cb11-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> datasets <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> Dataset, DatasetDict</span>
<span id="cb11-3"></span>
<span id="cb11-4">keep_columns <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb11-5">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_ID"</span>,</span>
<span id="cb11-6">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>,</span>
<span id="cb11-7">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"TOR_F_SCALE"</span>,</span>
<span id="cb11-8">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span></span>
<span id="cb11-9">]</span>
<span id="cb11-10"></span>
<span id="cb11-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create train-test splits. </span></span>
<span id="cb11-12">dftrain <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"YEAR"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&lt;=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2022</span>][keep_columns].reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb11-13">dfvalid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"YEAR"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>  <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2022</span>][keep_columns].reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb11-14"></span>
<span id="cb11-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create Dataset objects.</span></span>
<span id="cb11-16">ds_train <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Dataset.from_pandas(dftrain)</span>
<span id="cb11-17">ds_valid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Dataset.from_pandas(dfvalid)</span>
<span id="cb11-18">ds <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> DatasetDict({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"train"</span>: ds_train, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"valid"</span>: ds_valid})</span>
<span id="cb11-19"></span>
<span id="cb11-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Inspect first training sample.</span></span>
<span id="cb11-21">ds[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"train"</span>][<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="7">
<pre><code>{'EVENT_ID': 105611,
 'EVENT_NARRATIVE': 'A tornado damaged numerous trees, including large trees uprooted, blew windows out of a home, destroyed a metal shed, blew two windows and part of a wall out of a metal building, damaged at least three grain bins, destroyed or damaged numerous outbuildings and small sheds, blew down or snapped off at least 15 power poles, bent a metal light pole, tipped one wagon and blew the top off another, blew down a barb wire fence and pushed fence posts almost to the ground, destroyed a hog barn, and flattened corn stubble, before crossing the county line into Lyon County. Contents inside several damaged or destroyed buildings and sheds were also damaged, especially on one farm where damaged buildings housed a farm and trucking business.',
 'TOR_F_SCALE': 'EF2',
 'CLASS': 0}</code></pre>
</div>
</div>
<p><br></p>
<p>Inspecting the output of the first training sample, we see it is nothing more than a dictionary representation of the first row in <code>dftrain</code> with column names as keys and values set to the original column values.</p>
<p>The next step it to tokenize event narratives with the DistilBERT tokenizer. <a href="https://huggingface.co/docs/transformers/en/model_doc/distilbert">DistilBERT</a> is a smaller, faster, and lighter version of BERT created using knowledge distillation. Essentially a smaller student model learns to mimic a larger teacher BERT model. It retains most of BERT’s language understanding performance while using fewer parameters and requiring less compute.</p>
<p>There are two variants we can choose from:</p>
<ul>
<li><strong>distilbert-base-uncased</strong>: Does not make a difference between english and English.</li>
<li><strong>distilbert-base-cased</strong>: Does make a difference between english and English.</li>
</ul>
<p>For the remainder of the post, the focus will be on distilbert-base-uncased, but it is very easy to swap and assess different models when working with the transformers library, in many cases it is as simple as updating the model name.</p>
<div id="1698dd32" class="cell" data-execution_count="8">
<div class="sourceCode cell-code" id="cb13" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb13-1"></span>
<span id="cb13-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> transformers <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> AutoTokenizer, AutoModel</span>
<span id="cb13-3"></span>
<span id="cb13-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Model name.</span></span>
<span id="cb13-5">model_name <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"distilbert-base-uncased"</span></span>
<span id="cb13-6"></span>
<span id="cb13-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Initialize tokenizer and model.</span></span>
<span id="cb13-8">tokenizer <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> AutoTokenizer.from_pretrained(model_name)</span>
<span id="cb13-9">model <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> AutoModel.from_pretrained(model_name)</span>
<span id="cb13-10"></span>
<span id="cb13-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Run model on GPU if available.</span></span>
<span id="cb13-12">device <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> torch.device(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cuda"</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> torch.cuda.is_available() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cpu"</span>)</span>
<span id="cb13-13"></span>
<span id="cb13-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Send model to device. </span></span>
<span id="cb13-15">model.to(device)</span>
<span id="cb13-16"></span>
<span id="cb13-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set model to evaluation mode.</span></span>
<span id="cb13-18">model.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">eval</span>()</span>
<span id="cb13-19"></span>
<span id="cb13-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Print number of parameters in model.</span></span>
<span id="cb13-21">total_params <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(p.numel() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> p <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> model.parameters())</span>
<span id="cb13-22"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Total parameters in </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>model_name<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>total_params<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb13-23"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Tokenizer vocab_size: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>tokenizer<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>vocab_size<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb13-24"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Tokenizer model_max_length (maximum context size): </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>tokenizer<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>model_max_length<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stderr">
<pre><code>Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
Loading weights: 100%|██████████| 100/100 [00:00&lt;00:00, 979.85it/s, Materializing param=transformer.layer.5.sa_layer_norm.weight]    
DistilBertModel LOAD REPORT from: distilbert-base-uncased
Key                     | Status     |  | 
------------------------+------------+--+-
vocab_layer_norm.weight | UNEXPECTED |  | 
vocab_transform.bias    | UNEXPECTED |  | 
vocab_transform.weight  | UNEXPECTED |  | 
vocab_layer_norm.bias   | UNEXPECTED |  | 
vocab_projector.bias    | UNEXPECTED |  | 

Notes:
- UNEXPECTED    :can be ignored when loading from different task/architecture; not ok if you expect identical arch.</code></pre>
</div>
<div class="cell-output cell-output-stdout">
<pre><code>Total parameters in distilbert-base-uncased: 66,362,880
Tokenizer vocab_size: 30,522
Tokenizer model_max_length (maximum context size): 512</code></pre>
</div>
</div>
<p><br></p>
<p>Tokenization bridges the gap between free-form narrative text and the numeric tensors required by transformer models. Transformers do not operate on strings. Instead, they consume token IDs which are integers representing sub-word units from a learned vocabulary. DistilBERT uses a subword tokenizer, meaning words can be split into smaller pieces. This allows the model to handle rare words, misspellings, and morphological variations while keeping the vocabulary size manageable.</p>
<p>The tokenizer also produces an attention mask indicating which positions correspond to real tokens versus padding. This is critical when batching variable-length narratives, because the model needs to ignore padded positions when computing internal representations.</p>
<p>distilbert-base-uncased has a vocabulary of size 30,522 and a maximum context size of 512. The maximum context size means there can be at most 512 tokens (subword pieces, not characters or words) in a single input sequence. If an event narrative is longer than this, it must be truncated or split into chunks before being passed to the model.</p>
<p>The next cell provides an example of how we go from raw text to an encoded sequence of embedding IDs.</p>
<div id="07fac5f9" class="cell" data-execution_count="9">
<div class="sourceCode cell-code" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb16-1"></span>
<span id="cb16-2"></span>
<span id="cb16-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Stanley Brothers, "The Fields have Turned Brown."</span></span>
<span id="cb16-4">text <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"The price I have paid, to live and to learn"</span></span>
<span id="cb16-5"></span>
<span id="cb16-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Encoded text. </span></span>
<span id="cb16-7">enc_input <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tokenizer(text, return_tensors<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'pt'</span>)</span>
<span id="cb16-8"></span>
<span id="cb16-9"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"enc_input.input_ids.shape : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>enc_input<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>input_ids<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># (batch_size, sequence_length)</span></span>
<span id="cb16-10"></span>
<span id="cb16-11"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"enc_input:</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>enc_input<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb16-12">      </span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>enc_input.input_ids.shape : torch.Size([1, 13])
enc_input:
{'input_ids': tensor([[ 101, 1996, 3976, 1045, 2031, 3825, 1010, 2000, 2444, 1998, 2000, 4553,
          102]]), 'token_type_ids': tensor([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]])}</code></pre>
</div>
</div>
<div id="96db7903" class="cell" data-execution_count="10">
<div class="sourceCode cell-code" id="cb18" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb18-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(enc_input[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"input_ids"</span>][<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>])</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="10">
<pre><code>13</code></pre>
</div>
</div>
<p><code>enc_input</code> is a dict-like object with <code>input_ids</code> representing the embedding ids, and <code>attention_mask</code> a tensor containing 1s for real tokens and 0s for padding tokens added to reach the desired sequence length.</p>
<p>The complete mapping of words/word parts to tokens can be obtained via <code>tokenizer.get_vocab()</code>. For example, we can check which id “learn” maps to:</p>
<div id="fa24b16c" class="cell" data-execution_count="11">
<div class="sourceCode cell-code" id="cb20" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb20-1"></span>
<span id="cb20-2">vocab <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tokenizer.get_vocab()</span>
<span id="cb20-3"></span>
<span id="cb20-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"id for learn: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>vocab[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'learn'</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>id for learn: 4553</code></pre>
</div>
</div>
<p>Referring back to <code>enc_input</code>, we see that 4553 is the id at index 11.</p>
<p>To obtain features from the encoded input, <code>enc_input</code> is passed into <code>model</code>:</p>
<div id="de27986a" class="cell" data-execution_count="12">
<div class="sourceCode cell-code" id="cb22" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb22-1"></span>
<span id="cb22-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Obtain text features. </span></span>
<span id="cb22-3">output <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> model(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span>enc_input)</span>
<span id="cb22-4"></span>
<span id="cb22-5"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"type(output) : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">type</span>(output)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb22-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"output.last_hidden_state.shape : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>output<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>last_hidden_state<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>size()<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># (batch_size, sequence_length, hidden_size)</span></span>
<span id="cb22-7"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">output.last_hidden_state:</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n\n</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>output<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>last_hidden_state<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb22-8"></span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>type(output) : &lt;class 'transformers.modeling_outputs.BaseModelOutput'&gt;

output.last_hidden_state.shape : torch.Size([1, 13, 768])

output.last_hidden_state:

tensor([[[-0.0182,  0.0976, -0.0949,  ...,  0.0370,  0.2696,  0.1983],
         [ 0.2047, -0.0677, -0.3011,  ...,  0.0800,  0.4613, -0.0775],
         [ 0.7276, -0.3357, -0.0353,  ..., -0.0306,  0.2783, -0.2500],
         ...,
         [ 0.4852,  0.1291, -0.0054,  ...,  0.0494,  0.4393,  0.2179],
         [ 0.0979,  0.3544, -0.0155,  ..., -0.0864,  0.0971, -0.4329],
         [ 1.0055,  0.4603, -0.2136,  ..., -0.0508, -0.5924, -0.4584]]],
       grad_fn=&lt;NativeLayerNormBackward0&gt;)</code></pre>
</div>
</div>
<p><br></p>
<p>In Hugging Face’s BERT models, <code>last_hidden_state</code> is the sequence of contextualized embeddings for every token in the input after the final transformer layer. They represent features that will be used to train our classifier. For our Stanley Brothers excerpt, this has dimension (1, 13, 768) = <code>(batch_size, sequence_length, hidden_size)</code>:</p>
<ul>
<li><code>batch_size</code>: The number of samples passed into the model.</li>
<li><code>sequence_length</code>: The number of tokens used to represent <code>text</code>.</li>
<li><code>hidden_size</code>: The dimensionality of each token’s final embedding after all transformer layers. Every sub-word token is represented as a 768-dimensional vector.</li>
</ul>
<p>We wrap <code>tokenizer</code> inside a small function rather than calling it inline to ensure that truncation, padding, and maximum length are applied identically across training, validation, and inference. The same function can be reused later when scoring new narratives, which helps to avoid mismatches between training and prediction pipelines:</p>
<div id="94b3794b" class="cell" data-execution_count="13">
<div class="sourceCode cell-code" id="cb24" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb24-1"></span>
<span id="cb24-2">MAX_LEN <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">512</span></span>
<span id="cb24-3"></span>
<span id="cb24-4"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> tokenize(texts):</span>
<span id="cb24-5">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> tokenizer(</span>
<span id="cb24-6">        texts,</span>
<span id="cb24-7">        truncation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb24-8">        padding<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb24-9">        max_length<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>MAX_LEN,</span>
<span id="cb24-10">        return_tensors<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"pt"</span></span>
<span id="cb24-11">    )</span></code></pre></div>
</div>
<p>When we pass tokenized text through DistilBERT, the model does not return a single vector for the entire narrative. Instead, as we saw with our excerpt from <em>The Fields Have Turned Brown</em>, a vector is returned for each token in the sequence (the dimension of the output was 1 x 13 x 768, not 1 x 768). Conceptually, every token receives its own 768-dimensional embedding that reflects the token itself and surrounding context.</p>
<p>Classical machine learning models expect a fixed-length feature vector per observation. This creates a mismatch: we have many token-level vectors for a single narrative, but we need exactly one vector representing the entire event.</p>
<p>Mean pooling address this issue by averaging the token embeddings across the sequence, resulting in a single 768-dimensional vector per narrative (the desired 1 x 768 representation). The attention mask is used so that padded tokens do not contribute to the average. The result can be interpreted as a global summary of the narrative’s semantic content.</p>
<p>Pooling is a necessary step whenever we use a transformer as a frozen feature extractor. Without pooling, there is no straightforward way to pass transformer outputs into a traditional classifier.</p>
<p>This is handled in <code>mean_pool</code> below:</p>
<div id="7eea4452" class="cell" data-execution_count="14">
<div class="sourceCode cell-code" id="cb25" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb25-1"></span>
<span id="cb25-2"><span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">@torch.no_grad</span>()</span>
<span id="cb25-3"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> mean_pool(last_hidden_state, attention_mask):</span>
<span id="cb25-4">    mask <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> attention_mask.unsqueeze(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>()</span>
<span id="cb25-5">    summed <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (last_hidden_state <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> mask).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(dim<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb25-6">    counts <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> mask.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(dim<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>).clamp(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">min</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1e-9</span>)</span>
<span id="cb25-7">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> summed <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> counts</span></code></pre></div>
</div>
<p><br></p>
<p>At this stage, we combine everything built so far into a single operation that converts raw narrative text into numeric feature vectors. The <code>embed_texts</code> function in the next cell takes a list of narratives, tokenizes them, passes them through DistilBERT, and applies mean pooling to produce one fixed-length embedding per event.</p>
<p>Transformers operate on batches of tokenized text and return high-dimensional tensors, not directly usable feature matrices. Classical machine learning models expect a two-dimensional array where each row corresponds to an observation and each column corresponds to a feature. The embedding step bridges that gap by turning free-form text into a matrix of shape (number_of_events, 768).</p>
<p>Once this step is complete, the narratives will have been transformed into numerical features that can be handled in exactly the same way as any other tabular predictor. This is what makes the overall approach so practical: after embedding, the rest of the workflow is indistinguishable from a standard classification problem.</p>
<div id="08a8cc31" class="cell" data-execution_count="15">
<div class="sourceCode cell-code" id="cb26" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb26-1"></span>
<span id="cb26-2"><span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">@torch.no_grad</span>()</span>
<span id="cb26-3"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> embed_texts(texts, batch_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">32</span>):</span>
<span id="cb26-4"></span>
<span id="cb26-5">    all_vecs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb26-6"></span>
<span id="cb26-7">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> i <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(texts), batch_size):</span>
<span id="cb26-8">        batch <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> texts[i:(i <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> batch_size)]</span>
<span id="cb26-9">        enc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tokenize(batch)</span>
<span id="cb26-10">        enc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {k: v.to(device) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> k, v <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> enc.items()}</span>
<span id="cb26-11">        out <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> model(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span>enc)</span>
<span id="cb26-12">        emb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> mean_pool(out.last_hidden_state, enc[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"attention_mask"</span>])</span>
<span id="cb26-13">        all_vecs.append(emb.cpu().numpy())</span>
<span id="cb26-14"></span>
<span id="cb26-15">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> np.vstack(all_vecs)</span></code></pre></div>
</div>
<p><code>embed_texts</code> is then used to generate features from the training and validation sets. The next cell may take 5-10 minutes to run if using CPU:</p>
<div id="91d959e7" class="cell" data-execution_count="16">
<div class="sourceCode cell-code" id="cb27" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb27-1"></span>
<span id="cb27-2">X_train <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> embed_texts(ds[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"train"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>], batch_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">32</span>)</span>
<span id="cb27-3">X_valid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> embed_texts(ds[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"valid"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_NARRATIVE"</span>], batch_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">32</span>)</span>
<span id="cb27-4">y_train <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.array(ds[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"train"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>])</span>
<span id="cb27-5">y_valid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.array(ds[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"valid"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CLASS"</span>])</span>
<span id="cb27-6"></span>
<span id="cb27-7"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"X_train shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>X_train<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">; y_train.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>y_train<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb27-8"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"X_valid shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>X_valid<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">; y_valid.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>y_valid<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>X_train shape: (2620, 768); y_train.shape: (2620,)
X_valid shape: (641, 768); y_valid.shape: (641,)</code></pre>
</div>
</div>
<p><br></p>
</section>
<section id="classification" class="level3">
<h3 class="anchored" data-anchor-id="classification"><strong>3. Classification</strong></h3>
<p>At this point, we can use all the familiar scikit-learn tooling to fit a classifier, because the problem has been fully reduced to standard tabular modeling. Each tornado event is now represented by a fixed-length numeric vector, and the target is a simple binary label indicating EF2 versus EF3+.</p>
<p>When working with transformer embeddings, simple linear models often perform surprisingly well, since much of the complexity has already been absorbed by the language model. Logistic Regression is a natural first choice in this setting. It is fast to train, handles high-dimensional feature spaces well, and provides well-behaved probability estimates. The embeddings produced by DistilBERT have 768 dimensions, which makes the problem inherently high-dimensional. Linear models with regularization are well-suited to this regime, because regularization helps control overfitting by shrinking less informative coefficients toward zero.</p>
<p>Nothing about this step is specific to text anymore. We could swap Logistic Regression for a Random Forest, Gradient Boosting model, or any other scikit-learn classifier without changing the upstream pipeline. This separation between representation learning and downstream modeling is one of the major advantages of using pretrained transformers as feature extractors.</p>
<p>In the next cell, we fit a Logistic Regression model with Elastic Net penalty. A grid search is performed over <code>l1_ratio</code> and <code>C</code> to identify the regularization regime which maximizes f1-score.</p>
<div id="ebf35da0" class="cell" data-execution_count="19">
<div class="sourceCode cell-code" id="cb29" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb29-1"></span>
<span id="cb29-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> scipy.stats <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> uniform, loguniform</span>
<span id="cb29-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> sklearn.model_selection <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> RandomizedSearchCV</span>
<span id="cb29-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> sklearn.linear_model <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> LogisticRegression</span>
<span id="cb29-5"></span>
<span id="cb29-6">random_state <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">516</span></span>
<span id="cb29-7">verbosity <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span></span>
<span id="cb29-8">n_iter <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">50</span></span>
<span id="cb29-9">scoring <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"recall"</span></span>
<span id="cb29-10">cv <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span></span>
<span id="cb29-11"></span>
<span id="cb29-12">param_grid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {</span>
<span id="cb29-13">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"l1_ratio"</span>: uniform(loc<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>), </span>
<span id="cb29-14">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"C"</span>: loguniform(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1e-4</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1e4</span>)</span>
<span id="cb29-15">    }</span>
<span id="cb29-16"></span>
<span id="cb29-17">clf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> RandomizedSearchCV(</span>
<span id="cb29-18">    LogisticRegression(solver<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"saga"</span>, class_weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"balanced"</span>, max_iter<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">500</span>), </span>
<span id="cb29-19">    param_grid, </span>
<span id="cb29-20">    scoring<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>scoring, </span>
<span id="cb29-21">    cv<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>cv, </span>
<span id="cb29-22">    verbose<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>verbosity, </span>
<span id="cb29-23">    random_state<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>random_state, </span>
<span id="cb29-24">    n_iter<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>n_iter,</span>
<span id="cb29-25">    n_jobs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span></span>
<span id="cb29-26">)</span>
<span id="cb29-27"></span>
<span id="cb29-28">clf.fit(X_train, y_train)</span>
<span id="cb29-29"></span>
<span id="cb29-30"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">Optimal parameters: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>clf<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>best_params_<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Fitting 3 folds for each of 50 candidates, totalling 150 fits

Optimal parameters: {'C': 0.10443596935926203, 'l1_ratio': 0.4360994501308848}</code></pre>
</div>
</div>
<p><br></p>
<p>Assess model performance on holdout data:</p>
<div id="f1a986c5" class="cell" data-execution_count="20">
<div class="sourceCode cell-code" id="cb31" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb31-1"></span>
<span id="cb31-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> sklearn.metrics <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> classification_report</span>
<span id="cb31-3"></span>
<span id="cb31-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(classification_report(y_valid, clf.predict(X_valid), digits<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>))</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>              precision    recall  f1-score   support

           0    0.89447   0.71919   0.79731       495
           1    0.42798   0.71233   0.53470       146

    accuracy                        0.71763       641
   macro avg    0.66123   0.71576   0.66601       641
weighted avg    0.78822   0.71763   0.73750       641
</code></pre>
</div>
</div>
<p>This is a very solid result, given that we used a frozen encoder and text-only features. In particular, what matters most for our use case is CLASS=1 recall = 0.71, which means roughly 7 out of every 10 truly severe tornadoes are being correctly identified. Precision = 0.43, so only about half of the tornadoes flagged as EF3+ truly are EF3+. This is the expected tradeoff: recall increased, and we paid for it with more false positives.</p>
</section>
<section id="conclusion" class="level3">
<h3 class="anchored" data-anchor-id="conclusion"><strong>Conclusion</strong></h3>
<p>The big-picture interpretation is that the pipeline works and the model has learned meaningful signal from the text on a real-world dataset. It’s worth emphasizing that the goal of this post was not to squeeze out the last basis point of classification performance, but to build intuition around how a pretrained transformer like DistilBERT can be used as a general-purpose feature extractor for downstream modeling. Even with a relatively simple Logistic Regression head, we were able to convert unstructured event narratives into dense numerical representations with only a few lines of code and obtain better than expected results. There are many obvious avenues for improvement:</p>
<ul>
<li>Experiment with alternative pooling strategies.</li>
<li>Trying different pretrained backbones.</li>
<li>Moving beyond linear models to more expressive classifiers.</li>
<li>Incorporating additional features (property damage, spatial variables, etc.)</li>
</ul>
<p>These are left as exercises for the reader.</p>
<p>In Part 2, we’ll take the next step and fine-tune the transformer itself for the same task, allowing the language model to adapt its internal representations directly to the classification objective, and demonstrate why end-to-end fine-tuning often delivers significant performance improvement over fixed embeddings.</p>


</section>

 ]]></description>
  <category>Python</category>
  <category>Machine Learning</category>
  <guid>https://www.jtrive.com/posts/practical-nlp-for-risk-modeling-part-1/practical-nlp-for-risk-modeling-part-1.html</guid>
  <pubDate>Mon, 26 Jan 2026 06:00:00 GMT</pubDate>
</item>
<item>
  <title>GPU Acceleration with Polars LazyFrames</title>
  <link>https://www.jtrive.com/posts/polars-gpu-acceleration/polars-gpu-acceleration.html</link>
  <description><![CDATA[ 





<p>In a previous post, I walked through how Polars can be used to process larger-than-memory datasets without needing to setup and maintain a dedicated compute cluster. This was accomplished by taking advantage of the Polars LazyFrame. Unlike a regular DataFrame which executes operations immediately, a LazyFrame builds up a logical query plan and defers execution until you explicitly call a method like <code>.collect()</code>. This allows Polars to optimize the entire query before running it by taking advantage of predicate and projection pushdown or reordering operations for efficiency. The benefit is that you can chain many transformations together without incurring intermediate computation costs, and when the query finally runs, Polars can execute it in a highly optimized fashion.</p>
<p align="center">
<img src="https://www.jtrive.com/posts/polars-gpu-acceleration/rapids-polars.png" alt="" width="800">
</p>
<p><br></p>
<p>Recent Polars releases have introduced GPU acceleration as a capability for scaling analytical workloads. From the user’s perspective, all that needs to be done is to pass <code>engine="gpu"</code> to <code>.collect()</code>, and existing queries will be executed on NVIDIA GPUs through cuDF and the RAPIDS ecosystem, resulting in significant speed-ups for many common DataFrame operations.</p>
<p>I encountered a bit of difficulty getting my environment configured to take advatntage of GPU acceleration (installing NVIDIA drivers, CUDA toolkit, etc.) I ultimately settled on using the <a href="https://catalog.ngc.nvidia.com/orgs/nvidia/teams/rapidsai/containers/notebooks">NVIDIA RAPIDS Docker image</a>. The NVIDIA RAPIDS Docker images are pre-built containers that bundle the RAPIDS AI libraries (cuDF, cuML, cuGraph) together with CUDA, Python, and system dependencies. It’s designed so you can quickly run RAPIDS on any machine with a compatible NVIDIA GPU without having to install and configure all the pieces manually. I opted for the RAPIDS notebook image which starts a JupyterLab notebook server by default. I can’t recommend this approach enough. After pulling the image, the container can be initialized with:</p>
<div class="sourceCode" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb1-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> docker run <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">--rm</span> <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">-it</span> <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">--gpus</span> all <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">-p</span> 8888:8888 <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">-e</span> JUPYTER_TOKEN=rapids <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">\</span></span>
<span id="cb1-2">  nvcr.io/nvidia/rapidsai/notebooks:25.08-cuda12.9-py3.13</span></code></pre></div>
<p><br></p>
<p>To ensure that the container environment can access the GPU(s) available on the host, run:</p>
<div class="sourceCode" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> cupy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> cp</span>
<span id="cb2-2"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"GPU available:"</span>, cp.cuda.runtime.getDeviceCount())</span>
<span id="cb2-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Should be &gt;=1.</span></span></code></pre></div>
<p><br></p>
<p>Alternatively, verify that the device is recognized from within the container using <code>nvidia-smi</code>:</p>
<div id="4e62d5e2-4fe4-48f2-bf85-67c9e7140d90" class="cell" data-execution="{&quot;iopub.execute_input&quot;:&quot;2025-10-30T03:16:07.377208Z&quot;,&quot;iopub.status.busy&quot;:&quot;2025-10-30T03:16:07.376983Z&quot;,&quot;iopub.status.idle&quot;:&quot;2025-10-30T03:16:07.894559Z&quot;,&quot;shell.execute_reply&quot;:&quot;2025-10-30T03:16:07.894027Z&quot;,&quot;shell.execute_reply.started&quot;:&quot;2025-10-30T03:16:07.377191Z&quot;}" data-execution_count="1">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!</span>nvidia<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>smi</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Thu Oct 30 03:16:07 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.163.01             Driver Version: 550.163.01     CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA A10G                    On  |   00000000:00:1E.0 Off |                    0 |
|  0%   20C    P8              9W /  300W |       1MiB /  23028MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+</code></pre>
</div>
</div>
<p><br></p>
<p>The output indicates the system has 23GB of VRAM available.</p>
<p>It is also necessary to install cudf-polars-cu12 to enable GPU acceleration in Polars since it provides the bridge between the Polars DataFrame engine and RAPIDS cuDF, which is NVIDIA’s GPU-accelerated dataframe library built on CUDA 12. The standard Polars package runs entirely on CPU, but with cudf-polars-cu12 installed, Polars can transparently offload supported query operations to the GPU using the RAPIDS runtime. This package contains the CUDA-specific bindings, GPU kernels, and dependencies required for the Polars engine=“gpu” option.</p>
<div id="9b4e4d26-a324-4d32-bb6a-16925afdf4e2" class="cell">
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!</span>pip install watermark cudf<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>polars<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>cu12</span></code></pre></div>
</div>
<p><br></p>
<p>To benchmark Polars CPU vs GPU performance, the New York City 311 Service Requests dataset (via NYC Open Data) will be used as the starting point. It is an ~16GB CSV file representing a city-wide log of non-emergency service requests submitted by residents of New York City since 2010. Each row corresponds to a single request. For example, a noise complaint, trash pickup issue, illegal dumping report or street-light outage, etc. It also includes key attributes such as when the request was created and when it was resolved, the type of complaint, the responding agency, location (latitude/longitude or borough/zip), and status. It is available for download on <a href="https://www.kaggle.com/datasets/new-york-city/ny-311-service-requests">Kaggle</a>.</p>
<div id="00b5332a-daec-45ce-80bf-c46640f15c99" class="cell" data-execution="{&quot;iopub.execute_input&quot;:&quot;2025-10-30T03:16:42.124138Z&quot;,&quot;iopub.status.busy&quot;:&quot;2025-10-30T03:16:42.123926Z&quot;,&quot;iopub.status.idle&quot;:&quot;2025-10-30T03:16:42.521509Z&quot;,&quot;shell.execute_reply&quot;:&quot;2025-10-30T03:16:42.520987Z&quot;,&quot;shell.execute_reply.started&quot;:&quot;2025-10-30T03:16:42.124122Z&quot;}">
<div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb6-1"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span>load_ext watermark</span>
<span id="cb6-2"></span>
<span id="cb6-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> polars <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pl </span>
<span id="cb6-4"></span>
<span id="cb6-5">pl.Config(tbl_rows<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">30</span>)</span>
<span id="cb6-6">pl.Config(float_precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>)</span>
<span id="cb6-7">pl.Config(tbl_cols<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb6-8"></span>
<span id="cb6-9"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span>watermark <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>v <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>p numpy,pandas,polars</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Python implementation: CPython
Python version       : 3.12.9
IPython version      : 8.37.0

numpy : 1.26.4
pandas: 2.3.1
polars: 1.32.3

Compiler    : GCC 13.3.0
OS          : Linux
Release     : 5.10.244-240.970.amzn2.x86_64
Machine     : x86_64
Processor   : x86_64
CPU cores   : 8
Architecture: 64bit
</code></pre>
</div>
</div>
<p><br></p>
<p>We start by creating a LazyFrame based on the service requests dataset, and display the first 5 records:</p>
<div id="8b22a7ba-04d3-448d-907c-e7a99349dca3" class="cell" data-execution="{&quot;iopub.execute_input&quot;:&quot;2025-10-30T03:16:57.180809Z&quot;,&quot;iopub.status.busy&quot;:&quot;2025-10-30T03:16:57.180512Z&quot;,&quot;iopub.status.idle&quot;:&quot;2025-10-30T03:16:57.270753Z&quot;,&quot;shell.execute_reply&quot;:&quot;2025-10-30T03:16:57.270312Z&quot;,&quot;shell.execute_reply.started&quot;:&quot;2025-10-30T03:16:57.180792Z&quot;}" data-execution_count="4">
<div class="sourceCode cell-code" id="cb8" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb8-1"></span>
<span id="cb8-2">lf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pl.scan_csv(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"311-service-requests.csv"</span>)</span>
<span id="cb8-3"></span>
<span id="cb8-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Display the first 5 rows.</span></span>
<span id="cb8-5">first5 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> lf.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>).collect()</span>
<span id="cb8-6"></span>
<span id="cb8-7">first5</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="4">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (5, 7)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">year</th>
<th data-quarto-table-cell-role="th">month</th>
<th data-quarto-table-cell-role="th">Borough</th>
<th data-quarto-table-cell-role="th">Complaint Type</th>
<th data-quarto-table-cell-role="th">Latitude</th>
<th data-quarto-table-cell-role="th">Longitude</th>
<th data-quarto-table-cell-role="th">resp_hours</th>
</tr>
<tr class="odd">
<th>i64</th>
<th>i64</th>
<th>str</th>
<th>str</th>
<th>f64</th>
<th>f64</th>
<th>i64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>2019</td>
<td>12</td>
<td>"MANHATTAN"</td>
<td>"Street Condition"</td>
<td>40.7457</td>
<td>-73.9877</td>
<td>null</td>
</tr>
<tr class="even">
<td>2019</td>
<td>12</td>
<td>"BROOKLYN"</td>
<td>"Noise - Commercial"</td>
<td>40.5965</td>
<td>-73.9777</td>
<td>null</td>
</tr>
<tr class="odd">
<td>2019</td>
<td>12</td>
<td>"BROOKLYN"</td>
<td>"Noise - Residential"</td>
<td>40.6606</td>
<td>-73.8835</td>
<td>null</td>
</tr>
<tr class="even">
<td>2019</td>
<td>12</td>
<td>"QUEENS"</td>
<td>"Noise - Residential"</td>
<td>40.7600</td>
<td>-73.8069</td>
<td>null</td>
</tr>
<tr class="odd">
<td>2019</td>
<td>12</td>
<td>"QUEENS"</td>
<td>"Illegal Parking"</td>
<td>40.7295</td>
<td>-73.7300</td>
<td>null</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>We also obtain a count of the number of rows in the dataset:</p>
<div id="f77e0b32-c0ca-4692-9070-4924b64e93c4" class="cell" data-execution="{&quot;iopub.execute_input&quot;:&quot;2025-10-30T03:17:11.574069Z&quot;,&quot;iopub.status.busy&quot;:&quot;2025-10-30T03:17:11.573862Z&quot;,&quot;iopub.status.idle&quot;:&quot;2025-10-30T03:17:11.728286Z&quot;,&quot;shell.execute_reply&quot;:&quot;2025-10-30T03:17:11.727811Z&quot;,&quot;shell.execute_reply.started&quot;:&quot;2025-10-30T03:17:11.574053Z&quot;}" data-execution_count="5">
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"></span>
<span id="cb9-2">n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> lf.select(pl.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>()).collect().item()</span>
<span id="cb9-3"></span>
<span id="cb9-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"311-service-requests.csv: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>n<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>311-service-requests.csv: 21,960,000</code></pre>
</div>
</div>
<p><br></p>
<p>Next a query is created to perform a set of transformations on the dataset. The example in the next cell aggregates service requests by type, year, month and quantized longitude and latitude using 0.005 degree bins. Since we’re using a LazyFrame, no action will be taken until <code>.collect()</code> is called.</p>
<div id="cd11a667-b3c6-4f90-b2e2-b972ac46aa39" class="cell" data-execution="{&quot;iopub.execute_input&quot;:&quot;2025-10-30T03:17:50.007050Z&quot;,&quot;iopub.status.busy&quot;:&quot;2025-10-30T03:17:50.006843Z&quot;,&quot;iopub.status.idle&quot;:&quot;2025-10-30T03:17:50.011397Z&quot;,&quot;shell.execute_reply&quot;:&quot;2025-10-30T03:17:50.010901Z&quot;,&quot;shell.execute_reply.started&quot;:&quot;2025-10-30T03:17:50.007034Z&quot;}" data-execution_count="6">
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1"></span>
<span id="cb11-2">query <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb11-3">    lf</span>
<span id="cb11-4">    .select([</span>
<span id="cb11-5">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Borough"</span>).alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"borough"</span>),</span>
<span id="cb11-6">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Complaint Type"</span>).alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"type"</span>),</span>
<span id="cb11-7">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Latitude"</span>).alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>),</span>
<span id="cb11-8">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Longitude"</span>).alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>),</span>
<span id="cb11-9">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"year"</span>).cast(pl.Int16),</span>
<span id="cb11-10">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"month"</span>).cast(pl.Int8),</span>
<span id="cb11-11">    ])</span>
<span id="cb11-12">    .<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">filter</span>(</span>
<span id="cb11-13">          pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"borough"</span>).is_not_null() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span></span>
<span id="cb11-14">          pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"type"</span>).is_not_null() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span></span>
<span id="cb11-15">          pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>).is_not_null() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span></span>
<span id="cb11-16">          pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>).is_not_null() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span></span>
<span id="cb11-17">          (pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">abs</span>() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span></span>
<span id="cb11-18">          (pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">abs</span>() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb11-19">      )</span>
<span id="cb11-20">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Quantize to 0.005 degree bins.</span></span>
<span id="cb11-21">    .with_columns([</span>
<span id="cb11-22">        (pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">200</span>).floor().cast(pl.Int32).alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat_bin"</span>),</span>
<span id="cb11-23">        (pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">200</span>).floor().cast(pl.Int32).alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon_bin"</span>),</span>
<span id="cb11-24">    ])</span>
<span id="cb11-25">    .group_by([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"year"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"month"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat_bin"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon_bin"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"type"</span>])</span>
<span id="cb11-26">    .agg([</span>
<span id="cb11-27">        pl.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>().alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>),</span>
<span id="cb11-28">     ])</span>
<span id="cb11-29">    .sort(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>, descending<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb11-30">)</span></code></pre></div>
</div>
<p><br></p>
<p>First the standard Polars CPU engine is benchmarked:</p>
<div id="72bfa128-bf0f-4af8-bba8-b6b8c9eec34e" class="cell" data-execution="{&quot;iopub.execute_input&quot;:&quot;2025-10-30T03:18:46.654916Z&quot;,&quot;iopub.status.busy&quot;:&quot;2025-10-30T03:18:46.654701Z&quot;,&quot;iopub.status.idle&quot;:&quot;2025-10-30T03:18:53.383774Z&quot;,&quot;shell.execute_reply&quot;:&quot;2025-10-30T03:18:53.383248Z&quot;,&quot;shell.execute_reply.started&quot;:&quot;2025-10-30T03:18:46.654900Z&quot;}" data-execution_count="8">
<div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb12-1"></span>
<span id="cb12-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> time</span>
<span id="cb12-3"></span>
<span id="cb12-4">t_init <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> time.time()</span>
<span id="cb12-5">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> query.collect()</span>
<span id="cb12-6">t_total <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> time.time() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> t_init</span>
<span id="cb12-7"></span>
<span id="cb12-8"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Total runtime using CPU: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>t_total<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> seconds.</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb12-9"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"df.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>df<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">."</span>)</span>
<span id="cb12-10">df.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Total runtime using CPU: 6.72 seconds.

df.shape: (71133, 6).</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="8">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (3, 6)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">year</th>
<th data-quarto-table-cell-role="th">month</th>
<th data-quarto-table-cell-role="th">lat_bin</th>
<th data-quarto-table-cell-role="th">lon_bin</th>
<th data-quarto-table-cell-role="th">type</th>
<th data-quarto-table-cell-role="th">n</th>
</tr>
<tr class="odd">
<th>i16</th>
<th>i8</th>
<th>i32</th>
<th>i32</th>
<th>str</th>
<th>u32</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>2019</td>
<td>9</td>
<td>8138</td>
<td>-14786</td>
<td>"Noise - Residential"</td>
<td>81966</td>
</tr>
<tr class="even">
<td>2019</td>
<td>9</td>
<td>8144</td>
<td>-14762</td>
<td>"Illegal Parking"</td>
<td>69024</td>
</tr>
<tr class="odd">
<td>2019</td>
<td>9</td>
<td>8144</td>
<td>-14762</td>
<td>"Noise - Vehicle"</td>
<td>69024</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>Next the query is executed against the GPU engine. The only difference from the previous cell is <code>engine="gpu"</code> is passed into <code>.collect()</code>:</p>
<div id="9bbac9ec-2ce9-4164-bf21-e0a77acbfe64" class="cell" data-execution="{&quot;iopub.execute_input&quot;:&quot;2025-10-30T03:19:11.888867Z&quot;,&quot;iopub.status.busy&quot;:&quot;2025-10-30T03:19:11.888593Z&quot;,&quot;iopub.status.idle&quot;:&quot;2025-10-30T03:19:12.236316Z&quot;,&quot;shell.execute_reply&quot;:&quot;2025-10-30T03:19:12.235859Z&quot;,&quot;shell.execute_reply.started&quot;:&quot;2025-10-30T03:19:11.888851Z&quot;}" data-execution_count="10">
<div class="sourceCode cell-code" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb14-1"></span>
<span id="cb14-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Execute query with GPU engine.</span></span>
<span id="cb14-3">t_init <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> time.time()</span>
<span id="cb14-4">df2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> query.collect(engine<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gpu"</span>)</span>
<span id="cb14-5">t_total <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> time.time() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> t_init</span>
<span id="cb14-6"></span>
<span id="cb14-7"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Total runtime using GPU engine: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>t_total<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> seconds.</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb14-8"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"df2.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>df2<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">."</span>)</span>
<span id="cb14-9">df2.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Total runtime using GPU engine: 0.34 seconds.

df2.shape: (71133, 6).</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="10">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (3, 6)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">year</th>
<th data-quarto-table-cell-role="th">month</th>
<th data-quarto-table-cell-role="th">lat_bin</th>
<th data-quarto-table-cell-role="th">lon_bin</th>
<th data-quarto-table-cell-role="th">type</th>
<th data-quarto-table-cell-role="th">n</th>
</tr>
<tr class="odd">
<th>i16</th>
<th>i8</th>
<th>i32</th>
<th>i32</th>
<th>str</th>
<th>u32</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>2019</td>
<td>9</td>
<td>8138</td>
<td>-14786</td>
<td>"Noise - Residential"</td>
<td>81966</td>
</tr>
<tr class="even">
<td>2019</td>
<td>9</td>
<td>8144</td>
<td>-14762</td>
<td>"Illegal Parking"</td>
<td>69024</td>
</tr>
<tr class="odd">
<td>2019</td>
<td>9</td>
<td>8144</td>
<td>-14762</td>
<td>"Noise - Vehicle"</td>
<td>69024</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>Using the CPU engine took 6.72 seconds, vs.&nbsp;0.34 seconds for the GPU engine, or a ~20x speedup. This is an incredible performance gain that required no code changes.</p>
<p>One thing to mention: When <code>engine="gpu"</code> is specified, if an operation is not supported on GPU, the query will silently fallback to CPU execution, which can make benchmarking tricky. To have Polars fail loudly if part of a query cannot be executed on GPU, we can pass a <code>GPUEngine</code> object inplace of <code>"gpu"</code> in the call to <code>.collect()</code>. If <code>raise_on_fail</code> is set True, any non-GPU supported operations will cause the entire pipeline to fail. The next cell shows what this would look like (not the failure, but creating a <code>GPUEngine</code> object):</p>
<div id="4ec60d08-8a92-4106-a27e-b40b44385ab9" class="cell" data-execution="{&quot;iopub.execute_input&quot;:&quot;2025-10-30T03:20:33.470727Z&quot;,&quot;iopub.status.busy&quot;:&quot;2025-10-30T03:20:33.470520Z&quot;,&quot;iopub.status.idle&quot;:&quot;2025-10-30T03:20:33.822946Z&quot;,&quot;shell.execute_reply&quot;:&quot;2025-10-30T03:20:33.822492Z&quot;,&quot;shell.execute_reply.started&quot;:&quot;2025-10-30T03:20:33.470711Z&quot;}" data-execution_count="12">
<div class="sourceCode cell-code" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb16-1"></span>
<span id="cb16-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Fail loudly if can't execute on the GPU.</span></span>
<span id="cb16-3">gpu_engine <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pl.GPUEngine(device<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>,  raise_on_fail<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)  </span>
<span id="cb16-4">df2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> query.collect(engine<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>gpu_engine)</span>
<span id="cb16-5">df2.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>)</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="12">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (3, 6)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">year</th>
<th data-quarto-table-cell-role="th">month</th>
<th data-quarto-table-cell-role="th">lat_bin</th>
<th data-quarto-table-cell-role="th">lon_bin</th>
<th data-quarto-table-cell-role="th">type</th>
<th data-quarto-table-cell-role="th">n</th>
</tr>
<tr class="odd">
<th>i16</th>
<th>i8</th>
<th>i32</th>
<th>i32</th>
<th>str</th>
<th>u32</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>2019</td>
<td>9</td>
<td>8138</td>
<td>-14786</td>
<td>"Noise - Residential"</td>
<td>81966</td>
</tr>
<tr class="even">
<td>2019</td>
<td>9</td>
<td>8144</td>
<td>-14762</td>
<td>"Illegal Parking"</td>
<td>69024</td>
</tr>
<tr class="odd">
<td>2019</td>
<td>9</td>
<td>8144</td>
<td>-14762</td>
<td>"Noise - Vehicle"</td>
<td>69024</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p>Since all the operations in our query are GPU supported, no error is thrown.</p>
<p>Another tip for monitoring GPU usage for longer running jobs: From the terminal, run <code>nvidia-smi -l 1</code>, which refreshes the output <code>nvidia-smi</code> every second. The expectation is that if the GPU is being utilized, the amount of VRAM in use should change over time.</p>
<p>GPU-enabled Polars pushes analytical performance to a new level. For large, computation-heavy workloads (joins, group-bys, and sorts across tens or hundreds of millions of rows), the GPU engine can deliver dramatic speedups without changing a single line of code. That said, not everything is supported on GPU yet. Operations like complex datetime handling, regex, or window functions may fall back to CPU, and for smaller or I/O-heavy jobs the extra GPU overhead can actually slow things down. But as datasets continue to grow and GPU coverage expands, the ability to execute entire analytical pipelines directly in VRAM opens the door to running truly large-scale analytics on a single machine, turning what used to require distributed infrastructure into something you can do from your laptop.</p>



 ]]></description>
  <category>Python</category>
  <guid>https://www.jtrive.com/posts/polars-gpu-acceleration/polars-gpu-acceleration.html</guid>
  <pubDate>Wed, 29 Oct 2025 05:00:00 GMT</pubDate>
</item>
<item>
  <title>Extracting Fire Station Locations from OpenStreetMap</title>
  <link>https://www.jtrive.com/posts/osm-fire-station-handler/osm-fire-station-handler.html</link>
  <description><![CDATA[ 





<p><a href="https://www.openstreetmap.org/#map=4/38.01/-95.84">OpenStreetMap</a> (OSM) is a collaborative project that creates a free, editable map of the world. It’s built and maintained by a global community of contributors who collect and upload geographic data including roads, buildings, parks and more, using GPS devices other public sources. OSM allows anyone to use its data freely under the Open Database License (ODbL), which makes it popular for research and geospatial analysis.</p>
<p>The geographic data that constitutes OpenStreetMap is a valuable resource for enriching modeling datasets, which can help insurers better understand the context of insured assets. For example, OSM includes the locations of buildings, roads, fire stations, hospitals and other critical infrastructure, which can be used to model proximity to emergency services or accessibility in case of disaster. It also includes land use classifications, natural features like rivers or forests, and tags for amenities or hazard-prone areas, all of which can serve to inform risk assessment.</p>
<p>OpenStreetMap extracts are updated frequently, and are available at the <a href="https://download.geofabrik.de/north-america/us.html">Geofabrik North America download site</a>. State extracts are available for download as shapefiles (.shp.zip) or as protocol buffer files (.pbf). .pbf files are binary files that store OSM data in a compressed format, and are used to efficiently distribute and process large amounts of geographic data. .pbf files contain the same OSM data as the original XML format, but the files are much smaller and allow for faster I/O.</p>
<p>OSM data is structured into nodes (points), ways (lines and shapes), and relations (groupings of elements). The elements are tagged with key-value pairs to describe their features. Amenities are a core category of features that describe useful facilities and services for the public. They are tagged with the key <code>amenity=*</code> and cover a wide range of entities, including schools, churches, hospitals, banks, fire stations and many more. Refer to the <a href="https://wiki.openstreetmap.org/wiki/Key:amenity">OSM amenity page</a> for the full list of amenity values.</p>
<p>My initial attempt to extract data from OpenStreetMap relied on Pyrosm. While convenient, it proved inefficient in terms of memory usage. I later switched to Osmium, which delivered significantly better performance with much lower memory overhead. My understanding is that Osmium is optimized for streaming and filtering large files quickly, selecting specific tags, bounding boxes or time slices without loading the full dataset into memory. This is exactly what I was looking to do, so the accompanying code sticks with Osmium.</p>
<p>A quick word of caution: It is important to note that OSM does not have 100% coverage of U.S. amenities. Coverage depends on community contributions and varies a lot by region and over time. You should treat OSM data as a strong starting layer, but expect gaps, duplicates (points + polygons) and tagging inconsistencies when you need comprehensive U.S. coverage.</p>
<p>In the remainder of the article, our focus will be on extracting fire station locations from the most recent State of Iowa .pbf extract. The provided code can easily be adapted to retrieve any amenity of interest.</p>
<p><br></p>
<section id="the-firestationhandler-class" class="level3">
<h3 class="anchored" data-anchor-id="the-firestationhandler-class"><strong>The <code>FireStationHandler</code> Class</strong></h3>
<p>In the next cell the <code>FireStationHandler</code> class definition is provided, which is a custom <code>osmium.SimpleHandler</code> subclass used to extract information about fire stations from OSM data. Before describing <code>FireStationHandler</code>’s methods, a little clarification on OSM vernacular, specifically <em>nodes</em>, <em>ways</em> and <em>relations</em>:</p>
<ul>
<li><p>A <strong>node</strong> is a single point defined by a longitude and latitude. Nodes are used to represent standalone features such as trees, fire hydrants, or POIs like restaurants. They also serve as building blocks for more complex features.</p></li>
<li><p>A <strong>way</strong> is an ordered list of nodes that forms a polyline or polygon. Ways can represent linear features like roads, rivers, and railways or area features like building footprints, parks, or lakes when the way forms a closed loop. Each way refers to multiple nodes, and the shape and geometry of the way are defined by the sequence of those nodes.</p></li>
<li><p>A <strong>relation</strong> is a higher-level structure that groups together multiple nodes, ways, or even other relations into a single logical feature. Relations are used when a feature cannot be represented by a single way. For example, a multipolygon building with holes or a bus route made up of many road segments. Each member in a relation can have a role (like “outer” or “inner” in a multipolygon), and the relation itself carries tags that describe the whole feature.</p></li>
</ul>
<p>The next cell defines the <code>FireStationHandler</code> class with <code>node</code> and <code>way</code> methods (I chose to skip the <code>relation</code> method since it wasn’t required for this exercise):</p>
<div id="451eeeb7" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"></span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> folium</span>
<span id="cb1-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> geopandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> gpd</span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb1-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> osmium</span>
<span id="cb1-6"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> shapely.geometry <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> Point, LineString, Polygon</span>
<span id="cb1-8"></span>
<span id="cb1-9">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>)</span>
<span id="cb1-10">pd.options.mode.chained_assignment <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb1-11">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"display.max_columns"</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-12">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"display.width"</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-13"></span>
<span id="cb1-14"></span>
<span id="cb1-15"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">class</span> FireStationHandler(osmium.SimpleHandler):</span>
<span id="cb1-16">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb1-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Collects OSM elements with amenity=fire_station.</span></span>
<span id="cb1-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    - Nodes: Point</span></span>
<span id="cb1-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    - Ways: Polygon if closed (&gt;=4 nodes and first==last), else LineString</span></span>
<span id="cb1-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb1-21">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__init__</span>(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>):</span>
<span id="cb1-22">        <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">super</span>().<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__init__</span>()</span>
<span id="cb1-23">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.features <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb1-24"></span>
<span id="cb1-25">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> node(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, n):</span>
<span id="cb1-26">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> n.tags.get(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"amenity"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"fire_station"</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">and</span> n.location <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">and</span> n.location.valid():</span>
<span id="cb1-27">            <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.features.append({</span>
<span id="cb1-28">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"osm_id"</span>: n.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">id</span>,</span>
<span id="cb1-29">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"osm_type"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"node"</span>,</span>
<span id="cb1-30">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"name"</span>: n.tags.get(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"name"</span>),</span>
<span id="cb1-31">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(n.location.lon),</span>
<span id="cb1-32">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(n.location.lat),</span>
<span id="cb1-33">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"tags"</span>: {t.k: t.v <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> t <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> n.tags},</span>
<span id="cb1-34">            })</span>
<span id="cb1-35"></span>
<span id="cb1-36">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> way(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, w):</span>
<span id="cb1-37">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> w.tags.get(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"amenity"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"fire_station"</span>:</span>
<span id="cb1-38">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span></span>
<span id="cb1-39"></span>
<span id="cb1-40">        coords <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb1-41">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> nd <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> w.nodes:</span>
<span id="cb1-42">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> nd.location <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">or</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> nd.location.valid():</span>
<span id="cb1-43">                coords <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb1-44">                <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">break</span></span>
<span id="cb1-45">            coords.append((<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(nd.location.lon), <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(nd.location.lat)))</span>
<span id="cb1-46"></span>
<span id="cb1-47">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> coords:</span>
<span id="cb1-48">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span></span>
<span id="cb1-49"></span>
<span id="cb1-50">        lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(c[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>] <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> c <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> coords) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(coords)</span>
<span id="cb1-51">        lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(c[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>] <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> c <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> coords) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(coords)</span>
<span id="cb1-52">        </span>
<span id="cb1-53">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.features.append({</span>
<span id="cb1-54">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"osm_id"</span>: w.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">id</span>,</span>
<span id="cb1-55">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"osm_type"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"way"</span>,</span>
<span id="cb1-56">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"name"</span>: w.tags.get(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"name"</span>),</span>
<span id="cb1-57">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>: lon,</span>
<span id="cb1-58">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>: lat,</span>
<span id="cb1-59">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"tags"</span>: {t.k: t.v <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> t <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> w.tags},</span>
<span id="cb1-60">        })</span></code></pre></div>
</div>
<p><br></p>
<p>Within <code>FireStationHandler</code>, the <code>node</code> method is automatically called for each node in the extract. It checks whether the node has a tag “amenity” having value “fire_station”. If so, it collects relevant data from the node including its ID, type (marked as “node”), longitude, latitude, name and any additional tags. All tags associated with the node are contained within a dictionary. The information is then appended to the <code>self.features</code> list.</p>
<p>Within the <code>way</code> method, it also checks whether the node has a tag “amenity” having value “fire_station”. The handler attempts to compute a representative point by averaging the longitudes and latitudes of its nodes (remember that ways are lists of nodes). This is a simple way to reduce a building footprint to a single coordinate pair.</p>
<p>A <code>FireStationHandler</code> instance is created, and the inherited <code>apply_file</code> method is called. Note that <code>locations=True</code> is included: This tells Osmium to build an in-memory index of node locations. When the handler processes a way, it uses this index to look up and attach the coordinate data to each node within that way. Without <code>locations=True</code>, the <code>nd.location</code> attribute in the <code>way</code> method would be invalid, and you would not be able to get the coordinates associated with that feature.</p>
<div id="04373475" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1"></span>
<span id="cb2-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Path to the OSM PBF file.</span></span>
<span id="cb2-3">pbf_path <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"iowa-latest.osm.pbf"</span></span>
<span id="cb2-4"></span>
<span id="cb2-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Apply the handler to the PBF file.</span></span>
<span id="cb2-6">handler <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> FireStationHandler()</span>
<span id="cb2-7">handler.apply_file(pbf_path, locations<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)  </span>
<span id="cb2-8"></span>
<span id="cb2-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create DataFrame from the extracted data.</span></span>
<span id="cb2-10">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame(handler.features)</span>
<span id="cb2-11"></span>
<span id="cb2-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert DataFrame to a GeoDataFrame.</span></span>
<span id="cb2-13">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.GeoDataFrame(</span>
<span id="cb2-14">    df, </span>
<span id="cb2-15">    geometry<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>gpd.points_from_xy(df.lon, df.lat), </span>
<span id="cb2-16">    crs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:4326"</span></span>
<span id="cb2-17">)</span>
<span id="cb2-18"></span>
<span id="cb2-19"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">Extracted </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(df)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> fire stations from </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>pbf_path<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">."</span>)</span>
<span id="cb2-20"></span>
<span id="cb2-21">df.head()</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>
Extracted 626 fire stations from iowa-latest.osm.pbf.</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="2">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">osm_id</th>
<th data-quarto-table-cell-role="th">osm_type</th>
<th data-quarto-table-cell-role="th">name</th>
<th data-quarto-table-cell-role="th">lon</th>
<th data-quarto-table-cell-role="th">lat</th>
<th data-quarto-table-cell-role="th">tags</th>
<th data-quarto-table-cell-role="th">geometry</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>354356402</td>
<td>node</td>
<td>Seymour Fire Station</td>
<td>-93.121311</td>
<td>40.681718</td>
<td>{'amenity': 'fire_station', 'ele': '323', 'gni...</td>
<td>POINT (-93.12131 40.68172)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>367080032</td>
<td>node</td>
<td>Adel Fire Volunteer Department</td>
<td>-94.020270</td>
<td>41.616938</td>
<td>{'addr:state': 'IA', 'amenity': 'fire_station'...</td>
<td>POINT (-94.02027 41.61694)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>367081259</td>
<td>node</td>
<td>Woden Fire Department</td>
<td>-93.910333</td>
<td>43.231583</td>
<td>{'addr:state': 'IA', 'amenity': 'fire_station'...</td>
<td>POINT (-93.91033 43.23158)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>367081264</td>
<td>node</td>
<td>Crystal Lake Fire Department</td>
<td>-93.792224</td>
<td>43.223448</td>
<td>{'addr:state': 'IA', 'amenity': 'fire_station'...</td>
<td>POINT (-93.79222 43.22345)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>367081268</td>
<td>node</td>
<td>Albert City Fire Department</td>
<td>-94.948768</td>
<td>42.781856</td>
<td>{'addr:state': 'IA', 'amenity': 'fire_station'...</td>
<td>POINT (-94.94877 42.78186)</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>An independent source puts the total number of fire stations in Iowa at 872, so our initial attempt captured ~70% of known fire stations.</p>
<p>The current <code>FireStationHandler</code> only extracts features where the tag amenity=“fire_station” is present on a node or way. However, in OSM, fire stations may be identified using different tags, for example office=“fire_service” or building=“fire_station”, sometimes without the amenity tag. In the next cell, we define <code>is_fire_station</code>, which aims to broaden the search beyond just the amenity tag. <code>FireStationHandlerV2</code> updates the <code>node</code> and <code>way</code> methods by calling <code>is_fire_station</code> as the initial filtering step:</p>
<div id="74ad4d26" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb4-1"></span>
<span id="cb4-2"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> is_fire_station(tags):</span>
<span id="cb4-3">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb4-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Determines if the given OSM tags indicate a fire station.</span></span>
<span id="cb4-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb4-6">    g <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> k: (tags.get(k) <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">or</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">""</span>).lower()</span>
<span id="cb4-7">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> (</span>
<span id="cb4-8">        g(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"amenity"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"fire_station"</span></span>
<span id="cb4-9">        <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">or</span> g(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"office"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"fire_service"</span></span>
<span id="cb4-10">        <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">or</span> g(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"emergency"</span>) <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"fire_service"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"rescue_station"</span>}</span>
<span id="cb4-11">        <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">or</span> g(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"building"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"fire_station"</span></span>
<span id="cb4-12">    )</span>
<span id="cb4-13"></span>
<span id="cb4-14"></span>
<span id="cb4-15"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">class</span> FireStationHandlerV2(osmium.SimpleHandler):</span>
<span id="cb4-16">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb4-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Collects OSM elements that are fire stations based on multiple tags.</span></span>
<span id="cb4-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb4-19">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__init__</span>(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>):</span>
<span id="cb4-20">        <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">super</span>().<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__init__</span>()</span>
<span id="cb4-21">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.features <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb4-22"></span>
<span id="cb4-23">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> node(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, n):</span>
<span id="cb4-24">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb4-25"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Processes OSM nodes to identify fire stations.</span></span>
<span id="cb4-26"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        """</span></span>
<span id="cb4-27">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> is_fire_station(n.tags) <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">and</span> n.location <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">and</span> n.location.valid():</span>
<span id="cb4-28">            <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.features.append({</span>
<span id="cb4-29">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"osm_id"</span>: n.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">id</span>,</span>
<span id="cb4-30">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"osm_type"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"node"</span>,</span>
<span id="cb4-31">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"name"</span>: n.tags.get(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"name"</span>),</span>
<span id="cb4-32">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(n.location.lon),</span>
<span id="cb4-33">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(n.location.lat),</span>
<span id="cb4-34">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"tags"</span>: {t.k: t.v <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> t <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> n.tags},</span>
<span id="cb4-35">            })</span>
<span id="cb4-36"></span>
<span id="cb4-37">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> way(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, w):</span>
<span id="cb4-38">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb4-39"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Processes OSM ways to identify fire stations.</span></span>
<span id="cb4-40"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        """</span></span>
<span id="cb4-41">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> is_fire_station(w.tags): </span>
<span id="cb4-42">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span></span>
<span id="cb4-43">        coords <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb4-44">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> nd <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> w.nodes:</span>
<span id="cb4-45">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> nd.location <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">or</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> nd.location.valid():</span>
<span id="cb4-46">                coords <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb4-47">                <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">break</span></span>
<span id="cb4-48">            coords.append((<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(nd.location.lon), <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(nd.location.lat)))</span>
<span id="cb4-49">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> coords: </span>
<span id="cb4-50">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span></span>
<span id="cb4-51">        </span>
<span id="cb4-52">        lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(c[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>] <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> c <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> coords) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(coords)</span>
<span id="cb4-53">        lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(c[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>] <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> c <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> coords) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(coords)</span>
<span id="cb4-54">        </span>
<span id="cb4-55">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.features.append({</span>
<span id="cb4-56">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"osm_id"</span>: w.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">id</span>,</span>
<span id="cb4-57">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"osm_type"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"way"</span>,</span>
<span id="cb4-58">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"name"</span>: w.tags.get(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"name"</span>),</span>
<span id="cb4-59">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>: lon,</span>
<span id="cb4-60">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>: lat,</span>
<span id="cb4-61">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"tags"</span>: {t.k: t.v <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> t <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> w.tags},</span>
<span id="cb4-62">        })</span></code></pre></div>
</div>
<div id="305d1f9c" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"></span>
<span id="cb5-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Path to the OSM PBF file.</span></span>
<span id="cb5-3">pbf_path <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"iowa-latest.osm.pbf"</span></span>
<span id="cb5-4"></span>
<span id="cb5-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Apply the handler to the PBF file.</span></span>
<span id="cb5-6">handler <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> FireStationHandlerV2()</span>
<span id="cb5-7">handler.apply_file(pbf_path, locations<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)  </span>
<span id="cb5-8"></span>
<span id="cb5-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create DataFrame from the extracted data.</span></span>
<span id="cb5-10">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame(handler.features)</span>
<span id="cb5-11"></span>
<span id="cb5-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert DataFrame to a GeoDataFrame.</span></span>
<span id="cb5-13">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.GeoDataFrame(</span>
<span id="cb5-14">    df, </span>
<span id="cb5-15">    geometry<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>gpd.points_from_xy(df.lon, df.lat), </span>
<span id="cb5-16">    crs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:4326"</span></span>
<span id="cb5-17">)</span>
<span id="cb5-18"></span>
<span id="cb5-19"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">Extracted </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(df)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> fire stations from </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>pbf_path<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">."</span>)</span>
<span id="cb5-20"></span>
<span id="cb5-21">df.head()</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>
Extracted 641 fire stations from iowa-latest.osm.pbf.</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="4">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">osm_id</th>
<th data-quarto-table-cell-role="th">osm_type</th>
<th data-quarto-table-cell-role="th">name</th>
<th data-quarto-table-cell-role="th">lon</th>
<th data-quarto-table-cell-role="th">lat</th>
<th data-quarto-table-cell-role="th">tags</th>
<th data-quarto-table-cell-role="th">geometry</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>354356402</td>
<td>node</td>
<td>Seymour Fire Station</td>
<td>-93.121311</td>
<td>40.681718</td>
<td>{'amenity': 'fire_station', 'ele': '323', 'gni...</td>
<td>POINT (-93.12131 40.68172)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>367080032</td>
<td>node</td>
<td>Adel Fire Volunteer Department</td>
<td>-94.020270</td>
<td>41.616938</td>
<td>{'addr:state': 'IA', 'amenity': 'fire_station'...</td>
<td>POINT (-94.02027 41.61694)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>367081259</td>
<td>node</td>
<td>Woden Fire Department</td>
<td>-93.910333</td>
<td>43.231583</td>
<td>{'addr:state': 'IA', 'amenity': 'fire_station'...</td>
<td>POINT (-93.91033 43.23158)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>367081264</td>
<td>node</td>
<td>Crystal Lake Fire Department</td>
<td>-93.792224</td>
<td>43.223448</td>
<td>{'addr:state': 'IA', 'amenity': 'fire_station'...</td>
<td>POINT (-93.79222 43.22345)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>367081268</td>
<td>node</td>
<td>Albert City Fire Department</td>
<td>-94.948768</td>
<td>42.781856</td>
<td>{'addr:state': 'IA', 'amenity': 'fire_station'...</td>
<td>POINT (-94.94877 42.78186)</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>By broadening the search beyond the amenity tag, we captured 15 additional fire stations, for ~72% coverage.</p>
<p>As noted in the introduction, OpenStreetMap does not provide full coverage of U.S. fire stations. Because it’s community-contributed, completeness varies by region and over time. For context, the U.S. Fire Administration reports roughly 27,000 registered fire departments, while OSM lists fewer than 20,000 fire stations, evidence of uneven coverage. Still, OSM is an excellent starting layer for geospatial analysis. For example, when estimating the distance from a property to the nearest fire station, OSM-based distances are an upper bound: adding missing stations can only shorten the distance or leave it unchanged.</p>
<p><br></p>
</section>
<section id="using-osmium-tool" class="level3">
<h3 class="anchored" data-anchor-id="using-osmium-tool"><strong>Using osmium-tool</strong></h3>
<p>Osmium-tool is a fast command-line utility used for processing OpenStreetMap data. We can use it to pre-filter pdf extracts, allowing us to work with much smaller files containing only the features we are interested in. To start, install the Osmium command line tool:</p>
<div class="sourceCode" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb7-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo apt update</span>
<span id="cb7-2"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo apt install osmium-tool</span></code></pre></div>
<p>Then pass the path to the pbf file, along with the tags of interest:</p>
<div class="sourceCode" id="cb8" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb8-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> osmium tags-filter iowa-latest.osm.pbf <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">\</span></span>
<span id="cb8-2">    nwr/amenity=fire_station,building=fire_station,emergency=fire_service <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">\</span></span>
<span id="cb8-3">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">-o</span> iowa-firestations-filtered.osm.pbf <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">\</span></span>
<span id="cb8-4">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">--overwrite</span></span></code></pre></div>
<p><br></p>
<p><code>nwr</code> represents nodes, ways and relations. Running the above command will create a new, smaller .pbf file <em>iowa-firestations-filtered.osm.pbf</em>, consisting of those elements meeting the specified filter criteria (<code>amenity=fire_station,building=fire_station,emergency=fire_service</code>). We can load the extracted locations using <code>FireStationHandlerv2</code> as before, but this time it should run much quicker (this approach returns only the original 626 fire stations. It would require additional research to figure out how to identify the full 641 using osmium-tool):</p>
<div id="e335107d" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"></span>
<span id="cb9-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Path to the OSM PBF file.</span></span>
<span id="cb9-3">pbf_path <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"iowa-firestations-filtered.osm.pbf"</span></span>
<span id="cb9-4"></span>
<span id="cb9-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Apply the handler to the PBF file.</span></span>
<span id="cb9-6">handler <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> FireStationHandlerV2()</span>
<span id="cb9-7">handler.apply_file(pbf_path, locations<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)  </span>
<span id="cb9-8"></span>
<span id="cb9-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create DataFrame from the extracted data.</span></span>
<span id="cb9-10">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame(handler.features)</span>
<span id="cb9-11"></span>
<span id="cb9-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert DataFrame to a GeoDataFrame.</span></span>
<span id="cb9-13">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.GeoDataFrame(</span>
<span id="cb9-14">    df, </span>
<span id="cb9-15">    geometry<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>gpd.points_from_xy(df.lon, df.lat), </span>
<span id="cb9-16">    crs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:4326"</span></span>
<span id="cb9-17">)</span>
<span id="cb9-18"></span>
<span id="cb9-19"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">Extracted </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(df)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> fire stations from </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>pbf_path<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">."</span>)</span>
<span id="cb9-20"></span>
<span id="cb9-21">df.head()</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>
Extracted 626 fire stations from iowa-firestations-filtered.osm.pbf.</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="5">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">osm_id</th>
<th data-quarto-table-cell-role="th">osm_type</th>
<th data-quarto-table-cell-role="th">name</th>
<th data-quarto-table-cell-role="th">lon</th>
<th data-quarto-table-cell-role="th">lat</th>
<th data-quarto-table-cell-role="th">tags</th>
<th data-quarto-table-cell-role="th">geometry</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>354356402</td>
<td>node</td>
<td>Seymour Fire Station</td>
<td>-93.121311</td>
<td>40.681718</td>
<td>{'amenity': 'fire_station', 'ele': '323', 'gni...</td>
<td>POINT (-93.12131 40.68172)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>367080032</td>
<td>node</td>
<td>Adel Fire Volunteer Department</td>
<td>-94.020270</td>
<td>41.616938</td>
<td>{'addr:state': 'IA', 'amenity': 'fire_station'...</td>
<td>POINT (-94.02027 41.61694)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>367081259</td>
<td>node</td>
<td>Woden Fire Department</td>
<td>-93.910333</td>
<td>43.231583</td>
<td>{'addr:state': 'IA', 'amenity': 'fire_station'...</td>
<td>POINT (-93.91033 43.23158)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>367081264</td>
<td>node</td>
<td>Crystal Lake Fire Department</td>
<td>-93.792224</td>
<td>43.223448</td>
<td>{'addr:state': 'IA', 'amenity': 'fire_station'...</td>
<td>POINT (-93.79222 43.22345)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>367081268</td>
<td>node</td>
<td>Albert City Fire Department</td>
<td>-94.948768</td>
<td>42.781856</td>
<td>{'addr:state': 'IA', 'amenity': 'fire_station'...</td>
<td>POINT (-94.94877 42.78186)</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Once the desired amenities have been extracted, we can visualize the distribution across the state using folium:</p>
<div id="4e60ac7d" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1"></span>
<span id="cb11-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Unpack the coordinates and names.</span></span>
<span id="cb11-3">lats, lons, names <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.lat.tolist(), df.lon.tolist(), df.name.tolist()</span>
<span id="cb11-4"></span>
<span id="cb11-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Center map on central Iowa. </span></span>
<span id="cb11-6">mid_lon, mid_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">93.0977</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.8780</span></span>
<span id="cb11-7"> </span>
<span id="cb11-8">m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Map(</span>
<span id="cb11-9">    location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[mid_lat, mid_lon], </span>
<span id="cb11-10">    zoom_start<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span></span>
<span id="cb11-11">)</span>
<span id="cb11-12"></span>
<span id="cb11-13"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> name, lon, lat <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(names, lons, lats):</span>
<span id="cb11-14"></span>
<span id="cb11-15">    folium.CircleMarker(</span>
<span id="cb11-16">        location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[lat, lon], </span>
<span id="cb11-17">        radius<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, </span>
<span id="cb11-18">        color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, </span>
<span id="cb11-19">        fill_color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, </span>
<span id="cb11-20">        popup<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>name,</span>
<span id="cb11-21">        fill<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb11-22">        fill_opacity<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span></span>
<span id="cb11-23">        ).add_to(m)</span>
<span id="cb11-24"></span>
<span id="cb11-25">m</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="6">
<div style="width:100%;"><div style="position:relative;width:100%;height:0;padding-bottom:60%;"><span style="color:#565656">Make this Notebook Trusted to load map: File -&gt; Trust Notebook</span><iframe srcdoc="<!DOCTYPE html>
<html>
<head>
    
    <meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot; />
    <script src=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js&quot;></script>
    <script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js&quot;></script>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css&quot;/>
    
            <meta name=&quot;viewport&quot; content=&quot;width=device-width,
                initial-scale=1.0, maximum-scale=1.0, user-scalable=no&quot; />
            <style>
                #map_252a7298c145d174720123ac1961a884 {
                    position: relative;
                    width: 100.0%;
                    height: 100.0%;
                    left: 0.0%;
                    top: 0.0%;
                }
                .leaflet-container { font-size: 1rem; }
            </style>

            <style>html, body {
                width: 100%;
                height: 100%;
                margin: 0;
                padding: 0;
            }
            </style>

            <style>#map {
                position:absolute;
                top:0;
                bottom:0;
                right:0;
                left:0;
                }
            </style>

            <script>
                L_NO_TOUCH = false;
                L_DISABLE_3D = false;
            </script>

        
</head>
<body>
    
    
            <div class=&quot;folium-map&quot; id=&quot;map_252a7298c145d174720123ac1961a884&quot; ></div>
        
</body>
<script>
    
    
            var map_252a7298c145d174720123ac1961a884 = L.map(
                &quot;map_252a7298c145d174720123ac1961a884&quot;,
                {
                    center: [41.878, -93.0977],
                    crs: L.CRS.EPSG3857,
                    ...{
  &quot;zoom&quot;: 8,
  &quot;zoomControl&quot;: true,
  &quot;preferCanvas&quot;: false,
}

                }
            );

            

        
    
            var tile_layer_7811733e56c3ff214fe9beab47208999 = L.tileLayer(
                &quot;https://tile.openstreetmap.org/{z}/{x}/{y}.png&quot;,
                {
  &quot;minZoom&quot;: 0,
  &quot;maxZoom&quot;: 19,
  &quot;maxNativeZoom&quot;: 19,
  &quot;noWrap&quot;: false,
  &quot;attribution&quot;: &quot;\u0026copy; \u003ca href=\&quot;https://www.openstreetmap.org/copyright\&quot;\u003eOpenStreetMap\u003c/a\u003e contributors&quot;,
  &quot;subdomains&quot;: &quot;abc&quot;,
  &quot;detectRetina&quot;: false,
  &quot;tms&quot;: false,
  &quot;opacity&quot;: 1,
}

            );
        
    
            tile_layer_7811733e56c3ff214fe9beab47208999.addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_ac5829fc3b4f0fe92723006fa877887c = L.circleMarker(
                [40.6817177, -93.1213109],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6b5d2d716252ddabe7b2001c141b459f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a0bce3bf663227d94b6e7f74764cbab4 = $(`<div id=&quot;html_a0bce3bf663227d94b6e7f74764cbab4&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Seymour Fire Station</div>`)[0];
                popup_6b5d2d716252ddabe7b2001c141b459f.setContent(html_a0bce3bf663227d94b6e7f74764cbab4);
            
        

        circle_marker_ac5829fc3b4f0fe92723006fa877887c.bindPopup(popup_6b5d2d716252ddabe7b2001c141b459f)
        ;

        
    
    
            var circle_marker_8584b07084ccaf4c82dfca6d561ee04a = L.circleMarker(
                [41.6169379, -94.0202699],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_236d375150d725d74843da272bbbd2ee = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_69d56155868efae1fe9cb30ac390eedd = $(`<div id=&quot;html_69d56155868efae1fe9cb30ac390eedd&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Adel Fire Volunteer Department</div>`)[0];
                popup_236d375150d725d74843da272bbbd2ee.setContent(html_69d56155868efae1fe9cb30ac390eedd);
            
        

        circle_marker_8584b07084ccaf4c82dfca6d561ee04a.bindPopup(popup_236d375150d725d74843da272bbbd2ee)
        ;

        
    
    
            var circle_marker_a17b5422307cb06a8e95e5cddd083a4e = L.circleMarker(
                [43.2315831, -93.9103327],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0473b01a0bc764011688de8ed7f12182 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9e103de0fe8677494e371a4cdd8c0dae = $(`<div id=&quot;html_9e103de0fe8677494e371a4cdd8c0dae&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Woden Fire Department</div>`)[0];
                popup_0473b01a0bc764011688de8ed7f12182.setContent(html_9e103de0fe8677494e371a4cdd8c0dae);
            
        

        circle_marker_a17b5422307cb06a8e95e5cddd083a4e.bindPopup(popup_0473b01a0bc764011688de8ed7f12182)
        ;

        
    
    
            var circle_marker_b959c2004bbe5891fe2cbd7e213ba1d0 = L.circleMarker(
                [43.2234477, -93.7922243],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9e5c3be38436ec771327940ef5bd2afb = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2bee3731d60dbed1a8b40e5ad6707f2f = $(`<div id=&quot;html_2bee3731d60dbed1a8b40e5ad6707f2f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Crystal Lake Fire Department</div>`)[0];
                popup_9e5c3be38436ec771327940ef5bd2afb.setContent(html_2bee3731d60dbed1a8b40e5ad6707f2f);
            
        

        circle_marker_b959c2004bbe5891fe2cbd7e213ba1d0.bindPopup(popup_9e5c3be38436ec771327940ef5bd2afb)
        ;

        
    
    
            var circle_marker_1aa2e8311fabd49d83a3778b618cd805 = L.circleMarker(
                [42.7818559, -94.9487682],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7dd3b09d77126e49627ba97cf7cfb63e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6bb85e5d67adddce098ca9ef56439c6a = $(`<div id=&quot;html_6bb85e5d67adddce098ca9ef56439c6a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Albert City Fire Department</div>`)[0];
                popup_7dd3b09d77126e49627ba97cf7cfb63e.setContent(html_6bb85e5d67adddce098ca9ef56439c6a);
            
        

        circle_marker_1aa2e8311fabd49d83a3778b618cd805.bindPopup(popup_7dd3b09d77126e49627ba97cf7cfb63e)
        ;

        
    
    
            var circle_marker_2751c8ffee856585a848d9c939c94b61 = L.circleMarker(
                [43.0951411, -93.8021955],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b626f57a80b7869e56dd4661938ed0e4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8743295ccfcd9a58f668cb89752075e5 = $(`<div id=&quot;html_8743295ccfcd9a58f668cb89752075e5&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Britt Fire Department</div>`)[0];
                popup_b626f57a80b7869e56dd4661938ed0e4.setContent(html_8743295ccfcd9a58f668cb89752075e5);
            
        

        circle_marker_2751c8ffee856585a848d9c939c94b61.bindPopup(popup_b626f57a80b7869e56dd4661938ed0e4)
        ;

        
    
    
            var circle_marker_89952cf5367e208790395b1ef5a8fee7 = L.circleMarker(
                [42.6480567, -95.1958214],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f833c639db0b475336a51ae6089204aa = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a46b9d6f9e87118ce1022fe81f2d2c0b = $(`<div id=&quot;html_a46b9d6f9e87118ce1022fe81f2d2c0b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Storm Lake City Fire Department</div>`)[0];
                popup_f833c639db0b475336a51ae6089204aa.setContent(html_a46b9d6f9e87118ce1022fe81f2d2c0b);
            
        

        circle_marker_89952cf5367e208790395b1ef5a8fee7.bindPopup(popup_f833c639db0b475336a51ae6089204aa)
        ;

        
    
    
            var circle_marker_736ec686eef5ebfab00df29421320335 = L.circleMarker(
                [42.8966508, -95.1434517],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7f17bdd4f82183d39623b15de51bbc4a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_db13e5cc802b91c24d161c9baeca34c9 = $(`<div id=&quot;html_db13e5cc802b91c24d161c9baeca34c9&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sioux Rapids Fire Department</div>`)[0];
                popup_7f17bdd4f82183d39623b15de51bbc4a.setContent(html_db13e5cc802b91c24d161c9baeca34c9);
            
        

        circle_marker_736ec686eef5ebfab00df29421320335.bindPopup(popup_7f17bdd4f82183d39623b15de51bbc4a)
        ;

        
    
    
            var circle_marker_91de2f4978c2b16b0d0e81daf1b3b554 = L.circleMarker(
                [43.41961, -93.5365463],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_dbf21ae55e47ff1722a474bdf8a225fe = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_37fe989a3114bab7cf90dab7ac50438b = $(`<div id=&quot;html_37fe989a3114bab7cf90dab7ac50438b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lake Mills Fire Department</div>`)[0];
                popup_dbf21ae55e47ff1722a474bdf8a225fe.setContent(html_37fe989a3114bab7cf90dab7ac50438b);
            
        

        circle_marker_91de2f4978c2b16b0d0e81daf1b3b554.bindPopup(popup_dbf21ae55e47ff1722a474bdf8a225fe)
        ;

        
    
    
            var circle_marker_5bf19cdae6fd3cf956d6ab6184904878 = L.circleMarker(
                [43.2641441, -93.6361756],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_d81a8b791e9513ef1fd2f2282ebacac1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9de585d4ea056b0cba79f369e15e570a = $(`<div id=&quot;html_9de585d4ea056b0cba79f369e15e570a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Forest City Fire Department</div>`)[0];
                popup_d81a8b791e9513ef1fd2f2282ebacac1.setContent(html_9de585d4ea056b0cba79f369e15e570a);
            
        

        circle_marker_5bf19cdae6fd3cf956d6ab6184904878.bindPopup(popup_d81a8b791e9513ef1fd2f2282ebacac1)
        ;

        
    
    
            var circle_marker_7c6671368b165ad288e72e7c8fd6b060 = L.circleMarker(
                [43.2452201, -93.1238518],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9ac6652e38d0243bd3493fdb8d792186 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d365aa4639921cce35bf442147c9022b = $(`<div id=&quot;html_d365aa4639921cce35bf442147c9022b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Plymouth Fire Department</div>`)[0];
                popup_9ac6652e38d0243bd3493fdb8d792186.setContent(html_d365aa4639921cce35bf442147c9022b);
            
        

        circle_marker_7c6671368b165ad288e72e7c8fd6b060.bindPopup(popup_9ac6652e38d0243bd3493fdb8d792186)
        ;

        
    
    
            var circle_marker_5485cb14a362a30b99522cabed713d46 = L.circleMarker(
                [43.129068, -93.4754876],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a4a110fa88e89ecd6068729664a4c658 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8bcc238ad4286c38f2d3e450d2df2aa2 = $(`<div id=&quot;html_8bcc238ad4286c38f2d3e450d2df2aa2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ventura Fire Department</div>`)[0];
                popup_a4a110fa88e89ecd6068729664a4c658.setContent(html_8bcc238ad4286c38f2d3e450d2df2aa2);
            
        

        circle_marker_5485cb14a362a30b99522cabed713d46.bindPopup(popup_a4a110fa88e89ecd6068729664a4c658)
        ;

        
    
    
            var circle_marker_aad433343602220ef7153faee3e2a83b = L.circleMarker(
                [42.9858175, -93.1884418],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_551d80f4e141e35b3c99b39d830ee73c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4b197a3ba9d736b6764d8a9bef739369 = $(`<div id=&quot;html_4b197a3ba9d736b6764d8a9bef739369&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Rockwell Fire Department</div>`)[0];
                popup_551d80f4e141e35b3c99b39d830ee73c.setContent(html_4b197a3ba9d736b6764d8a9bef739369);
            
        

        circle_marker_aad433343602220ef7153faee3e2a83b.bindPopup(popup_551d80f4e141e35b3c99b39d830ee73c)
        ;

        
    
    
            var circle_marker_335f53d848d738c3153708c3c4e98faf = L.circleMarker(
                [42.6899959, -94.0500307],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4958a2ff841b34ba4ac16757a4573f45 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_07a82a5b2b4218b44eb8cc44e71c0c1d = $(`<div id=&quot;html_07a82a5b2b4218b44eb8cc44e71c0c1d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>City of Thor Fire Department</div>`)[0];
                popup_4958a2ff841b34ba4ac16757a4573f45.setContent(html_07a82a5b2b4218b44eb8cc44e71c0c1d);
            
        

        circle_marker_335f53d848d738c3153708c3c4e98faf.bindPopup(popup_4958a2ff841b34ba4ac16757a4573f45)
        ;

        
    
    
            var circle_marker_3cbbb78fcd735cbedbb80a4efa752d28 = L.circleMarker(
                [43.1476509, -93.2068586],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_41a1f05cfaed8b67e2c1b7d9d290fa8b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_88bced678db06c8da0555c4126824904 = $(`<div id=&quot;html_88bced678db06c8da0555c4126824904&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Mason City Fire Department</div>`)[0];
                popup_41a1f05cfaed8b67e2c1b7d9d290fa8b.setContent(html_88bced678db06c8da0555c4126824904);
            
        

        circle_marker_3cbbb78fcd735cbedbb80a4efa752d28.bindPopup(popup_41a1f05cfaed8b67e2c1b7d9d290fa8b)
        ;

        
    
    
            var circle_marker_c4f75ded053edc2859aa3fcf5201b511 = L.circleMarker(
                [42.9339743, -93.7935643],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_dc482bd6d91284641715498e4304ac45 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_915b97665987bf0e9ca81045abcf2a3f = $(`<div id=&quot;html_915b97665987bf0e9ca81045abcf2a3f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Kanawha Fire Department</div>`)[0];
                popup_dc482bd6d91284641715498e4304ac45.setContent(html_915b97665987bf0e9ca81045abcf2a3f);
            
        

        circle_marker_c4f75ded053edc2859aa3fcf5201b511.bindPopup(popup_dc482bd6d91284641715498e4304ac45)
        ;

        
    
    
            var circle_marker_1de55b88bd65df34cf6a6d32aa8f7f1c = L.circleMarker(
                [42.7203521, -94.2140924],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e48f916e599b4f6a2291d8e68acf4e74 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_aca09be934337d02496ac0e8c16c28a8 = $(`<div id=&quot;html_aca09be934337d02496ac0e8c16c28a8&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Humboldt Fire Department</div>`)[0];
                popup_e48f916e599b4f6a2291d8e68acf4e74.setContent(html_aca09be934337d02496ac0e8c16c28a8);
            
        

        circle_marker_1de55b88bd65df34cf6a6d32aa8f7f1c.bindPopup(popup_e48f916e599b4f6a2291d8e68acf4e74)
        ;

        
    
    
            var circle_marker_6bc159bc5acb76c8ee893a3de755345e = L.circleMarker(
                [42.7357459, -93.920127],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_86eb20dd775609a89bc20fc95d2bed0d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_eefd52035c5184592cd8b245ff3569b7 = $(`<div id=&quot;html_eefd52035c5184592cd8b245ff3569b7&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Goldfield City Fire Department</div>`)[0];
                popup_86eb20dd775609a89bc20fc95d2bed0d.setContent(html_eefd52035c5184592cd8b245ff3569b7);
            
        

        circle_marker_6bc159bc5acb76c8ee893a3de755345e.bindPopup(popup_86eb20dd775609a89bc20fc95d2bed0d)
        ;

        
    
    
            var circle_marker_884b8f9f1e9dde3504b022e1d7b6d195 = L.circleMarker(
                [43.1380502, -95.1440926],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_726b50c2ec222428eef138cfeb1eafe3 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2f45e45543ad304ba4522d6198b1bad5 = $(`<div id=&quot;html_2f45e45543ad304ba4522d6198b1bad5&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Spencer Fire Department</div>`)[0];
                popup_726b50c2ec222428eef138cfeb1eafe3.setContent(html_2f45e45543ad304ba4522d6198b1bad5);
            
        

        circle_marker_884b8f9f1e9dde3504b022e1d7b6d195.bindPopup(popup_726b50c2ec222428eef138cfeb1eafe3)
        ;

        
    
    
            var circle_marker_36bb53606ce31529a8caf89fe1e70294 = L.circleMarker(
                [43.1826735, -91.8680629],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_632ffd707750f84d0acbe0d3738a9d0d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_56e0b1892e1f2fb813444ed3fc6362b0 = $(`<div id=&quot;html_56e0b1892e1f2fb813444ed3fc6362b0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Calmar Fire Department</div>`)[0];
                popup_632ffd707750f84d0acbe0d3738a9d0d.setContent(html_56e0b1892e1f2fb813444ed3fc6362b0);
            
        

        circle_marker_36bb53606ce31529a8caf89fe1e70294.bindPopup(popup_632ffd707750f84d0acbe0d3738a9d0d)
        ;

        
    
    
            var circle_marker_d0bab194551fe80076dd5415425deab5 = L.circleMarker(
                [43.112266, -91.6773744],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_8d5e98fec9be2059b8295f512b5eb39e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_387f8111c41218df207d6dc590fc08f3 = $(`<div id=&quot;html_387f8111c41218df207d6dc590fc08f3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Castalia Fire Department</div>`)[0];
                popup_8d5e98fec9be2059b8295f512b5eb39e.setContent(html_387f8111c41218df207d6dc590fc08f3);
            
        

        circle_marker_d0bab194551fe80076dd5415425deab5.bindPopup(popup_8d5e98fec9be2059b8295f512b5eb39e)
        ;

        
    
    
            var circle_marker_d1548498fd26627c1f74d6266a7ef071 = L.circleMarker(
                [42.9786633, -93.3194503],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_fde25bc5c226c09295d23ab1b0ecc54c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_db7c26b6739169d14666381e15736a90 = $(`<div id=&quot;html_db7c26b6739169d14666381e15736a90&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Swaledale Fire Department</div>`)[0];
                popup_fde25bc5c226c09295d23ab1b0ecc54c.setContent(html_db7c26b6739169d14666381e15736a90);
            
        

        circle_marker_d1548498fd26627c1f74d6266a7ef071.bindPopup(popup_fde25bc5c226c09295d23ab1b0ecc54c)
        ;

        
    
    
            var circle_marker_f111300db11267d9bcdb26c84b60d302 = L.circleMarker(
                [42.8933925, -93.2151163],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_211cbbf568565b128e182d2834a81282 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c695078d8f1228ab23a9f2caa7c496af = $(`<div id=&quot;html_c695078d8f1228ab23a9f2caa7c496af&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sheffield Fire Department</div>`)[0];
                popup_211cbbf568565b128e182d2834a81282.setContent(html_c695078d8f1228ab23a9f2caa7c496af);
            
        

        circle_marker_f111300db11267d9bcdb26c84b60d302.bindPopup(popup_211cbbf568565b128e182d2834a81282)
        ;

        
    
    
            var circle_marker_0a895d4be6fdc4ed4db6f872ec126c07 = L.circleMarker(
                [43.2637215, -93.4209446],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7fd501e120662661ca8781f483a5ab98 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c96a1f11a22045ef15c2a0a4dcbcfcd4 = $(`<div id=&quot;html_c96a1f11a22045ef15c2a0a4dcbcfcd4&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Fertile Fire Department</div>`)[0];
                popup_7fd501e120662661ca8781f483a5ab98.setContent(html_c96a1f11a22045ef15c2a0a4dcbcfcd4);
            
        

        circle_marker_0a895d4be6fdc4ed4db6f872ec126c07.bindPopup(popup_7fd501e120662661ca8781f483a5ab98)
        ;

        
    
    
            var circle_marker_10795036f6833b3ef70adedcd236df69 = L.circleMarker(
                [43.3287119, -93.0712412],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_03943d2b71de26e751ce76d7d13ec2a2 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0cbc25f714756495046db246090d9d0e = $(`<div id=&quot;html_0cbc25f714756495046db246090d9d0e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Grafton Fire Department</div>`)[0];
                popup_03943d2b71de26e751ce76d7d13ec2a2.setContent(html_0cbc25f714756495046db246090d9d0e);
            
        

        circle_marker_10795036f6833b3ef70adedcd236df69.bindPopup(popup_03943d2b71de26e751ce76d7d13ec2a2)
        ;

        
    
    
            var circle_marker_9221db908c4600fed5fbbaa44252d518 = L.circleMarker(
                [42.8465774, -93.6150861],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c5a9a220ff994bdf0a3a5273a091c7cf = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ff0d64a79e6bc337204add5e6caa584c = $(`<div id=&quot;html_ff0d64a79e6bc337204add5e6caa584c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Belmond Fire Department</div>`)[0];
                popup_c5a9a220ff994bdf0a3a5273a091c7cf.setContent(html_ff0d64a79e6bc337204add5e6caa584c);
            
        

        circle_marker_9221db908c4600fed5fbbaa44252d518.bindPopup(popup_c5a9a220ff994bdf0a3a5273a091c7cf)
        ;

        
    
    
            var circle_marker_a8058d24d426dbfb92dd0b2e79fe750d = L.circleMarker(
                [42.7305225, -93.7338391],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1e909a896ce9b8c8c2a06695030de12f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2869b7b641be8025d61f0b075aa623e5 = $(`<div id=&quot;html_2869b7b641be8025d61f0b075aa623e5&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Clarion Fire Department</div>`)[0];
                popup_1e909a896ce9b8c8c2a06695030de12f.setContent(html_2869b7b641be8025d61f0b075aa623e5);
            
        

        circle_marker_a8058d24d426dbfb92dd0b2e79fe750d.bindPopup(popup_1e909a896ce9b8c8c2a06695030de12f)
        ;

        
    
    
            var circle_marker_8f687b241895935f2f3fc74b89f147b7 = L.circleMarker(
                [42.6558912, -93.5001444],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e1ae0888910fe849ff0180b53026deee = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_465e6d01747d76270c5a35bc85d0bb35 = $(`<div id=&quot;html_465e6d01747d76270c5a35bc85d0bb35&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dows Fire Department</div>`)[0];
                popup_e1ae0888910fe849ff0180b53026deee.setContent(html_465e6d01747d76270c5a35bc85d0bb35);
            
        

        circle_marker_8f687b241895935f2f3fc74b89f147b7.bindPopup(popup_e1ae0888910fe849ff0180b53026deee)
        ;

        
    
    
            var circle_marker_308421b7d10f9b6fe0075fa9a1b94262 = L.circleMarker(
                [43.0047452, -96.0571576],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_8b278f4893a28f7ee04741c9b91e90f6 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ee92ab4a3fed966c95c8403883454e53 = $(`<div id=&quot;html_ee92ab4a3fed966c95c8403883454e53&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Orange City Fire Department</div>`)[0];
                popup_8b278f4893a28f7ee04741c9b91e90f6.setContent(html_ee92ab4a3fed966c95c8403883454e53);
            
        

        circle_marker_308421b7d10f9b6fe0075fa9a1b94262.bindPopup(popup_8b278f4893a28f7ee04741c9b91e90f6)
        ;

        
    
    
            var circle_marker_c2e67694c2ba74b12f783212de4ddc68 = L.circleMarker(
                [42.9661949, -96.1795269],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_337026efabf1780e458abacabb1b8df4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c322ef69881f6dc21c8a7463c4317342 = $(`<div id=&quot;html_c322ef69881f6dc21c8a7463c4317342&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Maurice Fire Department</div>`)[0];
                popup_337026efabf1780e458abacabb1b8df4.setContent(html_c322ef69881f6dc21c8a7463c4317342);
            
        

        circle_marker_c2e67694c2ba74b12f783212de4ddc68.bindPopup(popup_337026efabf1780e458abacabb1b8df4)
        ;

        
    
    
            var circle_marker_67972acd3ae43633a95d7a75fe11b3a5 = L.circleMarker(
                [42.9751103, -96.3193292],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_519f8621550af81170c11c20b14a44d7 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8a6bd69ad2a085d266251193293d1ff6 = $(`<div id=&quot;html_8a6bd69ad2a085d266251193293d1ff6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ireton Community Fire Department</div>`)[0];
                popup_519f8621550af81170c11c20b14a44d7.setContent(html_8a6bd69ad2a085d266251193293d1ff6);
            
        

        circle_marker_67972acd3ae43633a95d7a75fe11b3a5.bindPopup(popup_519f8621550af81170c11c20b14a44d7)
        ;

        
    
    
            var circle_marker_81474d6a415894cc584b141dd1948720 = L.circleMarker(
                [42.7920114, -96.1680364],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_395f288b690eaa734f88c76ddcfcafa4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f760f03149785f4d8cc4f5038509beae = $(`<div id=&quot;html_f760f03149785f4d8cc4f5038509beae&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Le Mars Fire Department</div>`)[0];
                popup_395f288b690eaa734f88c76ddcfcafa4.setContent(html_f760f03149785f4d8cc4f5038509beae);
            
        

        circle_marker_81474d6a415894cc584b141dd1948720.bindPopup(popup_395f288b690eaa734f88c76ddcfcafa4)
        ;

        
    
    
            var circle_marker_0550fbcbdcc86b8a91e28e408833a176 = L.circleMarker(
                [42.8202955, -96.057746],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6185d6643ea8b9a424aa23d069d9569a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_5ab78852c4b81d27381dd1ece5483592 = $(`<div id=&quot;html_5ab78852c4b81d27381dd1ece5483592&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Oyens Fire Department</div>`)[0];
                popup_6185d6643ea8b9a424aa23d069d9569a.setContent(html_5ab78852c4b81d27381dd1ece5483592);
            
        

        circle_marker_0550fbcbdcc86b8a91e28e408833a176.bindPopup(popup_6185d6643ea8b9a424aa23d069d9569a)
        ;

        
    
    
            var circle_marker_54a56903291f2f60b021717cf5ab9a98 = L.circleMarker(
                [42.6238372, -96.2933913],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_071303f3e1eadbe62faeb690241c99fa = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e17258e1efc1edbad111b111fade6ba3 = $(`<div id=&quot;html_e17258e1efc1edbad111b111fade6ba3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hinton Fire Department</div>`)[0];
                popup_071303f3e1eadbe62faeb690241c99fa.setContent(html_e17258e1efc1edbad111b111fade6ba3);
            
        

        circle_marker_54a56903291f2f60b021717cf5ab9a98.bindPopup(popup_071303f3e1eadbe62faeb690241c99fa)
        ;

        
    
    
            var circle_marker_ef3bc5c81612208a2afdc22cf3635bf6 = L.circleMarker(
                [43.0715953, -95.9046582],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_441d9e2ba17ab35c2802fd75ebb664af = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f335a0715a3a597245a773a894bd8882 = $(`<div id=&quot;html_f335a0715a3a597245a773a894bd8882&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hospers Fire Department</div>`)[0];
                popup_441d9e2ba17ab35c2802fd75ebb664af.setContent(html_f335a0715a3a597245a773a894bd8882);
            
        

        circle_marker_ef3bc5c81612208a2afdc22cf3635bf6.bindPopup(popup_441d9e2ba17ab35c2802fd75ebb664af)
        ;

        
    
    
            var circle_marker_401b0cd32ae8301b15339fc43f4ec091 = L.circleMarker(
                [42.9864516, -96.0104212],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_53e3d853af8792256d55d78e74e7d9b6 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_202272fd937620661edb8c225830e6ec = $(`<div id=&quot;html_202272fd937620661edb8c225830e6ec&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Alton Volunteer Fire Department</div>`)[0];
                popup_53e3d853af8792256d55d78e74e7d9b6.setContent(html_202272fd937620661edb8c225830e6ec);
            
        

        circle_marker_401b0cd32ae8301b15339fc43f4ec091.bindPopup(popup_53e3d853af8792256d55d78e74e7d9b6)
        ;

        
    
    
            var circle_marker_40c250265d9a9dad9dc2c8bc0e54fb14 = L.circleMarker(
                [43.4531448, -96.4345121],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_93b9084b242add9d42df56ce9658661d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4972c4e99d912e2add345568e9943d5e = $(`<div id=&quot;html_4972c4e99d912e2add345568e9943d5e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Larchwood Fire Station</div>`)[0];
                popup_93b9084b242add9d42df56ce9658661d.setContent(html_4972c4e99d912e2add345568e9943d5e);
            
        

        circle_marker_40c250265d9a9dad9dc2c8bc0e54fb14.bindPopup(popup_93b9084b242add9d42df56ce9658661d)
        ;

        
    
    
            var circle_marker_d0eb97f60cf302c552063c7b2bc6cb5c = L.circleMarker(
                [43.3407275, -95.9995772],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_04487c4c546190fc16745de4cf95ceff = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_00ec0796af1b855f087722756374230c = $(`<div id=&quot;html_00ec0796af1b855f087722756374230c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>George Fire Department</div>`)[0];
                popup_04487c4c546190fc16745de4cf95ceff.setContent(html_00ec0796af1b855f087722756374230c);
            
        

        circle_marker_d0eb97f60cf302c552063c7b2bc6cb5c.bindPopup(popup_04487c4c546190fc16745de4cf95ceff)
        ;

        
    
    
            var circle_marker_0f9a256c0e0d66c04f8e0b271f574605 = L.circleMarker(
                [43.2958465, -94.509958],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5d45a24490a1a1dbca9b1ec9a00caa18 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_245ea856b3a5cf9e0a4e25aa87fe96eb = $(`<div id=&quot;html_245ea856b3a5cf9e0a4e25aa87fe96eb&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ringsted Fire Department</div>`)[0];
                popup_5d45a24490a1a1dbca9b1ec9a00caa18.setContent(html_245ea856b3a5cf9e0a4e25aa87fe96eb);
            
        

        circle_marker_0f9a256c0e0d66c04f8e0b271f574605.bindPopup(popup_5d45a24490a1a1dbca9b1ec9a00caa18)
        ;

        
    
    
            var circle_marker_0737c664f0e0045eb0cb34b97c47423d = L.circleMarker(
                [43.3114051, -95.7913056],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_fe588d3b6270edb5057249ebb624e1a5 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_25d54537378b3fd798af1e6ba293874d = $(`<div id=&quot;html_25d54537378b3fd798af1e6ba293874d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ashton Fire Department</div>`)[0];
                popup_fe588d3b6270edb5057249ebb624e1a5.setContent(html_25d54537378b3fd798af1e6ba293874d);
            
        

        circle_marker_0737c664f0e0045eb0cb34b97c47423d.bindPopup(popup_fe588d3b6270edb5057249ebb624e1a5)
        ;

        
    
    
            var circle_marker_48415f27bca69aea461d8b2a7d6cc4e5 = L.circleMarker(
                [42.7299732, -94.4433061],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2258e06c77b9f88ff884bab2e373c036 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_780ae15521af4ea2a0c7df2838d75514 = $(`<div id=&quot;html_780ae15521af4ea2a0c7df2838d75514&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Gilmore City Fire Department</div>`)[0];
                popup_2258e06c77b9f88ff884bab2e373c036.setContent(html_780ae15521af4ea2a0c7df2838d75514);
            
        

        circle_marker_48415f27bca69aea461d8b2a7d6cc4e5.bindPopup(popup_2258e06c77b9f88ff884bab2e373c036)
        ;

        
    
    
            var circle_marker_134029e4c3f2f5d55c9624704992b857 = L.circleMarker(
                [43.4550306, -95.322884],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_83d92f7f27f5c99476a153a4cd99ff0a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1c4855f9a4b02b7572cb061aa062fdfb = $(`<div id=&quot;html_1c4855f9a4b02b7572cb061aa062fdfb&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lake Park City Fire Station</div>`)[0];
                popup_83d92f7f27f5c99476a153a4cd99ff0a.setContent(html_1c4855f9a4b02b7572cb061aa062fdfb);
            
        

        circle_marker_134029e4c3f2f5d55c9624704992b857.bindPopup(popup_83d92f7f27f5c99476a153a4cd99ff0a)
        ;

        
    
    
            var circle_marker_3e980c433bd3686a4d47d5daf755052f = L.circleMarker(
                [42.7110108, -95.4351471],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2306de75499c14c307ddc3caa0995fc8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1a9f462509e3e40769792eb8550551d2 = $(`<div id=&quot;html_1a9f462509e3e40769792eb8550551d2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Aurelia Fire Department</div>`)[0];
                popup_2306de75499c14c307ddc3caa0995fc8.setContent(html_1a9f462509e3e40769792eb8550551d2);
            
        

        circle_marker_3e980c433bd3686a4d47d5daf755052f.bindPopup(popup_2306de75499c14c307ddc3caa0995fc8)
        ;

        
    
    
            var circle_marker_630a4324c214b5d08132d621e0b7ba86 = L.circleMarker(
                [42.7483089, -95.5528631],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_3c3a1edd7e1dafac1ddf331a3caf4aa9 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_540880923d0e2ae42f6714e46bc9e44c = $(`<div id=&quot;html_540880923d0e2ae42f6714e46bc9e44c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cherokee Fire Department</div>`)[0];
                popup_3c3a1edd7e1dafac1ddf331a3caf4aa9.setContent(html_540880923d0e2ae42f6714e46bc9e44c);
            
        

        circle_marker_630a4324c214b5d08132d621e0b7ba86.bindPopup(popup_3c3a1edd7e1dafac1ddf331a3caf4aa9)
        ;

        
    
    
            var circle_marker_c6738606a087575c156e58eba85d59e4 = L.circleMarker(
                [43.4447379, -95.4336143],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_19e6c024d6e21e6a7c502bd643c513f1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2eed92079fb7d5be4bcbb763aa067209 = $(`<div id=&quot;html_2eed92079fb7d5be4bcbb763aa067209&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Harris Fire Station</div>`)[0];
                popup_19e6c024d6e21e6a7c502bd643c513f1.setContent(html_2eed92079fb7d5be4bcbb763aa067209);
            
        

        circle_marker_c6738606a087575c156e58eba85d59e4.bindPopup(popup_19e6c024d6e21e6a7c502bd643c513f1)
        ;

        
    
    
            var circle_marker_4ef2fd66e35231ea1ada54faf43778b5 = L.circleMarker(
                [42.6293352, -95.6418462],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6715f0be5f6794b0c9ef6c53245364c1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a79abe1d114dd8ed5e17109dfa1c9752 = $(`<div id=&quot;html_a79abe1d114dd8ed5e17109dfa1c9752&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Quimby Fire Department</div>`)[0];
                popup_6715f0be5f6794b0c9ef6c53245364c1.setContent(html_a79abe1d114dd8ed5e17109dfa1c9752);
            
        

        circle_marker_4ef2fd66e35231ea1ada54faf43778b5.bindPopup(popup_6715f0be5f6794b0c9ef6c53245364c1)
        ;

        
    
    
            var circle_marker_45ff357e0f4313ebc6038cefea8850a3 = L.circleMarker(
                [43.0276755, -94.5263053],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9b6dbd5583eecfb8e6d2489113cc75fc = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_46d5b4ab9872547b7432646755d22020 = $(`<div id=&quot;html_46d5b4ab9872547b7432646755d22020&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Rodman Fire Department</div>`)[0];
                popup_9b6dbd5583eecfb8e6d2489113cc75fc.setContent(html_46d5b4ab9872547b7432646755d22020);
            
        

        circle_marker_45ff357e0f4313ebc6038cefea8850a3.bindPopup(popup_9b6dbd5583eecfb8e6d2489113cc75fc)
        ;

        
    
    
            var circle_marker_f16589e33168474e774e05e8dfb34012 = L.circleMarker(
                [42.8793631, -94.6244407],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_efcbdaa7e5a9fdb7a9ee70a15bfca025 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_97b65eeb2ecd308c847222f9478aa815 = $(`<div id=&quot;html_97b65eeb2ecd308c847222f9478aa815&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Plover Fire Department</div>`)[0];
                popup_efcbdaa7e5a9fdb7a9ee70a15bfca025.setContent(html_97b65eeb2ecd308c847222f9478aa815);
            
        

        circle_marker_f16589e33168474e774e05e8dfb34012.bindPopup(popup_efcbdaa7e5a9fdb7a9ee70a15bfca025)
        ;

        
    
    
            var circle_marker_591b4c91361e81e413c901f6dbc5cdd1 = L.circleMarker(
                [43.3703145, -93.7720999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ac78670aa1ce5832228ae0c3f89ebd03 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_088812d39c0b7cbe496677f29123c5aa = $(`<div id=&quot;html_088812d39c0b7cbe496677f29123c5aa&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Thompson Fire Department</div>`)[0];
                popup_ac78670aa1ce5832228ae0c3f89ebd03.setContent(html_088812d39c0b7cbe496677f29123c5aa);
            
        

        circle_marker_591b4c91361e81e413c901f6dbc5cdd1.bindPopup(popup_ac78670aa1ce5832228ae0c3f89ebd03)
        ;

        
    
    
            var circle_marker_9f812d1ac840e5c0fa71f010d1eca3ee = L.circleMarker(
                [42.9575953, -94.445448],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f9ae62bb68d4e8d9c64b824d15af847e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0ded3734d584e1efe9bb655a2da95ca8 = $(`<div id=&quot;html_0ded3734d584e1efe9bb655a2da95ca8&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>West Bend Fire Department</div>`)[0];
                popup_f9ae62bb68d4e8d9c64b824d15af847e.setContent(html_0ded3734d584e1efe9bb655a2da95ca8);
            
        

        circle_marker_9f812d1ac840e5c0fa71f010d1eca3ee.bindPopup(popup_f9ae62bb68d4e8d9c64b824d15af847e)
        ;

        
    
    
            var circle_marker_9ec502759cd3a9724fb8778fd27b3f0b = L.circleMarker(
                [43.1968038, -94.2181237],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_69a6ec91da0830b6ebe32ba6bea79304 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4c486dbd2c1262121a9ea30052d7329c = $(`<div id=&quot;html_4c486dbd2c1262121a9ea30052d7329c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Burt Volunteer Fire Department</div>`)[0];
                popup_69a6ec91da0830b6ebe32ba6bea79304.setContent(html_4c486dbd2c1262121a9ea30052d7329c);
            
        

        circle_marker_9ec502759cd3a9724fb8778fd27b3f0b.bindPopup(popup_69a6ec91da0830b6ebe32ba6bea79304)
        ;

        
    
    
            var circle_marker_a0203162f7e15c66939cda9bb895124d = L.circleMarker(
                [43.384693, -94.3106176],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c22bf6366cec083b0632acbe399e5e44 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8b0d983b45b456b71cf0f8cd2099f601 = $(`<div id=&quot;html_8b0d983b45b456b71cf0f8cd2099f601&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Swea City Volunteer Fire Department</div>`)[0];
                popup_c22bf6366cec083b0632acbe399e5e44.setContent(html_8b0d983b45b456b71cf0f8cd2099f601);
            
        

        circle_marker_a0203162f7e15c66939cda9bb895124d.bindPopup(popup_c22bf6366cec083b0632acbe399e5e44)
        ;

        
    
    
            var circle_marker_fa94d5230de3346b451c69c1e09c2a7d = L.circleMarker(
                [42.7358112, -94.6784125],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_79034027dfd63fbb315f3616e955fc09 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b476e4087de286c6c17bc1b9d7a107e9 = $(`<div id=&quot;html_b476e4087de286c6c17bc1b9d7a107e9&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Pocahontas Fire Department</div>`)[0];
                popup_79034027dfd63fbb315f3616e955fc09.setContent(html_b476e4087de286c6c17bc1b9d7a107e9);
            
        

        circle_marker_fa94d5230de3346b451c69c1e09c2a7d.bindPopup(popup_79034027dfd63fbb315f3616e955fc09)
        ;

        
    
    
            var circle_marker_426a0fb47476bf9dfe9330448ed32e7a = L.circleMarker(
                [43.069133, -94.2288521],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_167c6943ce47af06615d042b7c184e53 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_bd4feb0e5abe38d681b4f99b89f4e2b4 = $(`<div id=&quot;html_bd4feb0e5abe38d681b4f99b89f4e2b4&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Algona Fire Station</div>`)[0];
                popup_167c6943ce47af06615d042b7c184e53.setContent(html_bd4feb0e5abe38d681b4f99b89f4e2b4);
            
        

        circle_marker_426a0fb47476bf9dfe9330448ed32e7a.bindPopup(popup_167c6943ce47af06615d042b7c184e53)
        ;

        
    
    
            var circle_marker_00dee0850f913ec4eeee66e64205472a = L.circleMarker(
                [41.3870032, -95.6766225],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_81278fbe4d2fb4e78b7a6c4961e009af = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0208fd6b79bfe0779769b194b2d6ccd7 = $(`<div id=&quot;html_0208fd6b79bfe0779769b194b2d6ccd7&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Underwood Fire Department</div>`)[0];
                popup_81278fbe4d2fb4e78b7a6c4961e009af.setContent(html_0208fd6b79bfe0779769b194b2d6ccd7);
            
        

        circle_marker_00dee0850f913ec4eeee66e64205472a.bindPopup(popup_81278fbe4d2fb4e78b7a6c4961e009af)
        ;

        
    
    
            var circle_marker_268a3cdf6204924704f4bd423fb13503 = L.circleMarker(
                [41.3094789, -95.3988756],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2a6a56ffc6f1b584a60a582978392bfd = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7b6814f6cb76f1daf5c2f6a9c8c7f195 = $(`<div id=&quot;html_7b6814f6cb76f1daf5c2f6a9c8c7f195&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Oakland Fire and Rescue Department</div>`)[0];
                popup_2a6a56ffc6f1b584a60a582978392bfd.setContent(html_7b6814f6cb76f1daf5c2f6a9c8c7f195);
            
        

        circle_marker_268a3cdf6204924704f4bd423fb13503.bindPopup(popup_2a6a56ffc6f1b584a60a582978392bfd)
        ;

        
    
    
            var circle_marker_297c5a68cb772e49396e15bd0d7de5b7 = L.circleMarker(
                [42.8533305, -91.402874],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4277e68615215d847f61562db2a93ddd = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e944e7bdbfc62a71149f4d929bad1231 = $(`<div id=&quot;html_e944e7bdbfc62a71149f4d929bad1231&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Elkader Fire Department</div>`)[0];
                popup_4277e68615215d847f61562db2a93ddd.setContent(html_e944e7bdbfc62a71149f4d929bad1231);
            
        

        circle_marker_297c5a68cb772e49396e15bd0d7de5b7.bindPopup(popup_4277e68615215d847f61562db2a93ddd)
        ;

        
    
    
            var circle_marker_aa972e9de6a6966b1e954470d40de1d4 = L.circleMarker(
                [41.4763098, -95.2228714],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c2a43d3bc079f286d54566d17b9465b9 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c73ba61a9b61f2f75b095a6393028bcf = $(`<div id=&quot;html_c73ba61a9b61f2f75b095a6393028bcf&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Walnut City Fire Department</div>`)[0];
                popup_c2a43d3bc079f286d54566d17b9465b9.setContent(html_c73ba61a9b61f2f75b095a6393028bcf);
            
        

        circle_marker_aa972e9de6a6966b1e954470d40de1d4.bindPopup(popup_c2a43d3bc079f286d54566d17b9465b9)
        ;

        
    
    
            var circle_marker_74a5f105fde3bfaadc7505c41ddc5dd3 = L.circleMarker(
                [41.2361802, -95.4214468],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_8403c8e751b9ab93fa21d607d4b3635d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e8d5e257deac6c0d76405d7983857190 = $(`<div id=&quot;html_e8d5e257deac6c0d76405d7983857190&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Carson Fire Department and Rescue</div>`)[0];
                popup_8403c8e751b9ab93fa21d607d4b3635d.setContent(html_e8d5e257deac6c0d76405d7983857190);
            
        

        circle_marker_74a5f105fde3bfaadc7505c41ddc5dd3.bindPopup(popup_8403c8e751b9ab93fa21d607d4b3635d)
        ;

        
    
    
            var circle_marker_5bb10e0bb6deb6da41d04c2779711420 = L.circleMarker(
                [41.4813421, -95.3373933],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b3cf14dd30efd4e7337c95ad2ead06cd = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b91c25f5f3cfcd5faafefa6420a3afd3 = $(`<div id=&quot;html_b91c25f5f3cfcd5faafefa6420a3afd3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Avoca Volunteer Fire Department</div>`)[0];
                popup_b3cf14dd30efd4e7337c95ad2ead06cd.setContent(html_b91c25f5f3cfcd5faafefa6420a3afd3);
            
        

        circle_marker_5bb10e0bb6deb6da41d04c2779711420.bindPopup(popup_b3cf14dd30efd4e7337c95ad2ead06cd)
        ;

        
    
    
            var circle_marker_81560d7fbcb78062e6cde8e81218b70b = L.circleMarker(
                [41.4479555, -95.6173328],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7b6a6d92c4994e8bd17db6c0f76d1303 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c4ec4956a15f37bbe78ea0d2275d864f = $(`<div id=&quot;html_c4ec4956a15f37bbe78ea0d2275d864f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Neola Volunteer Fire Department</div>`)[0];
                popup_7b6a6d92c4994e8bd17db6c0f76d1303.setContent(html_c4ec4956a15f37bbe78ea0d2275d864f);
            
        

        circle_marker_81560d7fbcb78062e6cde8e81218b70b.bindPopup(popup_7b6a6d92c4994e8bd17db6c0f76d1303)
        ;

        
    
    
            var circle_marker_ceceaf9c013e29583b6ec8371382ab18 = L.circleMarker(
                [41.4671143, -95.5426926],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_3de1666b754500c56c560c17eb591b59 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_21a1136f428583c3a00deaf5f0305d7b = $(`<div id=&quot;html_21a1136f428583c3a00deaf5f0305d7b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Minden Fire Department</div>`)[0];
                popup_3de1666b754500c56c560c17eb591b59.setContent(html_21a1136f428583c3a00deaf5f0305d7b);
            
        

        circle_marker_ceceaf9c013e29583b6ec8371382ab18.bindPopup(popup_3de1666b754500c56c560c17eb591b59)
        ;

        
    
    
            var circle_marker_60daa38b208e6a83b2badf4a3d102364 = L.circleMarker(
                [40.6013854, -95.658952],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_3c1a7d8b952e38c79f8265a2fcfe4c24 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_82bf1e55c70b5248484c9cbed683b2e2 = $(`<div id=&quot;html_82bf1e55c70b5248484c9cbed683b2e2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hamburg Volunteer Fire and Rescue</div>`)[0];
                popup_3c1a7d8b952e38c79f8265a2fcfe4c24.setContent(html_82bf1e55c70b5248484c9cbed683b2e2);
            
        

        circle_marker_60daa38b208e6a83b2badf4a3d102364.bindPopup(popup_3c1a7d8b952e38c79f8265a2fcfe4c24)
        ;

        
    
    
            var circle_marker_98c577b017853a6c25d3429de1636e22 = L.circleMarker(
                [40.7492193, -95.8136926],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a883350fce632ccc42e5b2ad7bf0e0a5 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0af6c095a0ccf8239507dc37088b583e = $(`<div id=&quot;html_0af6c095a0ccf8239507dc37088b583e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Percival Fire and Rescue - Benton Township</div>`)[0];
                popup_a883350fce632ccc42e5b2ad7bf0e0a5.setContent(html_0af6c095a0ccf8239507dc37088b583e);
            
        

        circle_marker_98c577b017853a6c25d3429de1636e22.bindPopup(popup_a883350fce632ccc42e5b2ad7bf0e0a5)
        ;

        
    
    
            var circle_marker_12cd077694baa6d10eb214ed4d3fbcbf = L.circleMarker(
                [41.2579536, -95.8499335],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_aa42ca4ab8864729594e8841744d5e56 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_db61460c4a33b6ee57f360c1247891c6 = $(`<div id=&quot;html_db61460c4a33b6ee57f360c1247891c6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Council Bluffs Fire Department Station 1 Headquarters</div>`)[0];
                popup_aa42ca4ab8864729594e8841744d5e56.setContent(html_db61460c4a33b6ee57f360c1247891c6);
            
        

        circle_marker_12cd077694baa6d10eb214ed4d3fbcbf.bindPopup(popup_aa42ca4ab8864729594e8841744d5e56)
        ;

        
    
    
            var circle_marker_bce91c18976b58ad2440e2fc0bc2c7b2 = L.circleMarker(
                [40.7487727, -95.6460889],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_92564126d5efb94c4d6ee9b766ae8449 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9db17233804a431e9d17651c39225398 = $(`<div id=&quot;html_9db17233804a431e9d17651c39225398&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sidney Fire and Rescue Department</div>`)[0];
                popup_92564126d5efb94c4d6ee9b766ae8449.setContent(html_9db17233804a431e9d17651c39225398);
            
        

        circle_marker_bce91c18976b58ad2440e2fc0bc2c7b2.bindPopup(popup_92564126d5efb94c4d6ee9b766ae8449)
        ;

        
    
    
            var circle_marker_2e9915d8c29f4bf19e1acda7ee60ed38 = L.circleMarker(
                [40.7656523, -95.3703469],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5a93c8341cef8912f670d9e8096cdd9d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_995892f61a82b765428e8b8ff6bbf306 = $(`<div id=&quot;html_995892f61a82b765428e8b8ff6bbf306&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Shenandoah Fire Station</div>`)[0];
                popup_5a93c8341cef8912f670d9e8096cdd9d.setContent(html_995892f61a82b765428e8b8ff6bbf306);
            
        

        circle_marker_2e9915d8c29f4bf19e1acda7ee60ed38.bindPopup(popup_5a93c8341cef8912f670d9e8096cdd9d)
        ;

        
    
    
            var circle_marker_214c158be8b346c6fc6a55f927f92986 = L.circleMarker(
                [40.8798302, -95.4268725],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6ae244d458758385dfd263c8165b7fc4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e9a66c8d26dd61a4c7746f415ef39ca0 = $(`<div id=&quot;html_e9a66c8d26dd61a4c7746f415ef39ca0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Imogene Fire Department</div>`)[0];
                popup_6ae244d458758385dfd263c8165b7fc4.setContent(html_e9a66c8d26dd61a4c7746f415ef39ca0);
            
        

        circle_marker_214c158be8b346c6fc6a55f927f92986.bindPopup(popup_6ae244d458758385dfd263c8165b7fc4)
        ;

        
    
    
            var circle_marker_3b09ab37106d924b8bf711b7bffcb11c = L.circleMarker(
                [41.1417119, -94.9845486],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b42585768f589efd2418564ab5d6a430 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d36062e3ed2bf0224f994685537f1639 = $(`<div id=&quot;html_d36062e3ed2bf0224f994685537f1639&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Grant Fire Department</div>`)[0];
                popup_b42585768f589efd2418564ab5d6a430.setContent(html_d36062e3ed2bf0224f994685537f1639);
            
        

        circle_marker_3b09ab37106d924b8bf711b7bffcb11c.bindPopup(popup_b42585768f589efd2418564ab5d6a430)
        ;

        
    
    
            var circle_marker_da7432381a0b07285539154d89a8bf2f = L.circleMarker(
                [41.0212861, -95.2322754],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a4752a50652ac59cd1b6e485f8192a9c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_de1156fab3364f94af76518b1fed3367 = $(`<div id=&quot;html_de1156fab3364f94af76518b1fed3367&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Red Oak Fire Department</div>`)[0];
                popup_a4752a50652ac59cd1b6e485f8192a9c.setContent(html_de1156fab3364f94af76518b1fed3367);
            
        

        circle_marker_da7432381a0b07285539154d89a8bf2f.bindPopup(popup_a4752a50652ac59cd1b6e485f8192a9c)
        ;

        
    
    
            var circle_marker_a3fe5ec363384af305f595c2a2e1284d = L.circleMarker(
                [40.8332043, -95.3076423],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_64b4faa27c6c9f6ca06493634a9c6b8a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1939e5729e968653aabc008a440cfe43 = $(`<div id=&quot;html_1939e5729e968653aabc008a440cfe43&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Essex Fire Department</div>`)[0];
                popup_64b4faa27c6c9f6ca06493634a9c6b8a.setContent(html_1939e5729e968653aabc008a440cfe43);
            
        

        circle_marker_a3fe5ec363384af305f595c2a2e1284d.bindPopup(popup_64b4faa27c6c9f6ca06493634a9c6b8a)
        ;

        
    
    
            var circle_marker_91b0aec87de669c8f366c0e54af3ef7e = L.circleMarker(
                [41.0229312, -94.6135672],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_77d6bf91f97e08cdb684d06fef878c88 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_12fe298e9391ee302a7fbf0833ff8748 = $(`<div id=&quot;html_12fe298e9391ee302a7fbf0833ff8748&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Prescott Fire Department</div>`)[0];
                popup_77d6bf91f97e08cdb684d06fef878c88.setContent(html_12fe298e9391ee302a7fbf0833ff8748);
            
        

        circle_marker_91b0aec87de669c8f366c0e54af3ef7e.bindPopup(popup_77d6bf91f97e08cdb684d06fef878c88)
        ;

        
    
    
            var circle_marker_4edcec16442cfdb0e4828e5b13fd9e30 = L.circleMarker(
                [40.8009287, -94.4765431],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_065c6df1da0cd2fa844c35f55baaa185 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_70c85a4239f7611fffae8fe424943186 = $(`<div id=&quot;html_70c85a4239f7611fffae8fe424943186&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Clearfield Fire Department</div>`)[0];
                popup_065c6df1da0cd2fa844c35f55baaa185.setContent(html_70c85a4239f7611fffae8fe424943186);
            
        

        circle_marker_4edcec16442cfdb0e4828e5b13fd9e30.bindPopup(popup_065c6df1da0cd2fa844c35f55baaa185)
        ;

        
    
    
            var circle_marker_d205536fc6734dd904748f0694523bbd = L.circleMarker(
                [40.8789804, -94.558676],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6a4062fdeea245ae8eebf4f953a5c9cf = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a69d4ef5e572e9d664cc3ce549ed7c3f = $(`<div id=&quot;html_a69d4ef5e572e9d664cc3ce549ed7c3f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lenox Fire Department</div>`)[0];
                popup_6a4062fdeea245ae8eebf4f953a5c9cf.setContent(html_a69d4ef5e572e9d664cc3ce549ed7c3f);
            
        

        circle_marker_d205536fc6734dd904748f0694523bbd.bindPopup(popup_6a4062fdeea245ae8eebf4f953a5c9cf)
        ;

        
    
    
            var circle_marker_51ab64f027580ecfc5b632bbfad9bbce = L.circleMarker(
                [40.6680592, -94.7180382],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b4b88ef6c38cb01c1e8bd6bd8a9d63d5 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b4cd7ad4d8806ade0aa80964e26d6199 = $(`<div id=&quot;html_b4cd7ad4d8806ade0aa80964e26d6199&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bedford Fire Department</div>`)[0];
                popup_b4b88ef6c38cb01c1e8bd6bd8a9d63d5.setContent(html_b4cd7ad4d8806ade0aa80964e26d6199);
            
        

        circle_marker_51ab64f027580ecfc5b632bbfad9bbce.bindPopup(popup_b4b88ef6c38cb01c1e8bd6bd8a9d63d5)
        ;

        
    
    
            var circle_marker_ebf13f1da716d804d476a71c2fe4e67e = L.circleMarker(
                [41.3987629, -95.0315546],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_bafddddf1064ddb8adf37178dc68abf6 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_63d8d75fc7283b632cf3ab14473bd4e0 = $(`<div id=&quot;html_63d8d75fc7283b632cf3ab14473bd4e0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Atlantic Fire Department</div>`)[0];
                popup_bafddddf1064ddb8adf37178dc68abf6.setContent(html_63d8d75fc7283b632cf3ab14473bd4e0);
            
        

        circle_marker_ebf13f1da716d804d476a71c2fe4e67e.bindPopup(popup_bafddddf1064ddb8adf37178dc68abf6)
        ;

        
    
    
            var circle_marker_414bbf768ac3c5dd5b2cf2dd31c0f4ff = L.circleMarker(
                [41.5009079, -94.6437032],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4bb222bb176e16265ea076d0fa624273 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_af6540c9cc00db75305de0e35467e45b = $(`<div id=&quot;html_af6540c9cc00db75305de0e35467e45b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Adair City Fire Department</div>`)[0];
                popup_4bb222bb176e16265ea076d0fa624273.setContent(html_af6540c9cc00db75305de0e35467e45b);
            
        

        circle_marker_414bbf768ac3c5dd5b2cf2dd31c0f4ff.bindPopup(popup_4bb222bb176e16265ea076d0fa624273)
        ;

        
    
    
            var circle_marker_50592e052ca27e273864ac67d4a6fc37 = L.circleMarker(
                [41.2892899, -94.5642236],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a2a4f9af2ba7c6c959b70eb84a3d1a16 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4037b2d6109e46040322c1f9a187c455 = $(`<div id=&quot;html_4037b2d6109e46040322c1f9a187c455&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Fontanelle City Fire Department</div>`)[0];
                popup_a2a4f9af2ba7c6c959b70eb84a3d1a16.setContent(html_4037b2d6109e46040322c1f9a187c455);
            
        

        circle_marker_50592e052ca27e273864ac67d4a6fc37.bindPopup(popup_a2a4f9af2ba7c6c959b70eb84a3d1a16)
        ;

        
    
    
            var circle_marker_fb19106638fededd8e18a82b1acee287 = L.circleMarker(
                [41.4449192, -94.7667421],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2fb987167cb5952c8ebaa2f92ab63aea = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_fc917fc53cb009a8cb1fc0527da19764 = $(`<div id=&quot;html_fc917fc53cb009a8cb1fc0527da19764&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Anita Volunteer Fire Department</div>`)[0];
                popup_2fb987167cb5952c8ebaa2f92ab63aea.setContent(html_fc917fc53cb009a8cb1fc0527da19764);
            
        

        circle_marker_fb19106638fededd8e18a82b1acee287.bindPopup(popup_2fb987167cb5952c8ebaa2f92ab63aea)
        ;

        
    
    
            var circle_marker_7ac7910eb5542a769f1a60e7f3bb4b78 = L.circleMarker(
                [41.273492, -94.8702421],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5d9621e183e790929019e61def8c4452 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b9063d2bb47d05bb4f4cdfffaf5ace05 = $(`<div id=&quot;html_b9063d2bb47d05bb4f4cdfffaf5ace05&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cumberland Fire Department</div>`)[0];
                popup_5d9621e183e790929019e61def8c4452.setContent(html_b9063d2bb47d05bb4f4cdfffaf5ace05);
            
        

        circle_marker_7ac7910eb5542a769f1a60e7f3bb4b78.bindPopup(popup_5d9621e183e790929019e61def8c4452)
        ;

        
    
    
            var circle_marker_29a6ac1dac8b35badcae8c2382440969 = L.circleMarker(
                [42.7631442, -93.3692256],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_636537c616bca65d5b84e4e8ba397532 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_fd790865855b1e3d4b1b1afa7f3fcc7d = $(`<div id=&quot;html_fd790865855b1e3d4b1b1afa7f3fcc7d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Latimer Rural Fire Department</div>`)[0];
                popup_636537c616bca65d5b84e4e8ba397532.setContent(html_fd790865855b1e3d4b1b1afa7f3fcc7d);
            
        

        circle_marker_29a6ac1dac8b35badcae8c2382440969.bindPopup(popup_636537c616bca65d5b84e4e8ba397532)
        ;

        
    
    
            var circle_marker_e106fc12c8b7bad730b717bfb861ec93 = L.circleMarker(
                [42.8062613, -93.4762584],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5dd68c72b44495ccee74beca38696d8a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8798401ae3524e9bcfbe27e29c9ff801 = $(`<div id=&quot;html_8798401ae3524e9bcfbe27e29c9ff801&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Alexander Fire Department</div>`)[0];
                popup_5dd68c72b44495ccee74beca38696d8a.setContent(html_8798401ae3524e9bcfbe27e29c9ff801);
            
        

        circle_marker_e106fc12c8b7bad730b717bfb861ec93.bindPopup(popup_5dd68c72b44495ccee74beca38696d8a)
        ;

        
    
    
            var circle_marker_5105df6064f95716275a8fc4c5b15e69 = L.circleMarker(
                [43.3631506, -92.5556142],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_cb31130dd1a0d7e71b869b40bd40f956 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1e4bfdd19db7f72d7227b22a9109ea93 = $(`<div id=&quot;html_1e4bfdd19db7f72d7227b22a9109ea93&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Riceville Fire Department</div>`)[0];
                popup_cb31130dd1a0d7e71b869b40bd40f956.setContent(html_1e4bfdd19db7f72d7227b22a9109ea93);
            
        

        circle_marker_5105df6064f95716275a8fc4c5b15e69.bindPopup(popup_cb31130dd1a0d7e71b869b40bd40f956)
        ;

        
    
    
            var circle_marker_af34c13e7c9d37f9d1001b41d4b54515 = L.circleMarker(
                [43.2838081, -92.8150981],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_605959117828d72763c50e5017b2439a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_95a948346affebb3eff287f1c89e255d = $(`<div id=&quot;html_95a948346affebb3eff287f1c89e255d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Osage Fire Department</div>`)[0];
                popup_605959117828d72763c50e5017b2439a.setContent(html_95a948346affebb3eff287f1c89e255d);
            
        

        circle_marker_af34c13e7c9d37f9d1001b41d4b54515.bindPopup(popup_605959117828d72763c50e5017b2439a)
        ;

        
    
    
            var circle_marker_4f8a2e0bb306aab87f8529d09bebbb63 = L.circleMarker(
                [43.3780229, -92.9213066],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9bb034c9cdb5da5d263d377b941fa658 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b7fcf155832bb12420a62042efd5ec55 = $(`<div id=&quot;html_b7fcf155832bb12420a62042efd5ec55&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Saint Ansgar City Fire Department</div>`)[0];
                popup_9bb034c9cdb5da5d263d377b941fa658.setContent(html_b7fcf155832bb12420a62042efd5ec55);
            
        

        circle_marker_4f8a2e0bb306aab87f8529d09bebbb63.bindPopup(popup_9bb034c9cdb5da5d263d377b941fa658)
        ;

        
    
    
            var circle_marker_b0ab3b8dd63a992aaa4a93f3311c436e = L.circleMarker(
                [42.9532779, -91.6429692],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_65018967a6cb5e04916c149b46e01302 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_656a3516e4dd789576fa3b9323b6e117 = $(`<div id=&quot;html_656a3516e4dd789576fa3b9323b6e117&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Elgin Fire Department</div>`)[0];
                popup_65018967a6cb5e04916c149b46e01302.setContent(html_656a3516e4dd789576fa3b9323b6e117);
            
        

        circle_marker_b0ab3b8dd63a992aaa4a93f3311c436e.bindPopup(popup_65018967a6cb5e04916c149b46e01302)
        ;

        
    
    
            var circle_marker_a988bf6a9062f8736d513e7b2703451d = L.circleMarker(
                [42.7487377, -91.6708614],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1e59f13af2d99168175833b8290037ce = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7e0980e9d4893352eda22c9cf8787db3 = $(`<div id=&quot;html_7e0980e9d4893352eda22c9cf8787db3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Arlington Volunteer Fire Department</div>`)[0];
                popup_1e59f13af2d99168175833b8290037ce.setContent(html_7e0980e9d4893352eda22c9cf8787db3);
            
        

        circle_marker_a988bf6a9062f8736d513e7b2703451d.bindPopup(popup_1e59f13af2d99168175833b8290037ce)
        ;

        
    
    
            var circle_marker_b77587f3b41d429eee0168ef03a0adf9 = L.circleMarker(
                [43.0603868, -92.6724061],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1e24aa6deb60610aa914b6efce313879 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_033617cca8e3dc0d916c72aba9d5071c = $(`<div id=&quot;html_033617cca8e3dc0d916c72aba9d5071c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Charles City Fire Department</div>`)[0];
                popup_1e24aa6deb60610aa914b6efce313879.setContent(html_033617cca8e3dc0d916c72aba9d5071c);
            
        

        circle_marker_b77587f3b41d429eee0168ef03a0adf9.bindPopup(popup_1e24aa6deb60610aa914b6efce313879)
        ;

        
    
    
            var circle_marker_bca690b445541c55b40af134f44750d0 = L.circleMarker(
                [42.9639427, -92.8680925],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7a779d3f0a2c5320be9a1b7f1a78eda2 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e813996d06257db8095e63ba8e02de61 = $(`<div id=&quot;html_e813996d06257db8095e63ba8e02de61&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Marble Rock Community Fire Company</div>`)[0];
                popup_7a779d3f0a2c5320be9a1b7f1a78eda2.setContent(html_e813996d06257db8095e63ba8e02de61);
            
        

        circle_marker_bca690b445541c55b40af134f44750d0.bindPopup(popup_7a779d3f0a2c5320be9a1b7f1a78eda2)
        ;

        
    
    
            var circle_marker_ccf4ec20f27c3abcfe2de09ae14ec253 = L.circleMarker(
                [42.5690464, -92.775732],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f05c2dc8e3de75813f3b9a67addff006 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_01ecb217933cc90e0833bdb05fd9fb8f = $(`<div id=&quot;html_01ecb217933cc90e0833bdb05fd9fb8f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Parkersburg Fire Department</div>`)[0];
                popup_f05c2dc8e3de75813f3b9a67addff006.setContent(html_01ecb217933cc90e0833bdb05fd9fb8f);
            
        

        circle_marker_ccf4ec20f27c3abcfe2de09ae14ec253.bindPopup(popup_f05c2dc8e3de75813f3b9a67addff006)
        ;

        
    
    
            var circle_marker_b94f4ea66d32b11124e04bdf210f2b57 = L.circleMarker(
                [42.7151974, -92.5771569],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_83e1c4c9024c9e61d01817162f609fb2 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_86348c58c5819b629a60b325bd1f15de = $(`<div id=&quot;html_86348c58c5819b629a60b325bd1f15de&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Shell Rock Fire Station</div>`)[0];
                popup_83e1c4c9024c9e61d01817162f609fb2.setContent(html_86348c58c5819b629a60b325bd1f15de);
            
        

        circle_marker_b94f4ea66d32b11124e04bdf210f2b57.bindPopup(popup_83e1c4c9024c9e61d01817162f609fb2)
        ;

        
    
    
            var circle_marker_eac555bbeb3f9865f12941551ceac84d = L.circleMarker(
                [42.5682621, -92.6224398],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2c718446a2e344233413b9dd1f7e0b64 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9085d891dc045c59f04c9415d8e16310 = $(`<div id=&quot;html_9085d891dc045c59f04c9415d8e16310&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>New Hartford Fire Department</div>`)[0];
                popup_2c718446a2e344233413b9dd1f7e0b64.setContent(html_9085d891dc045c59f04c9415d8e16310);
            
        

        circle_marker_eac555bbeb3f9865f12941551ceac84d.bindPopup(popup_2c718446a2e344233413b9dd1f7e0b64)
        ;

        
    
    
            var circle_marker_3e1da2e231b468f37cdd28e59c5d7afa = L.circleMarker(
                [42.7245546, -92.4716119],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0c2ca4d6eeafcfd615fb3ab255a2d5bb = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ec6ef08d4310d7ce1a790517f6e0c3c7 = $(`<div id=&quot;html_ec6ef08d4310d7ce1a790517f6e0c3c7&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Waverly Fire Department</div>`)[0];
                popup_0c2ca4d6eeafcfd615fb3ab255a2d5bb.setContent(html_ec6ef08d4310d7ce1a790517f6e0c3c7);
            
        

        circle_marker_3e1da2e231b468f37cdd28e59c5d7afa.bindPopup(popup_0c2ca4d6eeafcfd615fb3ab255a2d5bb)
        ;

        
    
    
            var circle_marker_af5e4996a3120f1f914cd28d09e5d883 = L.circleMarker(
                [42.7733872, -92.9060672],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ad5854848f82b4807d0503d29dcd3428 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f2586569bd37bc0fe8ae9b5ea932147f = $(`<div id=&quot;html_f2586569bd37bc0fe8ae9b5ea932147f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bristow Fire Department</div>`)[0];
                popup_ad5854848f82b4807d0503d29dcd3428.setContent(html_f2586569bd37bc0fe8ae9b5ea932147f);
            
        

        circle_marker_af5e4996a3120f1f914cd28d09e5d883.bindPopup(popup_ad5854848f82b4807d0503d29dcd3428)
        ;

        
    
    
            var circle_marker_6b25892f335820306b92b3b301542f00 = L.circleMarker(
                [42.6473957, -92.4627854],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5f8665b54a8882bad6582d3b89ddbde7 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_01f8afbea63887615e6a43a347b3b155 = $(`<div id=&quot;html_01f8afbea63887615e6a43a347b3b155&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Janesville Fire Rescue</div>`)[0];
                popup_5f8665b54a8882bad6582d3b89ddbde7.setContent(html_01f8afbea63887615e6a43a347b3b155);
            
        

        circle_marker_6b25892f335820306b92b3b301542f00.bindPopup(popup_5f8665b54a8882bad6582d3b89ddbde7)
        ;

        
    
    
            var circle_marker_feb8d3ef35ba9b39f6e827e966e7c149 = L.circleMarker(
                [43.052077, -92.3185676],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_32a54052b00ea9ca887733810e9c7e25 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_962b6083fdaa01f0ca43496d62f43d87 = $(`<div id=&quot;html_962b6083fdaa01f0ca43496d62f43d87&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>New Hampton Fire Department</div>`)[0];
                popup_32a54052b00ea9ca887733810e9c7e25.setContent(html_962b6083fdaa01f0ca43496d62f43d87);
            
        

        circle_marker_feb8d3ef35ba9b39f6e827e966e7c149.bindPopup(popup_32a54052b00ea9ca887733810e9c7e25)
        ;

        
    
    
            var circle_marker_b82f709b5fa97d8fa2dc0a9be61bffae = L.circleMarker(
                [43.4960923, -91.2881871],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2eca0ed9ac92523191c3f70cdf9cfe1e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f3374a9ea7ebff072e36bb36ac11bec2 = $(`<div id=&quot;html_f3374a9ea7ebff072e36bb36ac11bec2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>New Albin Fire Department</div>`)[0];
                popup_2eca0ed9ac92523191c3f70cdf9cfe1e.setContent(html_f3374a9ea7ebff072e36bb36ac11bec2);
            
        

        circle_marker_b82f709b5fa97d8fa2dc0a9be61bffae.bindPopup(popup_2eca0ed9ac92523191c3f70cdf9cfe1e)
        ;

        
    
    
            var circle_marker_66dc41e964666f5bb8747effdfa62d92 = L.circleMarker(
                [43.4474378, -92.2811301],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ec07b89b59e6f872d75a5ee3b69efaea = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_408ef59758269ce1d450674aae74b314 = $(`<div id=&quot;html_408ef59758269ce1d450674aae74b314&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lime Springs Fire Department</div>`)[0];
                popup_ec07b89b59e6f872d75a5ee3b69efaea.setContent(html_408ef59758269ce1d450674aae74b314);
            
        

        circle_marker_66dc41e964666f5bb8747effdfa62d92.bindPopup(popup_ec07b89b59e6f872d75a5ee3b69efaea)
        ;

        
    
    
            var circle_marker_46c12c0668789d1679d89141e07f73eb = L.circleMarker(
                [43.3619039, -91.2148795],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_65a187af5037b5f380a33b2d36f674db = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_5a026a1f79d4cc40b7a293d61920d2ca = $(`<div id=&quot;html_5a026a1f79d4cc40b7a293d61920d2ca&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lansing Fire Station</div>`)[0];
                popup_65a187af5037b5f380a33b2d36f674db.setContent(html_5a026a1f79d4cc40b7a293d61920d2ca);
            
        

        circle_marker_46c12c0668789d1679d89141e07f73eb.bindPopup(popup_65a187af5037b5f380a33b2d36f674db)
        ;

        
    
    
            var circle_marker_18712e52d6b208c02d7cc2dddadf610c = L.circleMarker(
                [43.0537416, -91.3907149],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4a702a4349c25cee7d7084648d9acd2b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2b71b0a689242b181e057640d062cbe1 = $(`<div id=&quot;html_2b71b0a689242b181e057640d062cbe1&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Monona Fire Department</div>`)[0];
                popup_4a702a4349c25cee7d7084648d9acd2b.setContent(html_2b71b0a689242b181e057640d062cbe1);
            
        

        circle_marker_18712e52d6b208c02d7cc2dddadf610c.bindPopup(popup_4a702a4349c25cee7d7084648d9acd2b)
        ;

        
    
    
            var circle_marker_f724f8e88423840676c7de5a2fb04901 = L.circleMarker(
                [43.0869498, -91.5676626],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_8627affc181aa3a36e425a1555dacac1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_74933b06631a99b2d9472e93d406b6b3 = $(`<div id=&quot;html_74933b06631a99b2d9472e93d406b6b3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Postville Fire Department</div>`)[0];
                popup_8627affc181aa3a36e425a1555dacac1.setContent(html_74933b06631a99b2d9472e93d406b6b3);
            
        

        circle_marker_f724f8e88423840676c7de5a2fb04901.bindPopup(popup_8627affc181aa3a36e425a1555dacac1)
        ;

        
    
    
            var circle_marker_964cc88b632cb16e50c511881e9a3165 = L.circleMarker(
                [43.0222165, -91.1792269],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_89feb7d2c3e9aad167c0528ea7b7e16d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_97c9dac92a4a23539236688ca5ef9d42 = $(`<div id=&quot;html_97c9dac92a4a23539236688ca5ef9d42&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>McGregor Fire Department Hook and Ladder Company 1</div>`)[0];
                popup_89feb7d2c3e9aad167c0528ea7b7e16d.setContent(html_97c9dac92a4a23539236688ca5ef9d42);
            
        

        circle_marker_964cc88b632cb16e50c511881e9a3165.bindPopup(popup_89feb7d2c3e9aad167c0528ea7b7e16d)
        ;

        
    
    
            var circle_marker_0950876e17e70171d35573710e834ab8 = L.circleMarker(
                [42.7440161, -91.26688],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e5c3a8af70f0bf103c60efac91fab1fc = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d38821a123d31814fc7d3d9da34b1be1 = $(`<div id=&quot;html_d38821a123d31814fc7d3d9da34b1be1&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Garber Fire Department</div>`)[0];
                popup_e5c3a8af70f0bf103c60efac91fab1fc.setContent(html_d38821a123d31814fc7d3d9da34b1be1);
            
        

        circle_marker_0950876e17e70171d35573710e834ab8.bindPopup(popup_e5c3a8af70f0bf103c60efac91fab1fc)
        ;

        
    
    
            var circle_marker_baad6fd831a71ce08a7c024d1fc2befb = L.circleMarker(
                [42.9578991, -91.3683362],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_fa6979a561c5729064002bdd2056895b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8d41ab0564f9dcfe5977b2a2f1abb42a = $(`<div id=&quot;html_8d41ab0564f9dcfe5977b2a2f1abb42a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Farmersburg Fire Department</div>`)[0];
                popup_fa6979a561c5729064002bdd2056895b.setContent(html_8d41ab0564f9dcfe5977b2a2f1abb42a);
            
        

        circle_marker_baad6fd831a71ce08a7c024d1fc2befb.bindPopup(popup_fa6979a561c5729064002bdd2056895b)
        ;

        
    
    
            var circle_marker_b48069f2059f245f9010b76354993c78 = L.circleMarker(
                [40.7197816, -91.44998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f9178ddd4d6ccfb84e65279a0c0e8180 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9134a72313ee01e4edc87bd4a3451ce3 = $(`<div id=&quot;html_9134a72313ee01e4edc87bd4a3451ce3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>West Point Volunteer Fire Department</div>`)[0];
                popup_f9178ddd4d6ccfb84e65279a0c0e8180.setContent(html_9134a72313ee01e4edc87bd4a3451ce3);
            
        

        circle_marker_b48069f2059f245f9010b76354993c78.bindPopup(popup_f9178ddd4d6ccfb84e65279a0c0e8180)
        ;

        
    
    
            var circle_marker_03c7af58447b72aa258f13afad932e53 = L.circleMarker(
                [40.5299714, -91.4181615],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_dbf2cc716ccceb0242c385a3791851f8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c1ead49d9c2df5305de84b1134b299f0 = $(`<div id=&quot;html_c1ead49d9c2df5305de84b1134b299f0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Montrose Fire and Rescue</div>`)[0];
                popup_dbf2cc716ccceb0242c385a3791851f8.setContent(html_c1ead49d9c2df5305de84b1134b299f0);
            
        

        circle_marker_03c7af58447b72aa258f13afad932e53.bindPopup(popup_dbf2cc716ccceb0242c385a3791851f8)
        ;

        
    
    
            var circle_marker_29bb678d122a1f69416b881a053471c3 = L.circleMarker(
                [40.4008435, -91.3909879],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_908e17c79706f2e7511bf8156ab1e49d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9a809a832f9c8a9afa18e20c1a238f03 = $(`<div id=&quot;html_9a809a832f9c8a9afa18e20c1a238f03&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Keokuk Fire Department</div>`)[0];
                popup_908e17c79706f2e7511bf8156ab1e49d.setContent(html_9a809a832f9c8a9afa18e20c1a238f03);
            
        

        circle_marker_29bb678d122a1f69416b881a053471c3.bindPopup(popup_908e17c79706f2e7511bf8156ab1e49d)
        ;

        
    
    
            var circle_marker_804b1672a751365309e15e451e142277 = L.circleMarker(
                [40.8575312, -91.8338915],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0cb714b7ede30ac1c3fa0b9a9f21a386 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_988798ecca3ad94abfdf2f69b756a3db = $(`<div id=&quot;html_988798ecca3ad94abfdf2f69b756a3db&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Stockport Fire Department Station 1</div>`)[0];
                popup_0cb714b7ede30ac1c3fa0b9a9f21a386.setContent(html_988798ecca3ad94abfdf2f69b756a3db);
            
        

        circle_marker_804b1672a751365309e15e451e142277.bindPopup(popup_0cb714b7ede30ac1c3fa0b9a9f21a386)
        ;

        
    
    
            var circle_marker_68880abedc5d6bc106ec071446e2bd01 = L.circleMarker(
                [40.8787226, -91.9478392],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_30f7b68bd33f0c2fb90132ade84629f7 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_aa0dd46e6438c6fdd88216b9c8250e8c = $(`<div id=&quot;html_aa0dd46e6438c6fdd88216b9c8250e8c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Birmingham Fire Station</div>`)[0];
                popup_30f7b68bd33f0c2fb90132ade84629f7.setContent(html_aa0dd46e6438c6fdd88216b9c8250e8c);
            
        

        circle_marker_68880abedc5d6bc106ec071446e2bd01.bindPopup(popup_30f7b68bd33f0c2fb90132ade84629f7)
        ;

        
    
    
            var circle_marker_97a51180a12cb93d094a90b8ed414b62 = L.circleMarker(
                [40.6984373, -91.80408],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_515d5bf60f921b1f397bd6205179db1e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2c27451b6fd24f5de876aeede6ff46db = $(`<div id=&quot;html_2c27451b6fd24f5de876aeede6ff46db&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bonaparte City Fire Department</div>`)[0];
                popup_515d5bf60f921b1f397bd6205179db1e.setContent(html_2c27451b6fd24f5de876aeede6ff46db);
            
        

        circle_marker_97a51180a12cb93d094a90b8ed414b62.bindPopup(popup_515d5bf60f921b1f397bd6205179db1e)
        ;

        
    
    
            var circle_marker_6cd255187f13bfdec702e88b52808e99 = L.circleMarker(
                [40.6441318, -92.0691833],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_d44112929d1fdb84cb3be3972dc59488 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9b5ea1c8d6d18438482bee05b99a2a50 = $(`<div id=&quot;html_9b5ea1c8d6d18438482bee05b99a2a50&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cantril City Fire Department</div>`)[0];
                popup_d44112929d1fdb84cb3be3972dc59488.setContent(html_9b5ea1c8d6d18438482bee05b99a2a50);
            
        

        circle_marker_6cd255187f13bfdec702e88b52808e99.bindPopup(popup_d44112929d1fdb84cb3be3972dc59488)
        ;

        
    
    
            var circle_marker_4f148bbaa8f89325f88701fc70023003 = L.circleMarker(
                [40.8473562, -92.0823503],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ff4085cab2767fb883a753834c269446 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3a127739aefa7dfceac50021014e629f = $(`<div id=&quot;html_3a127739aefa7dfceac50021014e629f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Douds Fire Department</div>`)[0];
                popup_ff4085cab2767fb883a753834c269446.setContent(html_3a127739aefa7dfceac50021014e629f);
            
        

        circle_marker_4f148bbaa8f89325f88701fc70023003.bindPopup(popup_ff4085cab2767fb883a753834c269446)
        ;

        
    
    
            var circle_marker_8784327ba1065e3b7f2ca8ff5b403a3c = L.circleMarker(
                [40.7305349, -91.9607282],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c6d17fb2489f8e1129d9cbd38d00c443 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c4c60ff50ec15bdd7bdace4eff523edd = $(`<div id=&quot;html_c4c60ff50ec15bdd7bdace4eff523edd&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Keosauqua Fire Department</div>`)[0];
                popup_c6d17fb2489f8e1129d9cbd38d00c443.setContent(html_c4c60ff50ec15bdd7bdace4eff523edd);
            
        

        circle_marker_8784327ba1065e3b7f2ca8ff5b403a3c.bindPopup(popup_c6d17fb2489f8e1129d9cbd38d00c443)
        ;

        
    
    
            var circle_marker_a97ae748a76b30d2f943886d7b520d75 = L.circleMarker(
                [40.9953718, -92.1665228],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_61a30cb41778c489bb14c348f7b2d90b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_5931fa53cc1e8c8c03ec411a93e35c7e = $(`<div id=&quot;html_5931fa53cc1e8c8c03ec411a93e35c7e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Batavia City Fire Department</div>`)[0];
                popup_61a30cb41778c489bb14c348f7b2d90b.setContent(html_5931fa53cc1e8c8c03ec411a93e35c7e);
            
        

        circle_marker_a97ae748a76b30d2f943886d7b520d75.bindPopup(popup_61a30cb41778c489bb14c348f7b2d90b)
        ;

        
    
    
            var circle_marker_18e753ffa4c09f832a121e684fabbe3f = L.circleMarker(
                [40.9578267, -92.0512241],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0f76a6975b7cec77e00ed090ab028592 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_5d9ed0f94dcfdce92fd3539751c75172 = $(`<div id=&quot;html_5d9ed0f94dcfdce92fd3539751c75172&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Libertyville Fire Department</div>`)[0];
                popup_0f76a6975b7cec77e00ed090ab028592.setContent(html_5d9ed0f94dcfdce92fd3539751c75172);
            
        

        circle_marker_18e753ffa4c09f832a121e684fabbe3f.bindPopup(popup_0f76a6975b7cec77e00ed090ab028592)
        ;

        
    
    
            var circle_marker_f21c7c7fe6cfbc9b51d379b42deb471b = L.circleMarker(
                [41.0082301, -91.9654095],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0df7703d38497150d5692d6da6668005 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f9ea028b3f086e3d90a91dcb8c5fd8e6 = $(`<div id=&quot;html_f9ea028b3f086e3d90a91dcb8c5fd8e6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Fairfield Fire Department</div>`)[0];
                popup_0df7703d38497150d5692d6da6668005.setContent(html_f9ea028b3f086e3d90a91dcb8c5fd8e6);
            
        

        circle_marker_f21c7c7fe6cfbc9b51d379b42deb471b.bindPopup(popup_0df7703d38497150d5692d6da6668005)
        ;

        
    
    
            var circle_marker_4b96cddb53c88d55660acf96ec2c648b = L.circleMarker(
                [41.1851646, -91.9947249],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ff33e4a86569a188469e02ba9ea83e10 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2c9ff4453bc631a1aeb1533ba4b1ccc7 = $(`<div id=&quot;html_2c9ff4453bc631a1aeb1533ba4b1ccc7&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Richland Fire Department</div>`)[0];
                popup_ff33e4a86569a188469e02ba9ea83e10.setContent(html_2c9ff4453bc631a1aeb1533ba4b1ccc7);
            
        

        circle_marker_4b96cddb53c88d55660acf96ec2c648b.bindPopup(popup_ff33e4a86569a188469e02ba9ea83e10)
        ;

        
    
    
            var circle_marker_37a8f3ac42f309092e13d742f87c3f69 = L.circleMarker(
                [41.3985458, -92.3549416],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_750c5d3db2f6dc373d427580d9209124 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_fc10e6066d84bef3afb6f87af67c171a = $(`<div id=&quot;html_fc10e6066d84bef3afb6f87af67c171a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>What Cheer Fire Department</div>`)[0];
                popup_750c5d3db2f6dc373d427580d9209124.setContent(html_fc10e6066d84bef3afb6f87af67c171a);
            
        

        circle_marker_37a8f3ac42f309092e13d742f87c3f69.bindPopup(popup_750c5d3db2f6dc373d427580d9209124)
        ;

        
    
    
            var circle_marker_a8af557899e6ca397450fa15afe96e12 = L.circleMarker(
                [41.0966857, -91.2547322],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_882f0f2c72bf06bb9393191bcf7749be = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6d2cbbe9ad3cf6dbf02fc1b09ada6184 = $(`<div id=&quot;html_6d2cbbe9ad3cf6dbf02fc1b09ada6184&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Morning Sun Fire Department</div>`)[0];
                popup_882f0f2c72bf06bb9393191bcf7749be.setContent(html_6d2cbbe9ad3cf6dbf02fc1b09ada6184);
            
        

        circle_marker_a8af557899e6ca397450fa15afe96e12.bindPopup(popup_882f0f2c72bf06bb9393191bcf7749be)
        ;

        
    
    
            var circle_marker_c244a863ef5ff03a1f4b12728f1a687e = L.circleMarker(
                [41.2801413, -91.3562647],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_46e96c4f26c1251e7f76683f3240ee35 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_da51a7c260f68f179b524d56ec6d6392 = $(`<div id=&quot;html_da51a7c260f68f179b524d56ec6d6392&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Columbus Junction Fire Department</div>`)[0];
                popup_46e96c4f26c1251e7f76683f3240ee35.setContent(html_da51a7c260f68f179b524d56ec6d6392);
            
        

        circle_marker_c244a863ef5ff03a1f4b12728f1a687e.bindPopup(popup_46e96c4f26c1251e7f76683f3240ee35)
        ;

        
    
    
            var circle_marker_9257851e151e3f9cc182b6ce69766b30 = L.circleMarker(
                [41.6216017, -96.0115008],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_20dc2b47cd69d2e9894514a8ff35c16a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1c72cd799565d6d03a8663d38d2f9692 = $(`<div id=&quot;html_1c72cd799565d6d03a8663d38d2f9692&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Modale Fire Department</div>`)[0];
                popup_20dc2b47cd69d2e9894514a8ff35c16a.setContent(html_1c72cd799565d6d03a8663d38d2f9692);
            
        

        circle_marker_9257851e151e3f9cc182b6ce69766b30.bindPopup(popup_20dc2b47cd69d2e9894514a8ff35c16a)
        ;

        
    
    
            var circle_marker_62c39ed00325b73edebd805405d7518f = L.circleMarker(
                [41.7433323, -95.700796],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7bf88bb6cdcd487dda51cbf4984e6967 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d5036960f7722c85e2714401d0370271 = $(`<div id=&quot;html_d5036960f7722c85e2714401d0370271&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Woodbine Fire and Rescue Department</div>`)[0];
                popup_7bf88bb6cdcd487dda51cbf4984e6967.setContent(html_d5036960f7722c85e2714401d0370271);
            
        

        circle_marker_62c39ed00325b73edebd805405d7518f.bindPopup(popup_7bf88bb6cdcd487dda51cbf4984e6967)
        ;

        
    
    
            var circle_marker_03ba9cadeabec8b9e2e3056a0ab4fb94 = L.circleMarker(
                [41.8312102, -95.9254305],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b3fe8d63bb304f342962b374031c734a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3e9a8b43063cae78311308a868ce9baf = $(`<div id=&quot;html_3e9a8b43063cae78311308a868ce9baf&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Pisgah Fire Department</div>`)[0];
                popup_b3fe8d63bb304f342962b374031c734a.setContent(html_3e9a8b43063cae78311308a868ce9baf);
            
        

        circle_marker_03ba9cadeabec8b9e2e3056a0ab4fb94.bindPopup(popup_b3fe8d63bb304f342962b374031c734a)
        ;

        
    
    
            var circle_marker_667b34c717c38018f8d2dcefe43e1e4e = L.circleMarker(
                [42.0744985, -95.9086415],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_06798debf56906a9af99bb43b7cdbcfc = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_09f0338c717c70abb6be9f744e7b08df = $(`<div id=&quot;html_09f0338c717c70abb6be9f744e7b08df&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Castana Fire Department</div>`)[0];
                popup_06798debf56906a9af99bb43b7cdbcfc.setContent(html_09f0338c717c70abb6be9f744e7b08df);
            
        

        circle_marker_667b34c717c38018f8d2dcefe43e1e4e.bindPopup(popup_06798debf56906a9af99bb43b7cdbcfc)
        ;

        
    
    
            var circle_marker_943b95259fb0fba608db7a8d682d88ef = L.circleMarker(
                [42.0250924, -96.0950903],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4cfb92117a27819798bbdca261c18a48 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d5fddcf3093822676fa5c2cae4ea311d = $(`<div id=&quot;html_d5fddcf3093822676fa5c2cae4ea311d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Onawa Fire Department Station 1</div>`)[0];
                popup_4cfb92117a27819798bbdca261c18a48.setContent(html_d5fddcf3093822676fa5c2cae4ea311d);
            
        

        circle_marker_943b95259fb0fba608db7a8d682d88ef.bindPopup(popup_4cfb92117a27819798bbdca261c18a48)
        ;

        
    
    
            var circle_marker_3a405d070f1593aceaf59dec61d41c25 = L.circleMarker(
                [42.0499153, -95.7054786],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5a543f0c705e37d2e2608c234631ff25 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ab8f16c4a842de4fd11741e69a5ed962 = $(`<div id=&quot;html_ab8f16c4a842de4fd11741e69a5ed962&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ute Fire Department</div>`)[0];
                popup_5a543f0c705e37d2e2608c234631ff25.setContent(html_ab8f16c4a842de4fd11741e69a5ed962);
            
        

        circle_marker_3a405d070f1593aceaf59dec61d41c25.bindPopup(popup_5a543f0c705e37d2e2608c234631ff25)
        ;

        
    
    
            var circle_marker_63a039bd252c6f2f39b20dfe1ebca7db = L.circleMarker(
                [42.1648698, -95.7955363],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c515e23e41c1e6521a42b2ebdc5690f9 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_74d8014da05a99a8d788c733cde15a79 = $(`<div id=&quot;html_74d8014da05a99a8d788c733cde15a79&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Mapleton Fire Department</div>`)[0];
                popup_c515e23e41c1e6521a42b2ebdc5690f9.setContent(html_74d8014da05a99a8d788c733cde15a79);
            
        

        circle_marker_63a039bd252c6f2f39b20dfe1ebca7db.bindPopup(popup_c515e23e41c1e6521a42b2ebdc5690f9)
        ;

        
    
    
            var circle_marker_b007b95030e62daf3b067b1b702d73d0 = L.circleMarker(
                [41.4646227, -91.8289273],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e36349e5293fa72016acf7275e1ed275 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_15c5b7741e80ebdfd2c5bc746bd6d846 = $(`<div id=&quot;html_15c5b7741e80ebdfd2c5bc746bd6d846&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Wellman Volunteer Fire Department</div>`)[0];
                popup_e36349e5293fa72016acf7275e1ed275.setContent(html_15c5b7741e80ebdfd2c5bc746bd6d846);
            
        

        circle_marker_b007b95030e62daf3b067b1b702d73d0.bindPopup(popup_e36349e5293fa72016acf7275e1ed275)
        ;

        
    
    
            var circle_marker_60e67963e843267104904c62239f3e3f = L.circleMarker(
                [41.2889099, -91.5496059],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f0320d05fe5cbf38f550d4ba026a5385 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d897f7e2af132af818ccc78760cab002 = $(`<div id=&quot;html_d897f7e2af132af818ccc78760cab002&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ainsworth Fire Department</div>`)[0];
                popup_f0320d05fe5cbf38f550d4ba026a5385.setContent(html_d897f7e2af132af818ccc78760cab002);
            
        

        circle_marker_60e67963e843267104904c62239f3e3f.bindPopup(popup_f0320d05fe5cbf38f550d4ba026a5385)
        ;

        
    
    
            var circle_marker_0d381d60e7f31855ab33273cbb6e6624 = L.circleMarker(
                [41.2979851, -91.6896597],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_583da394ff28613300735c7a803d6e7b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a4cb6217e259c3a7b5d16812c0d61fcf = $(`<div id=&quot;html_a4cb6217e259c3a7b5d16812c0d61fcf&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Washington Fire Department</div>`)[0];
                popup_583da394ff28613300735c7a803d6e7b.setContent(html_a4cb6217e259c3a7b5d16812c0d61fcf);
            
        

        circle_marker_0d381d60e7f31855ab33273cbb6e6624.bindPopup(popup_583da394ff28613300735c7a803d6e7b)
        ;

        
    
    
            var circle_marker_8df617dbdb0676fbc4aaefded131cffc = L.circleMarker(
                [41.4846011, -91.7057041],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0c81a1e9c7798ff4a2b749a128520566 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_afe12e7bdfcf026bed3db65268be7d37 = $(`<div id=&quot;html_afe12e7bdfcf026bed3db65268be7d37&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Kalona Volunteer Fire Department</div>`)[0];
                popup_0c81a1e9c7798ff4a2b749a128520566.setContent(html_afe12e7bdfcf026bed3db65268be7d37);
            
        

        circle_marker_8df617dbdb0676fbc4aaefded131cffc.bindPopup(popup_0c81a1e9c7798ff4a2b749a128520566)
        ;

        
    
    
            var circle_marker_be6cbc3058c393c68e2bbe3e17cd17af = L.circleMarker(
                [40.9255252, -91.4019306],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7c0d81185ab7be94437226965155bb66 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4375d7d4c8415a0113caab7196f09a80 = $(`<div id=&quot;html_4375d7d4c8415a0113caab7196f09a80&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>New London City Fire Station</div>`)[0];
                popup_7c0d81185ab7be94437226965155bb66.setContent(html_4375d7d4c8415a0113caab7196f09a80);
            
        

        circle_marker_be6cbc3058c393c68e2bbe3e17cd17af.bindPopup(popup_7c0d81185ab7be94437226965155bb66)
        ;

        
    
    
            var circle_marker_090bcbad9e03a0de2e92e23456c7d878 = L.circleMarker(
                [41.1299575, -91.438984],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_075d708c0512e0eb6629a5eda3d6e87f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c05a93438bd3e2835e3af5372dcbbe5f = $(`<div id=&quot;html_c05a93438bd3e2835e3af5372dcbbe5f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Winfield Fire Department</div>`)[0];
                popup_075d708c0512e0eb6629a5eda3d6e87f.setContent(html_c05a93438bd3e2835e3af5372dcbbe5f);
            
        

        circle_marker_090bcbad9e03a0de2e92e23456c7d878.bindPopup(popup_075d708c0512e0eb6629a5eda3d6e87f)
        ;

        
    
    
            var circle_marker_495292e5d12bb6a53e2b014120b9440f = L.circleMarker(
                [41.3052657, -94.4613543],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_d773123917eda3e7284ed9bfd7a9a3d8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6042d27b76fe0e4d9d970ade43989c2b = $(`<div id=&quot;html_6042d27b76fe0e4d9d970ade43989c2b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Greenfield Fire Department</div>`)[0];
                popup_d773123917eda3e7284ed9bfd7a9a3d8.setContent(html_6042d27b76fe0e4d9d970ade43989c2b);
            
        

        circle_marker_495292e5d12bb6a53e2b014120b9440f.bindPopup(popup_d773123917eda3e7284ed9bfd7a9a3d8)
        ;

        
    
    
            var circle_marker_1338274fff1211cb0d4a054d2af12bdb = L.circleMarker(
                [41.4994103, -93.4875214],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_dde96c3946eba2417f2fc8db1acc7a44 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0d570d11b39f48c8f9293c00635711ca = $(`<div id=&quot;html_0d570d11b39f48c8f9293c00635711ca&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Carlisle City Fire Department</div>`)[0];
                popup_dde96c3946eba2417f2fc8db1acc7a44.setContent(html_0d570d11b39f48c8f9293c00635711ca);
            
        

        circle_marker_1338274fff1211cb0d4a054d2af12bdb.bindPopup(popup_dde96c3946eba2417f2fc8db1acc7a44)
        ;

        
    
    
            var circle_marker_e5a8739665d6336e91333f41f63ab0ae = L.circleMarker(
                [40.8904168, -92.8148952],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_af207d960ee720feb3477df299c710fb = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7306b0ac4f4038b84f611e752277c1a4 = $(`<div id=&quot;html_7306b0ac4f4038b84f611e752277c1a4&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Moravia Fire Station</div>`)[0];
                popup_af207d960ee720feb3477df299c710fb.setContent(html_7306b0ac4f4038b84f611e752277c1a4);
            
        

        circle_marker_e5a8739665d6336e91333f41f63ab0ae.bindPopup(popup_af207d960ee720feb3477df299c710fb)
        ;

        
    
    
            var circle_marker_ae770d08c191219c16ab0e35ebe25afe = L.circleMarker(
                [40.7322502, -92.871366],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9114adf77bfa2dfbc3626abd7970f9c2 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9281873613f374a0d8f9a02bf47b1c29 = $(`<div id=&quot;html_9281873613f374a0d8f9a02bf47b1c29&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Centerville Fire Department</div>`)[0];
                popup_9114adf77bfa2dfbc3626abd7970f9c2.setContent(html_9281873613f374a0d8f9a02bf47b1c29);
            
        

        circle_marker_ae770d08c191219c16ab0e35ebe25afe.bindPopup(popup_9114adf77bfa2dfbc3626abd7970f9c2)
        ;

        
    
    
            var circle_marker_ba0dbae8db96c572d692c454fcb8e013 = L.circleMarker(
                [41.3075783, -93.7310956],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_3eeb978d00087a4f41bebbb12e5cd156 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_78500dbe98d3d88ad52ae47d1e464f07 = $(`<div id=&quot;html_78500dbe98d3d88ad52ae47d1e464f07&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>St Marys Fire Department</div>`)[0];
                popup_3eeb978d00087a4f41bebbb12e5cd156.setContent(html_78500dbe98d3d88ad52ae47d1e464f07);
            
        

        circle_marker_ba0dbae8db96c572d692c454fcb8e013.bindPopup(popup_3eeb978d00087a4f41bebbb12e5cd156)
        ;

        
    
    
            var circle_marker_c7293551a94fa9f65bde32c8eaf58212 = L.circleMarker(
                [41.361002, -93.5592124],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_25fbd7b240d641ae500da6a3b96c5dce = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e62dbe2998af562de67caca8a7384c47 = $(`<div id=&quot;html_e62dbe2998af562de67caca8a7384c47&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Indianola Fire Department</div>`)[0];
                popup_25fbd7b240d641ae500da6a3b96c5dce.setContent(html_e62dbe2998af562de67caca8a7384c47);
            
        

        circle_marker_c7293551a94fa9f65bde32c8eaf58212.bindPopup(popup_25fbd7b240d641ae500da6a3b96c5dce)
        ;

        
    
    
            var circle_marker_ae6d9a9c5bd646fc611712f687ed3b27 = L.circleMarker(
                [41.4596298, -93.4037165],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a46f0cbfb0901000725b669b337f05f8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_91138c2ab9028cb62af77bac50b950bb = $(`<div id=&quot;html_91138c2ab9028cb62af77bac50b950bb&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hartford City Fire Department</div>`)[0];
                popup_a46f0cbfb0901000725b669b337f05f8.setContent(html_91138c2ab9028cb62af77bac50b950bb);
            
        

        circle_marker_ae6d9a9c5bd646fc611712f687ed3b27.bindPopup(popup_a46f0cbfb0901000725b669b337f05f8)
        ;

        
    
    
            var circle_marker_385dfc3c6664f08ea59fc1653ca2f8bb = L.circleMarker(
                [40.6239413, -93.9346432],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0c4a51e18883b377fdea7c1fb8ac87c8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2a26500a73128f0579e119b1ed7d4260 = $(`<div id=&quot;html_2a26500a73128f0579e119b1ed7d4260&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lamoni Fire Department</div>`)[0];
                popup_0c4a51e18883b377fdea7c1fb8ac87c8.setContent(html_2a26500a73128f0579e119b1ed7d4260);
            
        

        circle_marker_385dfc3c6664f08ea59fc1653ca2f8bb.bindPopup(popup_0c4a51e18883b377fdea7c1fb8ac87c8)
        ;

        
    
    
            var circle_marker_0eb33178315e860b40ddb24989e08a6e = L.circleMarker(
                [40.8693509, -93.7962629],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0911fa5f95b6c8bf866516c457c709bc = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6fbd982a45f2136d906accc117dfdc84 = $(`<div id=&quot;html_6fbd982a45f2136d906accc117dfdc84&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Van Wert Fire Department</div>`)[0];
                popup_0911fa5f95b6c8bf866516c457c709bc.setContent(html_6fbd982a45f2136d906accc117dfdc84);
            
        

        circle_marker_0eb33178315e860b40ddb24989e08a6e.bindPopup(popup_0911fa5f95b6c8bf866516c457c709bc)
        ;

        
    
    
            var circle_marker_a40a2c672ee1ddf77d4919eaad23e938 = L.circleMarker(
                [41.4488229, -95.1110809],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b5ab5976a446c96b320e1cd561846aba = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ed5538f0d993cce177d18739612df594 = $(`<div id=&quot;html_ed5538f0d993cce177d18739612df594&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Marne City Fire Station</div>`)[0];
                popup_b5ab5976a446c96b320e1cd561846aba.setContent(html_ed5538f0d993cce177d18739612df594);
            
        

        circle_marker_a40a2c672ee1ddf77d4919eaad23e938.bindPopup(popup_b5ab5976a446c96b320e1cd561846aba)
        ;

        
    
    
            var circle_marker_5a7900ad4f40040fb4e9a11227f4a263 = L.circleMarker(
                [41.4008595, -94.8875193],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6476f4458019ddddd9dbde1cae371728 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_08b0aa76cac7e1eaee1d93506e4ac894 = $(`<div id=&quot;html_08b0aa76cac7e1eaee1d93506e4ac894&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Wiota Fire Department</div>`)[0];
                popup_6476f4458019ddddd9dbde1cae371728.setContent(html_08b0aa76cac7e1eaee1d93506e4ac894);
            
        

        circle_marker_5a7900ad4f40040fb4e9a11227f4a263.bindPopup(popup_6476f4458019ddddd9dbde1cae371728)
        ;

        
    
    
            var circle_marker_b3019e97d31771c3eb4341d470816e0a = L.circleMarker(
                [41.2072641, -93.8471657],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_63187b19720d39860fc03ec8fda69725 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1f4e0106ade515164b1dc4104e623005 = $(`<div id=&quot;html_1f4e0106ade515164b1dc4104e623005&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Truro Fire and Rescue</div>`)[0];
                popup_63187b19720d39860fc03ec8fda69725.setContent(html_1f4e0106ade515164b1dc4104e623005);
            
        

        circle_marker_b3019e97d31771c3eb4341d470816e0a.bindPopup(popup_63187b19720d39860fc03ec8fda69725)
        ;

        
    
    
            var circle_marker_2ee3d7d99a2755d19d94448b323e8dfa = L.circleMarker(
                [40.7505773, -92.4140741],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_232cc1208899b2a1379221a6ced5d62f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_fbafa808fc21fb8586de043265c66a21 = $(`<div id=&quot;html_fbafa808fc21fb8586de043265c66a21&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bloomfield Fire Department</div>`)[0];
                popup_232cc1208899b2a1379221a6ced5d62f.setContent(html_fbafa808fc21fb8586de043265c66a21);
            
        

        circle_marker_2ee3d7d99a2755d19d94448b323e8dfa.bindPopup(popup_232cc1208899b2a1379221a6ced5d62f)
        ;

        
    
    
            var circle_marker_950f5a7f237dc6ffba97e6437fc56ffc = L.circleMarker(
                [40.696693, -92.2730809],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_aec05fbb3d1d9f00a7464bdc8e3e6941 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_daab989953d1db837ad265e39222f00f = $(`<div id=&quot;html_daab989953d1db837ad265e39222f00f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Pulaski Fire Department</div>`)[0];
                popup_aec05fbb3d1d9f00a7464bdc8e3e6941.setContent(html_daab989953d1db837ad265e39222f00f);
            
        

        circle_marker_950f5a7f237dc6ffba97e6437fc56ffc.bindPopup(popup_aec05fbb3d1d9f00a7464bdc8e3e6941)
        ;

        
    
    
            var circle_marker_32108addcd5368a9fe04e8e53941ba9e = L.circleMarker(
                [40.8652939, -92.3330026],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a75fa5962cafdee9524b622a2849a25f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3e421cfc78df5c8a86bb0154ad522f89 = $(`<div id=&quot;html_3e421cfc78df5c8a86bb0154ad522f89&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Floris Fire Department</div>`)[0];
                popup_a75fa5962cafdee9524b622a2849a25f.setContent(html_3e421cfc78df5c8a86bb0154ad522f89);
            
        

        circle_marker_32108addcd5368a9fe04e8e53941ba9e.bindPopup(popup_a75fa5962cafdee9524b622a2849a25f)
        ;

        
    
    
            var circle_marker_00ad78596f2faaa7da9c50f65de37913 = L.circleMarker(
                [40.7990355, -92.4832816],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_099126efe1475ef3736014a45e71a074 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f086880a907be773490607051cfc7b43 = $(`<div id=&quot;html_f086880a907be773490607051cfc7b43&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Drakesville Volunteer Fire Department</div>`)[0];
                popup_099126efe1475ef3736014a45e71a074.setContent(html_f086880a907be773490607051cfc7b43);
            
        

        circle_marker_00ad78596f2faaa7da9c50f65de37913.bindPopup(popup_099126efe1475ef3736014a45e71a074)
        ;

        
    
    
            var circle_marker_692dd19103e6de657b609fdf8d0cdd1a = L.circleMarker(
                [41.2239941, -93.2405727],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9699ceb6a95930c3e668dc6c791ea89c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7bb56e5feb92e001d65923a4465cd7cd = $(`<div id=&quot;html_7bb56e5feb92e001d65923a4465cd7cd&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Melcher-Dallas Fire Department</div>`)[0];
                popup_9699ceb6a95930c3e668dc6c791ea89c.setContent(html_7bb56e5feb92e001d65923a4465cd7cd);
            
        

        circle_marker_692dd19103e6de657b609fdf8d0cdd1a.bindPopup(popup_9699ceb6a95930c3e668dc6c791ea89c)
        ;

        
    
    
            var circle_marker_1a6a6aa206cdcbeb5c88cd4e69ecf920 = L.circleMarker(
                [40.7564127, -93.3176752],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_680b35f92664c8cb582cc4fedefd6bb2 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ddd4426569d1a7b01d83201710d9bbd6 = $(`<div id=&quot;html_ddd4426569d1a7b01d83201710d9bbd6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Corydon Volunteer Fire Department</div>`)[0];
                popup_680b35f92664c8cb582cc4fedefd6bb2.setContent(html_ddd4426569d1a7b01d83201710d9bbd6);
            
        

        circle_marker_1a6a6aa206cdcbeb5c88cd4e69ecf920.bindPopup(popup_680b35f92664c8cb582cc4fedefd6bb2)
        ;

        
    
    
            var circle_marker_00296bd584a5bbee9fed5942766ce14e = L.circleMarker(
                [41.0138503, -93.3087923],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b7b1570d5b200cb8c88681b19352580e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_68bf92b1413e2b7d913c81a2c7777bf3 = $(`<div id=&quot;html_68bf92b1413e2b7d913c81a2c7777bf3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Chariton Volunteer Fire Department</div>`)[0];
                popup_b7b1570d5b200cb8c88681b19352580e.setContent(html_68bf92b1413e2b7d913c81a2c7777bf3);
            
        

        circle_marker_00296bd584a5bbee9fed5942766ce14e.bindPopup(popup_b7b1570d5b200cb8c88681b19352580e)
        ;

        
    
    
            var circle_marker_697059b9c4837651627944a74efa0f63 = L.circleMarker(
                [41.2936421, -92.6446017],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5727575b5676aeab75613122697cf196 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b7fc667e24fccf7a658d28941b204788 = $(`<div id=&quot;html_b7fc667e24fccf7a658d28941b204788&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Oskaloosa Fire Department</div>`)[0];
                popup_5727575b5676aeab75613122697cf196.setContent(html_b7fc667e24fccf7a658d28941b204788);
            
        

        circle_marker_697059b9c4837651627944a74efa0f63.bindPopup(popup_5727575b5676aeab75613122697cf196)
        ;

        
    
    
            var circle_marker_5954b65f9d9ab8cbd79962521d847a7f = L.circleMarker(
                [41.4699742, -92.6498746],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_116b8bb1c553d70e6198f71eebac86e6 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c5ef57e4059234ca815ada0349665d51 = $(`<div id=&quot;html_c5ef57e4059234ca815ada0349665d51&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>New Sharon Fire and Rescue Association Department</div>`)[0];
                popup_116b8bb1c553d70e6198f71eebac86e6.setContent(html_c5ef57e4059234ca815ada0349665d51);
            
        

        circle_marker_5954b65f9d9ab8cbd79962521d847a7f.bindPopup(popup_116b8bb1c553d70e6198f71eebac86e6)
        ;

        
    
    
            var circle_marker_b2d90e0c407ae2bda2a891fab2c51d71 = L.circleMarker(
                [40.6836955, -92.6768706],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e306f7265aceddc86445b62eb47eee64 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ecb139b9a0036173154e3f8974e0c21e = $(`<div id=&quot;html_ecb139b9a0036173154e3f8974e0c21e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Moulton Fire Department</div>`)[0];
                popup_e306f7265aceddc86445b62eb47eee64.setContent(html_ecb139b9a0036173154e3f8974e0c21e);
            
        

        circle_marker_b2d90e0c407ae2bda2a891fab2c51d71.bindPopup(popup_e306f7265aceddc86445b62eb47eee64)
        ;

        
    
    
            var circle_marker_84e2d3a8e50ea75f223f19ffbaebd596 = L.circleMarker(
                [40.7852547, -92.9450744],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2b51d2623d8980495f2d58fd4789b9b0 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_178a947b6d932de0ddf86049379c02cf = $(`<div id=&quot;html_178a947b6d932de0ddf86049379c02cf&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Mystic Fire Department</div>`)[0];
                popup_2b51d2623d8980495f2d58fd4789b9b0.setContent(html_178a947b6d932de0ddf86049379c02cf);
            
        

        circle_marker_84e2d3a8e50ea75f223f19ffbaebd596.bindPopup(popup_2b51d2623d8980495f2d58fd4789b9b0)
        ;

        
    
    
            var circle_marker_60aa0c28ed6f5f5f2d677cd47709c0a5 = L.circleMarker(
                [41.0255359, -92.8103902],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_04265a28aab8d65f06b543877f24d458 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c9b8c10f02d1d56712cce68b32de326c = $(`<div id=&quot;html_c9b8c10f02d1d56712cce68b32de326c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Albia Fire Department</div>`)[0];
                popup_04265a28aab8d65f06b543877f24d458.setContent(html_c9b8c10f02d1d56712cce68b32de326c);
            
        

        circle_marker_60aa0c28ed6f5f5f2d677cd47709c0a5.bindPopup(popup_04265a28aab8d65f06b543877f24d458)
        ;

        
    
    
            var circle_marker_28b641f04bc8c334ce44c3b72c5f1a71 = L.circleMarker(
                [40.9758226, -93.047306],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ad855b45571b4071d9767907981a851a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9439aae3147c989bd935d8649649fbeb = $(`<div id=&quot;html_9439aae3147c989bd935d8649649fbeb&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Melrose Fire Department</div>`)[0];
                popup_ad855b45571b4071d9767907981a851a.setContent(html_9439aae3147c989bd935d8649649fbeb);
            
        

        circle_marker_28b641f04bc8c334ce44c3b72c5f1a71.bindPopup(popup_ad855b45571b4071d9767907981a851a)
        ;

        
    
    
            var circle_marker_40b085291747a68f8cea634e280430ee = L.circleMarker(
                [40.8665941, -91.3160596],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_40cb468e93dca0a488d58da0dee98f5c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2c858f2a716dc89f6d21644903cd5858 = $(`<div id=&quot;html_2c858f2a716dc89f6d21644903cd5858&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Danville Fire Department</div>`)[0];
                popup_40cb468e93dca0a488d58da0dee98f5c.setContent(html_2c858f2a716dc89f6d21644903cd5858);
            
        

        circle_marker_40b085291747a68f8cea634e280430ee.bindPopup(popup_40cb468e93dca0a488d58da0dee98f5c)
        ;

        
    
    
            var circle_marker_a915630b07b12a8f58e486ab5e3fc406 = L.circleMarker(
                [41.0076329, -91.1658762],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_340e4c82e3031462ae771e5058ac4264 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_057e5f214a69b941b5a4a3397dc3c765 = $(`<div id=&quot;html_057e5f214a69b941b5a4a3397dc3c765&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Mediapolis City Fire Department</div>`)[0];
                popup_340e4c82e3031462ae771e5058ac4264.setContent(html_057e5f214a69b941b5a4a3397dc3c765);
            
        

        circle_marker_a915630b07b12a8f58e486ab5e3fc406.bindPopup(popup_340e4c82e3031462ae771e5058ac4264)
        ;

        
    
    
            var circle_marker_5a81caf95b641dacb1b7d7a93f03d88c = L.circleMarker(
                [40.7852653, -91.1169844],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_08cc4d732a4f70223430c8309db5a617 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_55341b1433322d2ffbca457de6bc2ae5 = $(`<div id=&quot;html_55341b1433322d2ffbca457de6bc2ae5&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Burlington Fire Station Two</div>`)[0];
                popup_08cc4d732a4f70223430c8309db5a617.setContent(html_55341b1433322d2ffbca457de6bc2ae5);
            
        

        circle_marker_5a81caf95b641dacb1b7d7a93f03d88c.bindPopup(popup_08cc4d732a4f70223430c8309db5a617)
        ;

        
    
    
            var circle_marker_ca4637c79b619c577059d38238ca0467 = L.circleMarker(
                [42.465376, -95.6749086],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0c7c5ab92dcef421601401898bccf08e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_45556113f8e555af5d0b4ba864033774 = $(`<div id=&quot;html_45556113f8e555af5d0b4ba864033774&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cushing Fire and Rescue</div>`)[0];
                popup_0c7c5ab92dcef421601401898bccf08e.setContent(html_45556113f8e555af5d0b4ba864033774);
            
        

        circle_marker_ca4637c79b619c577059d38238ca0467.bindPopup(popup_0c7c5ab92dcef421601401898bccf08e)
        ;

        
    
    
            var circle_marker_45438aeeed4164c136fd665a4ebeedfd = L.circleMarker(
                [42.3076512, -96.2876028],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2f852ebe22ab5a1c53eb44100e7f5b2e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_183d19e7068ffbe21d6d002cc55b2061 = $(`<div id=&quot;html_183d19e7068ffbe21d6d002cc55b2061&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Salix Volunteer Fire Department</div>`)[0];
                popup_2f852ebe22ab5a1c53eb44100e7f5b2e.setContent(html_183d19e7068ffbe21d6d002cc55b2061);
            
        

        circle_marker_45438aeeed4164c136fd665a4ebeedfd.bindPopup(popup_2f852ebe22ab5a1c53eb44100e7f5b2e)
        ;

        
    
    
            var circle_marker_3de5ec1135359c0b357a3251d26cfdfa = L.circleMarker(
                [42.2358045, -96.2303483],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_bd1321b1133332dcffa2658bc639013b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8b7204b2c2cf446a61e90599e0b9b3b2 = $(`<div id=&quot;html_8b7204b2c2cf446a61e90599e0b9b3b2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sloan Fire Department</div>`)[0];
                popup_bd1321b1133332dcffa2658bc639013b.setContent(html_8b7204b2c2cf446a61e90599e0b9b3b2);
            
        

        circle_marker_3de5ec1135359c0b357a3251d26cfdfa.bindPopup(popup_bd1321b1133332dcffa2658bc639013b)
        ;

        
    
    
            var circle_marker_0f361c8fbb748c9e4e6b62e5d61bbc65 = L.circleMarker(
                [42.496661, -96.4066959],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4021daf68eb7937f403962a87634888f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f364616104fd2b9e16f56e5513f2df14 = $(`<div id=&quot;html_f364616104fd2b9e16f56e5513f2df14&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sioux City Fire Department</div>`)[0];
                popup_4021daf68eb7937f403962a87634888f.setContent(html_f364616104fd2b9e16f56e5513f2df14);
            
        

        circle_marker_0f361c8fbb748c9e4e6b62e5d61bbc65.bindPopup(popup_4021daf68eb7937f403962a87634888f)
        ;

        
    
    
            var circle_marker_ff5c7bafed6215026329f2b6385b2aa8 = L.circleMarker(
                [42.1844526, -94.6913063],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ae5fd3baeb51b305107fa5eb061ba76f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_24a958574b8ea6a8c6142ecb23a98a4d = $(`<div id=&quot;html_24a958574b8ea6a8c6142ecb23a98a4d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lanesboro Fire Station</div>`)[0];
                popup_ae5fd3baeb51b305107fa5eb061ba76f.setContent(html_24a958574b8ea6a8c6142ecb23a98a4d);
            
        

        circle_marker_ff5c7bafed6215026329f2b6385b2aa8.bindPopup(popup_ae5fd3baeb51b305107fa5eb061ba76f)
        ;

        
    
    
            var circle_marker_3e9ea11bfec96f878de5a194def8497d = L.circleMarker(
                [42.0882817, -95.0427509],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1f31e40ab0826b4390b1feb87c652d14 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1f83c75a85e03f00d0d6afa2aeb8d5f3 = $(`<div id=&quot;html_1f83c75a85e03f00d0d6afa2aeb8d5f3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Arcadia Fire Department</div>`)[0];
                popup_1f31e40ab0826b4390b1feb87c652d14.setContent(html_1f83c75a85e03f00d0d6afa2aeb8d5f3);
            
        

        circle_marker_3e9ea11bfec96f878de5a194def8497d.bindPopup(popup_1f31e40ab0826b4390b1feb87c652d14)
        ;

        
    
    
            var circle_marker_5e1255eb625b4f4a75a92796f26648ab = L.circleMarker(
                [42.18245, -94.975177],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_704a55d8c080df695d4fe486a6d0a17e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ced8553448247973e04dc77ddaafdfbe = $(`<div id=&quot;html_ced8553448247973e04dc77ddaafdfbe&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Breda Fire Hall</div>`)[0];
                popup_704a55d8c080df695d4fe486a6d0a17e.setContent(html_ced8553448247973e04dc77ddaafdfbe);
            
        

        circle_marker_5e1255eb625b4f4a75a92796f26648ab.bindPopup(popup_704a55d8c080df695d4fe486a6d0a17e)
        ;

        
    
    
            var circle_marker_15bec5169d61171e47daff0eeb38b3c8 = L.circleMarker(
                [41.7226143, -94.936325],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1cc092a7bfff8495af87ffa8a260579c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_157ae972da416fad29de1d4b4ce40232 = $(`<div id=&quot;html_157ae972da416fad29de1d4b4ce40232&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Audubon Fire Department</div>`)[0];
                popup_1cc092a7bfff8495af87ffa8a260579c.setContent(html_157ae972da416fad29de1d4b4ce40232);
            
        

        circle_marker_15bec5169d61171e47daff0eeb38b3c8.bindPopup(popup_1cc092a7bfff8495af87ffa8a260579c)
        ;

        
    
    
            var circle_marker_38afdc4d08cb821750bb9fed73a8b72b = L.circleMarker(
                [41.6292677, -95.0712791],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_66e3c6aa08ce4252c3daf79d3e0ef679 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a51cd2ae317d51fd541e30f8b0ca9cf3 = $(`<div id=&quot;html_a51cd2ae317d51fd541e30f8b0ca9cf3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Kimballton City Fire Department</div>`)[0];
                popup_66e3c6aa08ce4252c3daf79d3e0ef679.setContent(html_a51cd2ae317d51fd541e30f8b0ca9cf3);
            
        

        circle_marker_38afdc4d08cb821750bb9fed73a8b72b.bindPopup(popup_66e3c6aa08ce4252c3daf79d3e0ef679)
        ;

        
    
    
            var circle_marker_a4485760f168870c126f1f361f552092 = L.circleMarker(
                [42.0169505, -94.3738436],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_29304beda9d169d5e56a0233273c9060 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0b7128e5f42075ba7fe60cccfe101884 = $(`<div id=&quot;html_0b7128e5f42075ba7fe60cccfe101884&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Jefferson Volunteer Fire Department</div>`)[0];
                popup_29304beda9d169d5e56a0233273c9060.setContent(html_0b7128e5f42075ba7fe60cccfe101884);
            
        

        circle_marker_a4485760f168870c126f1f361f552092.bindPopup(popup_29304beda9d169d5e56a0233273c9060)
        ;

        
    
    
            var circle_marker_cf878e3a42cf7499e004706d0eada50f = L.circleMarker(
                [42.1659655, -94.2545689],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_83b3561bbb2485a6ba8e1e05eb2954d1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3f820c39a3a4df1887fc7c5750306609 = $(`<div id=&quot;html_3f820c39a3a4df1887fc7c5750306609&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Paton Fire Department</div>`)[0];
                popup_83b3561bbb2485a6ba8e1e05eb2954d1.setContent(html_3f820c39a3a4df1887fc7c5750306609);
            
        

        circle_marker_cf878e3a42cf7499e004706d0eada50f.bindPopup(popup_83b3561bbb2485a6ba8e1e05eb2954d1)
        ;

        
    
    
            var circle_marker_bbf9c0115ba256f1f1ad4a19cafeae2e = L.circleMarker(
                [42.2703649, -94.548618],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ac130026bbe67e99b502ee68425e7d30 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1f6e892d5c8b9bbcc095ad5f4cff8a03 = $(`<div id=&quot;html_1f6e892d5c8b9bbcc095ad5f4cff8a03&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lohrville Fire Station</div>`)[0];
                popup_ac130026bbe67e99b502ee68425e7d30.setContent(html_1f6e892d5c8b9bbcc095ad5f4cff8a03);
            
        

        circle_marker_bbf9c0115ba256f1f1ad4a19cafeae2e.bindPopup(popup_ac130026bbe67e99b502ee68425e7d30)
        ;

        
    
    
            var circle_marker_9677cf0adb3e56fc2f7d5e18d7ab0a48 = L.circleMarker(
                [42.4555372, -94.4569149],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_057bb1ba7b6cca42621ee65e99ae65e1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_712c6d5f3fdb1e0331119bc3ed9d3d68 = $(`<div id=&quot;html_712c6d5f3fdb1e0331119bc3ed9d3d68&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Knierim Fire Department</div>`)[0];
                popup_057bb1ba7b6cca42621ee65e99ae65e1.setContent(html_712c6d5f3fdb1e0331119bc3ed9d3d68);
            
        

        circle_marker_9677cf0adb3e56fc2f7d5e18d7ab0a48.bindPopup(popup_057bb1ba7b6cca42621ee65e99ae65e1)
        ;

        
    
    
            var circle_marker_28aa919a25804884ee7129fffb7a8cd0 = L.circleMarker(
                [41.6774389, -94.5071902],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0755704a72dd3822b95e9d39615d9ad7 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e82dfb6015e8f698ec66fa72cc078432 = $(`<div id=&quot;html_e82dfb6015e8f698ec66fa72cc078432&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Guthrie Fire Station</div>`)[0];
                popup_0755704a72dd3822b95e9d39615d9ad7.setContent(html_e82dfb6015e8f698ec66fa72cc078432);
            
        

        circle_marker_28aa919a25804884ee7129fffb7a8cd0.bindPopup(popup_0755704a72dd3822b95e9d39615d9ad7)
        ;

        
    
    
            var circle_marker_970725f97733624523a51eb9a2529982 = L.circleMarker(
                [41.5061642, -94.5228134],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_cf9cdfbcbf4609bdc42e28a67660e271 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_712ffee0f7c9d3efd622aef3ec36b7e4 = $(`<div id=&quot;html_712ffee0f7c9d3efd622aef3ec36b7e4&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Casey Fire Department</div>`)[0];
                popup_cf9cdfbcbf4609bdc42e28a67660e271.setContent(html_712ffee0f7c9d3efd622aef3ec36b7e4);
            
        

        circle_marker_970725f97733624523a51eb9a2529982.bindPopup(popup_cf9cdfbcbf4609bdc42e28a67660e271)
        ;

        
    
    
            var circle_marker_c7e6bed6b3a4ecd54c6ceae2a4ca82e2 = L.circleMarker(
                [42.1554505, -94.4790911],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ed5c0b7841d582273aaccfb5651fd2ab = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_170152207a4dec3bf84520981d04fdfc = $(`<div id=&quot;html_170152207a4dec3bf84520981d04fdfc&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Churdan Fire and Rescue</div>`)[0];
                popup_ed5c0b7841d582273aaccfb5651fd2ab.setContent(html_170152207a4dec3bf84520981d04fdfc);
            
        

        circle_marker_c7e6bed6b3a4ecd54c6ceae2a4ca82e2.bindPopup(popup_ed5c0b7841d582273aaccfb5651fd2ab)
        ;

        
    
    
            var circle_marker_54ae6d5a1fc1e4cb911f2c60d7a78a51 = L.circleMarker(
                [41.5039798, -94.3163055],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4bd27782adf9e17e10bcd2b8c600ed27 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_00f074f356ec230f0ab380c9ecdfcf92 = $(`<div id=&quot;html_00f074f356ec230f0ab380c9ecdfcf92&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Stuart Fire / Rescue Department</div>`)[0];
                popup_4bd27782adf9e17e10bcd2b8c600ed27.setContent(html_00f074f356ec230f0ab380c9ecdfcf92);
            
        

        circle_marker_54ae6d5a1fc1e4cb911f2c60d7a78a51.bindPopup(popup_4bd27782adf9e17e10bcd2b8c600ed27)
        ;

        
    
    
            var circle_marker_0179266cf34446c7bcb0bc63c4b7dd6a = L.circleMarker(
                [42.478865, -96.1846083],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ede076c0d1308b4cf0f389ce293011bc = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_922775653d3f58409145d34f60822abe = $(`<div id=&quot;html_922775653d3f58409145d34f60822abe&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lawton Fire Department</div>`)[0];
                popup_ede076c0d1308b4cf0f389ce293011bc.setContent(html_922775653d3f58409145d34f60822abe);
            
        

        circle_marker_0179266cf34446c7bcb0bc63c4b7dd6a.bindPopup(popup_ede076c0d1308b4cf0f389ce293011bc)
        ;

        
    
    
            var circle_marker_97c52e06dbcbc4aa77c9dab88a07ce8d = L.circleMarker(
                [42.4885267, -96.0753786],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_449317ba44873d5e3a898165ed2558f0 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_eae81b772a694505dcc6d75bbd02e37f = $(`<div id=&quot;html_eae81b772a694505dcc6d75bbd02e37f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Moville Volunteer Fire Department</div>`)[0];
                popup_449317ba44873d5e3a898165ed2558f0.setContent(html_eae81b772a694505dcc6d75bbd02e37f);
            
        

        circle_marker_97c52e06dbcbc4aa77c9dab88a07ce8d.bindPopup(popup_449317ba44873d5e3a898165ed2558f0)
        ;

        
    
    
            var circle_marker_edaa3c5cd6bac309726f10e8973927cf = L.circleMarker(
                [42.3894176, -95.8667963],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_98e27a68168e4f2e88d29ea3b822f924 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_12680fb395066a694f63b5cacdf26d9e = $(`<div id=&quot;html_12680fb395066a694f63b5cacdf26d9e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Anthon Volunteer Fire Department</div>`)[0];
                popup_98e27a68168e4f2e88d29ea3b822f924.setContent(html_12680fb395066a694f63b5cacdf26d9e);
            
        

        circle_marker_edaa3c5cd6bac309726f10e8973927cf.bindPopup(popup_98e27a68168e4f2e88d29ea3b822f924)
        ;

        
    
    
            var circle_marker_dd9952f819794f8f745cd9fab9ff253e = L.circleMarker(
                [42.396479, -94.6337894],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f935afc8364c78b7d96d5ab3d4814517 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a2346336766f6e44a2573b795417bc0a = $(`<div id=&quot;html_a2346336766f6e44a2573b795417bc0a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Rockwell City Fire Department</div>`)[0];
                popup_f935afc8364c78b7d96d5ab3d4814517.setContent(html_a2346336766f6e44a2573b795417bc0a);
            
        

        circle_marker_dd9952f819794f8f745cd9fab9ff253e.bindPopup(popup_f935afc8364c78b7d96d5ab3d4814517)
        ;

        
    
    
            var circle_marker_ffc82d7b8cdb8fa7d19ca4b7603b413c = L.circleMarker(
                [42.2344339, -95.7219488],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0806493a366a55efbc4cb2bd9b9e474d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e9dd52311b9a2d12c5264562e9a802c9 = $(`<div id=&quot;html_e9dd52311b9a2d12c5264562e9a802c9&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Danbury Fire Department</div>`)[0];
                popup_0806493a366a55efbc4cb2bd9b9e474d.setContent(html_e9dd52311b9a2d12c5264562e9a802c9);
            
        

        circle_marker_ffc82d7b8cdb8fa7d19ca4b7603b413c.bindPopup(popup_0806493a366a55efbc4cb2bd9b9e474d)
        ;

        
    
    
            var circle_marker_1468d9e15b41acc898d6eaf454532d45 = L.circleMarker(
                [42.4097507, -96.2119792],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6273d8ae71185dbe5e0c71ef3fd8ca96 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_817754c8d35234378fce477443d33989 = $(`<div id=&quot;html_817754c8d35234378fce477443d33989&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bronson Volunteer Fire Department</div>`)[0];
                popup_6273d8ae71185dbe5e0c71ef3fd8ca96.setContent(html_817754c8d35234378fce477443d33989);
            
        

        circle_marker_1468d9e15b41acc898d6eaf454532d45.bindPopup(popup_6273d8ae71185dbe5e0c71ef3fd8ca96)
        ;

        
    
    
            var circle_marker_844300cdc39ca23d7d43b116a8a74c4f = L.circleMarker(
                [42.4212731, -94.9878088],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1fe037fb61d1307990a25ecf95638154 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_77be997b8f56ba380b35f37847b749a8 = $(`<div id=&quot;html_77be997b8f56ba380b35f37847b749a8&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sac City Fire Department</div>`)[0];
                popup_1fe037fb61d1307990a25ecf95638154.setContent(html_77be997b8f56ba380b35f37847b749a8);
            
        

        circle_marker_844300cdc39ca23d7d43b116a8a74c4f.bindPopup(popup_1fe037fb61d1307990a25ecf95638154)
        ;

        
    
    
            var circle_marker_0b6fd2fb3a16f6083b795ae99eceb01a = L.circleMarker(
                [42.0181407, -95.3558784],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_fdb8b7b9584edabaafaeee7a10a0eb19 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_fd185e2f1867639034905b40a62b2820 = $(`<div id=&quot;html_fd185e2f1867639034905b40a62b2820&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Denison Fire Department</div>`)[0];
                popup_fdb8b7b9584edabaafaeee7a10a0eb19.setContent(html_fd185e2f1867639034905b40a62b2820);
            
        

        circle_marker_0b6fd2fb3a16f6083b795ae99eceb01a.bindPopup(popup_fdb8b7b9584edabaafaeee7a10a0eb19)
        ;

        
    
    
            var circle_marker_9134a99f4a2bd7400f7e95d656d03e64 = L.circleMarker(
                [42.3064642, -95.0504492],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_94495f899f58bd8d0ccbe77a03bb1e57 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e719c0283cecd34f47ebabcd544352fe = $(`<div id=&quot;html_e719c0283cecd34f47ebabcd544352fe&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lake View Fire Department</div>`)[0];
                popup_94495f899f58bd8d0ccbe77a03bb1e57.setContent(html_e719c0283cecd34f47ebabcd544352fe);
            
        

        circle_marker_9134a99f4a2bd7400f7e95d656d03e64.bindPopup(popup_94495f899f58bd8d0ccbe77a03bb1e57)
        ;

        
    
    
            var circle_marker_712c03b43eaf7295e1e4093a55b99e4e = L.circleMarker(
                [42.2708603, -95.0912512],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_aa54a47071f30e7f8d2615c0435014e5 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0f7c2f5bfd26fd3e4e46a59157cc7bbf = $(`<div id=&quot;html_0f7c2f5bfd26fd3e4e46a59157cc7bbf&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Wall Lake City Fire Department</div>`)[0];
                popup_aa54a47071f30e7f8d2615c0435014e5.setContent(html_0f7c2f5bfd26fd3e4e46a59157cc7bbf);
            
        

        circle_marker_712c03b43eaf7295e1e4093a55b99e4e.bindPopup(popup_aa54a47071f30e7f8d2615c0435014e5)
        ;

        
    
    
            var circle_marker_ad59e4271ef43f5c8969f582d9beca3b = L.circleMarker(
                [42.4613776, -95.151929],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5d9ede0422ca3f8284923c25deaffc52 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2f31b5729bfb8922178b150920d3f651 = $(`<div id=&quot;html_2f31b5729bfb8922178b150920d3f651&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Early Fire Hall</div>`)[0];
                popup_5d9ede0422ca3f8284923c25deaffc52.setContent(html_2f31b5729bfb8922178b150920d3f651);
            
        

        circle_marker_ad59e4271ef43f5c8969f582d9beca3b.bindPopup(popup_5d9ede0422ca3f8284923c25deaffc52)
        ;

        
    
    
            var circle_marker_825d83b303ca53d68fb7c36b30ddbed3 = L.circleMarker(
                [42.3457401, -95.4697271],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_41659b43488596349b0e2f00aee3a624 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6205f7115f7b7a792ca82dd7ee8f7b5c = $(`<div id=&quot;html_6205f7115f7b7a792ca82dd7ee8f7b5c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ida Grove City Fire Department</div>`)[0];
                popup_41659b43488596349b0e2f00aee3a624.setContent(html_6205f7115f7b7a792ca82dd7ee8f7b5c);
            
        

        circle_marker_825d83b303ca53d68fb7c36b30ddbed3.bindPopup(popup_41659b43488596349b0e2f00aee3a624)
        ;

        
    
    
            var circle_marker_0f5645e11436f65dd27bd2e580885d86 = L.circleMarker(
                [42.4888175, -95.5428958],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b9b40a0fd4d4be041dda4fa709d1aa07 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6ffb01e7ea75dfa1d515baac04bd6b29 = $(`<div id=&quot;html_6ffb01e7ea75dfa1d515baac04bd6b29&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Holstein Fire Department</div>`)[0];
                popup_b9b40a0fd4d4be041dda4fa709d1aa07.setContent(html_6ffb01e7ea75dfa1d515baac04bd6b29);
            
        

        circle_marker_0f5645e11436f65dd27bd2e580885d86.bindPopup(popup_b9b40a0fd4d4be041dda4fa709d1aa07)
        ;

        
    
    
            var circle_marker_26eb5c00a46ef305d1e38470f2bf575e = L.circleMarker(
                [41.5160453, -95.4514538],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1c61dab34ee3b3ed6c6b869fff5c0070 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_845a1978bca1879dc19ec20e246ed73e = $(`<div id=&quot;html_845a1978bca1879dc19ec20e246ed73e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Shelby Fire Department</div>`)[0];
                popup_1c61dab34ee3b3ed6c6b869fff5c0070.setContent(html_845a1978bca1879dc19ec20e246ed73e);
            
        

        circle_marker_26eb5c00a46ef305d1e38470f2bf575e.bindPopup(popup_1c61dab34ee3b3ed6c6b869fff5c0070)
        ;

        
    
    
            var circle_marker_7884a4286d63cc630985abb609bd9ef3 = L.circleMarker(
                [41.6605777, -95.322045],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_655f6a418d147309930de1e201a3f193 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b61ec6325ee2e0f5cdd8fdce7069ffb3 = $(`<div id=&quot;html_b61ec6325ee2e0f5cdd8fdce7069ffb3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Harlan Fire Department</div>`)[0];
                popup_655f6a418d147309930de1e201a3f193.setContent(html_b61ec6325ee2e0f5cdd8fdce7069ffb3);
            
        

        circle_marker_7884a4286d63cc630985abb609bd9ef3.bindPopup(popup_655f6a418d147309930de1e201a3f193)
        ;

        
    
    
            var circle_marker_ac60dc76728af5e655f2b7a6694e2b78 = L.circleMarker(
                [41.5915795, -95.059685],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ff2a3a10daa1174b9195c4e39af6299b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_5860952cb0a4dfe463a4d4b4f5c2c4aa = $(`<div id=&quot;html_5860952cb0a4dfe463a4d4b4f5c2c4aa&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Elk Horn Fire Department</div>`)[0];
                popup_ff2a3a10daa1174b9195c4e39af6299b.setContent(html_5860952cb0a4dfe463a4d4b4f5c2c4aa);
            
        

        circle_marker_ac60dc76728af5e655f2b7a6694e2b78.bindPopup(popup_ff2a3a10daa1174b9195c4e39af6299b)
        ;

        
    
    
            var circle_marker_8fd8d24039f77b9fdd0cba95c4b190cc = L.circleMarker(
                [41.7190877, -95.3931567],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_624d4b90d1edceed90d56a02adafd1b3 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_daa545d7ce7fd7702dab324addb2c49d = $(`<div id=&quot;html_daa545d7ce7fd7702dab324addb2c49d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Westphalia Fire Department</div>`)[0];
                popup_624d4b90d1edceed90d56a02adafd1b3.setContent(html_daa545d7ce7fd7702dab324addb2c49d);
            
        

        circle_marker_8fd8d24039f77b9fdd0cba95c4b190cc.bindPopup(popup_624d4b90d1edceed90d56a02adafd1b3)
        ;

        
    
    
            var circle_marker_134c9b9cdda9e1a76cfcd4b2e832a559 = L.circleMarker(
                [41.8241543, -95.3402761],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5377b295bed5d4947fa84c02586214f7 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8a1e0c72763df71aea6e40490c45cf45 = $(`<div id=&quot;html_8a1e0c72763df71aea6e40490c45cf45&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Defiance Fire Station</div>`)[0];
                popup_5377b295bed5d4947fa84c02586214f7.setContent(html_8a1e0c72763df71aea6e40490c45cf45);
            
        

        circle_marker_134c9b9cdda9e1a76cfcd4b2e832a559.bindPopup(popup_5377b295bed5d4947fa84c02586214f7)
        ;

        
    
    
            var circle_marker_ce44cebbe33a53bc3d81bfb623027530 = L.circleMarker(
                [41.7752654, -95.4163891],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_cb5e292ceaca2f036dd719f4ba13bd41 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b6170a85bc8bcfd13ae6cecb3dc2b179 = $(`<div id=&quot;html_b6170a85bc8bcfd13ae6cecb3dc2b179&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Earling Fire Hall</div>`)[0];
                popup_cb5e292ceaca2f036dd719f4ba13bd41.setContent(html_b6170a85bc8bcfd13ae6cecb3dc2b179);
            
        

        circle_marker_ce44cebbe33a53bc3d81bfb623027530.bindPopup(popup_cb5e292ceaca2f036dd719f4ba13bd41)
        ;

        
    
    
            var circle_marker_ad2e286c6dfbf535b60768af9b13e646 = L.circleMarker(
                [41.8898926, -95.2315118],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_dc1b5e55b3049a3684cf3f97c376ab32 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2ea8e318905f1ad8221404cb0ee84d4a = $(`<div id=&quot;html_2ea8e318905f1ad8221404cb0ee84d4a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Manilla Fire Department</div>`)[0];
                popup_dc1b5e55b3049a3684cf3f97c376ab32.setContent(html_2ea8e318905f1ad8221404cb0ee84d4a);
            
        

        circle_marker_ad2e286c6dfbf535b60768af9b13e646.bindPopup(popup_dc1b5e55b3049a3684cf3f97c376ab32)
        ;

        
    
    
            var circle_marker_0292cadf6839ed04d62b6ede680957e1 = L.circleMarker(
                [42.1642633, -95.4363236],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_463b223110d96f28668abdb65990ec8f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f464eaba5ac261ae268a206be09eab61 = $(`<div id=&quot;html_f464eaba5ac261ae268a206be09eab61&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Schleswig Fire Station</div>`)[0];
                popup_463b223110d96f28668abdb65990ec8f.setContent(html_f464eaba5ac261ae268a206be09eab61);
            
        

        circle_marker_0292cadf6839ed04d62b6ede680957e1.bindPopup(popup_463b223110d96f28668abdb65990ec8f)
        ;

        
    
    
            var circle_marker_34b2f2b797b66f9eaa48a11c497b9b76 = L.circleMarker(
                [41.9201037, -92.3942805],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1f8555b105dd9baabdf7a09bb3276e00 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a0a67e890a1da55528f45d15e1ddad3f = $(`<div id=&quot;html_a0a67e890a1da55528f45d15e1ddad3f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Chelsea Fire Department</div>`)[0];
                popup_1f8555b105dd9baabdf7a09bb3276e00.setContent(html_a0a67e890a1da55528f45d15e1ddad3f);
            
        

        circle_marker_34b2f2b797b66f9eaa48a11c497b9b76.bindPopup(popup_1f8555b105dd9baabdf7a09bb3276e00)
        ;

        
    
    
            var circle_marker_547e30c8d47f847e9b5d1c0cf65ce947 = L.circleMarker(
                [42.4634867, -92.629197],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b4ecf92759167e43f698fe2ec95a1c45 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1ae91809749f1e2e94268bb666b458dc = $(`<div id=&quot;html_1ae91809749f1e2e94268bb666b458dc&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dike Volunteer Fire Department</div>`)[0];
                popup_b4ecf92759167e43f698fe2ec95a1c45.setContent(html_1ae91809749f1e2e94268bb666b458dc);
            
        

        circle_marker_547e30c8d47f847e9b5d1c0cf65ce947.bindPopup(popup_b4ecf92759167e43f698fe2ec95a1c45)
        ;

        
    
    
            var circle_marker_0dce2bbdd9fbdfa8fe07bb2672477c1d = L.circleMarker(
                [41.905209, -95.0730101],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_cad91518eefe528b674efbe62c1b771b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_5b0ecd9b30e6d8633425c11be382ad15 = $(`<div id=&quot;html_5b0ecd9b30e6d8633425c11be382ad15&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Manning City Fire Station</div>`)[0];
                popup_cad91518eefe528b674efbe62c1b771b.setContent(html_5b0ecd9b30e6d8633425c11be382ad15);
            
        

        circle_marker_0dce2bbdd9fbdfa8fe07bb2672477c1d.bindPopup(popup_cad91518eefe528b674efbe62c1b771b)
        ;

        
    
    
            var circle_marker_b93ee39000764367984ab6d5b6ffbbbe = L.circleMarker(
                [42.0554627, -94.7286586],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_82333173ad6f49ca716545caa82e6f65 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c8cb2e6ed2e2b007452c86acde226462 = $(`<div id=&quot;html_c8cb2e6ed2e2b007452c86acde226462&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Glidden Fire Department</div>`)[0];
                popup_82333173ad6f49ca716545caa82e6f65.setContent(html_c8cb2e6ed2e2b007452c86acde226462);
            
        

        circle_marker_b93ee39000764367984ab6d5b6ffbbbe.bindPopup(popup_82333173ad6f49ca716545caa82e6f65)
        ;

        
    
    
            var circle_marker_49d6fbbd18df97d9263d949697ffa460 = L.circleMarker(
                [41.9067647, -94.8238189],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c3412b7effdea3f5a2e79abe4bf3c68a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_74f6ad2eae87317fb406249d804ed3b2 = $(`<div id=&quot;html_74f6ad2eae87317fb406249d804ed3b2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dedham Fire Department</div>`)[0];
                popup_c3412b7effdea3f5a2e79abe4bf3c68a.setContent(html_74f6ad2eae87317fb406249d804ed3b2);
            
        

        circle_marker_49d6fbbd18df97d9263d949697ffa460.bindPopup(popup_c3412b7effdea3f5a2e79abe4bf3c68a)
        ;

        
    
    
            var circle_marker_037f29e73ba15ff872cc31a0ff8a44e9 = L.circleMarker(
                [42.5067755, -95.416617],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_263e2a72550911f2d62c36ec68e484c5 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4aac9987dca66603a07733a1989ed186 = $(`<div id=&quot;html_4aac9987dca66603a07733a1989ed186&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Galva City Fire Department</div>`)[0];
                popup_263e2a72550911f2d62c36ec68e484c5.setContent(html_4aac9987dca66603a07733a1989ed186);
            
        

        circle_marker_037f29e73ba15ff872cc31a0ff8a44e9.bindPopup(popup_263e2a72550911f2d62c36ec68e484c5)
        ;

        
    
    
            var circle_marker_93a51316af64e8aca81e4891be4e529d = L.circleMarker(
                [42.3161005, -95.5980416],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b44804a14aed7b0af0081027d135dcdf = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4d8ee794cb6ab7afaba027226fa10527 = $(`<div id=&quot;html_4d8ee794cb6ab7afaba027226fa10527&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Battle Creek City Fire Department</div>`)[0];
                popup_b44804a14aed7b0af0081027d135dcdf.setContent(html_4d8ee794cb6ab7afaba027226fa10527);
            
        

        circle_marker_93a51316af64e8aca81e4891be4e529d.bindPopup(popup_b44804a14aed7b0af0081027d135dcdf)
        ;

        
    
    
            var circle_marker_457baec0a161892f7f904db030776a78 = L.circleMarker(
                [42.3352068, -95.3470741],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a375d9c9b7893c06ccb7be7deb445e2c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4dcd1ee8a474e2b2f8e675a9c9d650b2 = $(`<div id=&quot;html_4dcd1ee8a474e2b2f8e675a9c9d650b2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Arthur Fire Department</div>`)[0];
                popup_a375d9c9b7893c06ccb7be7deb445e2c.setContent(html_4dcd1ee8a474e2b2f8e675a9c9d650b2);
            
        

        circle_marker_457baec0a161892f7f904db030776a78.bindPopup(popup_a375d9c9b7893c06ccb7be7deb445e2c)
        ;

        
    
    
            var circle_marker_206340392899a5716a92cdfc3f7c8f71 = L.circleMarker(
                [42.1931776, -92.4649192],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9f38dc4087e4759262e1da097b0a59b0 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c1bfccca860088bc992c3db99342a388 = $(`<div id=&quot;html_c1bfccca860088bc992c3db99342a388&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Traer Fire Department</div>`)[0];
                popup_9f38dc4087e4759262e1da097b0a59b0.setContent(html_c1bfccca860088bc992c3db99342a388);
            
        

        circle_marker_206340392899a5716a92cdfc3f7c8f71.bindPopup(popup_9f38dc4087e4759262e1da097b0a59b0)
        ;

        
    
    
            var circle_marker_e0874f1d549c57ccb5658157bc99b776 = L.circleMarker(
                [41.962693, -92.5805855],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_8c88d5d3b86f80b5092fdeb0b4e3232c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_34d65708c42e142be98e3f21deac0634 = $(`<div id=&quot;html_34d65708c42e142be98e3f21deac0634&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Tama Fire Department</div>`)[0];
                popup_8c88d5d3b86f80b5092fdeb0b4e3232c.setContent(html_34d65708c42e142be98e3f21deac0634);
            
        

        circle_marker_e0874f1d549c57ccb5658157bc99b776.bindPopup(popup_8c88d5d3b86f80b5092fdeb0b4e3232c)
        ;

        
    
    
            var circle_marker_76bb2008a78f70d725bcabd3ef04396d = L.circleMarker(
                [42.0056183, -92.3165689],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_330be6b3757767538868750e707c81c4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_bc264f85f2f0be58edb8bf513cec352f = $(`<div id=&quot;html_bc264f85f2f0be58edb8bf513cec352f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Elberon Fire Department</div>`)[0];
                popup_330be6b3757767538868750e707c81c4.setContent(html_bc264f85f2f0be58edb8bf513cec352f);
            
        

        circle_marker_76bb2008a78f70d725bcabd3ef04396d.bindPopup(popup_330be6b3757767538868750e707c81c4)
        ;

        
    
    
            var circle_marker_1fc6218e92e80716da9e6e1362eabc65 = L.circleMarker(
                [42.1695223, -92.3059471],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_dcda63ee9af41732e3f997bfabe14390 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4cd18b137c734f8ec8afab4d9879b1df = $(`<div id=&quot;html_4cd18b137c734f8ec8afab4d9879b1df&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dysart Fire Department</div>`)[0];
                popup_dcda63ee9af41732e3f997bfabe14390.setContent(html_4cd18b137c734f8ec8afab4d9879b1df);
            
        

        circle_marker_1fc6218e92e80716da9e6e1362eabc65.bindPopup(popup_dcda63ee9af41732e3f997bfabe14390)
        ;

        
    
    
            var circle_marker_6d4e6fe5e0bbd32c4d6e82847baaf40a = L.circleMarker(
                [42.6180541, -91.7283236],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_78e249c24a89884e70fa6395315e5db4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_664e7ee0cd5f865c0ff5ae4895bb2cc4 = $(`<div id=&quot;html_664e7ee0cd5f865c0ff5ae4895bb2cc4&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Aurora Volunteer Fire Department</div>`)[0];
                popup_78e249c24a89884e70fa6395315e5db4.setContent(html_664e7ee0cd5f865c0ff5ae4895bb2cc4);
            
        

        circle_marker_6d4e6fe5e0bbd32c4d6e82847baaf40a.bindPopup(popup_78e249c24a89884e70fa6395315e5db4)
        ;

        
    
    
            var circle_marker_e5cb42af9840952f38cbdaf803aa4f70 = L.circleMarker(
                [42.6176788, -91.9059085],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_064bd2e48bb489c563db98de62a6204c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9f6ee398ad898ea21f5bac4f783eff6c = $(`<div id=&quot;html_9f6ee398ad898ea21f5bac4f783eff6c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hazleton Fire Department</div>`)[0];
                popup_064bd2e48bb489c563db98de62a6204c.setContent(html_9f6ee398ad898ea21f5bac4f783eff6c);
            
        

        circle_marker_e5cb42af9840952f38cbdaf803aa4f70.bindPopup(popup_064bd2e48bb489c563db98de62a6204c)
        ;

        
    
    
            var circle_marker_6c9f24c9757df2f1e59b9088834aa2b1 = L.circleMarker(
                [42.2267083, -91.8823897],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_83584f2a9447e2fcd3b77040983b8a1b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4e9ac638e4406e938ddb9d96a39d1c1c = $(`<div id=&quot;html_4e9ac638e4406e938ddb9d96a39d1c1c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Urbana Fire Department</div>`)[0];
                popup_83584f2a9447e2fcd3b77040983b8a1b.setContent(html_4e9ac638e4406e938ddb9d96a39d1c1c);
            
        

        circle_marker_6c9f24c9757df2f1e59b9088834aa2b1.bindPopup(popup_83584f2a9447e2fcd3b77040983b8a1b)
        ;

        
    
    
            var circle_marker_31337f42e6f89261fcccea03f75b8560 = L.circleMarker(
                [42.4299548, -91.3333904],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5cce25138a857caf45d89e043599db34 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7e3ae15b92d5b3da4edcc9256b59b65f = $(`<div id=&quot;html_7e3ae15b92d5b3da4edcc9256b59b65f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Delhi Fire Department</div>`)[0];
                popup_5cce25138a857caf45d89e043599db34.setContent(html_7e3ae15b92d5b3da4edcc9256b59b65f);
            
        

        circle_marker_31337f42e6f89261fcccea03f75b8560.bindPopup(popup_5cce25138a857caf45d89e043599db34)
        ;

        
    
    
            var circle_marker_3fcbe4932d7446262ef7656065019164 = L.circleMarker(
                [42.4768791, -92.0617103],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_17a63225933559e29dceae97b9dc4674 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7a4c00735e657364d0727c06cdfb3204 = $(`<div id=&quot;html_7a4c00735e657364d0727c06cdfb3204&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Jesup Fire Department</div>`)[0];
                popup_17a63225933559e29dceae97b9dc4674.setContent(html_7a4c00735e657364d0727c06cdfb3204);
            
        

        circle_marker_3fcbe4932d7446262ef7656065019164.bindPopup(popup_17a63225933559e29dceae97b9dc4674)
        ;

        
    
    
            var circle_marker_8d7f4bb90338043505b23b9b2ed222ce = L.circleMarker(
                [42.4680717, -91.8904685],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_768370c6f87715f274dd41061589aab2 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_aa0fc90b45038597ca26db18205885ea = $(`<div id=&quot;html_aa0fc90b45038597ca26db18205885ea&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Independence Fire Department</div>`)[0];
                popup_768370c6f87715f274dd41061589aab2.setContent(html_aa0fc90b45038597ca26db18205885ea);
            
        

        circle_marker_8d7f4bb90338043505b23b9b2ed222ce.bindPopup(popup_768370c6f87715f274dd41061589aab2)
        ;

        
    
    
            var circle_marker_4bff8cb69ed3c49853ac6337a10029f6 = L.circleMarker(
                [41.392949, -91.0703716],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_42368dcf43602aa0cdd07341eaad0a8c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e318abcafc540f9ad25e4d9dbf2edf6a = $(`<div id=&quot;html_e318abcafc540f9ad25e4d9dbf2edf6a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Muscatine Fire Department Station 2</div>`)[0];
                popup_42368dcf43602aa0cdd07341eaad0a8c.setContent(html_e318abcafc540f9ad25e4d9dbf2edf6a);
            
        

        circle_marker_4bff8cb69ed3c49853ac6337a10029f6.bindPopup(popup_42368dcf43602aa0cdd07341eaad0a8c)
        ;

        
    
    
            var circle_marker_5866b4b01c2ed23f322a004acb59bf41 = L.circleMarker(
                [41.6988972, -93.057895],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_d2ac498f8b04598f52d77ef19c4945c0 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_84af75c89f3fed0676ca6d61ca0aa3de = $(`<div id=&quot;html_84af75c89f3fed0676ca6d61ca0aa3de&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Newton Fire Department</div>`)[0];
                popup_d2ac498f8b04598f52d77ef19c4945c0.setContent(html_84af75c89f3fed0676ca6d61ca0aa3de);
            
        

        circle_marker_5866b4b01c2ed23f322a004acb59bf41.bindPopup(popup_d2ac498f8b04598f52d77ef19c4945c0)
        ;

        
    
    
            var circle_marker_2de48568490cb29dcf6651a8ba41c9e9 = L.circleMarker(
                [41.5894985, -91.0130452],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_92a37cc5750f1f49feca330da8cee4cc = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a405b1dc127d5056394ea3a05cfb0538 = $(`<div id=&quot;html_a405b1dc127d5056394ea3a05cfb0538&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Wilton Fire Department</div>`)[0];
                popup_92a37cc5750f1f49feca330da8cee4cc.setContent(html_a405b1dc127d5056394ea3a05cfb0538);
            
        

        circle_marker_2de48568490cb29dcf6651a8ba41c9e9.bindPopup(popup_92a37cc5750f1f49feca330da8cee4cc)
        ;

        
    
    
            var circle_marker_a3f90bfa2dd8e40d851cd4d49f5bbc37 = L.circleMarker(
                [41.4248164, -91.0454843],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c3ccf68ebf34668d55cb23a393aee33c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e21bd88b758ae04599d481b1ccc56bc2 = $(`<div id=&quot;html_e21bd88b758ae04599d481b1ccc56bc2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Muscatine Fire Department</div>`)[0];
                popup_c3ccf68ebf34668d55cb23a393aee33c.setContent(html_e21bd88b758ae04599d481b1ccc56bc2);
            
        

        circle_marker_a3f90bfa2dd8e40d851cd4d49f5bbc37.bindPopup(popup_c3ccf68ebf34668d55cb23a393aee33c)
        ;

        
    
    
            var circle_marker_61f5e7917e274fd2ee788abab0638e3d = L.circleMarker(
                [41.9958034, -91.9726603],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_3d91d6cf0e2447a14ae9c54e80e60ee3 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_461d2aece1067576fe8b3010e5f2acfb = $(`<div id=&quot;html_461d2aece1067576fe8b3010e5f2acfb&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Newhall Fire Department</div>`)[0];
                popup_3d91d6cf0e2447a14ae9c54e80e60ee3.setContent(html_461d2aece1067576fe8b3010e5f2acfb);
            
        

        circle_marker_61f5e7917e274fd2ee788abab0638e3d.bindPopup(popup_3d91d6cf0e2447a14ae9c54e80e60ee3)
        ;

        
    
    
            var circle_marker_89ff0d201f9c65a0bbdd64ff6487db9d = L.circleMarker(
                [41.9022674, -91.9216063],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_3ea8afbd2e4020efecc5dd4d53cc135b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_299c854b85a07f3676312cab24f67a0e = $(`<div id=&quot;html_299c854b85a07f3676312cab24f67a0e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Norway Fire Department</div>`)[0];
                popup_3ea8afbd2e4020efecc5dd4d53cc135b.setContent(html_299c854b85a07f3676312cab24f67a0e);
            
        

        circle_marker_89ff0d201f9c65a0bbdd64ff6487db9d.bindPopup(popup_3ea8afbd2e4020efecc5dd4d53cc135b)
        ;

        
    
    
            var circle_marker_9643150b9cacb930a42308c90cafd41c = L.circleMarker(
                [41.8973401, -92.280997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_eb961c78b876aaecdbe39d6c871fcdcc = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_dd351f3d13a95ffa1871bea8849e4f7f = $(`<div id=&quot;html_dd351f3d13a95ffa1871bea8849e4f7f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Belle Plaine Fire Station</div>`)[0];
                popup_eb961c78b876aaecdbe39d6c871fcdcc.setContent(html_dd351f3d13a95ffa1871bea8849e4f7f);
            
        

        circle_marker_9643150b9cacb930a42308c90cafd41c.bindPopup(popup_eb961c78b876aaecdbe39d6c871fcdcc)
        ;

        
    
    
            var circle_marker_6a9a612c61a190a83f450376e9614bf3 = L.circleMarker(
                [41.9094643, -92.0864695],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_d5f0c4b333ebae0066b0a92cf99ce816 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_fa1427c79ff469ba542d0fc12eae69fa = $(`<div id=&quot;html_fa1427c79ff469ba542d0fc12eae69fa&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Blairstown Fire Station</div>`)[0];
                popup_d5f0c4b333ebae0066b0a92cf99ce816.setContent(html_fa1427c79ff469ba542d0fc12eae69fa);
            
        

        circle_marker_6a9a612c61a190a83f450376e9614bf3.bindPopup(popup_d5f0c4b333ebae0066b0a92cf99ce816)
        ;

        
    
    
            var circle_marker_c83066cfc7a65d82967ad36f89010901 = L.circleMarker(
                [41.8881377, -93.3993392],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_353e305318a89d3c4e6bed3e50f3d237 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_335f21899b7ac204201a36914d9a9ffa = $(`<div id=&quot;html_335f21899b7ac204201a36914d9a9ffa&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Maxwell Volunteer Fire Department</div>`)[0];
                popup_353e305318a89d3c4e6bed3e50f3d237.setContent(html_335f21899b7ac204201a36914d9a9ffa);
            
        

        circle_marker_c83066cfc7a65d82967ad36f89010901.bindPopup(popup_353e305318a89d3c4e6bed3e50f3d237)
        ;

        
    
    
            var circle_marker_ed0d3df9b9453649f867cb8b5d63e8a6 = L.circleMarker(
                [42.3516359, -93.0999049],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_eb7b0dba61edd99cac280f514bcda0bb = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_101c3e1db7b816c712395f748157916c = $(`<div id=&quot;html_101c3e1db7b816c712395f748157916c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Eldora Fire Department</div>`)[0];
                popup_eb7b0dba61edd99cac280f514bcda0bb.setContent(html_101c3e1db7b816c712395f748157916c);
            
        

        circle_marker_ed0d3df9b9453649f867cb8b5d63e8a6.bindPopup(popup_eb7b0dba61edd99cac280f514bcda0bb)
        ;

        
    
    
            var circle_marker_69217567be994740dba0ea3ca3e91440 = L.circleMarker(
                [42.2455406, -93.3954865],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_dffc165d834275d07c1fd340f1711529 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f6f9d0debc3b0c16da5db25d7977a4c0 = $(`<div id=&quot;html_f6f9d0debc3b0c16da5db25d7977a4c0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Garden City Fire Department</div>`)[0];
                popup_dffc165d834275d07c1fd340f1711529.setContent(html_f6f9d0debc3b0c16da5db25d7977a4c0);
            
        

        circle_marker_69217567be994740dba0ea3ca3e91440.bindPopup(popup_dffc165d834275d07c1fd340f1711529)
        ;

        
    
    
            var circle_marker_65f868d45e3a79d207a224a48b0c4c92 = L.circleMarker(
                [41.6080496, -92.9046396],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_094232df174755d64767f6cf48260a34 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ed86b9e7039e4fa05b483b569077d9b4 = $(`<div id=&quot;html_ed86b9e7039e4fa05b483b569077d9b4&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Killduff Fire Department</div>`)[0];
                popup_094232df174755d64767f6cf48260a34.setContent(html_ed86b9e7039e4fa05b483b569077d9b4);
            
        

        circle_marker_65f868d45e3a79d207a224a48b0c4c92.bindPopup(popup_094232df174755d64767f6cf48260a34)
        ;

        
    
    
            var circle_marker_bb22f8d82481b1b2d5ae856563c820b9 = L.circleMarker(
                [41.8249351, -93.1512032],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4b3afb860fb8804c96856d36fd644b03 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_fddfeb20cac09f37814347d543a1c3e0 = $(`<div id=&quot;html_fddfeb20cac09f37814347d543a1c3e0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Baxter Fire Department</div>`)[0];
                popup_4b3afb860fb8804c96856d36fd644b03.setContent(html_fddfeb20cac09f37814347d543a1c3e0);
            
        

        circle_marker_bb22f8d82481b1b2d5ae856563c820b9.bindPopup(popup_4b3afb860fb8804c96856d36fd644b03)
        ;

        
    
    
            var circle_marker_0a809cdc4964077acbee6ffd00798fab = L.circleMarker(
                [41.5165901, -92.0767991],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_16e22fd7426e6a9999f432f7d262b032 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d58debea761ad46c88b933e3d45a6950 = $(`<div id=&quot;html_d58debea761ad46c88b933e3d45a6950&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>North English Fire Department</div>`)[0];
                popup_16e22fd7426e6a9999f432f7d262b032.setContent(html_d58debea761ad46c88b933e3d45a6950);
            
        

        circle_marker_0a809cdc4964077acbee6ffd00798fab.bindPopup(popup_16e22fd7426e6a9999f432f7d262b032)
        ;

        
    
    
            var circle_marker_320a68d43d3ef01b9b3161e4b8e6672d = L.circleMarker(
                [41.7545364, -92.1840722],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0826640bd621426d6137d47abf6b2f06 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_52f27ced4a51172089203c4dab32bdc5 = $(`<div id=&quot;html_52f27ced4a51172089203c4dab32bdc5&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ladora Fire Department</div>`)[0];
                popup_0826640bd621426d6137d47abf6b2f06.setContent(html_52f27ced4a51172089203c4dab32bdc5);
            
        

        circle_marker_320a68d43d3ef01b9b3161e4b8e6672d.bindPopup(popup_0826640bd621426d6137d47abf6b2f06)
        ;

        
    
    
            var circle_marker_8733f15c54f89ab65ead9268a2b7b641 = L.circleMarker(
                [42.0230042, -93.4472796],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_60f10e769381e935c342db0dfd07832d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7e2d0d95a557c52c699415f30d311784 = $(`<div id=&quot;html_7e2d0d95a557c52c699415f30d311784&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Nevada Fire Department</div>`)[0];
                popup_60f10e769381e935c342db0dfd07832d.setContent(html_7e2d0d95a557c52c699415f30d311784);
            
        

        circle_marker_8733f15c54f89ab65ead9268a2b7b641.bindPopup(popup_60f10e769381e935c342db0dfd07832d)
        ;

        
    
    
            var circle_marker_aa7ab3c7c253caee82422c29398e02a0 = L.circleMarker(
                [41.5787841, -92.7830078],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_fac4c276c06f91f4aabb3955be4c0a2a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_39cb1d1c80cf840cf34503d32448876e = $(`<div id=&quot;html_39cb1d1c80cf840cf34503d32448876e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lynnville Fire Department</div>`)[0];
                popup_fac4c276c06f91f4aabb3955be4c0a2a.setContent(html_39cb1d1c80cf840cf34503d32448876e);
            
        

        circle_marker_aa7ab3c7c253caee82422c29398e02a0.bindPopup(popup_fac4c276c06f91f4aabb3955be4c0a2a)
        ;

        
    
    
            var circle_marker_cdadf0a6d9fca856f29dc774d206bbde = L.circleMarker(
                [41.7164972, -92.9077219],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_de78cdd8c7f5f88ca7a547c7c717d640 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_37ce791746abe09ba269982c6c68df59 = $(`<div id=&quot;html_37ce791746abe09ba269982c6c68df59&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Kellogg Fire Department</div>`)[0];
                popup_de78cdd8c7f5f88ca7a547c7c717d640.setContent(html_37ce791746abe09ba269982c6c68df59);
            
        

        circle_marker_cdadf0a6d9fca856f29dc774d206bbde.bindPopup(popup_de78cdd8c7f5f88ca7a547c7c717d640)
        ;

        
    
    
            var circle_marker_f42e35b79d0ee2c9b63a7d4a290e6868 = L.circleMarker(
                [41.9444225, -92.963378],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_8b4c8a8c523a40670b9bf45b68355e57 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_310d6441ba93903d2ad95fcc729ea7f2 = $(`<div id=&quot;html_310d6441ba93903d2ad95fcc729ea7f2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Haverhill Fire Department</div>`)[0];
                popup_8b4c8a8c523a40670b9bf45b68355e57.setContent(html_310d6441ba93903d2ad95fcc729ea7f2);
            
        

        circle_marker_f42e35b79d0ee2c9b63a7d4a290e6868.bindPopup(popup_8b4c8a8c523a40670b9bf45b68355e57)
        ;

        
    
    
            var circle_marker_143021a609788c569c7f4cf6601b0db0 = L.circleMarker(
                [42.0059596, -92.7837514],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_fcb8ee13e3662e11e32968c4efbbe7a5 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1b1e24c3e4476c61638277d0ffddbb84 = $(`<div id=&quot;html_1b1e24c3e4476c61638277d0ffddbb84&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Le Grand Fire Station</div>`)[0];
                popup_fcb8ee13e3662e11e32968c4efbbe7a5.setContent(html_1b1e24c3e4476c61638277d0ffddbb84);
            
        

        circle_marker_143021a609788c569c7f4cf6601b0db0.bindPopup(popup_fcb8ee13e3662e11e32968c4efbbe7a5)
        ;

        
    
    
            var circle_marker_e72e2ae69e72186a427dd0753a0e2c0b = L.circleMarker(
                [42.1896271, -93.0049101],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_83e16c9aae869e08adc4831fc008412f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f23b1d98bcce78905462cab06d6498a8 = $(`<div id=&quot;html_f23b1d98bcce78905462cab06d6498a8&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Liscomb Fire Department</div>`)[0];
                popup_83e16c9aae869e08adc4831fc008412f.setContent(html_f23b1d98bcce78905462cab06d6498a8);
            
        

        circle_marker_e72e2ae69e72186a427dd0753a0e2c0b.bindPopup(popup_83e16c9aae869e08adc4831fc008412f)
        ;

        
    
    
            var circle_marker_dacafa95a1943cd9a2443b1d511836be = L.circleMarker(
                [42.3125855, -93.5790473],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_86a6704616587d82f7bc8b50f27737dd = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_822bd173ac6ee6f40173794c825750d9 = $(`<div id=&quot;html_822bd173ac6ee6f40173794c825750d9&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ellsworth Fire Department</div>`)[0];
                popup_86a6704616587d82f7bc8b50f27737dd.setContent(html_822bd173ac6ee6f40173794c825750d9);
            
        

        circle_marker_dacafa95a1943cd9a2443b1d511836be.bindPopup(popup_86a6704616587d82f7bc8b50f27737dd)
        ;

        
    
    
            var circle_marker_3bc5910c19475ef768b6a3ce007608c8 = L.circleMarker(
                [42.3096318, -93.6395993],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2fe3994876029991a3d7102364455500 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_fc86291e4c6b3f262c03abc19e0e3ca2 = $(`<div id=&quot;html_fc86291e4c6b3f262c03abc19e0e3ca2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Jewel Fire Department</div>`)[0];
                popup_2fe3994876029991a3d7102364455500.setContent(html_fc86291e4c6b3f262c03abc19e0e3ca2);
            
        

        circle_marker_3bc5910c19475ef768b6a3ce007608c8.bindPopup(popup_2fe3994876029991a3d7102364455500)
        ;

        
    
    
            var circle_marker_65431f46904000bcf6c808ca7716d7cf = L.circleMarker(
                [42.2673057, -93.929804],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_97a1894d3a3653b5fe0db141e3dcdf8e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_130ddb2c7d682a853b02a675dbbec67e = $(`<div id=&quot;html_130ddb2c7d682a853b02a675dbbec67e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Stratford Fire Department</div>`)[0];
                popup_97a1894d3a3653b5fe0db141e3dcdf8e.setContent(html_130ddb2c7d682a853b02a675dbbec67e);
            
        

        circle_marker_65431f46904000bcf6c808ca7716d7cf.bindPopup(popup_97a1894d3a3653b5fe0db141e3dcdf8e)
        ;

        
    
    
            var circle_marker_5e15911f187f8771c00d40dd94c97364 = L.circleMarker(
                [41.5791777, -92.7053061],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_79b0ab7c456732e62cdb0e22b8876bd7 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e89542af92c73ff1300a7515cf385b8f = $(`<div id=&quot;html_e89542af92c73ff1300a7515cf385b8f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Searsboro Community Fire Department and Rescue</div>`)[0];
                popup_79b0ab7c456732e62cdb0e22b8876bd7.setContent(html_e89542af92c73ff1300a7515cf385b8f);
            
        

        circle_marker_5e15911f187f8771c00d40dd94c97364.bindPopup(popup_79b0ab7c456732e62cdb0e22b8876bd7)
        ;

        
    
    
            var circle_marker_e65d7f057dd8d654ff5f942060fcd3c1 = L.circleMarker(
                [41.7457497, -92.7284028],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e2834113756bd0f675b0ae7e3fa81c1e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7a9b0c617324e369718e92ca31defd73 = $(`<div id=&quot;html_7a9b0c617324e369718e92ca31defd73&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Grinnell Fire Department</div>`)[0];
                popup_e2834113756bd0f675b0ae7e3fa81c1e.setContent(html_7a9b0c617324e369718e92ca31defd73);
            
        

        circle_marker_e65d7f057dd8d654ff5f942060fcd3c1.bindPopup(popup_e2834113756bd0f675b0ae7e3fa81c1e)
        ;

        
    
    
            var circle_marker_649da07e3198949ec461c4b740395b4c = L.circleMarker(
                [41.5819452, -92.3752743],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f2e2d33ed974c68153802994b400e6ba = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0bdedb186fba4271c0053758882a68a7 = $(`<div id=&quot;html_0bdedb186fba4271c0053758882a68a7&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Deep River Fire Department</div>`)[0];
                popup_f2e2d33ed974c68153802994b400e6ba.setContent(html_0bdedb186fba4271c0053758882a68a7);
            
        

        circle_marker_649da07e3198949ec461c4b740395b4c.bindPopup(popup_f2e2d33ed974c68153802994b400e6ba)
        ;

        
    
    
            var circle_marker_8154bf83ecad1909333e257d2b095fc4 = L.circleMarker(
                [41.7845747, -92.3441702],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2a8f08d7bac22fc97f50510263bc2d77 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_682a2ab3626ee97e6f27b6f68b505de9 = $(`<div id=&quot;html_682a2ab3626ee97e6f27b6f68b505de9&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hartwick Fire Department</div>`)[0];
                popup_2a8f08d7bac22fc97f50510263bc2d77.setContent(html_682a2ab3626ee97e6f27b6f68b505de9);
            
        

        circle_marker_8154bf83ecad1909333e257d2b095fc4.bindPopup(popup_2a8f08d7bac22fc97f50510263bc2d77)
        ;

        
    
    
            var circle_marker_f112efaacb049d2c9bf25184253f9fd6 = L.circleMarker(
                [41.7073233, -92.556508],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c2f862775ea83c12a2683233e4239820 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_fb579551428ed87b011bab45e9108896 = $(`<div id=&quot;html_fb579551428ed87b011bab45e9108896&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Malcom Volunteer Fire Department</div>`)[0];
                popup_c2f862775ea83c12a2683233e4239820.setContent(html_fb579551428ed87b011bab45e9108896);
            
        

        circle_marker_f112efaacb049d2c9bf25184253f9fd6.bindPopup(popup_c2f862775ea83c12a2683233e4239820)
        ;

        
    
    
            var circle_marker_c49254eea77a47a9cc5866542d286943 = L.circleMarker(
                [41.5856446, -92.5219838],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5d550d54a9b5b7619a1a938217e741aa = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b1bf9b92ea23dc92d3e1640471ae6807 = $(`<div id=&quot;html_b1bf9b92ea23dc92d3e1640471ae6807&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Montezuma Fire Department</div>`)[0];
                popup_5d550d54a9b5b7619a1a938217e741aa.setContent(html_b1bf9b92ea23dc92d3e1640471ae6807);
            
        

        circle_marker_c49254eea77a47a9cc5866542d286943.bindPopup(popup_5d550d54a9b5b7619a1a938217e741aa)
        ;

        
    
    
            var circle_marker_32fed7788826dd33b415ef03e002934b = L.circleMarker(
                [42.1111303, -92.9897516],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ab1010cba0b0725e504f22f73c6413cd = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2008f9808c3c8f72bd04d25b5c963823 = $(`<div id=&quot;html_2008f9808c3c8f72bd04d25b5c963823&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Albion Fire Station</div>`)[0];
                popup_ab1010cba0b0725e504f22f73c6413cd.setContent(html_2008f9808c3c8f72bd04d25b5c963823);
            
        

        circle_marker_32fed7788826dd33b415ef03e002934b.bindPopup(popup_ab1010cba0b0725e504f22f73c6413cd)
        ;

        
    
    
            var circle_marker_1ce8820f633cdc4d0c76360dce5e52ee = L.circleMarker(
                [42.1022061, -92.8198924],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e580e7f86cdb19ef1a2fec1743756280 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_57994defb9ef09248a172bc2d6c85424 = $(`<div id=&quot;html_57994defb9ef09248a172bc2d6c85424&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Marion Township Fire Department</div>`)[0];
                popup_e580e7f86cdb19ef1a2fec1743756280.setContent(html_57994defb9ef09248a172bc2d6c85424);
            
        

        circle_marker_1ce8820f633cdc4d0c76360dce5e52ee.bindPopup(popup_e580e7f86cdb19ef1a2fec1743756280)
        ;

        
    
    
            var circle_marker_dbd79108aaf406d726f6cbbce2fcde8e = L.circleMarker(
                [42.1761842, -94.1050235],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_69fd2471b418e0792cebe637aa9c6577 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a04299f5cca9f23569c7eaf10d7247c1 = $(`<div id=&quot;html_a04299f5cca9f23569c7eaf10d7247c1&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Boxholm Fire Department</div>`)[0];
                popup_69fd2471b418e0792cebe637aa9c6577.setContent(html_a04299f5cca9f23569c7eaf10d7247c1);
            
        

        circle_marker_dbd79108aaf406d726f6cbbce2fcde8e.bindPopup(popup_69fd2471b418e0792cebe637aa9c6577)
        ;

        
    
    
            var circle_marker_fdb551a431a712f136995ba6b45e1a51 = L.circleMarker(
                [41.8525374, -94.0078368],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_637e2d913e8676e5cf5acd2d612f492e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_28ab104ff22f2fa9ed91a35aa91e5e36 = $(`<div id=&quot;html_28ab104ff22f2fa9ed91a35aa91e5e36&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bouton Fire Department</div>`)[0];
                popup_637e2d913e8676e5cf5acd2d612f492e.setContent(html_28ab104ff22f2fa9ed91a35aa91e5e36);
            
        

        circle_marker_fdb551a431a712f136995ba6b45e1a51.bindPopup(popup_637e2d913e8676e5cf5acd2d612f492e)
        ;

        
    
    
            var circle_marker_f894bc7269b5e2b677a6b3f82e82ccb3 = L.circleMarker(
                [42.0644067, -93.8786231],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_90a18a3565c146beaef294e8feec9878 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_727f3d670b278af4bfbb47be7897b3c0 = $(`<div id=&quot;html_727f3d670b278af4bfbb47be7897b3c0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Boone Fire Department</div>`)[0];
                popup_90a18a3565c146beaef294e8feec9878.setContent(html_727f3d670b278af4bfbb47be7897b3c0);
            
        

        circle_marker_f894bc7269b5e2b677a6b3f82e82ccb3.bindPopup(popup_90a18a3565c146beaef294e8feec9878)
        ;

        
    
    
            var circle_marker_d08235e643f97b8416ab9933a6783463 = L.circleMarker(
                [41.7560855, -94.0302714],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b22e30b03e8266d8fc049e0a99478353 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_312c498336464d3fc86a50c4e52af393 = $(`<div id=&quot;html_312c498336464d3fc86a50c4e52af393&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Minburn Volunteer Fire Department</div>`)[0];
                popup_b22e30b03e8266d8fc049e0a99478353.setContent(html_312c498336464d3fc86a50c4e52af393);
            
        

        circle_marker_d08235e643f97b8416ab9933a6783463.bindPopup(popup_b22e30b03e8266d8fc049e0a99478353)
        ;

        
    
    
            var circle_marker_42afc8e566beba1cd12dfc795943894c = L.circleMarker(
                [41.8387473, -94.1087337],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4e18fe14784b68d4db0416e8112336e0 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_42edac696c43e86093e38f449213a33d = $(`<div id=&quot;html_42edac696c43e86093e38f449213a33d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Perry Volunteer Fire Department</div>`)[0];
                popup_4e18fe14784b68d4db0416e8112336e0.setContent(html_42edac696c43e86093e38f449213a33d);
            
        

        circle_marker_42afc8e566beba1cd12dfc795943894c.bindPopup(popup_4e18fe14784b68d4db0416e8112336e0)
        ;

        
    
    
            var circle_marker_f34ab21d6388d4d677d407b18a40bf29 = L.circleMarker(
                [41.5986244, -93.8655319],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1ce48bd44b074cd7e93e0f64b2c0bb56 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b4173e5b36adf322aacae06e992f807d = $(`<div id=&quot;html_b4173e5b36adf322aacae06e992f807d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Waukee Fire Department</div>`)[0];
                popup_1ce48bd44b074cd7e93e0f64b2c0bb56.setContent(html_b4173e5b36adf322aacae06e992f807d);
            
        

        circle_marker_f34ab21d6388d4d677d407b18a40bf29.bindPopup(popup_1ce48bd44b074cd7e93e0f64b2c0bb56)
        ;

        
    
    
            var circle_marker_e5bec0be850e2551ceb51c272a7119da = L.circleMarker(
                [41.8394302, -93.9224511],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f2e35bb2c7b2459c0b361d0a2cbe21c5 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_13cf3bbcd880f6e5886eea0929bd0927 = $(`<div id=&quot;html_13cf3bbcd880f6e5886eea0929bd0927&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Woodward Fire House</div>`)[0];
                popup_f2e35bb2c7b2459c0b361d0a2cbe21c5.setContent(html_13cf3bbcd880f6e5886eea0929bd0927);
            
        

        circle_marker_e5bec0be850e2551ceb51c272a7119da.bindPopup(popup_f2e35bb2c7b2459c0b361d0a2cbe21c5)
        ;

        
    
    
            var circle_marker_0687849604abbd76479f538f1fc36dfa = L.circleMarker(
                [42.4668028, -93.8162691],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_74b97d1f2919901a6e65897d97b958b3 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_838aa16751a8ae8633878e04912ae5a5 = $(`<div id=&quot;html_838aa16751a8ae8633878e04912ae5a5&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Webster City Fire Department</div>`)[0];
                popup_74b97d1f2919901a6e65897d97b958b3.setContent(html_838aa16751a8ae8633878e04912ae5a5);
            
        

        circle_marker_0687849604abbd76479f538f1fc36dfa.bindPopup(popup_74b97d1f2919901a6e65897d97b958b3)
        ;

        
    
    
            var circle_marker_8e8cc34ccd469bc1d0e7cae269983391 = L.circleMarker(
                [42.4705276, -93.9929618],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_43ae41ab1a49466beb6f2733f7d64452 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3d39c47134c6f38f87ad09074485baf2 = $(`<div id=&quot;html_3d39c47134c6f38f87ad09074485baf2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Duncombe Town Fire Department</div>`)[0];
                popup_43ae41ab1a49466beb6f2733f7d64452.setContent(html_3d39c47134c6f38f87ad09074485baf2);
            
        

        circle_marker_8e8cc34ccd469bc1d0e7cae269983391.bindPopup(popup_43ae41ab1a49466beb6f2733f7d64452)
        ;

        
    
    
            var circle_marker_bf6f33f498975d2bbce6f737fda43e37 = L.circleMarker(
                [42.5877502, -94.3446904],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9c7eda6d87e137368931df54ffbdcbd8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_aff1a3d0965c3c9ca4830fe8a4865a18 = $(`<div id=&quot;html_aff1a3d0965c3c9ca4830fe8a4865a18&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Clare City Fire Department</div>`)[0];
                popup_9c7eda6d87e137368931df54ffbdcbd8.setContent(html_aff1a3d0965c3c9ca4830fe8a4865a18);
            
        

        circle_marker_bf6f33f498975d2bbce6f737fda43e37.bindPopup(popup_9c7eda6d87e137368931df54ffbdcbd8)
        ;

        
    
    
            var circle_marker_af0a43ed71fa53e565516f954c52dfb3 = L.circleMarker(
                [42.4398947, -94.2967784],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_80fff7b27ea24d1f555af5641c16a332 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_575597f9dc963cfc475ff854839bb4d0 = $(`<div id=&quot;html_575597f9dc963cfc475ff854839bb4d0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Moorland City Fire Department</div>`)[0];
                popup_80fff7b27ea24d1f555af5641c16a332.setContent(html_575597f9dc963cfc475ff854839bb4d0);
            
        

        circle_marker_af0a43ed71fa53e565516f954c52dfb3.bindPopup(popup_80fff7b27ea24d1f555af5641c16a332)
        ;

        
    
    
            var circle_marker_a6665843149eee33777b9e8e6261ef37 = L.circleMarker(
                [42.3587864, -94.0510643],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4edc4ac794f5276f4d1494bfb31f671c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7363ce94a89e9628b5e1fe6f3e4418e3 = $(`<div id=&quot;html_7363ce94a89e9628b5e1fe6f3e4418e3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lehigh Fire Department</div>`)[0];
                popup_4edc4ac794f5276f4d1494bfb31f671c.setContent(html_7363ce94a89e9628b5e1fe6f3e4418e3);
            
        

        circle_marker_a6665843149eee33777b9e8e6261ef37.bindPopup(popup_4edc4ac794f5276f4d1494bfb31f671c)
        ;

        
    
    
            var circle_marker_f747eceaad888c1c58cd4d16ecc73472 = L.circleMarker(
                [42.5058825, -94.1771784],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f7956ce5c1d614e994090cc1fc051442 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d60da7f09f8a65e0be4dd6e06ee74c7a = $(`<div id=&quot;html_d60da7f09f8a65e0be4dd6e06ee74c7a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Fort Dodge Fire Department</div>`)[0];
                popup_f7956ce5c1d614e994090cc1fc051442.setContent(html_d60da7f09f8a65e0be4dd6e06ee74c7a);
            
        

        circle_marker_f747eceaad888c1c58cd4d16ecc73472.bindPopup(popup_f7956ce5c1d614e994090cc1fc051442)
        ;

        
    
    
            var circle_marker_e6c0f3baf4e819198e9c8bded1b46e2b = L.circleMarker(
                [41.7965167, -91.4888393],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6b338af8f3a12cbf1fae2ae2bb697ff4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_05fdf57216e43be2851ecd0b5b16c1d3 = $(`<div id=&quot;html_05fdf57216e43be2851ecd0b5b16c1d3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Solon Fire Station</div>`)[0];
                popup_6b338af8f3a12cbf1fae2ae2bb697ff4.setContent(html_05fdf57216e43be2851ecd0b5b16c1d3);
            
        

        circle_marker_e6c0f3baf4e819198e9c8bded1b46e2b.bindPopup(popup_6b338af8f3a12cbf1fae2ae2bb697ff4)
        ;

        
    
    
            var circle_marker_663d41b72f03a8f4a7d259ac3bd51901 = L.circleMarker(
                [42.3155701, -92.1931603],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f6237d881c66e01f0dd9219eb2ac1f2e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b81b290f01e1f0b441431c12eba1c8b0 = $(`<div id=&quot;html_b81b290f01e1f0b441431c12eba1c8b0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>La Porte City Fire Department</div>`)[0];
                popup_f6237d881c66e01f0dd9219eb2ac1f2e.setContent(html_b81b290f01e1f0b441431c12eba1c8b0);
            
        

        circle_marker_663d41b72f03a8f4a7d259ac3bd51901.bindPopup(popup_f6237d881c66e01f0dd9219eb2ac1f2e)
        ;

        
    
    
            var circle_marker_3ea6d84f0d446ee179773c01aac3ae22 = L.circleMarker(
                [42.4163157, -92.2153811],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_91fd5a1011da2d12c16436dd5b31e50e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4cd148d3b8a60e9f7b10e628c7f7f8e6 = $(`<div id=&quot;html_4cd148d3b8a60e9f7b10e628c7f7f8e6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Gilbertville Volunteer Fire Department</div>`)[0];
                popup_91fd5a1011da2d12c16436dd5b31e50e.setContent(html_4cd148d3b8a60e9f7b10e628c7f7f8e6);
            
        

        circle_marker_3ea6d84f0d446ee179773c01aac3ae22.bindPopup(popup_91fd5a1011da2d12c16436dd5b31e50e)
        ;

        
    
    
            var circle_marker_0ec0fac6472262f64d39295cca6a8c47 = L.circleMarker(
                [42.4081695, -92.4536011],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ebe1c5ecfb12c8be7c893c8ae49ba3ae = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_fcbc781c88375f10e9c4f215932de02b = $(`<div id=&quot;html_fcbc781c88375f10e9c4f215932de02b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hudson Volunteer Fire Department</div>`)[0];
                popup_ebe1c5ecfb12c8be7c893c8ae49ba3ae.setContent(html_fcbc781c88375f10e9c4f215932de02b);
            
        

        circle_marker_0ec0fac6472262f64d39295cca6a8c47.bindPopup(popup_ebe1c5ecfb12c8be7c893c8ae49ba3ae)
        ;

        
    
    
            var circle_marker_425dd8b3d0e9d493c0eea8d9e3cedb37 = L.circleMarker(
                [41.8577994, -90.9282043],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ee58aaace76f97751fcbd9060eaba005 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_05ef8163042910086cb9a84385aa74f3 = $(`<div id=&quot;html_05ef8163042910086cb9a84385aa74f3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lowden Fire Department</div>`)[0];
                popup_ee58aaace76f97751fcbd9060eaba005.setContent(html_05ef8163042910086cb9a84385aa74f3);
            
        

        circle_marker_425dd8b3d0e9d493c0eea8d9e3cedb37.bindPopup(popup_ee58aaace76f97751fcbd9060eaba005)
        ;

        
    
    
            var circle_marker_a1a001188f3e51f4c16a72e371dfe3c8 = L.circleMarker(
                [41.8889597, -91.0583656],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5eb2d1e3079a122f2be3f54fadef2e41 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f81c05bd61215c560778c0d766233f94 = $(`<div id=&quot;html_f81c05bd61215c560778c0d766233f94&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Clarence Fire Department</div>`)[0];
                popup_5eb2d1e3079a122f2be3f54fadef2e41.setContent(html_f81c05bd61215c560778c0d766233f94);
            
        

        circle_marker_a1a001188f3e51f4c16a72e371dfe3c8.bindPopup(popup_5eb2d1e3079a122f2be3f54fadef2e41)
        ;

        
    
    
            var circle_marker_0458a2324a85178f3671a802a19a0ee4 = L.circleMarker(
                [41.7393978, -90.9737137],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_64348ee76d77b9e4afa679ad0e36f879 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_758431b5f9e51767755e02272411de3d = $(`<div id=&quot;html_758431b5f9e51767755e02272411de3d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bennett Fire Department</div>`)[0];
                popup_64348ee76d77b9e4afa679ad0e36f879.setContent(html_758431b5f9e51767755e02272411de3d);
            
        

        circle_marker_0458a2324a85178f3671a802a19a0ee4.bindPopup(popup_64348ee76d77b9e4afa679ad0e36f879)
        ;

        
    
    
            var circle_marker_50e56263df7cf3e94c43a2d0cce68b85 = L.circleMarker(
                [41.9080844, -90.5953377],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9fc30c97b1a14c36a5377a3ef20cdcf8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_807bd40ee47875bd14b6ced9e395d3a8 = $(`<div id=&quot;html_807bd40ee47875bd14b6ced9e395d3a8&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Welton Fire Station</div>`)[0];
                popup_9fc30c97b1a14c36a5377a3ef20cdcf8.setContent(html_807bd40ee47875bd14b6ced9e395d3a8);
            
        

        circle_marker_50e56263df7cf3e94c43a2d0cce68b85.bindPopup(popup_9fc30c97b1a14c36a5377a3ef20cdcf8)
        ;

        
    
    
            var circle_marker_5ca57db986ccb580d1b7b6c87c79abeb = L.circleMarker(
                [42.2321127, -91.18767],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_24c2bea418813e7016ffc3d66f6ad209 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ba94c725da400669c523aacd681f6b2f = $(`<div id=&quot;html_ba94c725da400669c523aacd681f6b2f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Monticello Fire Department</div>`)[0];
                popup_24c2bea418813e7016ffc3d66f6ad209.setContent(html_ba94c725da400669c523aacd681f6b2f);
            
        

        circle_marker_5ca57db986ccb580d1b7b6c87c79abeb.bindPopup(popup_24c2bea418813e7016ffc3d66f6ad209)
        ;

        
    
    
            var circle_marker_f937d7584ec1bc729397748e42b7e21d = L.circleMarker(
                [42.1043098, -91.2766159],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ddc8f0f689ff59a0fa7e11d02b67a9bf = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c495da5eb2e9c8ccea3de09fef4f76be = $(`<div id=&quot;html_c495da5eb2e9c8ccea3de09fef4f76be&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Anamosa City Fire Department</div>`)[0];
                popup_ddc8f0f689ff59a0fa7e11d02b67a9bf.setContent(html_c495da5eb2e9c8ccea3de09fef4f76be);
            
        

        circle_marker_f937d7584ec1bc729397748e42b7e21d.bindPopup(popup_ddc8f0f689ff59a0fa7e11d02b67a9bf)
        ;

        
    
    
            var circle_marker_45312a9c09afc50dc2d026a78803cfa6 = L.circleMarker(
                [42.0591841, -90.9990638],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4990529c0572bfded40b88ea33570cf6 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_af5965337779cef63fe27e6c25feb28b = $(`<div id=&quot;html_af5965337779cef63fe27e6c25feb28b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Wyoming Fire Department</div>`)[0];
                popup_4990529c0572bfded40b88ea33570cf6.setContent(html_af5965337779cef63fe27e6c25feb28b);
            
        

        circle_marker_45312a9c09afc50dc2d026a78803cfa6.bindPopup(popup_4990529c0572bfded40b88ea33570cf6)
        ;

        
    
    
            var circle_marker_feb385ac3e295fcca543cb008ce8354a = L.circleMarker(
                [41.9830564, -90.9546226],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_cab876c024699e5669597aa375a192cd = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d25ce71b529a99160cac0d65b64a08fc = $(`<div id=&quot;html_d25ce71b529a99160cac0d65b64a08fc&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Oxford Junction Volunteer Fire Department</div>`)[0];
                popup_cab876c024699e5669597aa375a192cd.setContent(html_d25ce71b529a99160cac0d65b64a08fc);
            
        

        circle_marker_feb385ac3e295fcca543cb008ce8354a.bindPopup(popup_cab876c024699e5669597aa375a192cd)
        ;

        
    
    
            var circle_marker_ee852093503d877864b2a456146e2021 = L.circleMarker(
                [42.0205445, -91.3585548],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1fe53bd87e6dc191c2cbe7689d52fd48 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_cd28fc48ae6f3bcb84c3239ea6150e9f = $(`<div id=&quot;html_cd28fc48ae6f3bcb84c3239ea6150e9f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Martelle Fire Department</div>`)[0];
                popup_1fe53bd87e6dc191c2cbe7689d52fd48.setContent(html_cd28fc48ae6f3bcb84c3239ea6150e9f);
            
        

        circle_marker_ee852093503d877864b2a456146e2021.bindPopup(popup_1fe53bd87e6dc191c2cbe7689d52fd48)
        ;

        
    
    
            var circle_marker_775e7707c6df3813574cdcfd357e17d0 = L.circleMarker(
                [42.1056989, -91.0142068],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9e89a0c601b25e3f6f15b5d13efe383f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_af3d3a1f9f4ee2d6b5e3480da1eead74 = $(`<div id=&quot;html_af3d3a1f9f4ee2d6b5e3480da1eead74&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Onslow Fire Department</div>`)[0];
                popup_9e89a0c601b25e3f6f15b5d13efe383f.setContent(html_af3d3a1f9f4ee2d6b5e3480da1eead74);
            
        

        circle_marker_775e7707c6df3813574cdcfd357e17d0.bindPopup(popup_9e89a0c601b25e3f6f15b5d13efe383f)
        ;

        
    
    
            var circle_marker_85f74407428611b1511affa57b3e4c71 = L.circleMarker(
                [42.1148272, -91.0905452],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b85dd4f7651afef7155d1b7fa37d0546 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b37a9c5ee8844276464dbc58b6f03ca7 = $(`<div id=&quot;html_b37a9c5ee8844276464dbc58b6f03ca7&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Center Junction Fire Department</div>`)[0];
                popup_b85dd4f7651afef7155d1b7fa37d0546.setContent(html_b37a9c5ee8844276464dbc58b6f03ca7);
            
        

        circle_marker_85f74407428611b1511affa57b3e4c71.bindPopup(popup_b85dd4f7651afef7155d1b7fa37d0546)
        ;

        
    
    
            var circle_marker_75e21b9bb105f5a8141bccce385798d6 = L.circleMarker(
                [42.5018893, -92.3358915],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f1c59829649b7a51aa69ac873aa96ff1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_5d5ae374cb2061f901bbfd3d6575c544 = $(`<div id=&quot;html_5d5ae374cb2061f901bbfd3d6575c544&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Waterloo Fire and Rescue Station 1</div>`)[0];
                popup_f1c59829649b7a51aa69ac873aa96ff1.setContent(html_5d5ae374cb2061f901bbfd3d6575c544);
            
        

        circle_marker_75e21b9bb105f5a8141bccce385798d6.bindPopup(popup_f1c59829649b7a51aa69ac873aa96ff1)
        ;

        
    
    
            var circle_marker_c0e315db36a2b2d8ab95fa8b63d15bcf = L.circleMarker(
                [42.1534872, -90.5915336],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5d3e7d86b8a4ca4bbe68770d1541c119 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_09444ac1035b7dbe1552fa6b2d684c6f = $(`<div id=&quot;html_09444ac1035b7dbe1552fa6b2d684c6f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Andrew Fire Station</div>`)[0];
                popup_5d3e7d86b8a4ca4bbe68770d1541c119.setContent(html_09444ac1035b7dbe1552fa6b2d684c6f);
            
        

        circle_marker_c0e315db36a2b2d8ab95fa8b63d15bcf.bindPopup(popup_5d3e7d86b8a4ca4bbe68770d1541c119)
        ;

        
    
    
            var circle_marker_101e11500494c9cdb708e1050cc6decc = L.circleMarker(
                [42.0701364, -90.8413467],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c125a54d2eda9af937fd299afa290a7a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8f8def3f0d4b1364c474b43e472592d3 = $(`<div id=&quot;html_8f8def3f0d4b1364c474b43e472592d3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Baldwin Fire Department</div>`)[0];
                popup_c125a54d2eda9af937fd299afa290a7a.setContent(html_8f8def3f0d4b1364c474b43e472592d3);
            
        

        circle_marker_101e11500494c9cdb708e1050cc6decc.bindPopup(popup_c125a54d2eda9af937fd299afa290a7a)
        ;

        
    
    
            var circle_marker_0f478a7299d96d2f5cf0ed9bbdb21207 = L.circleMarker(
                [42.0472973, -90.3146026],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_8dd7bf18946ad77e40c12d48ac47ddbd = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_47b460420cf046b182bdfa8976081ecc = $(`<div id=&quot;html_47b460420cf046b182bdfa8976081ecc&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Miles Fire Station</div>`)[0];
                popup_8dd7bf18946ad77e40c12d48ac47ddbd.setContent(html_47b460420cf046b182bdfa8976081ecc);
            
        

        circle_marker_0f478a7299d96d2f5cf0ed9bbdb21207.bindPopup(popup_8dd7bf18946ad77e40c12d48ac47ddbd)
        ;

        
    
    
            var circle_marker_294986daefa93c6aa5e90095fa56a88e = L.circleMarker(
                [42.0507057, -90.3969599],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c75706f6ba75a5b19b0433f872bbee9b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3d4fd8fa77c0f2f4591c67a2f45d8949 = $(`<div id=&quot;html_3d4fd8fa77c0f2f4591c67a2f45d8949&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Preston Fire Department</div>`)[0];
                popup_c75706f6ba75a5b19b0433f872bbee9b.setContent(html_3d4fd8fa77c0f2f4591c67a2f45d8949);
            
        

        circle_marker_294986daefa93c6aa5e90095fa56a88e.bindPopup(popup_c75706f6ba75a5b19b0433f872bbee9b)
        ;

        
    
    
            var circle_marker_b95d48fe559afd8699c9ae880797186b = L.circleMarker(
                [42.3015571, -91.0046813],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_68364e397307b0e6bb74f314e527f8ed = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_876d2975c236e143906fd9103bf5cba8 = $(`<div id=&quot;html_876d2975c236e143906fd9103bf5cba8&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cascade Fire Department</div>`)[0];
                popup_68364e397307b0e6bb74f314e527f8ed.setContent(html_876d2975c236e143906fd9103bf5cba8);
            
        

        circle_marker_b95d48fe559afd8699c9ae880797186b.bindPopup(popup_68364e397307b0e6bb74f314e527f8ed)
        ;

        
    
    
            var circle_marker_9efcfd53545b033d5c8f7652333aa567 = L.circleMarker(
                [42.5024171, -90.6660086],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ecdc7d8208dc434fd561dbed56dd58af = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b706e978edded76bc41425d34fff74d2 = $(`<div id=&quot;html_b706e978edded76bc41425d34fff74d2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dubuque Fire Department Station 1 Headquarters</div>`)[0];
                popup_ecdc7d8208dc434fd561dbed56dd58af.setContent(html_b706e978edded76bc41425d34fff74d2);
            
        

        circle_marker_9efcfd53545b033d5c8f7652333aa567.bindPopup(popup_ecdc7d8208dc434fd561dbed56dd58af)
        ;

        
    
    
            var circle_marker_d9e7308fb3484f42d51757bd7a28133e = L.circleMarker(
                [42.1634897, -90.4770159],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_36c6506439bac7937f1a5d7c7b270110 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c186dd7612713d30889d03ad81c63ba6 = $(`<div id=&quot;html_c186dd7612713d30889d03ad81c63ba6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Springbrook Volunteer Fire Department</div>`)[0];
                popup_36c6506439bac7937f1a5d7c7b270110.setContent(html_c186dd7612713d30889d03ad81c63ba6);
            
        

        circle_marker_d9e7308fb3484f42d51757bd7a28133e.bindPopup(popup_36c6506439bac7937f1a5d7c7b270110)
        ;

        
    
    
            var circle_marker_a471bd5db51c6d2c22ebe13d8e198146 = L.circleMarker(
                [42.3141543, -90.831087],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_cbf2db445722a9c1a4b1b081eccead44 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4a0474c54bb6004793260add8dab3d8b = $(`<div id=&quot;html_4a0474c54bb6004793260add8dab3d8b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bernard Fire Department</div>`)[0];
                popup_cbf2db445722a9c1a4b1b081eccead44.setContent(html_4a0474c54bb6004793260add8dab3d8b);
            
        

        circle_marker_a471bd5db51c6d2c22ebe13d8e198146.bindPopup(popup_cbf2db445722a9c1a4b1b081eccead44)
        ;

        
    
    
            var circle_marker_88cb8cea7ec55196b2a1c548f8ce9633 = L.circleMarker(
                [42.4710714, -91.1175928],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_90ab5595de629e0106643090497b158f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a377afbcae4900c158df3673366dd098 = $(`<div id=&quot;html_a377afbcae4900c158df3673366dd098&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dyersville Fire Department</div>`)[0];
                popup_90ab5595de629e0106643090497b158f.setContent(html_a377afbcae4900c158df3673366dd098);
            
        

        circle_marker_88cb8cea7ec55196b2a1c548f8ce9633.bindPopup(popup_90ab5595de629e0106643090497b158f)
        ;

        
    
    
            var circle_marker_52f1f309a51fb92228190db70ffcf5dc = L.circleMarker(
                [42.5484269, -91.114587],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f4df703ae831390dc0a781f3fe04b03b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_27f5586c046e2cd492211f20ea9a8129 = $(`<div id=&quot;html_27f5586c046e2cd492211f20ea9a8129&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>New Vienna Luxemburg Fire Department</div>`)[0];
                popup_f4df703ae831390dc0a781f3fe04b03b.setContent(html_27f5586c046e2cd492211f20ea9a8129);
            
        

        circle_marker_52f1f309a51fb92228190db70ffcf5dc.bindPopup(popup_f4df703ae831390dc0a781f3fe04b03b)
        ;

        
    
    
            var circle_marker_774cfa4198d94b9756281d6716f935a3 = L.circleMarker(
                [41.8927191, -91.1504289],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c21fea1e1132cb8111c1714baccfc533 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_bde8d62ed728a2b39062aa8a828df26e = $(`<div id=&quot;html_bde8d62ed728a2b39062aa8a828df26e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Stanwood Fire Department</div>`)[0];
                popup_c21fea1e1132cb8111c1714baccfc533.setContent(html_bde8d62ed728a2b39062aa8a828df26e);
            
        

        circle_marker_774cfa4198d94b9756281d6716f935a3.bindPopup(popup_c21fea1e1132cb8111c1714baccfc533)
        ;

        
    
    
            var circle_marker_fc16a8acc65cbccc9a4d03a514d69295 = L.circleMarker(
                [41.6710977, -91.3439861],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7013cb517640105846b5a4897c48820c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a6a0a2dc4ddc2002f63c6a33f7606af1 = $(`<div id=&quot;html_a6a0a2dc4ddc2002f63c6a33f7606af1&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>West Branch Fire Department</div>`)[0];
                popup_7013cb517640105846b5a4897c48820c.setContent(html_a6a0a2dc4ddc2002f63c6a33f7606af1);
            
        

        circle_marker_fc16a8acc65cbccc9a4d03a514d69295.bindPopup(popup_7013cb517640105846b5a4897c48820c)
        ;

        
    
    
            var circle_marker_e262c09d6f1f6c9b35bcb02da3d60d34 = L.circleMarker(
                [41.7692463, -91.1302492],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5280e862174b352cf0f9f138f73ab16b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9d2fe7835c7a486b8e7ffa794f363b6e = $(`<div id=&quot;html_9d2fe7835c7a486b8e7ffa794f363b6e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Tipton Fire Department</div>`)[0];
                popup_5280e862174b352cf0f9f138f73ab16b.setContent(html_9d2fe7835c7a486b8e7ffa794f363b6e);
            
        

        circle_marker_e262c09d6f1f6c9b35bcb02da3d60d34.bindPopup(popup_5280e862174b352cf0f9f138f73ab16b)
        ;

        
    
    
            var circle_marker_c5a5a9ecd493f9478fea42f2fc8b3205 = L.circleMarker(
                [41.3558091, -91.123706],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_902ecd894af38cb91c21505836644607 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e25379ee4081af40f240d7ec9556ca0f = $(`<div id=&quot;html_e25379ee4081af40f240d7ec9556ca0f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Fruitland Fire Department</div>`)[0];
                popup_902ecd894af38cb91c21505836644607.setContent(html_e25379ee4081af40f240d7ec9556ca0f);
            
        

        circle_marker_c5a5a9ecd493f9478fea42f2fc8b3205.bindPopup(popup_902ecd894af38cb91c21505836644607)
        ;

        
    
    
            var circle_marker_8300328da9adffbd456e2bc9af53b2f8 = L.circleMarker(
                [41.5687389, -91.262112],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1fe5bf2607b838bcdd006eed17a66263 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_22a7057b2b7d30f058da75113811b3e4 = $(`<div id=&quot;html_22a7057b2b7d30f058da75113811b3e4&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>West Liberty Volunteer Fire Department</div>`)[0];
                popup_1fe5bf2607b838bcdd006eed17a66263.setContent(html_22a7057b2b7d30f058da75113811b3e4);
            
        

        circle_marker_8300328da9adffbd456e2bc9af53b2f8.bindPopup(popup_1fe5bf2607b838bcdd006eed17a66263)
        ;

        
    
    
            var circle_marker_c284a328836538c369b25efcfaddfacf = L.circleMarker(
                [41.4808479, -91.3102003],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f16a39319bdd057e86f0d50ec421d93e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1929e71ebe9995208bf11903afa0b32a = $(`<div id=&quot;html_1929e71ebe9995208bf11903afa0b32a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Nichols Fire Department</div>`)[0];
                popup_f16a39319bdd057e86f0d50ec421d93e.setContent(html_1929e71ebe9995208bf11903afa0b32a);
            
        

        circle_marker_c284a328836538c369b25efcfaddfacf.bindPopup(popup_f16a39319bdd057e86f0d50ec421d93e)
        ;

        
    
    
            var circle_marker_b85e0afae0432b13b6df52e204b9faac = L.circleMarker(
                [41.9050213, -90.8640346],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9666aaee9a76a7196109c6c65980a9ea = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6b00f09a07eac83d56fde311fa825e82 = $(`<div id=&quot;html_6b00f09a07eac83d56fde311fa825e82&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Toronto Fire Department</div>`)[0];
                popup_9666aaee9a76a7196109c6c65980a9ea.setContent(html_6b00f09a07eac83d56fde311fa825e82);
            
        

        circle_marker_b85e0afae0432b13b6df52e204b9faac.bindPopup(popup_9666aaee9a76a7196109c6c65980a9ea)
        ;

        
    
    
            var circle_marker_23fad46466e8c43a4ee3b3ea6bb12084 = L.circleMarker(
                [41.826513, -90.2183597],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_77337c1a139c98b282ae02ea8c70c9f8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_95eea1796ae72b004031c533e06b86b9 = $(`<div id=&quot;html_95eea1796ae72b004031c533e06b86b9&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Clinton Fire Department Station 4 - Chancy</div>`)[0];
                popup_77337c1a139c98b282ae02ea8c70c9f8.setContent(html_95eea1796ae72b004031c533e06b86b9);
            
        

        circle_marker_23fad46466e8c43a4ee3b3ea6bb12084.bindPopup(popup_77337c1a139c98b282ae02ea8c70c9f8)
        ;

        
    
    
            var circle_marker_85aaabc89dc63b7c3a0094f5e3ddc1be = L.circleMarker(
                [41.8437407, -90.1929496],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e7c1e767995e2bc3535ff18b77db2443 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9ffd0af13cc3b9def561c510912264c1 = $(`<div id=&quot;html_9ffd0af13cc3b9def561c510912264c1&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Clinton Fire Department Central Station</div>`)[0];
                popup_e7c1e767995e2bc3535ff18b77db2443.setContent(html_9ffd0af13cc3b9def561c510912264c1);
            
        

        circle_marker_85aaabc89dc63b7c3a0094f5e3ddc1be.bindPopup(popup_e7c1e767995e2bc3535ff18b77db2443)
        ;

        
    
    
            var circle_marker_cc0941a92bec446d01877a607e1d3d3e = L.circleMarker(
                [41.9680079, -90.3807042],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_35620ac612bcc66555e6034016ac0213 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_61838903800728fdf44b316cadfbc8d1 = $(`<div id=&quot;html_61838903800728fdf44b316cadfbc8d1&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Goose Lake Fire Department</div>`)[0];
                popup_35620ac612bcc66555e6034016ac0213.setContent(html_61838903800728fdf44b316cadfbc8d1);
            
        

        circle_marker_cc0941a92bec446d01877a607e1d3d3e.bindPopup(popup_35620ac612bcc66555e6034016ac0213)
        ;

        
    
    
            var circle_marker_5a653b8215b13dace8f36a7c063ee1f4 = L.circleMarker(
                [41.964722, -90.8178829],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2084d2d40b028e7ba6426a57931ba2ca = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_354cd70844c462408fe24ac6f585b9de = $(`<div id=&quot;html_354cd70844c462408fe24ac6f585b9de&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lost Nation Volunteer Fire Company</div>`)[0];
                popup_2084d2d40b028e7ba6426a57931ba2ca.setContent(html_354cd70844c462408fe24ac6f585b9de);
            
        

        circle_marker_5a653b8215b13dace8f36a7c063ee1f4.bindPopup(popup_2084d2d40b028e7ba6426a57931ba2ca)
        ;

        
    
    
            var circle_marker_dd780c963ed2aeb3bfc9cd77ab20c52d = L.circleMarker(
                [41.8242969, -90.6484419],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_90a0c59f606d1d7afe26904115c0e42f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_544dad98665c6a3199acac6d464a6afa = $(`<div id=&quot;html_544dad98665c6a3199acac6d464a6afa&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Grand Mound Volunteer Fire Department</div>`)[0];
                popup_90a0c59f606d1d7afe26904115c0e42f.setContent(html_544dad98665c6a3199acac6d464a6afa);
            
        

        circle_marker_dd780c963ed2aeb3bfc9cd77ab20c52d.bindPopup(popup_90a0c59f606d1d7afe26904115c0e42f)
        ;

        
    
    
            var circle_marker_04f7f99f4bf32a9562ee2920d2c67b9b = L.circleMarker(
                [41.9613875, -90.468174],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_215fef0d629607144ad9a3e3f25b8a0a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_da87ab3963ee13d4327a1ce445192000 = $(`<div id=&quot;html_da87ab3963ee13d4327a1ce445192000&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Charlotte Fire Department</div>`)[0];
                popup_215fef0d629607144ad9a3e3f25b8a0a.setContent(html_da87ab3963ee13d4327a1ce445192000);
            
        

        circle_marker_04f7f99f4bf32a9562ee2920d2c67b9b.bindPopup(popup_215fef0d629607144ad9a3e3f25b8a0a)
        ;

        
    
    
            var circle_marker_7cca0da54f2c384db61dea555e6e5e65 = L.circleMarker(
                [41.7880747, -90.2574204],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_158e02003b0b83712e280def2cb4e981 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f42cd5372457242f5280aec2e22aca2d = $(`<div id=&quot;html_f42cd5372457242f5280aec2e22aca2d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Camanche Volunteer Fire Department</div>`)[0];
                popup_158e02003b0b83712e280def2cb4e981.setContent(html_f42cd5372457242f5280aec2e22aca2d);
            
        

        circle_marker_7cca0da54f2c384db61dea555e6e5e65.bindPopup(popup_158e02003b0b83712e280def2cb4e981)
        ;

        
    
    
            var circle_marker_e5e740fd8acbdd90ad899834838ae95a = L.circleMarker(
                [41.6270284, -93.6051103],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9e1ab1de3a75bcb0519494a3da02d841 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4d9d8ab58e9f25f65fc2104849138581 = $(`<div id=&quot;html_4d9d8ab58e9f25f65fc2104849138581&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Des Moines Fire and Rescue Department Station 7</div>`)[0];
                popup_9e1ab1de3a75bcb0519494a3da02d841.setContent(html_4d9d8ab58e9f25f65fc2104849138581);
            
        

        circle_marker_e5e740fd8acbdd90ad899834838ae95a.bindPopup(popup_9e1ab1de3a75bcb0519494a3da02d841)
        ;

        
    
    
            var circle_marker_0f15d20af8dfae510c1fbf9960b567ed = L.circleMarker(
                [41.1752664, -93.1519368],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b9f7f72fa01f445ac01d4dc638a41787 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3da6b2f7d15addea9d9a5007851b9156 = $(`<div id=&quot;html_3da6b2f7d15addea9d9a5007851b9156&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Columbia Fire Department</div>`)[0];
                popup_b9f7f72fa01f445ac01d4dc638a41787.setContent(html_3da6b2f7d15addea9d9a5007851b9156);
            
        

        circle_marker_0f15d20af8dfae510c1fbf9960b567ed.bindPopup(popup_b9f7f72fa01f445ac01d4dc638a41787)
        ;

        
    
    
            var circle_marker_f5d9294756225635ed8140087a91c68c = L.circleMarker(
                [43.3522671, -93.2099722],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_861e261f12206aac57ee7836b75f13f0 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d75dbab2452ec41758135be8a19bc133 = $(`<div id=&quot;html_d75dbab2452ec41758135be8a19bc133&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Kensett Volunteer Fire Department</div>`)[0];
                popup_861e261f12206aac57ee7836b75f13f0.setContent(html_d75dbab2452ec41758135be8a19bc133);
            
        

        circle_marker_f5d9294756225635ed8140087a91c68c.bindPopup(popup_861e261f12206aac57ee7836b75f13f0)
        ;

        
    
    
            var circle_marker_0b724d6e51f0af0d1114c5f1f108601c = L.circleMarker(
                [43.1458269, -91.7643794],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4f1eba0101e5c23cba3ad79fe38f12db = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_380cd027e43481b0a099131f5f23292c = $(`<div id=&quot;html_380cd027e43481b0a099131f5f23292c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Tri-Township Fire Department</div>`)[0];
                popup_4f1eba0101e5c23cba3ad79fe38f12db.setContent(html_380cd027e43481b0a099131f5f23292c);
            
        

        circle_marker_0b724d6e51f0af0d1114c5f1f108601c.bindPopup(popup_4f1eba0101e5c23cba3ad79fe38f12db)
        ;

        
    
    
            var circle_marker_280fb7d3d4d7eefda50be26e01508c2d = L.circleMarker(
                [40.8182, -93.9626664],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_07fef5fb304785c85171b66da04c5205 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ff40f581f7e8b9da7b5bd4aa976bc124 = $(`<div id=&quot;html_ff40f581f7e8b9da7b5bd4aa976bc124&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Grand River Fire Department</div>`)[0];
                popup_07fef5fb304785c85171b66da04c5205.setContent(html_ff40f581f7e8b9da7b5bd4aa976bc124);
            
        

        circle_marker_280fb7d3d4d7eefda50be26e01508c2d.bindPopup(popup_07fef5fb304785c85171b66da04c5205)
        ;

        
    
    
            var circle_marker_6c3171616b16af5ef2b9a460e083a92d = L.circleMarker(
                [40.5810005, -93.5249697],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_202953ef7f2934334da4437ae8a91db2 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_13bf329fec99e8b81c2b828edaa99293 = $(`<div id=&quot;html_13bf329fec99e8b81c2b828edaa99293&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lineville Fire Department</div>`)[0];
                popup_202953ef7f2934334da4437ae8a91db2.setContent(html_13bf329fec99e8b81c2b828edaa99293);
            
        

        circle_marker_6c3171616b16af5ef2b9a460e083a92d.bindPopup(popup_202953ef7f2934334da4437ae8a91db2)
        ;

        
    
    
            var circle_marker_7162ec14a07871f6857f9c29a86f9799 = L.circleMarker(
                [41.9993158, -92.1974794],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e687e84d49eb1f892f0ddaa44a942da7 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8c42cacef25bf9b21b43f4d671a4dfcd = $(`<div id=&quot;html_8c42cacef25bf9b21b43f4d671a4dfcd&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Keystone Volunteer Fire Department</div>`)[0];
                popup_e687e84d49eb1f892f0ddaa44a942da7.setContent(html_8c42cacef25bf9b21b43f4d671a4dfcd);
            
        

        circle_marker_7162ec14a07871f6857f9c29a86f9799.bindPopup(popup_e687e84d49eb1f892f0ddaa44a942da7)
        ;

        
    
    
            var circle_marker_66909645b9a8a1ca0c7a204b39bad185 = L.circleMarker(
                [43.3743151, -92.1175736],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0093b34759d3f32b9d45b013928a893a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a45ea9bc207b77bf15d00402ed0ee6f2 = $(`<div id=&quot;html_a45ea9bc207b77bf15d00402ed0ee6f2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cresco City Fire Department</div>`)[0];
                popup_0093b34759d3f32b9d45b013928a893a.setContent(html_a45ea9bc207b77bf15d00402ed0ee6f2);
            
        

        circle_marker_66909645b9a8a1ca0c7a204b39bad185.bindPopup(popup_0093b34759d3f32b9d45b013928a893a)
        ;

        
    
    
            var circle_marker_d2bc255a84c7618e132afd1c7c9416f8 = L.circleMarker(
                [40.6397632, -93.8096697],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_88ddc956a2e439d6942a2477b7c27c41 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ba7e7dd82d4dbed1e36a03294ea4d026 = $(`<div id=&quot;html_ba7e7dd82d4dbed1e36a03294ea4d026&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Davis City Fire Department</div>`)[0];
                popup_88ddc956a2e439d6942a2477b7c27c41.setContent(html_ba7e7dd82d4dbed1e36a03294ea4d026);
            
        

        circle_marker_d2bc255a84c7618e132afd1c7c9416f8.bindPopup(popup_88ddc956a2e439d6942a2477b7c27c41)
        ;

        
    
    
            var circle_marker_dc88272e2da9ba93c2664e7185d11891 = L.circleMarker(
                [42.4999193, -96.4074264],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_363fc9d5696ae0663b767a535bf5329e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ce3d1a0cdd66412b291cb700004ea9be = $(`<div id=&quot;html_ce3d1a0cdd66412b291cb700004ea9be&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sioux City Fire Department Station 1</div>`)[0];
                popup_363fc9d5696ae0663b767a535bf5329e.setContent(html_ce3d1a0cdd66412b291cb700004ea9be);
            
        

        circle_marker_dc88272e2da9ba93c2664e7185d11891.bindPopup(popup_363fc9d5696ae0663b767a535bf5329e)
        ;

        
    
    
            var circle_marker_ae16b3ab531ec1e4deab302b37d1aa7c = L.circleMarker(
                [43.1284446, -92.7368184],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_d00dceef5a79fcad5c4f58b4a7a26460 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3a8ab656dd3fb6293610aac9da04554b = $(`<div id=&quot;html_3a8ab656dd3fb6293610aac9da04554b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Floyd Volunteer Fire Department</div>`)[0];
                popup_d00dceef5a79fcad5c4f58b4a7a26460.setContent(html_3a8ab656dd3fb6293610aac9da04554b);
            
        

        circle_marker_ae16b3ab531ec1e4deab302b37d1aa7c.bindPopup(popup_d00dceef5a79fcad5c4f58b4a7a26460)
        ;

        
    
    
            var circle_marker_8b868404902bec9da592f7c77709a3a7 = L.circleMarker(
                [42.4727644, -91.7352451],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_64ed9bae4dbc0c553968aa5b8120306c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_bc6696d36ced176d06674e8a04ca3fc5 = $(`<div id=&quot;html_bc6696d36ced176d06674e8a04ca3fc5&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Winthrop Fire Department</div>`)[0];
                popup_64ed9bae4dbc0c553968aa5b8120306c.setContent(html_bc6696d36ced176d06674e8a04ca3fc5);
            
        

        circle_marker_8b868404902bec9da592f7c77709a3a7.bindPopup(popup_64ed9bae4dbc0c553968aa5b8120306c)
        ;

        
    
    
            var circle_marker_285137e8703257190d2e736e02e4423f = L.circleMarker(
                [42.8477545, -92.0961212],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1429f718ade52be07bf502641a62136e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2e98411ca6710929071cd6f1edd0acce = $(`<div id=&quot;html_2e98411ca6710929071cd6f1edd0acce&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sumner Fire Department</div>`)[0];
                popup_1429f718ade52be07bf502641a62136e.setContent(html_2e98411ca6710929071cd6f1edd0acce);
            
        

        circle_marker_285137e8703257190d2e736e02e4423f.bindPopup(popup_1429f718ade52be07bf502641a62136e)
        ;

        
    
    
            var circle_marker_82a55a0b3b3964d14465a306c160e9b0 = L.circleMarker(
                [43.1907553, -91.619399],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_49cdf2de47cdb5335cbfb14a1e17fbcc = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a7bb9e6b9848b5d308c3ed103216b3d1 = $(`<div id=&quot;html_a7bb9e6b9848b5d308c3ed103216b3d1&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Frankville Fire Department</div>`)[0];
                popup_49cdf2de47cdb5335cbfb14a1e17fbcc.setContent(html_a7bb9e6b9848b5d308c3ed103216b3d1);
            
        

        circle_marker_82a55a0b3b3964d14465a306c160e9b0.bindPopup(popup_49cdf2de47cdb5335cbfb14a1e17fbcc)
        ;

        
    
    
            var circle_marker_deb11f8304ed611ca8e24d333213821e = L.circleMarker(
                [41.316411, -93.0967862],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_01f73399967f594d75275e25bf246085 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1100f49bd7fe9910ac055adb852b3fff = $(`<div id=&quot;html_1100f49bd7fe9910ac055adb852b3fff&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Knoxville Fire and Rescue Department</div>`)[0];
                popup_01f73399967f594d75275e25bf246085.setContent(html_1100f49bd7fe9910ac055adb852b3fff);
            
        

        circle_marker_deb11f8304ed611ca8e24d333213821e.bindPopup(popup_01f73399967f594d75275e25bf246085)
        ;

        
    
    
            var circle_marker_919bcf9dd9a84c4f7c9ba6bfc86edeed = L.circleMarker(
                [41.486695, -93.6754739],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6d9962a8339db25149c13cf9e33f4a83 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_685a2d9a61e7210924b2198063493758 = $(`<div id=&quot;html_685a2d9a61e7210924b2198063493758&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Norwalk Fire and Rescue Department</div>`)[0];
                popup_6d9962a8339db25149c13cf9e33f4a83.setContent(html_685a2d9a61e7210924b2198063493758);
            
        

        circle_marker_919bcf9dd9a84c4f7c9ba6bfc86edeed.bindPopup(popup_6d9962a8339db25149c13cf9e33f4a83)
        ;

        
    
    
            var circle_marker_79c374edb35f269d86f50df202b6efd2 = L.circleMarker(
                [42.2818931, -94.4194315],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7d686b5cf352a057e7ff2e97e029cfff = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_146607c4a9717f8302f5f1c4efbaa669 = $(`<div id=&quot;html_146607c4a9717f8302f5f1c4efbaa669&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Farnhamville Fire Department</div>`)[0];
                popup_7d686b5cf352a057e7ff2e97e029cfff.setContent(html_146607c4a9717f8302f5f1c4efbaa669);
            
        

        circle_marker_79c374edb35f269d86f50df202b6efd2.bindPopup(popup_7d686b5cf352a057e7ff2e97e029cfff)
        ;

        
    
    
            var circle_marker_70c35d93c5462a7b4f38422b2b592dcc = L.circleMarker(
                [40.9786041, -95.1045264],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_01a4ac12db264d67faee06ddee78732f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8345ee07f25e418e12cd76ed6b1d359e = $(`<div id=&quot;html_8345ee07f25e418e12cd76ed6b1d359e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Stanton Fire Department</div>`)[0];
                popup_01a4ac12db264d67faee06ddee78732f.setContent(html_8345ee07f25e418e12cd76ed6b1d359e);
            
        

        circle_marker_70c35d93c5462a7b4f38422b2b592dcc.bindPopup(popup_01a4ac12db264d67faee06ddee78732f)
        ;

        
    
    
            var circle_marker_0ce0d6af93836a3af790a10a85680dc5 = L.circleMarker(
                [41.2856412, -95.91768],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2bb02f3e8aed868cd7c762f764ccc898 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e543272e34459f2ee1a67c1e85957355 = $(`<div id=&quot;html_e543272e34459f2ee1a67c1e85957355&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Carter Lake Fire Department</div>`)[0];
                popup_2bb02f3e8aed868cd7c762f764ccc898.setContent(html_e543272e34459f2ee1a67c1e85957355);
            
        

        circle_marker_0ce0d6af93836a3af790a10a85680dc5.bindPopup(popup_2bb02f3e8aed868cd7c762f764ccc898)
        ;

        
    
    
            var circle_marker_e17a62b15cda4f7688d00e273c0f861b = L.circleMarker(
                [40.6733069, -92.1624597],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_11548d67ea7a8d3fa79c47d5a16d0c1f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_97cb697d2cea6f3ab90de67c066bd123 = $(`<div id=&quot;html_97cb697d2cea6f3ab90de67c066bd123&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Milton Community Fire Department</div>`)[0];
                popup_11548d67ea7a8d3fa79c47d5a16d0c1f.setContent(html_97cb697d2cea6f3ab90de67c066bd123);
            
        

        circle_marker_e17a62b15cda4f7688d00e273c0f861b.bindPopup(popup_11548d67ea7a8d3fa79c47d5a16d0c1f)
        ;

        
    
    
            var circle_marker_6d0dfe6cffc0f0f6d65b2dbaf64e6c7a = L.circleMarker(
                [41.8544951, -95.5997607],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_aaa75fa9f2306080610e327363bdfc7c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d989a86047d496be043ac36cc46706a8 = $(`<div id=&quot;html_d989a86047d496be043ac36cc46706a8&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dunlap Fire Department</div>`)[0];
                popup_aaa75fa9f2306080610e327363bdfc7c.setContent(html_d989a86047d496be043ac36cc46706a8);
            
        

        circle_marker_6d0dfe6cffc0f0f6d65b2dbaf64e6c7a.bindPopup(popup_aaa75fa9f2306080610e327363bdfc7c)
        ;

        
    
    
            var circle_marker_8ef4539e1ee6b599831dea5ab72e91e6 = L.circleMarker(
                [42.8491716, -94.8509494],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_82c59673f48f93d23e710f6350d04783 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0af38d5f77cb802d02d1a3f28c71416b = $(`<div id=&quot;html_0af38d5f77cb802d02d1a3f28c71416b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Laurens Fire Department</div>`)[0];
                popup_82c59673f48f93d23e710f6350d04783.setContent(html_0af38d5f77cb802d02d1a3f28c71416b);
            
        

        circle_marker_8ef4539e1ee6b599831dea5ab72e91e6.bindPopup(popup_82c59673f48f93d23e710f6350d04783)
        ;

        
    
    
            var circle_marker_de9abddb0a69711dfff511fe9b5b2b54 = L.circleMarker(
                [41.5565723, -95.8921497],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ec9847cc5e00de824523c069a9b081aa = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_acfa479ef3781981d3bb61c94f40530f = $(`<div id=&quot;html_acfa479ef3781981d3bb61c94f40530f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Missouri Valley Fire Department</div>`)[0];
                popup_ec9847cc5e00de824523c069a9b081aa.setContent(html_acfa479ef3781981d3bb61c94f40530f);
            
        

        circle_marker_de9abddb0a69711dfff511fe9b5b2b54.bindPopup(popup_ec9847cc5e00de824523c069a9b081aa)
        ;

        
    
    
            var circle_marker_101f4616d922a822dcc303bcb6602380 = L.circleMarker(
                [41.5272321, -93.6241007],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e87319999999a5f4941d17d9b073b87c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_42de1bdad9af99d91078579a6cc6e467 = $(`<div id=&quot;html_42de1bdad9af99d91078579a6cc6e467&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Northern Warren Fire Department</div>`)[0];
                popup_e87319999999a5f4941d17d9b073b87c.setContent(html_42de1bdad9af99d91078579a6cc6e467);
            
        

        circle_marker_101f4616d922a822dcc303bcb6602380.bindPopup(popup_e87319999999a5f4941d17d9b073b87c)
        ;

        
    
    
            var circle_marker_accff0f00ae0f4801f25758a33cc966e = L.circleMarker(
                [42.8127843, -95.7125801],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_76144af4fdf6bd6dbbc1a3f4d379b83b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8bbc41c7ad7df39ffcaff33dcb0212bd = $(`<div id=&quot;html_8bbc41c7ad7df39ffcaff33dcb0212bd&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cleghorn Fire Department</div>`)[0];
                popup_76144af4fdf6bd6dbbc1a3f4d379b83b.setContent(html_8bbc41c7ad7df39ffcaff33dcb0212bd);
            
        

        circle_marker_accff0f00ae0f4801f25758a33cc966e.bindPopup(popup_76144af4fdf6bd6dbbc1a3f4d379b83b)
        ;

        
    
    
            var circle_marker_b95df7dbf490bce631c75599eaec78b1 = L.circleMarker(
                [41.9174324, -91.7813982],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f95cf3e84a79c94151ade44e37f357cf = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0360a84462ad676ccdcbeef6a062e702 = $(`<div id=&quot;html_0360a84462ad676ccdcbeef6a062e702&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Fairfax Volunteer Fire Department</div>`)[0];
                popup_f95cf3e84a79c94151ade44e37f357cf.setContent(html_0360a84462ad676ccdcbeef6a062e702);
            
        

        circle_marker_b95df7dbf490bce631c75599eaec78b1.bindPopup(popup_f95cf3e84a79c94151ade44e37f357cf)
        ;

        
    
    
            var circle_marker_cc95b583f00f7705847343221835833e = L.circleMarker(
                [42.0705931, -91.6674768],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_83c76b683fe0414ade00d0592c371f12 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_509af8f0f2a5f621b463741bf57770b6 = $(`<div id=&quot;html_509af8f0f2a5f621b463741bf57770b6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Robins Fire Department</div>`)[0];
                popup_83c76b683fe0414ade00d0592c371f12.setContent(html_509af8f0f2a5f621b463741bf57770b6);
            
        

        circle_marker_cc95b583f00f7705847343221835833e.bindPopup(popup_83c76b683fe0414ade00d0592c371f12)
        ;

        
    
    
            var circle_marker_9ea69fd928292b7c1e70f3a5aef57829 = L.circleMarker(
                [42.2804138, -91.5330673],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2604e62e16dd149fee2442fbc1955cbe = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_900d1860c48e19a79d9610e3c7c0c151 = $(`<div id=&quot;html_900d1860c48e19a79d9610e3c7c0c151&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Coggon Fire Department</div>`)[0];
                popup_2604e62e16dd149fee2442fbc1955cbe.setContent(html_900d1860c48e19a79d9610e3c7c0c151);
            
        

        circle_marker_9ea69fd928292b7c1e70f3a5aef57829.bindPopup(popup_2604e62e16dd149fee2442fbc1955cbe)
        ;

        
    
    
            var circle_marker_30984bf30631d4c5b2d0dfef7d66d7bb = L.circleMarker(
                [41.9222309, -91.3857244],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_02a50dadb1efa7142590f853918ad662 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e70cef0fba7e3eef2285c91dffe48a68 = $(`<div id=&quot;html_e70cef0fba7e3eef2285c91dffe48a68&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lisbon Fire Department</div>`)[0];
                popup_02a50dadb1efa7142590f853918ad662.setContent(html_e70cef0fba7e3eef2285c91dffe48a68);
            
        

        circle_marker_30984bf30631d4c5b2d0dfef7d66d7bb.bindPopup(popup_02a50dadb1efa7142590f853918ad662)
        ;

        
    
    
            var circle_marker_86d2ef2f146ef07e9601fefa0eb8d8af = L.circleMarker(
                [42.0606123, -91.4431543],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_901bd861893d98e09f8538b9b26362c3 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f750a23fa3344c175d4b1f8483498ea9 = $(`<div id=&quot;html_f750a23fa3344c175d4b1f8483498ea9&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Springville Fire Department</div>`)[0];
                popup_901bd861893d98e09f8538b9b26362c3.setContent(html_f750a23fa3344c175d4b1f8483498ea9);
            
        

        circle_marker_86d2ef2f146ef07e9601fefa0eb8d8af.bindPopup(popup_901bd861893d98e09f8538b9b26362c3)
        ;

        
    
    
            var circle_marker_3165df98e8a7720fcf84540e254e5b4e = L.circleMarker(
                [41.5975937, -93.5142671],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_fa7bbdb23ac20d51f14215b6e240bc95 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_fd88977372444b2fc4406609c431f2eb = $(`<div id=&quot;html_fd88977372444b2fc4406609c431f2eb&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Pleasant Hill Fire Department</div>`)[0];
                popup_fa7bbdb23ac20d51f14215b6e240bc95.setContent(html_fd88977372444b2fc4406609c431f2eb);
            
        

        circle_marker_3165df98e8a7720fcf84540e254e5b4e.bindPopup(popup_fa7bbdb23ac20d51f14215b6e240bc95)
        ;

        
    
    
            var circle_marker_8d47b9bc9a3bccf02a7b40b7249fbac8 = L.circleMarker(
                [41.7717187, -93.7147443],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_68b2d1e400fa2c623ecb72649e3f176f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d8871ecc5d14b3c4c7adc2c4e517270d = $(`<div id=&quot;html_d8871ecc5d14b3c4c7adc2c4e517270d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Polk City Volunteer Fire and Rescue Department</div>`)[0];
                popup_68b2d1e400fa2c623ecb72649e3f176f.setContent(html_d8871ecc5d14b3c4c7adc2c4e517270d);
            
        

        circle_marker_8d47b9bc9a3bccf02a7b40b7249fbac8.bindPopup(popup_68b2d1e400fa2c623ecb72649e3f176f)
        ;

        
    
    
            var circle_marker_1ecc6d8948d4df27dff4b44b5c45e557 = L.circleMarker(
                [41.5992614, -93.7081182],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6749ea5b399b48f045d268bb577cc716 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_295893438f327eed76ef010d127f89dc = $(`<div id=&quot;html_295893438f327eed76ef010d127f89dc&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Windsor Heights Fire Department</div>`)[0];
                popup_6749ea5b399b48f045d268bb577cc716.setContent(html_295893438f327eed76ef010d127f89dc);
            
        

        circle_marker_1ecc6d8948d4df27dff4b44b5c45e557.bindPopup(popup_6749ea5b399b48f045d268bb577cc716)
        ;

        
    
    
            var circle_marker_ca2714c6b5a9d6633e1111e4eab95c6f = L.circleMarker(
                [40.9916659, -94.734797],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_633f6a505a1a1ed05551fc68962a2fc8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1543659e0c16f42618e6dd484a2036e4 = $(`<div id=&quot;html_1543659e0c16f42618e6dd484a2036e4&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Corning Fire Department</div>`)[0];
                popup_633f6a505a1a1ed05551fc68962a2fc8.setContent(html_1543659e0c16f42618e6dd484a2036e4);
            
        

        circle_marker_ca2714c6b5a9d6633e1111e4eab95c6f.bindPopup(popup_633f6a505a1a1ed05551fc68962a2fc8)
        ;

        
    
    
            var circle_marker_2159b9b9f03c7ed44db1febad344256c = L.circleMarker(
                [41.2695475, -95.8374064],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1a685b6df426c4e9e232ee2c9d31e7f0 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_094dd51dc05fbd98702d4d59421951d6 = $(`<div id=&quot;html_094dd51dc05fbd98702d4d59421951d6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Council Bluffs Fire Department Station 6</div>`)[0];
                popup_1a685b6df426c4e9e232ee2c9d31e7f0.setContent(html_094dd51dc05fbd98702d4d59421951d6);
            
        

        circle_marker_2159b9b9f03c7ed44db1febad344256c.bindPopup(popup_1a685b6df426c4e9e232ee2c9d31e7f0)
        ;

        
    
    
            var circle_marker_2e2c509593ce9b81c51d90d6393beb40 = L.circleMarker(
                [41.2609989, -95.8872092],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_8f57c30d6eafa96f0570eb7cb77455ba = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_bb4ae63ff9402299a9a5eec5fc7f5e6d = $(`<div id=&quot;html_bb4ae63ff9402299a9a5eec5fc7f5e6d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Council Bluffs Fire Department Station 2</div>`)[0];
                popup_8f57c30d6eafa96f0570eb7cb77455ba.setContent(html_bb4ae63ff9402299a9a5eec5fc7f5e6d);
            
        

        circle_marker_2e2c509593ce9b81c51d90d6393beb40.bindPopup(popup_8f57c30d6eafa96f0570eb7cb77455ba)
        ;

        
    
    
            var circle_marker_002c6acbbfc46e5ce59bbf6c23c60beb = L.circleMarker(
                [41.2245195, -95.8598219],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4a178a0e411e8c1a7014396cdb5e0e17 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7e335c13eae05c87430e67df6dfb44c9 = $(`<div id=&quot;html_7e335c13eae05c87430e67df6dfb44c9&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Council Bluffs Fire Department Station 5</div>`)[0];
                popup_4a178a0e411e8c1a7014396cdb5e0e17.setContent(html_7e335c13eae05c87430e67df6dfb44c9);
            
        

        circle_marker_002c6acbbfc46e5ce59bbf6c23c60beb.bindPopup(popup_4a178a0e411e8c1a7014396cdb5e0e17)
        ;

        
    
    
            var circle_marker_31cb49f3bec07378d9029a46cded5a04 = L.circleMarker(
                [42.0194641, -96.092178],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4247bc789b14a627cd7e71fd4b692bc8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7b94e159f4027e80df738c404e4b60a0 = $(`<div id=&quot;html_7b94e159f4027e80df738c404e4b60a0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Onawa Fire Department Station 2</div>`)[0];
                popup_4247bc789b14a627cd7e71fd4b692bc8.setContent(html_7b94e159f4027e80df738c404e4b60a0);
            
        

        circle_marker_31cb49f3bec07378d9029a46cded5a04.bindPopup(popup_4247bc789b14a627cd7e71fd4b692bc8)
        ;

        
    
    
            var circle_marker_b973b169a911065e221f9b9b33fadc0d = L.circleMarker(
                [42.0220185, -91.6929868],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_30230923977f70c37dc745334e043d82 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d4a2caa68792420561d71a380215bd34 = $(`<div id=&quot;html_d4a2caa68792420561d71a380215bd34&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cedar Rapids Fire Department Station 4</div>`)[0];
                popup_30230923977f70c37dc745334e043d82.setContent(html_d4a2caa68792420561d71a380215bd34);
            
        

        circle_marker_b973b169a911065e221f9b9b33fadc0d.bindPopup(popup_30230923977f70c37dc745334e043d82)
        ;

        
    
    
            var circle_marker_445140cb4b5036cbc94929ccc852485a = L.circleMarker(
                [41.491017, -94.1226096],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7c83530d2cde41a1777320616e377d28 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_73977111fc05b3f76e1804dd09c8ffc6 = $(`<div id=&quot;html_73977111fc05b3f76e1804dd09c8ffc6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Earlham Fire and Rescue</div>`)[0];
                popup_7c83530d2cde41a1777320616e377d28.setContent(html_73977111fc05b3f76e1804dd09c8ffc6);
            
        

        circle_marker_445140cb4b5036cbc94929ccc852485a.bindPopup(popup_7c83530d2cde41a1777320616e377d28)
        ;

        
    
    
            var circle_marker_53997cc3e6a77ff1d73c1b8e336b2221 = L.circleMarker(
                [41.2879747, -93.8067411],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a99e2184abd08e7b1e9f5160ec1ecee0 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_89c5fa444bd0dd50fdd71c96387c3dd2 = $(`<div id=&quot;html_89c5fa444bd0dd50fdd71c96387c3dd2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Saint Charles Fire and Rescue</div>`)[0];
                popup_a99e2184abd08e7b1e9f5160ec1ecee0.setContent(html_89c5fa444bd0dd50fdd71c96387c3dd2);
            
        

        circle_marker_53997cc3e6a77ff1d73c1b8e336b2221.bindPopup(popup_a99e2184abd08e7b1e9f5160ec1ecee0)
        ;

        
    
    
            var circle_marker_6f39a456b967759a128af864645334ed = L.circleMarker(
                [41.1729263, -92.3092678],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ab30a4e50b69aa3ade09a3c29d773fa4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d5ff4d6cae86f4f5196166ca96ec2a37 = $(`<div id=&quot;html_d5ff4d6cae86f4f5196166ca96ec2a37&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hedrick Volunteer Fire Department</div>`)[0];
                popup_ab30a4e50b69aa3ade09a3c29d773fa4.setContent(html_d5ff4d6cae86f4f5196166ca96ec2a37);
            
        

        circle_marker_6f39a456b967759a128af864645334ed.bindPopup(popup_ab30a4e50b69aa3ade09a3c29d773fa4)
        ;

        
    
    
            var circle_marker_5863dc6a636fe8af5794756536cd09c7 = L.circleMarker(
                [42.5230676, -90.6568948],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7339e47e24218aea71ec322d7deb3d69 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7d9e9a4515ea1213dbdafdac9cf4d42a = $(`<div id=&quot;html_7d9e9a4515ea1213dbdafdac9cf4d42a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dubuque Fire Department Station 6</div>`)[0];
                popup_7339e47e24218aea71ec322d7deb3d69.setContent(html_7d9e9a4515ea1213dbdafdac9cf4d42a);
            
        

        circle_marker_5863dc6a636fe8af5794756536cd09c7.bindPopup(popup_7339e47e24218aea71ec322d7deb3d69)
        ;

        
    
    
            var circle_marker_0cfb4908cc9e4ce6890adb64da174db6 = L.circleMarker(
                [41.4539179, -92.2390916],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1eb5453c2bbb861e87c49d4f5058e709 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1c48d3f64c9ef64fd092836805a59c35 = $(`<div id=&quot;html_1c48d3f64c9ef64fd092836805a59c35&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Keswick Volunteer Fire Department</div>`)[0];
                popup_1eb5453c2bbb861e87c49d4f5058e709.setContent(html_1c48d3f64c9ef64fd092836805a59c35);
            
        

        circle_marker_0cfb4908cc9e4ce6890adb64da174db6.bindPopup(popup_1eb5453c2bbb861e87c49d4f5058e709)
        ;

        
    
    
            var circle_marker_902a002d8afe65bcf4108f767a2f1f56 = L.circleMarker(
                [41.9297987, -91.6751713],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_68443b16b2fc2c0e16dec7702a85cd3c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e1999838228b16ff91c9a532908c1d00 = $(`<div id=&quot;html_e1999838228b16ff91c9a532908c1d00&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cedar Rapids Fire Department Station 2</div>`)[0];
                popup_68443b16b2fc2c0e16dec7702a85cd3c.setContent(html_e1999838228b16ff91c9a532908c1d00);
            
        

        circle_marker_902a002d8afe65bcf4108f767a2f1f56.bindPopup(popup_68443b16b2fc2c0e16dec7702a85cd3c)
        ;

        
    
    
            var circle_marker_b213bc1fe02d13912bcdd17b212e16e0 = L.circleMarker(
                [41.2267771, -93.9246448],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6d02cf20336b4e12164c5083b4a4f4e0 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_984f744af772cfe5646bfdc12970f748 = $(`<div id=&quot;html_984f744af772cfe5646bfdc12970f748&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>East Peru Volunteer Fire Department</div>`)[0];
                popup_6d02cf20336b4e12164c5083b4a4f4e0.setContent(html_984f744af772cfe5646bfdc12970f748);
            
        

        circle_marker_b213bc1fe02d13912bcdd17b212e16e0.bindPopup(popup_6d02cf20336b4e12164c5083b4a4f4e0)
        ;

        
    
    
            var circle_marker_401cb40f3221620faebdb20c3fc51fd9 = L.circleMarker(
                [43.2421433, -93.1254142],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2f46cc85942b4a5f7493bc8cdd7cde7a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c2ba6361a6c7e6c5afe4c28301cddc94 = $(`<div id=&quot;html_c2ba6361a6c7e6c5afe4c28301cddc94&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Plymouth Fire Department (storage)</div>`)[0];
                popup_2f46cc85942b4a5f7493bc8cdd7cde7a.setContent(html_c2ba6361a6c7e6c5afe4c28301cddc94);
            
        

        circle_marker_401cb40f3221620faebdb20c3fc51fd9.bindPopup(popup_2f46cc85942b4a5f7493bc8cdd7cde7a)
        ;

        
    
    
            var circle_marker_7c3384bbf64f860b0144494e2ceebc54 = L.circleMarker(
                [42.4984789, -90.6887353],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_983e08eaf0dad7bdd792a7efc073730e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_391901ada857110d66eaea0092c891df = $(`<div id=&quot;html_391901ada857110d66eaea0092c891df&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dubuque Fire Department Station 4</div>`)[0];
                popup_983e08eaf0dad7bdd792a7efc073730e.setContent(html_391901ada857110d66eaea0092c891df);
            
        

        circle_marker_7c3384bbf64f860b0144494e2ceebc54.bindPopup(popup_983e08eaf0dad7bdd792a7efc073730e)
        ;

        
    
    
            var circle_marker_34eee8b318a7ca8ccb6555162a4752bb = L.circleMarker(
                [42.4845471, -90.6784693],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_00298f2ed674288cf903accbae18dfc8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_015ff422e3014f4e4861d62ea495e029 = $(`<div id=&quot;html_015ff422e3014f4e4861d62ea495e029&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dubuque Fire Department Station 5</div>`)[0];
                popup_00298f2ed674288cf903accbae18dfc8.setContent(html_015ff422e3014f4e4861d62ea495e029);
            
        

        circle_marker_34eee8b318a7ca8ccb6555162a4752bb.bindPopup(popup_00298f2ed674288cf903accbae18dfc8)
        ;

        
    
    
            var circle_marker_a9c2475ae6a7547a9e2663bedc7fac8e = L.circleMarker(
                [42.5269607, -90.6827861],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_35f17740b466fffb8c981e4f627b3ae8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1a32df315456bdb334069973f696536f = $(`<div id=&quot;html_1a32df315456bdb334069973f696536f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dubuque Fire Department Station 3</div>`)[0];
                popup_35f17740b466fffb8c981e4f627b3ae8.setContent(html_1a32df315456bdb334069973f696536f);
            
        

        circle_marker_a9c2475ae6a7547a9e2663bedc7fac8e.bindPopup(popup_35f17740b466fffb8c981e4f627b3ae8)
        ;

        
    
    
            var circle_marker_a98260859ca0cf8898aeaa3627aaf74d = L.circleMarker(
                [42.5102539, -90.7201232],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c3f42047d134944bcb6897cdc965ced5 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f6897a250ece1d433d636a421058213e = $(`<div id=&quot;html_f6897a250ece1d433d636a421058213e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dubuque Fire Department Station 2</div>`)[0];
                popup_c3f42047d134944bcb6897cdc965ced5.setContent(html_f6897a250ece1d433d636a421058213e);
            
        

        circle_marker_a98260859ca0cf8898aeaa3627aaf74d.bindPopup(popup_c3f42047d134944bcb6897cdc965ced5)
        ;

        
    
    
            var circle_marker_56bef05b7151b136a4c0e1dd66e9b048 = L.circleMarker(
                [42.4679914, -92.3757732],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ae877879396c8273ce2f4f7e5b3eca50 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9ab687c76591878dad04b3ffc562ffa9 = $(`<div id=&quot;html_9ab687c76591878dad04b3ffc562ffa9&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Waterloo Fire and Rescue Station 6</div>`)[0];
                popup_ae877879396c8273ce2f4f7e5b3eca50.setContent(html_9ab687c76591878dad04b3ffc562ffa9);
            
        

        circle_marker_56bef05b7151b136a4c0e1dd66e9b048.bindPopup(popup_ae877879396c8273ce2f4f7e5b3eca50)
        ;

        
    
    
            var circle_marker_138fd4a37061a6ee1a2a085c0aa768b2 = L.circleMarker(
                [42.4929736, -92.3148671],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f263991f3527b04c3671f9dd408f921f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2f1099a2a9b4f0bae0ebfd442d60910b = $(`<div id=&quot;html_2f1099a2a9b4f0bae0ebfd442d60910b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Waterloo Fire and Rescue Station 5</div>`)[0];
                popup_f263991f3527b04c3671f9dd408f921f.setContent(html_2f1099a2a9b4f0bae0ebfd442d60910b);
            
        

        circle_marker_138fd4a37061a6ee1a2a085c0aa768b2.bindPopup(popup_f263991f3527b04c3671f9dd408f921f)
        ;

        
    
    
            var circle_marker_088e74322b8590f89204579442e28b40 = L.circleMarker(
                [42.2865757, -95.894036],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0b06f52596127654894e8360d5c5621b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b0d80533331fad03f51d6b25c74fa66e = $(`<div id=&quot;html_b0d80533331fad03f51d6b25c74fa66e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Oto Community Volunteer Fire Department</div>`)[0];
                popup_0b06f52596127654894e8360d5c5621b.setContent(html_b0d80533331fad03f51d6b25c74fa66e);
            
        

        circle_marker_088e74322b8590f89204579442e28b40.bindPopup(popup_0b06f52596127654894e8360d5c5621b)
        ;

        
    
    
            var circle_marker_ae441d753017378d7e44acdc6fbd0f27 = L.circleMarker(
                [42.4686992, -92.3226326],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5a81c6b063b1a249e0a1ecede6982711 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_eed6b3b7ecdb54a81454fe31225a273e = $(`<div id=&quot;html_eed6b3b7ecdb54a81454fe31225a273e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Waterloo Fire and Rescue Station 8</div>`)[0];
                popup_5a81c6b063b1a249e0a1ecede6982711.setContent(html_eed6b3b7ecdb54a81454fe31225a273e);
            
        

        circle_marker_ae441d753017378d7e44acdc6fbd0f27.bindPopup(popup_5a81c6b063b1a249e0a1ecede6982711)
        ;

        
    
    
            var circle_marker_1cc78193e761cabf2a5ebaf7a2ed1558 = L.circleMarker(
                [42.4954759, -92.3773058],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5091bf1dadde787c83f63f9edc2c3dc5 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_dced8acbced75dd5050616333ef0119a = $(`<div id=&quot;html_dced8acbced75dd5050616333ef0119a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Waterloo Fire and Rescue Station 4</div>`)[0];
                popup_5091bf1dadde787c83f63f9edc2c3dc5.setContent(html_dced8acbced75dd5050616333ef0119a);
            
        

        circle_marker_1cc78193e761cabf2a5ebaf7a2ed1558.bindPopup(popup_5091bf1dadde787c83f63f9edc2c3dc5)
        ;

        
    
    
            var circle_marker_6aacd5f3af81bec97e1e736e6ceeae7a = L.circleMarker(
                [42.5279063, -92.3410124],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f292b7d12dc715623d2876fd8dd3286b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c1afc0e193f0b269717380d88cad2427 = $(`<div id=&quot;html_c1afc0e193f0b269717380d88cad2427&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Waterloo Fire Rescue - Station 3</div>`)[0];
                popup_f292b7d12dc715623d2876fd8dd3286b.setContent(html_c1afc0e193f0b269717380d88cad2427);
            
        

        circle_marker_6aacd5f3af81bec97e1e736e6ceeae7a.bindPopup(popup_f292b7d12dc715623d2876fd8dd3286b)
        ;

        
    
    
            var circle_marker_de5ed57923c2c9d123be57c3aea289f5 = L.circleMarker(
                [42.0348643, -93.6151807],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9ccc7b366610f82127069498b0930909 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4b5108694aba7a5f77b1c3e468bdd50d = $(`<div id=&quot;html_4b5108694aba7a5f77b1c3e468bdd50d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ames Fire Department Station 1</div>`)[0];
                popup_9ccc7b366610f82127069498b0930909.setContent(html_4b5108694aba7a5f77b1c3e468bdd50d);
            
        

        circle_marker_de5ed57923c2c9d123be57c3aea289f5.bindPopup(popup_9ccc7b366610f82127069498b0930909)
        ;

        
    
    
            var circle_marker_04b6a554ab6520ddc1980271609c26b2 = L.circleMarker(
                [41.2319848, -95.6153816],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0227661b8c1e25e3f1494a79c3d68b72 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_998595157c32ce6a2a6bc84d85af3a37 = $(`<div id=&quot;html_998595157c32ce6a2a6bc84d85af3a37&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Treynor Fire Department</div>`)[0];
                popup_0227661b8c1e25e3f1494a79c3d68b72.setContent(html_998595157c32ce6a2a6bc84d85af3a37);
            
        

        circle_marker_04b6a554ab6520ddc1980271609c26b2.bindPopup(popup_0227661b8c1e25e3f1494a79c3d68b72)
        ;

        
    
    
            var circle_marker_5cce09f647b9dec6bf700b97b2f8a210 = L.circleMarker(
                [43.0101998, -96.4876632],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_84cfe31bcae16cc64c9c67b882a80cd8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_844e8550dbe72a1b8bf222d004708507 = $(`<div id=&quot;html_844e8550dbe72a1b8bf222d004708507&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hawarden Fire and Rescue</div>`)[0];
                popup_84cfe31bcae16cc64c9c67b882a80cd8.setContent(html_844e8550dbe72a1b8bf222d004708507);
            
        

        circle_marker_5cce09f647b9dec6bf700b97b2f8a210.bindPopup(popup_84cfe31bcae16cc64c9c67b882a80cd8)
        ;

        
    
    
            var circle_marker_ee049709cc21bc9d9b51cbe59f1ac5f6 = L.circleMarker(
                [40.7849868, -91.1170092],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b59ee61ee6ffa1758a77495f8b36d90e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8fe349eb5e65c8f883269d96b876bf72 = $(`<div id=&quot;html_8fe349eb5e65c8f883269d96b876bf72&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Airport Fire Station</div>`)[0];
                popup_b59ee61ee6ffa1758a77495f8b36d90e.setContent(html_8fe349eb5e65c8f883269d96b876bf72);
            
        

        circle_marker_ee049709cc21bc9d9b51cbe59f1ac5f6.bindPopup(popup_b59ee61ee6ffa1758a77495f8b36d90e)
        ;

        
    
    
            var circle_marker_b6b2ba6237ee288c3de8dcd6cb54f708 = L.circleMarker(
                [41.3640806, -91.9512762],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_31759e8be4f07935ddb624b654227793 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e7274b1897556538e9f00db1d7d40845 = $(`<div id=&quot;html_e7274b1897556538e9f00db1d7d40845&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Keota Fire Department</div>`)[0];
                popup_31759e8be4f07935ddb624b654227793.setContent(html_e7274b1897556538e9f00db1d7d40845);
            
        

        circle_marker_b6b2ba6237ee288c3de8dcd6cb54f708.bindPopup(popup_31759e8be4f07935ddb624b654227793)
        ;

        
    
    
            var circle_marker_aecdd22bd0cb7fa7ec0d38e19efcfe54 = L.circleMarker(
                [41.3300395, -91.2371223],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7d36576c7c7e5e8a8340b6f1a719ea16 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c0cbce9990526a10800fe00740729365 = $(`<div id=&quot;html_c0cbce9990526a10800fe00740729365&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Letts Community Fire Department</div>`)[0];
                popup_7d36576c7c7e5e8a8340b6f1a719ea16.setContent(html_c0cbce9990526a10800fe00740729365);
            
        

        circle_marker_aecdd22bd0cb7fa7ec0d38e19efcfe54.bindPopup(popup_7d36576c7c7e5e8a8340b6f1a719ea16)
        ;

        
    
    
            var circle_marker_fdc86bf3e5c46bc147be60410a005486 = L.circleMarker(
                [43.4442873, -95.882923],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a793c420f1976cbb7a91fce9ddb18d13 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e01ab7c92266b9b204ef56c5b67b60ab = $(`<div id=&quot;html_e01ab7c92266b9b204ef56c5b67b60ab&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Little Rock Fire Department</div>`)[0];
                popup_a793c420f1976cbb7a91fce9ddb18d13.setContent(html_e01ab7c92266b9b204ef56c5b67b60ab);
            
        

        circle_marker_fdc86bf3e5c46bc147be60410a005486.bindPopup(popup_a793c420f1976cbb7a91fce9ddb18d13)
        ;

        
    
    
            var circle_marker_b5dd7d07e187ca84756e34919c5b692e = L.circleMarker(
                [41.134022, -91.543682],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4d174d955fde141aa96491f093498542 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c2eb7965ff39c206d830a611a304ff3f = $(`<div id=&quot;html_c2eb7965ff39c206d830a611a304ff3f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Olds Fire Department</div>`)[0];
                popup_4d174d955fde141aa96491f093498542.setContent(html_c2eb7965ff39c206d830a611a304ff3f);
            
        

        circle_marker_b5dd7d07e187ca84756e34919c5b692e.bindPopup(popup_4d174d955fde141aa96491f093498542)
        ;

        
    
    
            var circle_marker_b282bfda8eee87c76267848fa028ee71 = L.circleMarker(
                [42.4472949, -90.6823582],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5c4da9fd2371fd6330f211426cf3d9a8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_16d6156503ca3a30f5c446d3c419c2a5 = $(`<div id=&quot;html_16d6156503ca3a30f5c446d3c419c2a5&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Key West Community Fire Department</div>`)[0];
                popup_5c4da9fd2371fd6330f211426cf3d9a8.setContent(html_16d6156503ca3a30f5c446d3c419c2a5);
            
        

        circle_marker_b282bfda8eee87c76267848fa028ee71.bindPopup(popup_5c4da9fd2371fd6330f211426cf3d9a8)
        ;

        
    
    
            var circle_marker_e008a9af43267c3a22da41eff2da6b03 = L.circleMarker(
                [42.8125128, -94.5267896],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4a782480f109578204562d1e2801490b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d770e6a92507439254513115987651c1 = $(`<div id=&quot;html_d770e6a92507439254513115987651c1&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Rolfe Fire Department</div>`)[0];
                popup_4a782480f109578204562d1e2801490b.setContent(html_d770e6a92507439254513115987651c1);
            
        

        circle_marker_e008a9af43267c3a22da41eff2da6b03.bindPopup(popup_4a782480f109578204562d1e2801490b)
        ;

        
    
    
            var circle_marker_602d6b6ebd74806194207b977a798e83 = L.circleMarker(
                [42.6638609, -93.8995903],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_bd1789bdc3f0056cd2444d539fc0a88a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9dc1c8b6b56363b1cbe35f828be155be = $(`<div id=&quot;html_9dc1c8b6b56363b1cbe35f828be155be&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Eagle Grove Fire Department</div>`)[0];
                popup_bd1789bdc3f0056cd2444d539fc0a88a.setContent(html_9dc1c8b6b56363b1cbe35f828be155be);
            
        

        circle_marker_602d6b6ebd74806194207b977a798e83.bindPopup(popup_bd1789bdc3f0056cd2444d539fc0a88a)
        ;

        
    
    
            var circle_marker_deebef250e4ec7c00e2a95643e09323a = L.circleMarker(
                [40.8259635, -93.6110422],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c1c6fb0ff7a9b941ecfe19ce9b6d2d7a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b261eea27b33f486a53e25eea8e03078 = $(`<div id=&quot;html_b261eea27b33f486a53e25eea8e03078&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Garden Grove Fire Department</div>`)[0];
                popup_c1c6fb0ff7a9b941ecfe19ce9b6d2d7a.setContent(html_b261eea27b33f486a53e25eea8e03078);
            
        

        circle_marker_deebef250e4ec7c00e2a95643e09323a.bindPopup(popup_c1c6fb0ff7a9b941ecfe19ce9b6d2d7a)
        ;

        
    
    
            var circle_marker_e16e1d397331670dd48aab27147cc507 = L.circleMarker(
                [43.3243541, -95.1511328],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c44a1fcd4415002a9b863ee0748a78c2 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a0ede14f9b7ddddb680b1433774e89c9 = $(`<div id=&quot;html_a0ede14f9b7ddddb680b1433774e89c9&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Milford Fire Department</div>`)[0];
                popup_c44a1fcd4415002a9b863ee0748a78c2.setContent(html_a0ede14f9b7ddddb680b1433774e89c9);
            
        

        circle_marker_e16e1d397331670dd48aab27147cc507.bindPopup(popup_c44a1fcd4415002a9b863ee0748a78c2)
        ;

        
    
    
            var circle_marker_bb190a4331a113219afc1e72eabc4d63 = L.circleMarker(
                [41.1001013, -91.0435914],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_3d8f1dc0633c753c65b8836f049af7b1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e4538b41eb54210ab9f70650cd7c847e = $(`<div id=&quot;html_e4538b41eb54210ab9f70650cd7c847e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Oakville Fire Department</div>`)[0];
                popup_3d8f1dc0633c753c65b8836f049af7b1.setContent(html_e4538b41eb54210ab9f70650cd7c847e);
            
        

        circle_marker_bb190a4331a113219afc1e72eabc4d63.bindPopup(popup_3d8f1dc0633c753c65b8836f049af7b1)
        ;

        
    
    
            var circle_marker_462f795dd2920fa612d7a3059b97a36c = L.circleMarker(
                [41.3205375, -93.1052486],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ee876c61b68452386ce29a423dd1b6fd = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a707e558cc622359ee2a0c8156ed9b9e = $(`<div id=&quot;html_a707e558cc622359ee2a0c8156ed9b9e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Knoxville Rural Fire Department</div>`)[0];
                popup_ee876c61b68452386ce29a423dd1b6fd.setContent(html_a707e558cc622359ee2a0c8156ed9b9e);
            
        

        circle_marker_462f795dd2920fa612d7a3059b97a36c.bindPopup(popup_ee876c61b68452386ce29a423dd1b6fd)
        ;

        
    
    
            var circle_marker_00c17e15493ea6e7ef58a6b0f7dbd3a0 = L.circleMarker(
                [42.5757447, -95.7183758],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_573a454e1594f7f00677d93fe619d217 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6bca1d47e0f9dca73faf004893d91347 = $(`<div id=&quot;html_6bca1d47e0f9dca73faf004893d91347&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Washta Fire Department</div>`)[0];
                popup_573a454e1594f7f00677d93fe619d217.setContent(html_6bca1d47e0f9dca73faf004893d91347);
            
        

        circle_marker_00c17e15493ea6e7ef58a6b0f7dbd3a0.bindPopup(popup_573a454e1594f7f00677d93fe619d217)
        ;

        
    
    
            var circle_marker_cc8dc4ded7d9f3ad263f15c50df0b836 = L.circleMarker(
                [42.5098382, -96.4587291],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_aa8c584bf5a7b2d0dc233e3acfa17982 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c3dceab012653c61f0aee13590d2b801 = $(`<div id=&quot;html_c3dceab012653c61f0aee13590d2b801&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sioux City Fire Department Station 8</div>`)[0];
                popup_aa8c584bf5a7b2d0dc233e3acfa17982.setContent(html_c3dceab012653c61f0aee13590d2b801);
            
        

        circle_marker_cc8dc4ded7d9f3ad263f15c50df0b836.bindPopup(popup_aa8c584bf5a7b2d0dc233e3acfa17982)
        ;

        
    
    
            var circle_marker_9376465746423eb6fac58af62b5d5069 = L.circleMarker(
                [41.6885617, -91.5814338],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_91329f9976631f8ff5429a8a451e3675 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_329660087ec649faff4831882d3d413b = $(`<div id=&quot;html_329660087ec649faff4831882d3d413b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Coralville Fire Department Training Facility</div>`)[0];
                popup_91329f9976631f8ff5429a8a451e3675.setContent(html_329660087ec649faff4831882d3d413b);
            
        

        circle_marker_9376465746423eb6fac58af62b5d5069.bindPopup(popup_91329f9976631f8ff5429a8a451e3675)
        ;

        
    
    
            var circle_marker_53a1d56d6bc48f5b22af218c2f1b5737 = L.circleMarker(
                [41.7815657, -90.2555781],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_335f2af858b22e2ee7358cfe25b62121 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0767bd420bfb73ee00cf755c2a7b4d02 = $(`<div id=&quot;html_0767bd420bfb73ee00cf755c2a7b4d02&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Camanche Fire Department Station 2</div>`)[0];
                popup_335f2af858b22e2ee7358cfe25b62121.setContent(html_0767bd420bfb73ee00cf755c2a7b4d02);
            
        

        circle_marker_53a1d56d6bc48f5b22af218c2f1b5737.bindPopup(popup_335f2af858b22e2ee7358cfe25b62121)
        ;

        
    
    
            var circle_marker_da6e36db6621faccb1b1a4dcb25cc957 = L.circleMarker(
                [42.5348049, -96.3689319],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_60be346234c5f948698f406e58a0831a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c476ddb0b5081385cb172cb7a3f60539 = $(`<div id=&quot;html_c476ddb0b5081385cb172cb7a3f60539&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sioux City Fire Department Station 7</div>`)[0];
                popup_60be346234c5f948698f406e58a0831a.setContent(html_c476ddb0b5081385cb172cb7a3f60539);
            
        

        circle_marker_da6e36db6621faccb1b1a4dcb25cc957.bindPopup(popup_60be346234c5f948698f406e58a0831a)
        ;

        
    
    
            var circle_marker_1228ff82bbf6d12e5e53a20a3ec5ff8f = L.circleMarker(
                [42.4407716, -96.3445066],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c5aa76dccee54630bfb6fdfd3e4fb39b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d3ba2fc74f5100da43fab63ee98488a4 = $(`<div id=&quot;html_d3ba2fc74f5100da43fab63ee98488a4&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sioux City Fire Department Station 5</div>`)[0];
                popup_c5aa76dccee54630bfb6fdfd3e4fb39b.setContent(html_d3ba2fc74f5100da43fab63ee98488a4);
            
        

        circle_marker_1228ff82bbf6d12e5e53a20a3ec5ff8f.bindPopup(popup_c5aa76dccee54630bfb6fdfd3e4fb39b)
        ;

        
    
    
            var circle_marker_6bc263f7d303e5ff2927eed021b0f958 = L.circleMarker(
                [42.5246648, -96.4155324],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c0c04428f463d2c834b60f8f418eec15 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b2fd3bf157b0722a6fd0b037a99992e7 = $(`<div id=&quot;html_b2fd3bf157b0722a6fd0b037a99992e7&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sioux City Fire Department Station 4</div>`)[0];
                popup_c0c04428f463d2c834b60f8f418eec15.setContent(html_b2fd3bf157b0722a6fd0b037a99992e7);
            
        

        circle_marker_6bc263f7d303e5ff2927eed021b0f958.bindPopup(popup_c0c04428f463d2c834b60f8f418eec15)
        ;

        
    
    
            var circle_marker_26492fb2303745cf4f241e810163334b = L.circleMarker(
                [41.1819952, -93.7301233],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_80e2d643982a8e0bd891b5ec1661d4f7 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_03fc1476848a284b12f1f18212de3678 = $(`<div id=&quot;html_03fc1476848a284b12f1f18212de3678&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Virginia Township Fire Department</div>`)[0];
                popup_80e2d643982a8e0bd891b5ec1661d4f7.setContent(html_03fc1476848a284b12f1f18212de3678);
            
        

        circle_marker_26492fb2303745cf4f241e810163334b.bindPopup(popup_80e2d643982a8e0bd891b5ec1661d4f7)
        ;

        
    
    
            var circle_marker_4f6800a892531087e9e8f9f47bf3c7c5 = L.circleMarker(
                [41.8011393, -92.0687981],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_417e9839d88ee430f813a7c85e62552a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6f2542fa118d0ce9e77c9d7416554259 = $(`<div id=&quot;html_6f2542fa118d0ce9e77c9d7416554259&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Marengo Fire Department</div>`)[0];
                popup_417e9839d88ee430f813a7c85e62552a.setContent(html_6f2542fa118d0ce9e77c9d7416554259);
            
        

        circle_marker_4f6800a892531087e9e8f9f47bf3c7c5.bindPopup(popup_417e9839d88ee430f813a7c85e62552a)
        ;

        
    
    
            var circle_marker_1fc73b9497a6efbf0d65189547477bbd = L.circleMarker(
                [42.1608812, -93.296439],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_14db01247d51910ff4e04924edefc859 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8b89e4acd3b782dcb5c1a48c59d15f7c = $(`<div id=&quot;html_8b89e4acd3b782dcb5c1a48c59d15f7c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Zearing Firestation</div>`)[0];
                popup_14db01247d51910ff4e04924edefc859.setContent(html_8b89e4acd3b782dcb5c1a48c59d15f7c);
            
        

        circle_marker_1fc73b9497a6efbf0d65189547477bbd.bindPopup(popup_14db01247d51910ff4e04924edefc859)
        ;

        
    
    
            var circle_marker_22e5a3141cf12840189a260901ae3dc5 = L.circleMarker(
                [41.5333412, -93.9543872],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a1e1482619b7ca1aba3eeefb57236dd6 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ae67972f9bc43eea267205ed360443d6 = $(`<div id=&quot;html_ae67972f9bc43eea267205ed360443d6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Van Meter Fire Dept</div>`)[0];
                popup_a1e1482619b7ca1aba3eeefb57236dd6.setContent(html_ae67972f9bc43eea267205ed360443d6);
            
        

        circle_marker_22e5a3141cf12840189a260901ae3dc5.bindPopup(popup_a1e1482619b7ca1aba3eeefb57236dd6)
        ;

        
    
    
            var circle_marker_e706642bac9f7547161e259d2a838e01 = L.circleMarker(
                [43.1801365, -95.4782283],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9ee8730db4f7ca84e718fbe6c7840aff = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_aaeeebbe13381616fde990b2186db65e = $(`<div id=&quot;html_aaeeebbe13381616fde990b2186db65e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hartley City Emergency Services</div>`)[0];
                popup_9ee8730db4f7ca84e718fbe6c7840aff.setContent(html_aaeeebbe13381616fde990b2186db65e);
            
        

        circle_marker_e706642bac9f7547161e259d2a838e01.bindPopup(popup_9ee8730db4f7ca84e718fbe6c7840aff)
        ;

        
    
    
            var circle_marker_7ef4f006092b933eb0c144f94eea26ca = L.circleMarker(
                [43.4011343, -94.8383941],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_789b0dd29751f06cc74c6a21dae40480 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_58877a1e55b3afabbca0edb4f1dc490c = $(`<div id=&quot;html_58877a1e55b3afabbca0edb4f1dc490c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Estherville Volunteer Fire Department</div>`)[0];
                popup_789b0dd29751f06cc74c6a21dae40480.setContent(html_58877a1e55b3afabbca0edb4f1dc490c);
            
        

        circle_marker_7ef4f006092b933eb0c144f94eea26ca.bindPopup(popup_789b0dd29751f06cc74c6a21dae40480)
        ;

        
    
    
            var circle_marker_24213e09dd9807f96c2a76b43cc3e5cf = L.circleMarker(
                [43.3198999, -94.7937612],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_102fc042396da27a9571800a2256fbdd = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e5ff1db8c7d1cd3f3dd31f10199494cc = $(`<div id=&quot;html_e5ff1db8c7d1cd3f3dd31f10199494cc&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Wallingford Volunteer Fire Department</div>`)[0];
                popup_102fc042396da27a9571800a2256fbdd.setContent(html_e5ff1db8c7d1cd3f3dd31f10199494cc);
            
        

        circle_marker_24213e09dd9807f96c2a76b43cc3e5cf.bindPopup(popup_102fc042396da27a9571800a2256fbdd)
        ;

        
    
    
            var circle_marker_e9c2e732fa4c4cac7aaabd6442c0d144 = L.circleMarker(
                [43.0030534, -91.6504869],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4ef839381d6b60cb809bdd87fa0f8e04 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3418dfb60ae79417669011f4cdda9368 = $(`<div id=&quot;html_3418dfb60ae79417669011f4cdda9368&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Clermont Fire Department</div>`)[0];
                popup_4ef839381d6b60cb809bdd87fa0f8e04.setContent(html_3418dfb60ae79417669011f4cdda9368);
            
        

        circle_marker_e9c2e732fa4c4cac7aaabd6442c0d144.bindPopup(popup_4ef839381d6b60cb809bdd87fa0f8e04)
        ;

        
    
    
            var circle_marker_e38db19a8d3b7d54583d2db655c5ebd7 = L.circleMarker(
                [41.6688792, -92.0066759],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b4c14a9bfcaf36d3fef6ec58a671d42c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7a3842af5a0084ba1a67b26ce9e77559 = $(`<div id=&quot;html_7a3842af5a0084ba1a67b26ce9e77559&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Williamsburg Volunteer Fire department</div>`)[0];
                popup_b4c14a9bfcaf36d3fef6ec58a671d42c.setContent(html_7a3842af5a0084ba1a67b26ce9e77559);
            
        

        circle_marker_e38db19a8d3b7d54583d2db655c5ebd7.bindPopup(popup_b4c14a9bfcaf36d3fef6ec58a671d42c)
        ;

        
    
    
            var circle_marker_52932700de0e34893e2484c4574d4472 = L.circleMarker(
                [42.0660606, -94.8477405],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c7d1e07352291a15edf27270715d8ef3 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f688fab5a145a900e9a6a82fe39c01bf = $(`<div id=&quot;html_f688fab5a145a900e9a6a82fe39c01bf&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Carroll Fire Station</div>`)[0];
                popup_c7d1e07352291a15edf27270715d8ef3.setContent(html_f688fab5a145a900e9a6a82fe39c01bf);
            
        

        circle_marker_52932700de0e34893e2484c4574d4472.bindPopup(popup_c7d1e07352291a15edf27270715d8ef3)
        ;

        
    
    
            var circle_marker_2807ec8b890548fd257b40ed76cf844c = L.circleMarker(
                [43.3332163, -95.15169],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_bbce92ee7207b4b07a231cb7e75ea751 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_870d8ad05f0c04c36841677427204b9a = $(`<div id=&quot;html_870d8ad05f0c04c36841677427204b9a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Milford Fire Department</div>`)[0];
                popup_bbce92ee7207b4b07a231cb7e75ea751.setContent(html_870d8ad05f0c04c36841677427204b9a);
            
        

        circle_marker_2807ec8b890548fd257b40ed76cf844c.bindPopup(popup_bbce92ee7207b4b07a231cb7e75ea751)
        ;

        
    
    
            var circle_marker_06f3e68470b8a0b24faf88ae62137220 = L.circleMarker(
                [41.4880208, -91.4280286],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_cf67d038b5ff96a8ffca6ff4cf0a8da8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f2b3f2fd04a8ac0e1fc38de23ba3b939 = $(`<div id=&quot;html_f2b3f2fd04a8ac0e1fc38de23ba3b939&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lone Tree Fire Station</div>`)[0];
                popup_cf67d038b5ff96a8ffca6ff4cf0a8da8.setContent(html_f2b3f2fd04a8ac0e1fc38de23ba3b939);
            
        

        circle_marker_06f3e68470b8a0b24faf88ae62137220.bindPopup(popup_cf67d038b5ff96a8ffca6ff4cf0a8da8)
        ;

        
    
    
            var circle_marker_18d9b0a8915dea3571d939ed139ab1be = L.circleMarker(
                [41.5288374, -94.007433],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_80fd5cf563fa230f40cb1d66109aed90 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d447c912be86552ec3a8272397ea826f = $(`<div id=&quot;html_d447c912be86552ec3a8272397ea826f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>De Soto Fire Station</div>`)[0];
                popup_80fd5cf563fa230f40cb1d66109aed90.setContent(html_d447c912be86552ec3a8272397ea826f);
            
        

        circle_marker_18d9b0a8915dea3571d939ed139ab1be.bindPopup(popup_80fd5cf563fa230f40cb1d66109aed90)
        ;

        
    
    
            var circle_marker_56c72a03e54852d04d87e079b4c0257d = L.circleMarker(
                [42.0071956, -92.0915319],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_527dedb664270d1b4dda6487f81a2e3c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_339ffbca3ee78c3ce143b5005949da99 = $(`<div id=&quot;html_339ffbca3ee78c3ce143b5005949da99&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Van Horne Fire Department</div>`)[0];
                popup_527dedb664270d1b4dda6487f81a2e3c.setContent(html_339ffbca3ee78c3ce143b5005949da99);
            
        

        circle_marker_56c72a03e54852d04d87e079b4c0257d.bindPopup(popup_527dedb664270d1b4dda6487f81a2e3c)
        ;

        
    
    
            var circle_marker_77ce33df35028e77cdcda8b97ae3ce45 = L.circleMarker(
                [42.8390372, -91.6567429],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_341ba64b8e6aeb52aaa3be48dc26012b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_cf6c4744ba48f08fcfcf6fdec970f8fc = $(`<div id=&quot;html_cf6c4744ba48f08fcfcf6fdec970f8fc&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Wadena-Illyria Fire Department</div>`)[0];
                popup_341ba64b8e6aeb52aaa3be48dc26012b.setContent(html_cf6c4744ba48f08fcfcf6fdec970f8fc);
            
        

        circle_marker_77ce33df35028e77cdcda8b97ae3ce45.bindPopup(popup_341ba64b8e6aeb52aaa3be48dc26012b)
        ;

        
    
    
            var circle_marker_c613401f5a13aeab9e4ba02357feca88 = L.circleMarker(
                [41.4591903, -90.8065096],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_af456c4ff17dbd28fc82742c9419c782 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_04cf938fbbb3cf1c5674c49f8715558f = $(`<div id=&quot;html_04cf938fbbb3cf1c5674c49f8715558f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Montpelier Fire Station</div>`)[0];
                popup_af456c4ff17dbd28fc82742c9419c782.setContent(html_04cf938fbbb3cf1c5674c49f8715558f);
            
        

        circle_marker_c613401f5a13aeab9e4ba02357feca88.bindPopup(popup_af456c4ff17dbd28fc82742c9419c782)
        ;

        
    
    
            var circle_marker_4958417a7bf184cd2839ed175e6e2e98 = L.circleMarker(
                [43.1810559, -95.6506762],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_998ac463e32aea4f34ed32c5c2d60604 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_912e7324aa9451f6fcbb2a3e7ab2f386 = $(`<div id=&quot;html_912e7324aa9451f6fcbb2a3e7ab2f386&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sanborn Fire</div>`)[0];
                popup_998ac463e32aea4f34ed32c5c2d60604.setContent(html_912e7324aa9451f6fcbb2a3e7ab2f386);
            
        

        circle_marker_4958417a7bf184cd2839ed175e6e2e98.bindPopup(popup_998ac463e32aea4f34ed32c5c2d60604)
        ;

        
    
    
            var circle_marker_5bb40114daaaa726524152935379aeab = L.circleMarker(
                [41.1897804, -93.3851429],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_fb8aaac4db324c65e68bd49c1a8ad028 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b7f3e22c4d3c24a0dbdd3b389225ad1d = $(`<div id=&quot;html_b7f3e22c4d3c24a0dbdd3b389225ad1d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lacona Fire Department</div>`)[0];
                popup_fb8aaac4db324c65e68bd49c1a8ad028.setContent(html_b7f3e22c4d3c24a0dbdd3b389225ad1d);
            
        

        circle_marker_5bb40114daaaa726524152935379aeab.bindPopup(popup_fb8aaac4db324c65e68bd49c1a8ad028)
        ;

        
    
    
            var circle_marker_6ab9b9c8deb924832addc1cd2aa7a4dd = L.circleMarker(
                [41.6604963, -91.5299873],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_76f6e4a45103f5289d70c26c2eb83fd6 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9cf6e94f6959c75258b5e142070b90a3 = $(`<div id=&quot;html_9cf6e94f6959c75258b5e142070b90a3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Iowa City Fire Station No. 1</div>`)[0];
                popup_76f6e4a45103f5289d70c26c2eb83fd6.setContent(html_9cf6e94f6959c75258b5e142070b90a3);
            
        

        circle_marker_6ab9b9c8deb924832addc1cd2aa7a4dd.bindPopup(popup_76f6e4a45103f5289d70c26c2eb83fd6)
        ;

        
    
    
            var circle_marker_548802eda0b48a2ca79ea6e41a168b87 = L.circleMarker(
                [42.6327164, -93.2450362],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4c50a01dd99cd1c1af4c9e9c516136a3 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7c2ff7df3031254f36e2235585b462e0 = $(`<div id=&quot;html_7c2ff7df3031254f36e2235585b462e0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bradford Firestation</div>`)[0];
                popup_4c50a01dd99cd1c1af4c9e9c516136a3.setContent(html_7c2ff7df3031254f36e2235585b462e0);
            
        

        circle_marker_548802eda0b48a2ca79ea6e41a168b87.bindPopup(popup_4c50a01dd99cd1c1af4c9e9c516136a3)
        ;

        
    
    
            var circle_marker_895e74cd8aa14176cf7c1aeeb01602c8 = L.circleMarker(
                [43.4399604, -96.3356929],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_58757095d05d23c2d04194fabb043be7 = L.circleMarker(
                [41.6142803, -93.739792],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_16a83b6f081cb5a27e53fa342d550997 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_22811168d555270eadc5367a838b7701 = $(`<div id=&quot;html_22811168d555270eadc5367a838b7701&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Clive Fire Department</div>`)[0];
                popup_16a83b6f081cb5a27e53fa342d550997.setContent(html_22811168d555270eadc5367a838b7701);
            
        

        circle_marker_58757095d05d23c2d04194fabb043be7.bindPopup(popup_16a83b6f081cb5a27e53fa342d550997)
        ;

        
    
    
            var circle_marker_7e510fef20e081574eb488b88899fb2b = L.circleMarker(
                [41.906541, -92.1798503],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a1fd1ec5f990d71b8f89a2d574c8d054 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6c7386863688db010c917f46478a5783 = $(`<div id=&quot;html_6c7386863688db010c917f46478a5783&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Luzerne Fire Station</div>`)[0];
                popup_a1fd1ec5f990d71b8f89a2d574c8d054.setContent(html_6c7386863688db010c917f46478a5783);
            
        

        circle_marker_7e510fef20e081574eb488b88899fb2b.bindPopup(popup_a1fd1ec5f990d71b8f89a2d574c8d054)
        ;

        
    
    
            var circle_marker_9f68482300687096a3bc4eda3ed0cd85 = L.circleMarker(
                [41.53963, -90.46499],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_50586278e1f2ef44fee187afbb167327 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_461200c1d1dfa616ddbde9598334995d = $(`<div id=&quot;html_461200c1d1dfa616ddbde9598334995d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Riverdale Fire Department</div>`)[0];
                popup_50586278e1f2ef44fee187afbb167327.setContent(html_461200c1d1dfa616ddbde9598334995d);
            
        

        circle_marker_9f68482300687096a3bc4eda3ed0cd85.bindPopup(popup_50586278e1f2ef44fee187afbb167327)
        ;

        
    
    
            var circle_marker_bcc05d3f0c14e66c6728eef2cb8e6cdf = L.circleMarker(
                [41.9359189, -94.2058036],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_6e04da98f07a8f16b49d1590330e7a87 = L.circleMarker(
                [41.0350805, -93.7673067],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_68698cc729d8bd411abe9c46aa3b95a1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_66db59677c8a15025386b0dc85e1c537 = $(`<div id=&quot;html_66db59677c8a15025386b0dc85e1c537&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Osceola Fire Department</div>`)[0];
                popup_68698cc729d8bd411abe9c46aa3b95a1.setContent(html_66db59677c8a15025386b0dc85e1c537);
            
        

        circle_marker_6e04da98f07a8f16b49d1590330e7a87.bindPopup(popup_68698cc729d8bd411abe9c46aa3b95a1)
        ;

        
    
    
            var circle_marker_3f96ac8ee4e418f27354d80767b4b9c8 = L.circleMarker(
                [43.1987518, -92.4156137],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b8c48d2156a9705d3deeccef3cf6326b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_18601066e001bb65be80bbaadd1824d2 = $(`<div id=&quot;html_18601066e001bb65be80bbaadd1824d2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Alta Vista Fire Department</div>`)[0];
                popup_b8c48d2156a9705d3deeccef3cf6326b.setContent(html_18601066e001bb65be80bbaadd1824d2);
            
        

        circle_marker_3f96ac8ee4e418f27354d80767b4b9c8.bindPopup(popup_b8c48d2156a9705d3deeccef3cf6326b)
        ;

        
    
    
            var circle_marker_349e1f1a5a31d9d87bfb80328e5a9c57 = L.circleMarker(
                [41.640854, -91.5056805],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_710663139d3e06c77c1160644155e5d2 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_5c01bf232f7bd6983a445c84a322f08a = $(`<div id=&quot;html_5c01bf232f7bd6983a445c84a322f08a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Iowa City Fire Station No. 3</div>`)[0];
                popup_710663139d3e06c77c1160644155e5d2.setContent(html_5c01bf232f7bd6983a445c84a322f08a);
            
        

        circle_marker_349e1f1a5a31d9d87bfb80328e5a9c57.bindPopup(popup_710663139d3e06c77c1160644155e5d2)
        ;

        
    
    
            var circle_marker_75b6097b4eac30d3fdd34b7e5795a809 = L.circleMarker(
                [41.655422, -91.5649157],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6256fa870c6571a1b1de92d4624f1dd0 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c9323c2abcde354fd204dcd7449430bf = $(`<div id=&quot;html_c9323c2abcde354fd204dcd7449430bf&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Iowa City Fire Station No. 2</div>`)[0];
                popup_6256fa870c6571a1b1de92d4624f1dd0.setContent(html_c9323c2abcde354fd204dcd7449430bf);
            
        

        circle_marker_75b6097b4eac30d3fdd34b7e5795a809.bindPopup(popup_6256fa870c6571a1b1de92d4624f1dd0)
        ;

        
    
    
            var circle_marker_4cc70f18d1f42b5e6951baf7f47f4071 = L.circleMarker(
                [41.6808986, -91.5070821],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_057f41fefd5a838324b2d0fb404cdeec = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3b223cfe6287b4f05040086bf87b5d85 = $(`<div id=&quot;html_3b223cfe6287b4f05040086bf87b5d85&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Iowa City Fire Station No. 4</div>`)[0];
                popup_057f41fefd5a838324b2d0fb404cdeec.setContent(html_3b223cfe6287b4f05040086bf87b5d85);
            
        

        circle_marker_4cc70f18d1f42b5e6951baf7f47f4071.bindPopup(popup_057f41fefd5a838324b2d0fb404cdeec)
        ;

        
    
    
            var circle_marker_c34707133d97dbca6f275303b9f76a97 = L.circleMarker(
                [41.6776467, -91.5828314],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1bab77c9b30d11eb900cd55456262a61 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f1dffdfd0df10e93af847b2536ac4cb9 = $(`<div id=&quot;html_f1dffdfd0df10e93af847b2536ac4cb9&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Coralville Fire Station 1</div>`)[0];
                popup_1bab77c9b30d11eb900cd55456262a61.setContent(html_f1dffdfd0df10e93af847b2536ac4cb9);
            
        

        circle_marker_c34707133d97dbca6f275303b9f76a97.bindPopup(popup_1bab77c9b30d11eb900cd55456262a61)
        ;

        
    
    
            var circle_marker_53f20ddae42316ff7c0058c0685c34c7 = L.circleMarker(
                [41.7015569, -91.6051973],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_caa1104048f6a8617fcdcb1cd319f17e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3867c71a0b0c303fd1437188232bc506 = $(`<div id=&quot;html_3867c71a0b0c303fd1437188232bc506&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Coralville Fire Station 2</div>`)[0];
                popup_caa1104048f6a8617fcdcb1cd319f17e.setContent(html_3867c71a0b0c303fd1437188232bc506);
            
        

        circle_marker_53f20ddae42316ff7c0058c0685c34c7.bindPopup(popup_caa1104048f6a8617fcdcb1cd319f17e)
        ;

        
    
    
            var circle_marker_634a2c23c5f285a4aba985853e58eb78 = L.circleMarker(
                [41.748274, -91.5986055],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ee3b7c8aa6c09611a2fd3e26e2969cb8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_13b1bb2c6866153f6a74927f6512c9f0 = $(`<div id=&quot;html_13b1bb2c6866153f6a74927f6512c9f0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>North Liberty Fire Station</div>`)[0];
                popup_ee3b7c8aa6c09611a2fd3e26e2969cb8.setContent(html_13b1bb2c6866153f6a74927f6512c9f0);
            
        

        circle_marker_634a2c23c5f285a4aba985853e58eb78.bindPopup(popup_ee3b7c8aa6c09611a2fd3e26e2969cb8)
        ;

        
    
    
            var circle_marker_df19d0e35bc10e9321f11c4220978985 = L.circleMarker(
                [41.724601, -91.7910582],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9d85fd1647d4965957495a5f2d9d1ced = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2c279211a5008b9ee97d5a158741ed45 = $(`<div id=&quot;html_2c279211a5008b9ee97d5a158741ed45&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Oxford Fire Station</div>`)[0];
                popup_9d85fd1647d4965957495a5f2d9d1ced.setContent(html_2c279211a5008b9ee97d5a158741ed45);
            
        

        circle_marker_df19d0e35bc10e9321f11c4220978985.bindPopup(popup_9d85fd1647d4965957495a5f2d9d1ced)
        ;

        
    
    
            var circle_marker_b577067663d7a9d611c4734bc29fe14f = L.circleMarker(
                [41.5550501, -91.5345084],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_fdc27fa2a5b9f5ddcd693b94588040dd = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e687c40beab7bd8986666bc90d6b1691 = $(`<div id=&quot;html_e687c40beab7bd8986666bc90d6b1691&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hills Fire Station</div>`)[0];
                popup_fdc27fa2a5b9f5ddcd693b94588040dd.setContent(html_e687c40beab7bd8986666bc90d6b1691);
            
        

        circle_marker_b577067663d7a9d611c4734bc29fe14f.bindPopup(popup_fdc27fa2a5b9f5ddcd693b94588040dd)
        ;

        
    
    
            var circle_marker_c13e33fc6cdcb106d4568f256af3e037 = L.circleMarker(
                [41.7054148, -91.6634509],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c9e46cff04421857d1b41d010335bdc7 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f19ee20b9a606523d018af43a714151c = $(`<div id=&quot;html_f19ee20b9a606523d018af43a714151c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Tiffin Fire Department</div>`)[0];
                popup_c9e46cff04421857d1b41d010335bdc7.setContent(html_f19ee20b9a606523d018af43a714151c);
            
        

        circle_marker_c13e33fc6cdcb106d4568f256af3e037.bindPopup(popup_c9e46cff04421857d1b41d010335bdc7)
        ;

        
    
    
            var circle_marker_4a5df67551ecae6e40b7d100fbd4a21c = L.circleMarker(
                [43.0636658, -94.4219056],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_343ecc241cff8d70e0220bf015bb8926 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_fe48627008ed8200333aaa110495ca1e = $(`<div id=&quot;html_fe48627008ed8200333aaa110495ca1e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Whittemore Fire Department</div>`)[0];
                popup_343ecc241cff8d70e0220bf015bb8926.setContent(html_fe48627008ed8200333aaa110495ca1e);
            
        

        circle_marker_4a5df67551ecae6e40b7d100fbd4a21c.bindPopup(popup_343ecc241cff8d70e0220bf015bb8926)
        ;

        
    
    
            var circle_marker_b48b00f0efca0c6d9822285dad2dc98c = L.circleMarker(
                [40.6480654, -92.8422389],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_cdb3a993559a667fd68dfb4faa10e28c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a26b7821dcf438b3bb542813baa780cd = $(`<div id=&quot;html_a26b7821dcf438b3bb542813baa780cd&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Southern Appaoose County First Responders</div>`)[0];
                popup_cdb3a993559a667fd68dfb4faa10e28c.setContent(html_a26b7821dcf438b3bb542813baa780cd);
            
        

        circle_marker_b48b00f0efca0c6d9822285dad2dc98c.bindPopup(popup_cdb3a993559a667fd68dfb4faa10e28c)
        ;

        
    
    
            var circle_marker_12c80bdc8e690a965cc028ce01153707 = L.circleMarker(
                [42.5076583, -94.36413],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1f3645b8e3a0d4e052cfa123492e92cc = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_db504eac3a59a806ac774ff8d6de083a = $(`<div id=&quot;html_db504eac3a59a806ac774ff8d6de083a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Barnum Fire Department</div>`)[0];
                popup_1f3645b8e3a0d4e052cfa123492e92cc.setContent(html_db504eac3a59a806ac774ff8d6de083a);
            
        

        circle_marker_12c80bdc8e690a965cc028ce01153707.bindPopup(popup_1f3645b8e3a0d4e052cfa123492e92cc)
        ;

        
    
    
            var circle_marker_792f4b6ecc4d296e4e780b757dc3b7d3 = L.circleMarker(
                [40.7105875, -94.0494161],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c7e8ba556cda54020ffd068390aa7e24 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3447d9dd78ef3d9fc10d8d4402619cf1 = $(`<div id=&quot;html_3447d9dd78ef3d9fc10d8d4402619cf1&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Kellerton Voluntary Fire Department</div>`)[0];
                popup_c7e8ba556cda54020ffd068390aa7e24.setContent(html_3447d9dd78ef3d9fc10d8d4402619cf1);
            
        

        circle_marker_792f4b6ecc4d296e4e780b757dc3b7d3.bindPopup(popup_c7e8ba556cda54020ffd068390aa7e24)
        ;

        
    
    
            var circle_marker_28f9bc93af3522aa452031bb4f9eca3e = L.circleMarker(
                [41.7602542, -93.820578],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e14f027e865748231cd0a0b5e9b53be4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b35bc48f1dc47b6ed6866e41b609c183 = $(`<div id=&quot;html_b35bc48f1dc47b6ed6866e41b609c183&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Granger Fire Department</div>`)[0];
                popup_e14f027e865748231cd0a0b5e9b53be4.setContent(html_b35bc48f1dc47b6ed6866e41b609c183);
            
        

        circle_marker_28f9bc93af3522aa452031bb4f9eca3e.bindPopup(popup_e14f027e865748231cd0a0b5e9b53be4)
        ;

        
    
    
            var circle_marker_836727f8942aa229c2f83079854e021a = L.circleMarker(
                [42.8918429, -92.8114069],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5f02458e82b1b2b1558277562cb15c26 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b157bbd3b6944553762742a1b7377219 = $(`<div id=&quot;html_b157bbd3b6944553762742a1b7377219&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Greene Fire Department</div>`)[0];
                popup_5f02458e82b1b2b1558277562cb15c26.setContent(html_b157bbd3b6944553762742a1b7377219);
            
        

        circle_marker_836727f8942aa229c2f83079854e021a.bindPopup(popup_5f02458e82b1b2b1558277562cb15c26)
        ;

        
    
    
            var circle_marker_25fc87747a1df75cd14875393f155a33 = L.circleMarker(
                [43.0848432, -95.6249622],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_87fdcb14322cd7a155dc4528fb31890f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_27b0bd9769a84dd32a13392bc84d7786 = $(`<div id=&quot;html_27b0bd9769a84dd32a13392bc84d7786&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Primghar Fire Station</div>`)[0];
                popup_87fdcb14322cd7a155dc4528fb31890f.setContent(html_27b0bd9769a84dd32a13392bc84d7786);
            
        

        circle_marker_25fc87747a1df75cd14875393f155a33.bindPopup(popup_87fdcb14322cd7a155dc4528fb31890f)
        ;

        
    
    
            var circle_marker_ca12946e5bd95b5849311f2b688aac37 = L.circleMarker(
                [41.60087644375, -93.6301576625],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1b9eac8f1dd8e53f909b1111efd1d8b7 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_26ed08db0313ef71438ad74c73cf3939 = $(`<div id=&quot;html_26ed08db0313ef71438ad74c73cf3939&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Des Moines Fire and Rescue Department Station 4</div>`)[0];
                popup_1b9eac8f1dd8e53f909b1111efd1d8b7.setContent(html_26ed08db0313ef71438ad74c73cf3939);
            
        

        circle_marker_ca12946e5bd95b5849311f2b688aac37.bindPopup(popup_1b9eac8f1dd8e53f909b1111efd1d8b7)
        ;

        
    
    
            var circle_marker_ec6278cd8802a44245afbb7e3af462b3 = L.circleMarker(
                [41.8913598, -93.60517727999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ea23153faf9ad6d3639b83edf242cfa1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_13a40d22778bb897704283f6e36658d9 = $(`<div id=&quot;html_13a40d22778bb897704283f6e36658d9&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Huxley Fire and Rescue</div>`)[0];
                popup_ea23153faf9ad6d3639b83edf242cfa1.setContent(html_13a40d22778bb897704283f6e36658d9);
            
        

        circle_marker_ec6278cd8802a44245afbb7e3af462b3.bindPopup(popup_ea23153faf9ad6d3639b83edf242cfa1)
        ;

        
    
    
            var circle_marker_7367414158a09cc1e9b79f786a33ef21 = L.circleMarker(
                [41.70238710666667, -93.58909673333334],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_93363dadc92b877ef341e1b43fa46ccf = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_12f491e60f955356f6637409d8cf91df = $(`<div id=&quot;html_12f491e60f955356f6637409d8cf91df&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ankeny Fire Station #2</div>`)[0];
                popup_93363dadc92b877ef341e1b43fa46ccf.setContent(html_12f491e60f955356f6637409d8cf91df);
            
        

        circle_marker_7367414158a09cc1e9b79f786a33ef21.bindPopup(popup_93363dadc92b877ef341e1b43fa46ccf)
        ;

        
    
    
            var circle_marker_343a8d5010106783226351366f8f1c66 = L.circleMarker(
                [41.8992983, -93.5277025857143],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_96f51748a408b4feabdba389fea7232a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_58ef1015015c8dbc0e9e60e421c1b6e5 = $(`<div id=&quot;html_58ef1015015c8dbc0e9e60e421c1b6e5&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cambridge Fire Department</div>`)[0];
                popup_96f51748a408b4feabdba389fea7232a.setContent(html_58ef1015015c8dbc0e9e60e421c1b6e5);
            
        

        circle_marker_343a8d5010106783226351366f8f1c66.bindPopup(popup_96f51748a408b4feabdba389fea7232a)
        ;

        
    
    
            var circle_marker_5762ac7e1c4539d0eea8cec83f597600 = L.circleMarker(
                [41.596968860000004, -93.54799352],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_8520325a1539af2a335cdca1ae136be3 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_277851a9745ad7548b89c02e86a2a888 = $(`<div id=&quot;html_277851a9745ad7548b89c02e86a2a888&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Fire Station</div>`)[0];
                popup_8520325a1539af2a335cdca1ae136be3.setContent(html_277851a9745ad7548b89c02e86a2a888);
            
        

        circle_marker_5762ac7e1c4539d0eea8cec83f597600.bindPopup(popup_8520325a1539af2a335cdca1ae136be3)
        ;

        
    
    
            var circle_marker_98734d8f5ad7025f636437ec212010e3 = L.circleMarker(
                [43.08132908, -96.17524008000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f4c6eb2944bb20e6b6f8b2e3a0afd1d6 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0a221a9199a0f58c5d990d781caa695f = $(`<div id=&quot;html_0a221a9199a0f58c5d990d781caa695f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sioux Center Fire Department</div>`)[0];
                popup_f4c6eb2944bb20e6b6f8b2e3a0afd1d6.setContent(html_0a221a9199a0f58c5d990d781caa695f);
            
        

        circle_marker_98734d8f5ad7025f636437ec212010e3.bindPopup(popup_f4c6eb2944bb20e6b6f8b2e3a0afd1d6)
        ;

        
    
    
            var circle_marker_fd0c9ec2252ee22590f11b76bff78234 = L.circleMarker(
                [42.502399966666665, -90.66606468333333],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_d6f8fea30d4daccea1a96fbce1bbec01 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d6560e3b9bb400b3b4492194752f08da = $(`<div id=&quot;html_d6560e3b9bb400b3b4492194752f08da&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dubuque Fire Department Headquarters &amp; EMS ambulance</div>`)[0];
                popup_d6f8fea30d4daccea1a96fbce1bbec01.setContent(html_d6560e3b9bb400b3b4492194752f08da);
            
        

        circle_marker_fd0c9ec2252ee22590f11b76bff78234.bindPopup(popup_d6f8fea30d4daccea1a96fbce1bbec01)
        ;

        
    
    
            var circle_marker_901f2370486fea8d5bdb5caa00c87770 = L.circleMarker(
                [41.65891449473685, -93.62103464210527],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_87a26d8ccbc358124c5086b3a18a3c87 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ec8972f65b400d5ec38ed447d15b2746 = $(`<div id=&quot;html_ec8972f65b400d5ec38ed447d15b2746&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Saylor Township Fire Department</div>`)[0];
                popup_87a26d8ccbc358124c5086b3a18a3c87.setContent(html_ec8972f65b400d5ec38ed447d15b2746);
            
        

        circle_marker_901f2370486fea8d5bdb5caa00c87770.bindPopup(popup_87a26d8ccbc358124c5086b3a18a3c87)
        ;

        
    
    
            var circle_marker_30a48b13ce634372e18bf4381fc8e65a = L.circleMarker(
                [43.06141702222222, -96.17484896666666],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_8dc447e2d59bdd2b7c8057dce4b141f6 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_af5ffefa3f771817b7ac353120062d14 = $(`<div id=&quot;html_af5ffefa3f771817b7ac353120062d14&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sioux Center Fire Department Station 2</div>`)[0];
                popup_8dc447e2d59bdd2b7c8057dce4b141f6.setContent(html_af5ffefa3f771817b7ac353120062d14);
            
        

        circle_marker_30a48b13ce634372e18bf4381fc8e65a.bindPopup(popup_8dc447e2d59bdd2b7c8057dce4b141f6)
        ;

        
    
    
            var circle_marker_d31cf3bd03cbe778e22c55a9d5f397b8 = L.circleMarker(
                [42.5269325, -90.68284514285713],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5aaed486d5e99ad743449682761c3c7b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a8d2fbba4fafdab4de800f1e78d1a2ee = $(`<div id=&quot;html_a8d2fbba4fafdab4de800f1e78d1a2ee&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dubuque Fire Station #3</div>`)[0];
                popup_5aaed486d5e99ad743449682761c3c7b.setContent(html_a8d2fbba4fafdab4de800f1e78d1a2ee);
            
        

        circle_marker_d31cf3bd03cbe778e22c55a9d5f397b8.bindPopup(popup_5aaed486d5e99ad743449682761c3c7b)
        ;

        
    
    
            var circle_marker_621353445621eb1e0d10fa8d1c3916e6 = L.circleMarker(
                [41.599117295, -93.800390975],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e6a5b7b3b68529fcb6365ea78750a7fd = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_23b3a236b6ce48973885fda6de775cd3 = $(`<div id=&quot;html_23b3a236b6ce48973885fda6de775cd3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>West Side Fire/EMS Facility 22</div>`)[0];
                popup_e6a5b7b3b68529fcb6365ea78750a7fd.setContent(html_23b3a236b6ce48973885fda6de775cd3);
            
        

        circle_marker_621353445621eb1e0d10fa8d1c3916e6.bindPopup(popup_e6a5b7b3b68529fcb6365ea78750a7fd)
        ;

        
    
    
            var circle_marker_a4d88d23f914bd7057d5954011c7f3ec = L.circleMarker(
                [41.67694557272727, -93.69696406363636],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2ded0943b4e91f3ec79e203a05053d82 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_22dc7fb82665148fc65e1bfa2e1e7130 = $(`<div id=&quot;html_22dc7fb82665148fc65e1bfa2e1e7130&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Johnston Public Safety Building</div>`)[0];
                popup_2ded0943b4e91f3ec79e203a05053d82.setContent(html_22dc7fb82665148fc65e1bfa2e1e7130);
            
        

        circle_marker_a4d88d23f914bd7057d5954011c7f3ec.bindPopup(popup_2ded0943b4e91f3ec79e203a05053d82)
        ;

        
    
    
            var circle_marker_2d26fd7a0b55c00be8284b40c3ffef6c = L.circleMarker(
                [43.18736568, -96.13711024],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_dc0c1693a40248e6ce1c50450e14eb1a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_5587ac979b3e96beb9f7c38118ce4e34 = $(`<div id=&quot;html_5587ac979b3e96beb9f7c38118ce4e34&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hull City Fire Department</div>`)[0];
                popup_dc0c1693a40248e6ce1c50450e14eb1a.setContent(html_5587ac979b3e96beb9f7c38118ce4e34);
            
        

        circle_marker_2d26fd7a0b55c00be8284b40c3ffef6c.bindPopup(popup_dc0c1693a40248e6ce1c50450e14eb1a)
        ;

        
    
    
            var circle_marker_77cfcf636c338b26a1e2617081c15813 = L.circleMarker(
                [42.51460328571428, -93.27041798571429],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f43ba6e4a6677499874de1873765e700 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8179221cfbe51883e99bc7a4ff53a384 = $(`<div id=&quot;html_8179221cfbe51883e99bc7a4ff53a384&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Iowa Falls Fire Department</div>`)[0];
                popup_f43ba6e4a6677499874de1873765e700.setContent(html_8179221cfbe51883e99bc7a4ff53a384);
            
        

        circle_marker_77cfcf636c338b26a1e2617081c15813.bindPopup(popup_f43ba6e4a6677499874de1873765e700)
        ;

        
    
    
            var circle_marker_7d309803204aa2c05d529aa9e8438086 = L.circleMarker(
                [41.632723666666664, -93.7819600952381],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_cfe104d0a91dac78b0e81ad676030a31 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_626ddf0108400522db90ac916d7f97a0 = $(`<div id=&quot;html_626ddf0108400522db90ac916d7f97a0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Urbandale Fire Department Station 2</div>`)[0];
                popup_cfe104d0a91dac78b0e81ad676030a31.setContent(html_626ddf0108400522db90ac916d7f97a0);
            
        

        circle_marker_7d309803204aa2c05d529aa9e8438086.bindPopup(popup_cfe104d0a91dac78b0e81ad676030a31)
        ;

        
    
    
            var circle_marker_ed01ac6c415c279dc4ea8f835dc80f38 = L.circleMarker(
                [41.570697773333336, -93.60483133333334],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a20df9f6d0a1b7fa6b188743f89b394a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c96aff3e224fc9ae362be1773f2ee086 = $(`<div id=&quot;html_c96aff3e224fc9ae362be1773f2ee086&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Des Moines Fire Station 6</div>`)[0];
                popup_a20df9f6d0a1b7fa6b188743f89b394a.setContent(html_c96aff3e224fc9ae362be1773f2ee086);
            
        

        circle_marker_ed01ac6c415c279dc4ea8f835dc80f38.bindPopup(popup_a20df9f6d0a1b7fa6b188743f89b394a)
        ;

        
    
    
            var circle_marker_8908554f8076df7868c6fb186162dfb7 = L.circleMarker(
                [41.59037199333333, -93.67393250666667],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_aef39f16f5534fdae2b441b9913984bb = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_736a83a32fcad2ae3355f0ca144932eb = $(`<div id=&quot;html_736a83a32fcad2ae3355f0ca144932eb&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Des Moines Fire and Rescue Department Station 5</div>`)[0];
                popup_aef39f16f5534fdae2b441b9913984bb.setContent(html_736a83a32fcad2ae3355f0ca144932eb);
            
        

        circle_marker_8908554f8076df7868c6fb186162dfb7.bindPopup(popup_aef39f16f5534fdae2b441b9913984bb)
        ;

        
    
    
            var circle_marker_d03dcaaf6bd83e5d6e24be783dcd7a7b = L.circleMarker(
                [42.91665418, -95.34278228000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f5d5b652fa267d08ee8d1df7392f5be4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8d7f53147901ed598d3596c5014de44c = $(`<div id=&quot;html_8d7f53147901ed598d3596c5014de44c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Peterson Fire Station</div>`)[0];
                popup_f5d5b652fa267d08ee8d1df7392f5be4.setContent(html_8d7f53147901ed598d3596c5014de44c);
            
        

        circle_marker_d03dcaaf6bd83e5d6e24be783dcd7a7b.bindPopup(popup_f5d5b652fa267d08ee8d1df7392f5be4)
        ;

        
    
    
            var circle_marker_9a39fb134f82cbf377aa72ea3d65eb7d = L.circleMarker(
                [41.6291475, -93.68465502307693],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1ec13119144747197744f318e64896c9 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_89d914691c17eb2eb7b4fd8dd5422309 = $(`<div id=&quot;html_89d914691c17eb2eb7b4fd8dd5422309&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Des Moines Fire and Rescue Department Station 9</div>`)[0];
                popup_1ec13119144747197744f318e64896c9.setContent(html_89d914691c17eb2eb7b4fd8dd5422309);
            
        

        circle_marker_9a39fb134f82cbf377aa72ea3d65eb7d.bindPopup(popup_1ec13119144747197744f318e64896c9)
        ;

        
    
    
            var circle_marker_eba7794df70f13a06a9fbe36117a2949 = L.circleMarker(
                [41.62899794545455, -93.71484628181817],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_75e6c717181b4098ec7aad7de096367f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_063c7dc0d195f14f5fbce56cf3993b1b = $(`<div id=&quot;html_063c7dc0d195f14f5fbce56cf3993b1b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Urbandale Fire Department Station 1</div>`)[0];
                popup_75e6c717181b4098ec7aad7de096367f.setContent(html_063c7dc0d195f14f5fbce56cf3993b1b);
            
        

        circle_marker_eba7794df70f13a06a9fbe36117a2949.bindPopup(popup_75e6c717181b4098ec7aad7de096367f)
        ;

        
    
    
            var circle_marker_97d8a6a9d4851108a5cb6623a2200bc8 = L.circleMarker(
                [41.9180883, -91.42207757999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_91b795f4e7159206dc450e1defe28fef = L.circleMarker(
                [43.17977422, -95.85274738000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_de82a20bed7738dde936c6d06769dff2 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e9eddeadae6f81c77358e5d91c40be64 = $(`<div id=&quot;html_e9eddeadae6f81c77358e5d91c40be64&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sheldon Fire Department</div>`)[0];
                popup_de82a20bed7738dde936c6d06769dff2.setContent(html_e9eddeadae6f81c77358e5d91c40be64);
            
        

        circle_marker_91b795f4e7159206dc450e1defe28fef.bindPopup(popup_de82a20bed7738dde936c6d06769dff2)
        ;

        
    
    
            var circle_marker_45c456a82b4fe975dc1ad019073bbad5 = L.circleMarker(
                [41.891951985714286, -91.71168495238096],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_2eda226fc3bde23ba6a4a5a4fe3a8641 = L.circleMarker(
                [41.53070298, -93.57794414],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_65649a208be2477afb9dc37596eeed66 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_36cdba9609768c93142bb89fc4319d2b = $(`<div id=&quot;html_36cdba9609768c93142bb89fc4319d2b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Des Moines Fire and Rescue Department Station 10</div>`)[0];
                popup_65649a208be2477afb9dc37596eeed66.setContent(html_36cdba9609768c93142bb89fc4319d2b);
            
        

        circle_marker_2eda226fc3bde23ba6a4a5a4fe3a8641.bindPopup(popup_65649a208be2477afb9dc37596eeed66)
        ;

        
    
    
            var circle_marker_d7faa7a5e497567b0ef3453e40348e26 = L.circleMarker(
                [41.640521331578945, -93.47624862105263],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_abdc24c40bd026544c80e9b5f9b52de4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d52d429362ac319eda71b3b528937b7c = $(`<div id=&quot;html_d52d429362ac319eda71b3b528937b7c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Altoona City Fire Department</div>`)[0];
                popup_abdc24c40bd026544c80e9b5f9b52de4.setContent(html_d52d429362ac319eda71b3b528937b7c);
            
        

        circle_marker_d7faa7a5e497567b0ef3453e40348e26.bindPopup(popup_abdc24c40bd026544c80e9b5f9b52de4)
        ;

        
    
    
            var circle_marker_b2662772e3d8d3425165518dbb5de104 = L.circleMarker(
                [40.9652151, -91.55590004000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9b89baf4ddd7d9ca6a9d83e1845e35e2 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b4ad34d582034dc97248d54b3ecb8656 = $(`<div id=&quot;html_b4ad34d582034dc97248d54b3ecb8656&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Mount Pleasant Fire Department</div>`)[0];
                popup_9b89baf4ddd7d9ca6a9d83e1845e35e2.setContent(html_b4ad34d582034dc97248d54b3ecb8656);
            
        

        circle_marker_b2662772e3d8d3425165518dbb5de104.bindPopup(popup_9b89baf4ddd7d9ca6a9d83e1845e35e2)
        ;

        
    
    
            var circle_marker_bdcc45f24cc0c05f82cf66d3facc094a = L.circleMarker(
                [41.22452156666667, -95.85976388888889],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_51c281e399173065ff856cda6f18d3c0 = L.circleMarker(
                [41.239322015384616, -95.8160409153846],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7f8effc1cb59131fe85a660103c7f2c4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c3840c34f051d550a36db8fae913923e = $(`<div id=&quot;html_c3840c34f051d550a36db8fae913923e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Council Bluffs Fire Department Station 4</div>`)[0];
                popup_7f8effc1cb59131fe85a660103c7f2c4.setContent(html_c3840c34f051d550a36db8fae913923e);
            
        

        circle_marker_51c281e399173065ff856cda6f18d3c0.bindPopup(popup_7f8effc1cb59131fe85a660103c7f2c4)
        ;

        
    
    
            var circle_marker_2d2580dfce5ea4fc3248c3c36acfe1df = L.circleMarker(
                [43.131792260000005, -95.02367496],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_9212f158953ac510992f6c7de53cc556 = L.circleMarker(
                [42.02160943846154, -93.64969926153846],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_259e1136741ed9da3491af7ede3ebb2e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e99ff77f855c23d8bb96a34aab9b1276 = $(`<div id=&quot;html_e99ff77f855c23d8bb96a34aab9b1276&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ames Fire Department Station 2</div>`)[0];
                popup_259e1136741ed9da3491af7ede3ebb2e.setContent(html_e99ff77f855c23d8bb96a34aab9b1276);
            
        

        circle_marker_9212f158953ac510992f6c7de53cc556.bindPopup(popup_259e1136741ed9da3491af7ede3ebb2e)
        ;

        
    
    
            var circle_marker_e44d995e61d06a7fd2195c5404c97507 = L.circleMarker(
                [41.53813113076923, -93.65569496153846],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_01b3e50f51a3575087bff817beb9761b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c46c7d6291fc02fab51095ec45daf3af = $(`<div id=&quot;html_c46c7d6291fc02fab51095ec45daf3af&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Des Moines International Airport Fire Station</div>`)[0];
                popup_01b3e50f51a3575087bff817beb9761b.setContent(html_c46c7d6291fc02fab51095ec45daf3af);
            
        

        circle_marker_e44d995e61d06a7fd2195c5404c97507.bindPopup(popup_01b3e50f51a3575087bff817beb9761b)
        ;

        
    
    
            var circle_marker_369181446f876e2094b86903e42439b9 = L.circleMarker(
                [41.00183155, -95.58552005],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f5e4bdf03da87ff4ac1108a81bae2049 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e3624d19944b504e6bbb2ba4a27634e3 = $(`<div id=&quot;html_e3624d19944b504e6bbb2ba4a27634e3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Malvern Fire Station</div>`)[0];
                popup_f5e4bdf03da87ff4ac1108a81bae2049.setContent(html_e3624d19944b504e6bbb2ba4a27634e3);
            
        

        circle_marker_369181446f876e2094b86903e42439b9.bindPopup(popup_f5e4bdf03da87ff4ac1108a81bae2049)
        ;

        
    
    
            var circle_marker_0deb79d7a14e48ede08ccc1a5f41b833 = L.circleMarker(
                [41.65544825, -91.56490944375],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2e8614c4ad76b18b403a50f235a909ad = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_fd469bef4ba509904c410e9fec4ddc53 = $(`<div id=&quot;html_fd469bef4ba509904c410e9fec4ddc53&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Iowa City Fire and Rescue Department Station 2</div>`)[0];
                popup_2e8614c4ad76b18b403a50f235a909ad.setContent(html_fd469bef4ba509904c410e9fec4ddc53);
            
        

        circle_marker_0deb79d7a14e48ede08ccc1a5f41b833.bindPopup(popup_2e8614c4ad76b18b403a50f235a909ad)
        ;

        
    
    
            var circle_marker_176612ba038c0e436599d3dd91d76869 = L.circleMarker(
                [41.582702772727274, -93.63339123636364],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_319c018ad6dffa8fdd916e1ee26f0eb6 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_07d82d88d8e2e1b3531567fa94557f57 = $(`<div id=&quot;html_07d82d88d8e2e1b3531567fa94557f57&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Des Moines Fire and Rescue Department Station 1</div>`)[0];
                popup_319c018ad6dffa8fdd916e1ee26f0eb6.setContent(html_07d82d88d8e2e1b3531567fa94557f57);
            
        

        circle_marker_176612ba038c0e436599d3dd91d76869.bindPopup(popup_319c018ad6dffa8fdd916e1ee26f0eb6)
        ;

        
    
    
            var circle_marker_6a4069ae90a8f170ead3a7f49247c4f0 = L.circleMarker(
                [41.56095050666667, -93.81826086333334],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e1b95f06c13a0994ee5a591820d19927 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_457950419580a57a3f55a724e4ee80fd = $(`<div id=&quot;html_457950419580a57a3f55a724e4ee80fd&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>West Des Moines Public Safety Facility 19</div>`)[0];
                popup_e1b95f06c13a0994ee5a591820d19927.setContent(html_457950419580a57a3f55a724e4ee80fd);
            
        

        circle_marker_6a4069ae90a8f170ead3a7f49247c4f0.bindPopup(popup_e1b95f06c13a0994ee5a591820d19927)
        ;

        
    
    
            var circle_marker_74ee77180d38816e16f7c618c1f0eeda = L.circleMarker(
                [42.001196453846156, -93.60917836538462],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_26f86eb72a29f242bd4cb7ab999c5b71 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_aa235c09090d1b94c5e536f99679cfdf = $(`<div id=&quot;html_aa235c09090d1b94c5e536f99679cfdf&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ames Fire Department Station 3</div>`)[0];
                popup_26f86eb72a29f242bd4cb7ab999c5b71.setContent(html_aa235c09090d1b94c5e536f99679cfdf);
            
        

        circle_marker_74ee77180d38816e16f7c618c1f0eeda.bindPopup(popup_26f86eb72a29f242bd4cb7ab999c5b71)
        ;

        
    
    
            var circle_marker_7ca22ad931a35aa65eac17e91bf045a3 = L.circleMarker(
                [41.964727966666665, -90.81793586666667],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_d374d860b1ab94edce7f010eb30c955c = L.circleMarker(
                [41.5852778974026, -93.75101851818182],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_69dd64f8fe7d7e8b0b47951eb6dd5472 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ee74822a1ba5490fcdbea1533ec8ec26 = $(`<div id=&quot;html_ee74822a1ba5490fcdbea1533ec8ec26&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>West Des Moines Fire Department Station 21</div>`)[0];
                popup_69dd64f8fe7d7e8b0b47951eb6dd5472.setContent(html_ee74822a1ba5490fcdbea1533ec8ec26);
            
        

        circle_marker_d374d860b1ab94edce7f010eb30c955c.bindPopup(popup_69dd64f8fe7d7e8b0b47951eb6dd5472)
        ;

        
    
    
            var circle_marker_a7f5ee80b0c28fcaee73064f12cb5b0c = L.circleMarker(
                [41.570405716, -93.723022288],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6bc00ac1bd90cefe5d4a22f16f8b7543 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_77e316811c7b90097f5693e387121cdf = $(`<div id=&quot;html_77e316811c7b90097f5693e387121cdf&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>West Des Moines Fire Department Station 17</div>`)[0];
                popup_6bc00ac1bd90cefe5d4a22f16f8b7543.setContent(html_77e316811c7b90097f5693e387121cdf);
            
        

        circle_marker_a7f5ee80b0c28fcaee73064f12cb5b0c.bindPopup(popup_6bc00ac1bd90cefe5d4a22f16f8b7543)
        ;

        
    
    
            var circle_marker_438b20f97fa333c3dfe35b7516383568 = L.circleMarker(
                [41.541897454545456, -93.76590941818182],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_41d8b56bc50434fd27a181b8272afb26 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e047728c9217f4c9a29d7f21c38163c3 = $(`<div id=&quot;html_e047728c9217f4c9a29d7f21c38163c3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>West Des Moines Fire Department Station 18</div>`)[0];
                popup_41d8b56bc50434fd27a181b8272afb26.setContent(html_e047728c9217f4c9a29d7f21c38163c3);
            
        

        circle_marker_438b20f97fa333c3dfe35b7516383568.bindPopup(popup_41d8b56bc50434fd27a181b8272afb26)
        ;

        
    
    
            var circle_marker_9f55fbc9cbf38de83e68423db0a1fbde = L.circleMarker(
                [40.73984052, -93.74767460000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_d8be29759a3c7ebc998e510d17c159f2 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0a5b68187e92886cc25c08a38d50b7bb = $(`<div id=&quot;html_0a5b68187e92886cc25c08a38d50b7bb&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Leon Volunteer Fire Department</div>`)[0];
                popup_d8be29759a3c7ebc998e510d17c159f2.setContent(html_0a5b68187e92886cc25c08a38d50b7bb);
            
        

        circle_marker_9f55fbc9cbf38de83e68423db0a1fbde.bindPopup(popup_d8be29759a3c7ebc998e510d17c159f2)
        ;

        
    
    
            var circle_marker_e242d7386c7dbf3f8098c8cf27771d5b = L.circleMarker(
                [42.1863043, -93.59713224],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1613ce131f998f2c99d359c844dc102a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_04b892eb37d9138b0598f0cea95dabc0 = $(`<div id=&quot;html_04b892eb37d9138b0598f0cea95dabc0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Story City Fire Department</div>`)[0];
                popup_1613ce131f998f2c99d359c844dc102a.setContent(html_04b892eb37d9138b0598f0cea95dabc0);
            
        

        circle_marker_e242d7386c7dbf3f8098c8cf27771d5b.bindPopup(popup_1613ce131f998f2c99d359c844dc102a)
        ;

        
    
    
            var circle_marker_14d4aa82d02f00ace7a49cea639c2b81 = L.circleMarker(
                [41.57522761, -90.53223433000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_46e14226dfb74e4426873b2d070cc676 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b6c93e0a827af9f0e2c9fb798fc8c6e1 = $(`<div id=&quot;html_b6c93e0a827af9f0e2c9fb798fc8c6e1&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Davenport Fire Department Station 8</div>`)[0];
                popup_46e14226dfb74e4426873b2d070cc676.setContent(html_b6c93e0a827af9f0e2c9fb798fc8c6e1);
            
        

        circle_marker_14d4aa82d02f00ace7a49cea639c2b81.bindPopup(popup_46e14226dfb74e4426873b2d070cc676)
        ;

        
    
    
            var circle_marker_a4040dea1da75473ad539430053516f2 = L.circleMarker(
                [41.55594736, -90.57754684],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c1dee6b0176430f5c62c7eb7b998166a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_04a8160c175ac2296ee18e8ef5148811 = $(`<div id=&quot;html_04a8160c175ac2296ee18e8ef5148811&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Davenport Fire Department Station 3</div>`)[0];
                popup_c1dee6b0176430f5c62c7eb7b998166a.setContent(html_04a8160c175ac2296ee18e8ef5148811);
            
        

        circle_marker_a4040dea1da75473ad539430053516f2.bindPopup(popup_c1dee6b0176430f5c62c7eb7b998166a)
        ;

        
    
    
            var circle_marker_023f858aad051873b5938f218eec6455 = L.circleMarker(
                [41.541276327272726, -93.6326404090909],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_822956a5af1d49592c290715eff15981 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_28a2d75e38b18f59da5b5bb59b0dcf1a = $(`<div id=&quot;html_28a2d75e38b18f59da5b5bb59b0dcf1a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Des Moines Fire and Rescue Department Station 8</div>`)[0];
                popup_822956a5af1d49592c290715eff15981.setContent(html_28a2d75e38b18f59da5b5bb59b0dcf1a);
            
        

        circle_marker_023f858aad051873b5938f218eec6455.bindPopup(popup_822956a5af1d49592c290715eff15981)
        ;

        
    
    
            var circle_marker_5fe9112106079e8987efb868a182efab = L.circleMarker(
                [42.48426291111111, -91.45384218888888],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_8842b0c83b824f61bc482d4710ddd530 = L.circleMarker(
                [42.80137411111111, -91.54265391111112],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f6f17941f037cec6caca44d361d103cf = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e2148fabc0350aeb43b3baedafdd5df6 = $(`<div id=&quot;html_e2148fabc0350aeb43b3baedafdd5df6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Volga Fire Department</div>`)[0];
                popup_f6f17941f037cec6caca44d361d103cf.setContent(html_e2148fabc0350aeb43b3baedafdd5df6);
            
        

        circle_marker_8842b0c83b824f61bc482d4710ddd530.bindPopup(popup_f6f17941f037cec6caca44d361d103cf)
        ;

        
    
    
            var circle_marker_7ee37b29b93f5c917ff05772d313735f = L.circleMarker(
                [40.82381705, -91.15697425],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_15ef8bcb05e4ef79aa1fd1a519188e3f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b6d48ac37b9a087ac04d2365a8f4acb7 = $(`<div id=&quot;html_b6d48ac37b9a087ac04d2365a8f4acb7&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>West Burlington Volunteer Fire Department</div>`)[0];
                popup_15ef8bcb05e4ef79aa1fd1a519188e3f.setContent(html_b6d48ac37b9a087ac04d2365a8f4acb7);
            
        

        circle_marker_7ee37b29b93f5c917ff05772d313735f.bindPopup(popup_15ef8bcb05e4ef79aa1fd1a519188e3f)
        ;

        
    
    
            var circle_marker_b4988c049c8ff19f6aa559d91b017b37 = L.circleMarker(
                [41.59099580344827, -93.56394103103447],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ac2327df3eda9e87597516d91aa74908 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_13213697c10414f1e0ce25f6642c0fa4 = $(`<div id=&quot;html_13213697c10414f1e0ce25f6642c0fa4&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Des Moines Fire Department</div>`)[0];
                popup_ac2327df3eda9e87597516d91aa74908.setContent(html_13213697c10414f1e0ce25f6642c0fa4);
            
        

        circle_marker_b4988c049c8ff19f6aa559d91b017b37.bindPopup(popup_ac2327df3eda9e87597516d91aa74908)
        ;

        
    
    
            var circle_marker_00c516be00242a8141114ee014263ca8 = L.circleMarker(
                [41.59288363636364, -93.58766187272727],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f39f77e6947da2238681e7e5ca531576 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9cb2a744e0749b49715b59059ecf5435 = $(`<div id=&quot;html_9cb2a744e0749b49715b59059ecf5435&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Des Moines Fire Station 2</div>`)[0];
                popup_f39f77e6947da2238681e7e5ca531576.setContent(html_9cb2a744e0749b49715b59059ecf5435);
            
        

        circle_marker_00c516be00242a8141114ee014263ca8.bindPopup(popup_f39f77e6947da2238681e7e5ca531576)
        ;

        
    
    
            var circle_marker_d128c2f9ec4e0572f44f0f67002d9eb3 = L.circleMarker(
                [41.607538772727274, -93.57113720000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ef138fc9bf2e3f4fa3cd75849f2825a1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_688690483ea325b4cd223eabbae15d16 = $(`<div id=&quot;html_688690483ea325b4cd223eabbae15d16&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Des Moines Fire Station 3</div>`)[0];
                popup_ef138fc9bf2e3f4fa3cd75849f2825a1.setContent(html_688690483ea325b4cd223eabbae15d16);
            
        

        circle_marker_d128c2f9ec4e0572f44f0f67002d9eb3.bindPopup(popup_ef138fc9bf2e3f4fa3cd75849f2825a1)
        ;

        
    
    
            var circle_marker_b76dfd428f1640764e22ec17de9cf7e0 = L.circleMarker(
                [40.62751446666667, -91.33967433333333],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_97364f160873a01fd2da4f1bdcbe1b99 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_29c8715520ccfa9a4676c038bbfc57ac = $(`<div id=&quot;html_29c8715520ccfa9a4676c038bbfc57ac&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Fort Madison Fire Department</div>`)[0];
                popup_97364f160873a01fd2da4f1bdcbe1b99.setContent(html_29c8715520ccfa9a4676c038bbfc57ac);
            
        

        circle_marker_b76dfd428f1640764e22ec17de9cf7e0.bindPopup(popup_97364f160873a01fd2da4f1bdcbe1b99)
        ;

        
    
    
            var circle_marker_0fdbabd075dc330f03ef2809c4e64250 = L.circleMarker(
                [42.51538255, -95.08841591666665],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_57a9e785acd6434a8c2e7c677be2c7ca = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_5c61a1cbcd5e12618439ae48ec67e460 = $(`<div id=&quot;html_5c61a1cbcd5e12618439ae48ec67e460&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Nemaha Fire Department</div>`)[0];
                popup_57a9e785acd6434a8c2e7c677be2c7ca.setContent(html_5c61a1cbcd5e12618439ae48ec67e460);
            
        

        circle_marker_0fdbabd075dc330f03ef2809c4e64250.bindPopup(popup_57a9e785acd6434a8c2e7c677be2c7ca)
        ;

        
    
    
            var circle_marker_31cbf3d27647fbec535bdd85fc3ca9d5 = L.circleMarker(
                [40.99446394545455, -92.43194518181818],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_22742fea700300855d85d93a47a93e4e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3c0d72e905db4176e0e22bb2bdcd7fdd = $(`<div id=&quot;html_3c0d72e905db4176e0e22bb2bdcd7fdd&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Wapello County Rural Volunteer Fire Department</div>`)[0];
                popup_22742fea700300855d85d93a47a93e4e.setContent(html_3c0d72e905db4176e0e22bb2bdcd7fdd);
            
        

        circle_marker_31cbf3d27647fbec535bdd85fc3ca9d5.bindPopup(popup_22742fea700300855d85d93a47a93e4e)
        ;

        
    
    
            var circle_marker_2ca56f810dc4e51c33d4385ea0083a89 = L.circleMarker(
                [43.28445464285714, -93.20538171428572],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1811fd5a9daa05d69a960f2a67f65c05 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ef2918d8739eba10ba810b0de32efc35 = $(`<div id=&quot;html_ef2918d8739eba10ba810b0de32efc35&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Manly Volunteer Fire Department</div>`)[0];
                popup_1811fd5a9daa05d69a960f2a67f65c05.setContent(html_ef2918d8739eba10ba810b0de32efc35);
            
        

        circle_marker_2ca56f810dc4e51c33d4385ea0083a89.bindPopup(popup_1811fd5a9daa05d69a960f2a67f65c05)
        ;

        
    
    
            var circle_marker_73393ee6ec4bda88f505eaefaa40d673 = L.circleMarker(
                [42.551199888235296, -92.3938344],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_233948655efb314da765c2d321002a61 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7bfaf65ff40743d5c8b2325c226e80bc = $(`<div id=&quot;html_7bfaf65ff40743d5c8b2325c226e80bc&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Waterloo Fire and Rescue Station 7</div>`)[0];
                popup_233948655efb314da765c2d321002a61.setContent(html_7bfaf65ff40743d5c8b2325c226e80bc);
            
        

        circle_marker_73393ee6ec4bda88f505eaefaa40d673.bindPopup(popup_233948655efb314da765c2d321002a61)
        ;

        
    
    
            var circle_marker_56f2d372d19b7dd7d533e54b9bd96c79 = L.circleMarker(
                [41.006528466666666, -92.42208958333333],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_32c813877b123407db015e72d50f80c1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_923809f6470b78752651ff0facc61b02 = $(`<div id=&quot;html_923809f6470b78752651ff0facc61b02&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ottumwa Fire Department Station 2</div>`)[0];
                popup_32c813877b123407db015e72d50f80c1.setContent(html_923809f6470b78752651ff0facc61b02);
            
        

        circle_marker_56f2d372d19b7dd7d533e54b9bd96c79.bindPopup(popup_32c813877b123407db015e72d50f80c1)
        ;

        
    
    
            var circle_marker_f1a65e171710b4b045688a8781e1ffc3 = L.circleMarker(
                [41.02267352, -92.41419843999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_50da05d6296a785040c4e2226116d47d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c22795bae650c63be93745a70ba930ab = $(`<div id=&quot;html_c22795bae650c63be93745a70ba930ab&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ottumwa Fire Department Station 1</div>`)[0];
                popup_50da05d6296a785040c4e2226116d47d.setContent(html_c22795bae650c63be93745a70ba930ab);
            
        

        circle_marker_f1a65e171710b4b045688a8781e1ffc3.bindPopup(popup_50da05d6296a785040c4e2226116d47d)
        ;

        
    
    
            var circle_marker_4554a8bef1180a4fd60f5b3b049eba18 = L.circleMarker(
                [41.82492628, -90.5411215],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e2e2625d219ecee561cdb0adf60a9e14 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_5cb300ec3d9a4ca569adb64d5c1f29e0 = $(`<div id=&quot;html_5cb300ec3d9a4ca569adb64d5c1f29e0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>De Witt Volunteer Fire Department</div>`)[0];
                popup_e2e2625d219ecee561cdb0adf60a9e14.setContent(html_5cb300ec3d9a4ca569adb64d5c1f29e0);
            
        

        circle_marker_4554a8bef1180a4fd60f5b3b049eba18.bindPopup(popup_e2e2625d219ecee561cdb0adf60a9e14)
        ;

        
    
    
            var circle_marker_ad4f5c76ad2bf3f077d95b8ee6a60ffd = L.circleMarker(
                [43.0674314, -91.93318415],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_868fd7694dfbe36ee643c3673d29fb45 = L.circleMarker(
                [41.157712759999995, -92.63357185999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f142ad3f677eab6a0613ba23bad45492 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d5a0b5c659a021b463f9b0f1c0472e14 = $(`<div id=&quot;html_d5a0b5c659a021b463f9b0f1c0472e14&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Eddyville Volunteer Fire Department</div>`)[0];
                popup_f142ad3f677eab6a0613ba23bad45492.setContent(html_d5a0b5c659a021b463f9b0f1c0472e14);
            
        

        circle_marker_868fd7694dfbe36ee643c3673d29fb45.bindPopup(popup_f142ad3f677eab6a0613ba23bad45492)
        ;

        
    
    
            var circle_marker_90b6a3a53b5fa9af15ebe0704abac3fb = L.circleMarker(
                [42.52264952, -92.44532726],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_eb6b9ac6e291ae04b8f272d0fab4f2f4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e084b0df077d42b0dd84848d475d9c3d = $(`<div id=&quot;html_e084b0df077d42b0dd84848d475d9c3d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cedar Falls Fire Department Station 1</div>`)[0];
                popup_eb6b9ac6e291ae04b8f272d0fab4f2f4.setContent(html_e084b0df077d42b0dd84848d475d9c3d);
            
        

        circle_marker_90b6a3a53b5fa9af15ebe0704abac3fb.bindPopup(popup_eb6b9ac6e291ae04b8f272d0fab4f2f4)
        ;

        
    
    
            var circle_marker_c0ef526fe015101aa17c020d68958029 = L.circleMarker(
                [40.73961016, -95.03419951999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_fc0c3f387f80761e0e7d7a5fc2381358 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3c4d658d9115673747ba6f5b3628c13f = $(`<div id=&quot;html_3c4d658d9115673747ba6f5b3628c13f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Clarinda Fire Department</div>`)[0];
                popup_fc0c3f387f80761e0e7d7a5fc2381358.setContent(html_3c4d658d9115673747ba6f5b3628c13f);
            
        

        circle_marker_c0ef526fe015101aa17c020d68958029.bindPopup(popup_fc0c3f387f80761e0e7d7a5fc2381358)
        ;

        
    
    
            var circle_marker_ecd5cc31b0fbf0e6cbde9276b0e58a96 = L.circleMarker(
                [41.874721820000005, -93.8214019],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_1f5e5ba2d2cbd1769fb52001b9ed257a = L.circleMarker(
                [41.84723418, -91.6800972],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a3b1f20e0f2e14dcbb55e841e8862278 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_37b7740b4ba7dd3506bda93eb48f7a69 = $(`<div id=&quot;html_37b7740b4ba7dd3506bda93eb48f7a69&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Jefferson-Monroe Fire Department;Jefferson Monroe Fire Station</div>`)[0];
                popup_a3b1f20e0f2e14dcbb55e841e8862278.setContent(html_37b7740b4ba7dd3506bda93eb48f7a69);
            
        

        circle_marker_1f5e5ba2d2cbd1769fb52001b9ed257a.bindPopup(popup_a3b1f20e0f2e14dcbb55e841e8862278)
        ;

        
    
    
            var circle_marker_5c7b9a3f3f90277d077e9c9eebcb8645 = L.circleMarker(
                [42.0393094, -94.03421696666668],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f89819a65c3cc8f10f6b2c18a0dedd65 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1bd6fbb21ee1de9fe9bb906a10229e1b = $(`<div id=&quot;html_1bd6fbb21ee1de9fe9bb906a10229e1b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ogden Fire Department</div>`)[0];
                popup_f89819a65c3cc8f10f6b2c18a0dedd65.setContent(html_1bd6fbb21ee1de9fe9bb906a10229e1b);
            
        

        circle_marker_5c7b9a3f3f90277d077e9c9eebcb8645.bindPopup(popup_f89819a65c3cc8f10f6b2c18a0dedd65)
        ;

        
    
    
            var circle_marker_6d1e8574ed77d8a6a9ce2751541937ae = L.circleMarker(
                [41.47989692, -91.57742022],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_147e42231dcb030155eadd06ac440f2a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ee1d62b6bc830c1ffa445eef4303bd5c = $(`<div id=&quot;html_ee1d62b6bc830c1ffa445eef4303bd5c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Riverside Fire Department</div>`)[0];
                popup_147e42231dcb030155eadd06ac440f2a.setContent(html_ee1d62b6bc830c1ffa445eef4303bd5c);
            
        

        circle_marker_6d1e8574ed77d8a6a9ce2751541937ae.bindPopup(popup_147e42231dcb030155eadd06ac440f2a)
        ;

        
    
    
            var circle_marker_d3faafa776d90c5c4a5bafab3bf9e0c0 = L.circleMarker(
                [42.31271328888889, -93.43249301111112],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1ee1645d7dc32aba6ae3791517816367 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_cce0d8cecae6e1c78a92a7c9a0519550 = $(`<div id=&quot;html_cce0d8cecae6e1c78a92a7c9a0519550&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Radcliffe Fire Department</div>`)[0];
                popup_1ee1645d7dc32aba6ae3791517816367.setContent(html_cce0d8cecae6e1c78a92a7c9a0519550);
            
        

        circle_marker_d3faafa776d90c5c4a5bafab3bf9e0c0.bindPopup(popup_1ee1645d7dc32aba6ae3791517816367)
        ;

        
    
    
            var circle_marker_ccf4e6344af81732e552e48d1a45457a = L.circleMarker(
                [42.46812815714286, -91.89056404285714],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5aaeb19a4f2bb707efd620f7f27fe660 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_80697efcd70fdf9de7b6a07cf8539903 = $(`<div id=&quot;html_80697efcd70fdf9de7b6a07cf8539903&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Independence Fire Department</div>`)[0];
                popup_5aaeb19a4f2bb707efd620f7f27fe660.setContent(html_80697efcd70fdf9de7b6a07cf8539903);
            
        

        circle_marker_ccf4e6344af81732e552e48d1a45457a.bindPopup(popup_5aaeb19a4f2bb707efd620f7f27fe660)
        ;

        
    
    
            var circle_marker_fa7ff29709b799f435f2cdb0021a4523 = L.circleMarker(
                [42.225551, -92.8739128],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_204c8d029f81f4408a49d28e713406d0 = L.circleMarker(
                [41.67338605714286, -93.75960318571428],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2d52f759e15a388bf52ad94af7b326ba = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e987b4ed7df12152ab80fb34f39113ff = $(`<div id=&quot;html_e987b4ed7df12152ab80fb34f39113ff&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Johnston Fire Station #2</div>`)[0];
                popup_2d52f759e15a388bf52ad94af7b326ba.setContent(html_e987b4ed7df12152ab80fb34f39113ff);
            
        

        circle_marker_204c8d029f81f4408a49d28e713406d0.bindPopup(popup_2d52f759e15a388bf52ad94af7b326ba)
        ;

        
    
    
            var circle_marker_a954ac9483a505ae9a95dc155aa152cb = L.circleMarker(
                [41.6874221, -93.79501744444445],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_bdb0d3f118d6ea8be5ce47fb3d97d3cb = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_37962ae446d68da418366661648944f2 = $(`<div id=&quot;html_37962ae446d68da418366661648944f2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Grimes City Fire Station</div>`)[0];
                popup_bdb0d3f118d6ea8be5ce47fb3d97d3cb.setContent(html_37962ae446d68da418366661648944f2);
            
        

        circle_marker_a954ac9483a505ae9a95dc155aa152cb.bindPopup(popup_bdb0d3f118d6ea8be5ce47fb3d97d3cb)
        ;

        
    
    
            var circle_marker_7cf17e52b23459e3de1552c94408b0c7 = L.circleMarker(
                [42.678164499999994, -91.91744684],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_cb948cdcc69b9654b4a9f1058253a2f7 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_cbb0bc001771e089657855ed173388c5 = $(`<div id=&quot;html_cbb0bc001771e089657855ed173388c5&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Oelwein Fire Department</div>`)[0];
                popup_cb948cdcc69b9654b4a9f1058253a2f7.setContent(html_cbb0bc001771e089657855ed173388c5);
            
        

        circle_marker_7cf17e52b23459e3de1552c94408b0c7.bindPopup(popup_cb948cdcc69b9654b4a9f1058253a2f7)
        ;

        
    
    
            var circle_marker_9e03515771bd274cde804c498c6619ea = L.circleMarker(
                [41.523230474074076, -90.57962181111112],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_167b29eb673f49c5dcf62fdc58f8af56 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_603c20f3388c6e3f98fc9e58504e4942 = $(`<div id=&quot;html_603c20f3388c6e3f98fc9e58504e4942&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Davenport Fire Department Prevention Bureau Central Station</div>`)[0];
                popup_167b29eb673f49c5dcf62fdc58f8af56.setContent(html_603c20f3388c6e3f98fc9e58504e4942);
            
        

        circle_marker_9e03515771bd274cde804c498c6619ea.bindPopup(popup_167b29eb673f49c5dcf62fdc58f8af56)
        ;

        
    
    
            var circle_marker_b1d8acf17591c6b6f1d490f5ab88248a = L.circleMarker(
                [41.6003605, -90.91007902],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c1300ded425e649a1bc4a72705a8b075 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_403858727f4efe8443e0b8589ffd978f = $(`<div id=&quot;html_403858727f4efe8443e0b8589ffd978f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Durant Community Fire Department</div>`)[0];
                popup_c1300ded425e649a1bc4a72705a8b075.setContent(html_403858727f4efe8443e0b8589ffd978f);
            
        

        circle_marker_b1d8acf17591c6b6f1d490f5ab88248a.bindPopup(popup_c1300ded425e649a1bc4a72705a8b075)
        ;

        
    
    
            var circle_marker_13df36e6f7c023a6cbe11b6ed4218cbd = L.circleMarker(
                [42.48245035, -91.27216761666666],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ae9e18a6e4f87b8331f77ea503d21092 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4874e58d5a12beac44f203b553890773 = $(`<div id=&quot;html_4874e58d5a12beac44f203b553890773&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Earlville Fire Station</div>`)[0];
                popup_ae9e18a6e4f87b8331f77ea503d21092.setContent(html_4874e58d5a12beac44f203b553890773);
            
        

        circle_marker_13df36e6f7c023a6cbe11b6ed4218cbd.bindPopup(popup_ae9e18a6e4f87b8331f77ea503d21092)
        ;

        
    
    
            var circle_marker_29fe87ad357a8135d18b88e58807bfde = L.circleMarker(
                [43.269878399999996, -91.4745432],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_eee82f74e819a3bdda620790a983df9b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4b08df3212f213f6a712ead7a753a4a5 = $(`<div id=&quot;html_4b08df3212f213f6a712ead7a753a4a5&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Waukon Fire Station</div>`)[0];
                popup_eee82f74e819a3bdda620790a983df9b.setContent(html_4b08df3212f213f6a712ead7a753a4a5);
            
        

        circle_marker_29fe87ad357a8135d18b88e58807bfde.bindPopup(popup_eee82f74e819a3bdda620790a983df9b)
        ;

        
    
    
            var circle_marker_eebc6671546302d03f4c1583ec2a2c38 = L.circleMarker(
                [42.00646523076922, -91.63676314615385],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_d0675ea1ce8c6f700353d235ac22be6e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0a2b18911a17db0575c295d26bd9e87a = $(`<div id=&quot;html_0a2b18911a17db0575c295d26bd9e87a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cedar Rapids Fire Department Station 7</div>`)[0];
                popup_d0675ea1ce8c6f700353d235ac22be6e.setContent(html_0a2b18911a17db0575c295d26bd9e87a);
            
        

        circle_marker_eebc6671546302d03f4c1583ec2a2c38.bindPopup(popup_d0675ea1ce8c6f700353d235ac22be6e)
        ;

        
    
    
            var circle_marker_c56512281a6f6f849e19fb34c2fd3b4e = L.circleMarker(
                [41.72256411111111, -94.93641074444444],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_fcf98bc7f949338ee60f1e96829c907e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7c959c3293d84a6d1630afe2ac6a90ca = $(`<div id=&quot;html_7c959c3293d84a6d1630afe2ac6a90ca&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Audubon Fire Department</div>`)[0];
                popup_fcf98bc7f949338ee60f1e96829c907e.setContent(html_7c959c3293d84a6d1630afe2ac6a90ca);
            
        

        circle_marker_c56512281a6f6f849e19fb34c2fd3b4e.bindPopup(popup_fcf98bc7f949338ee60f1e96829c907e)
        ;

        
    
    
            var circle_marker_c8f2e318eeacd77f13caad2ba8bff0f5 = L.circleMarker(
                [42.510255245454545, -90.7200603909091],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_cc50ad12cb25d1ae84a886daf2b6c35a = L.circleMarker(
                [41.5862558125, -90.7755067125],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_18a966040afb3874c98ddd6394836443 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c65024bdb8733b9e08cdfb6e0f24c38e = $(`<div id=&quot;html_c65024bdb8733b9e08cdfb6e0f24c38e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Walcott Volunteer Fire Department</div>`)[0];
                popup_18a966040afb3874c98ddd6394836443.setContent(html_c65024bdb8733b9e08cdfb6e0f24c38e);
            
        

        circle_marker_cc50ad12cb25d1ae84a886daf2b6c35a.bindPopup(popup_18a966040afb3874c98ddd6394836443)
        ;

        
    
    
            var circle_marker_272fc756987cc4bef6eccf0393c119ce = L.circleMarker(
                [41.98189007241379, -91.66203243103448],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5382441500bbe70bac79fc44866db073 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f73b22232a056475d65dce31429ff102 = $(`<div id=&quot;html_f73b22232a056475d65dce31429ff102&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cedar Rapids Fire Department Central Station</div>`)[0];
                popup_5382441500bbe70bac79fc44866db073.setContent(html_f73b22232a056475d65dce31429ff102);
            
        

        circle_marker_272fc756987cc4bef6eccf0393c119ce.bindPopup(popup_5382441500bbe70bac79fc44866db073)
        ;

        
    
    
            var circle_marker_e5c3fc828273b0c91873567f8ae93d7c = L.circleMarker(
                [41.58967771428571, -90.610303],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_db6ca1c4b36678222c0fdd2bd5a1600c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9994f3fce8b2ac835616218d6c334f43 = $(`<div id=&quot;html_9994f3fce8b2ac835616218d6c334f43&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Davenport Fire Department Station 7</div>`)[0];
                popup_db6ca1c4b36678222c0fdd2bd5a1600c.setContent(html_9994f3fce8b2ac835616218d6c334f43);
            
        

        circle_marker_e5c3fc828273b0c91873567f8ae93d7c.bindPopup(popup_db6ca1c4b36678222c0fdd2bd5a1600c)
        ;

        
    
    
            var circle_marker_d026a4b0f1295d596652d011743e2848 = L.circleMarker(
                [41.65575154, -90.58483754],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_8ee149c8051db0c041c133c71bfc06a6 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9065cbe0cddeb1a4b9f05208a7ddd83f = $(`<div id=&quot;html_9065cbe0cddeb1a4b9f05208a7ddd83f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Eldridge Volunteer Fire Department</div>`)[0];
                popup_8ee149c8051db0c041c133c71bfc06a6.setContent(html_9065cbe0cddeb1a4b9f05208a7ddd83f);
            
        

        circle_marker_d026a4b0f1295d596652d011743e2848.bindPopup(popup_8ee149c8051db0c041c133c71bfc06a6)
        ;

        
    
    
            var circle_marker_5b6d2f6d3be55e7a55588112a80f397d = L.circleMarker(
                [42.034470508333335, -91.603575725],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6b9ae581bf2416e35d62c7af8153ae2c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_eaa1b480cccd5d07ff3f1a109a2942da = $(`<div id=&quot;html_eaa1b480cccd5d07ff3f1a109a2942da&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Marion Fire Department Station 1</div>`)[0];
                popup_6b9ae581bf2416e35d62c7af8153ae2c.setContent(html_eaa1b480cccd5d07ff3f1a109a2942da);
            
        

        circle_marker_5b6d2f6d3be55e7a55588112a80f397d.bindPopup(popup_6b9ae581bf2416e35d62c7af8153ae2c)
        ;

        
    
    
            var circle_marker_117e7d610f96106d10a4743594f1b404 = L.circleMarker(
                [41.984231863157895, -91.71793588421053],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_684c9fb8a95badc26b6207bb76be0e33 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_79c5d8d2552ab5f3b25ec8f5fa62cfdb = $(`<div id=&quot;html_79c5d8d2552ab5f3b25ec8f5fa62cfdb&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cedar Rapids Fire Station 3</div>`)[0];
                popup_684c9fb8a95badc26b6207bb76be0e33.setContent(html_79c5d8d2552ab5f3b25ec8f5fa62cfdb);
            
        

        circle_marker_117e7d610f96106d10a4743594f1b404.bindPopup(popup_684c9fb8a95badc26b6207bb76be0e33)
        ;

        
    
    
            var circle_marker_177dc54252d39976fbf83b983df5ec4b = L.circleMarker(
                [42.16984466, -92.02334942],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_de7e0a8d290f895fa85475a2af6e6737 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_5c2df0064c8c5e1c123483257ede0fa3 = $(`<div id=&quot;html_5c2df0064c8c5e1c123483257ede0fa3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Vinton Fire Department</div>`)[0];
                popup_de7e0a8d290f895fa85475a2af6e6737.setContent(html_5c2df0064c8c5e1c123483257ede0fa3);
            
        

        circle_marker_177dc54252d39976fbf83b983df5ec4b.bindPopup(popup_de7e0a8d290f895fa85475a2af6e6737)
        ;

        
    
    
            var circle_marker_9e36263293bf8c2eaa7dd71b1cbfb572 = L.circleMarker(
                [41.967022584615385, -91.72619489230769],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5df4c8ec1149ca6366f3563bae5410cd = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_5cf6379347893e446f9c5a5b875d0161 = $(`<div id=&quot;html_5cf6379347893e446f9c5a5b875d0161&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cedar Rapids Fire Department Station 8</div>`)[0];
                popup_5df4c8ec1149ca6366f3563bae5410cd.setContent(html_5cf6379347893e446f9c5a5b875d0161);
            
        

        circle_marker_9e36263293bf8c2eaa7dd71b1cbfb572.bindPopup(popup_5df4c8ec1149ca6366f3563bae5410cd)
        ;

        
    
    
            var circle_marker_f88ee8a3de597d1fcc2994121d64f450 = L.circleMarker(
                [41.9773001, -91.63230877777778],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_338958f89397d2410cf6f5760dfd5741 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_dc5366ae1a9eb26a42b1807bd981387f = $(`<div id=&quot;html_dc5366ae1a9eb26a42b1807bd981387f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cedar Rapids Fire Department Station 6</div>`)[0];
                popup_338958f89397d2410cf6f5760dfd5741.setContent(html_dc5366ae1a9eb26a42b1807bd981387f);
            
        

        circle_marker_f88ee8a3de597d1fcc2994121d64f450.bindPopup(popup_338958f89397d2410cf6f5760dfd5741)
        ;

        
    
    
            var circle_marker_23df5f4dae6f0200130b26d0a3e6ed5e = L.circleMarker(
                [42.043258807692304, -91.63910045384615],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5889e91d9ea77789a2237eb620e7d105 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4981c7932ca80218f64defdd3464d8de = $(`<div id=&quot;html_4981c7932ca80218f64defdd3464d8de&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cedar Rapids Fire Department Station 9</div>`)[0];
                popup_5889e91d9ea77789a2237eb620e7d105.setContent(html_4981c7932ca80218f64defdd3464d8de);
            
        

        circle_marker_23df5f4dae6f0200130b26d0a3e6ed5e.bindPopup(popup_5889e91d9ea77789a2237eb620e7d105)
        ;

        
    
    
            var circle_marker_2f03512f10e9822483b8264f34c8477c = L.circleMarker(
                [41.95587355714286, -91.67623052857142],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7aadc694a874c97b105a58856ea69f85 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4688d2865a7bbed7f373f6a71709a537 = $(`<div id=&quot;html_4688d2865a7bbed7f373f6a71709a537&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cedar Rapids Fire Department Station 5</div>`)[0];
                popup_7aadc694a874c97b105a58856ea69f85.setContent(html_4688d2865a7bbed7f373f6a71709a537);
            
        

        circle_marker_2f03512f10e9822483b8264f34c8477c.bindPopup(popup_7aadc694a874c97b105a58856ea69f85)
        ;

        
    
    
            var circle_marker_00519546a9850ce2c907f864edf9bb5b = L.circleMarker(
                [40.80977310952381, -91.10495834761905],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a75fe014bab48c0b9d4e72020adf5a03 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d99fa1ca3e8081343c1cf1da3e65b3ed = $(`<div id=&quot;html_d99fa1ca3e8081343c1cf1da3e65b3ed&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Burlington Central Fire Station</div>`)[0];
                popup_a75fe014bab48c0b9d4e72020adf5a03.setContent(html_d99fa1ca3e8081343c1cf1da3e65b3ed);
            
        

        circle_marker_00519546a9850ce2c907f864edf9bb5b.bindPopup(popup_a75fe014bab48c0b9d4e72020adf5a03)
        ;

        
    
    
            var circle_marker_773535901e80fac3b7cbaea2dcdcab2c = L.circleMarker(
                [42.03518101538461, -91.56989145384615],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_28d1960c5c2a93386e6f77896c96316d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d3d5b5469445ae0c6f96bb6ac733e87c = $(`<div id=&quot;html_d3d5b5469445ae0c6f96bb6ac733e87c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Marion Fire Department Station 2</div>`)[0];
                popup_28d1960c5c2a93386e6f77896c96316d.setContent(html_d3d5b5469445ae0c6f96bb6ac733e87c);
            
        

        circle_marker_773535901e80fac3b7cbaea2dcdcab2c.bindPopup(popup_28d1960c5c2a93386e6f77896c96316d)
        ;

        
    
    
            var circle_marker_6b8732e24e1a742588174b3e3b28b01d = L.circleMarker(
                [41.22403388, -93.24055904],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_31bb2864ec966e88db13f21451b46e21 = L.circleMarker(
                [42.50725544285714, -96.37875152857143],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b02a1197dfa2a5a2536936ce4c8f27e2 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b286165c854e9e7de5d4446d830f7097 = $(`<div id=&quot;html_b286165c854e9e7de5d4446d830f7097&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>SCFR Training Center</div>`)[0];
                popup_b02a1197dfa2a5a2536936ce4c8f27e2.setContent(html_b286165c854e9e7de5d4446d830f7097);
            
        

        circle_marker_31bb2864ec966e88db13f21451b46e21.bindPopup(popup_b02a1197dfa2a5a2536936ce4c8f27e2)
        ;

        
    
    
            var circle_marker_4a2704ecb6be498880bd81bdeb7dfa7f = L.circleMarker(
                [42.52006976, -93.37527624],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_a0564c094cb15d67fa81bdf2e7246f8f = L.circleMarker(
                [42.065589177777774, -91.81305743333333],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_57b9cdecfd315e225486068bb99e49fd = L.circleMarker(
                [41.980384599999994, -90.25220598461539],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_50687ba6e81cc52abe2826406acc6a82 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_58cdc0ede0912f087286fcec1f1a70a2 = $(`<div id=&quot;html_58cdc0ede0912f087286fcec1f1a70a2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Andover Volunteer Fire Department</div>`)[0];
                popup_50687ba6e81cc52abe2826406acc6a82.setContent(html_58cdc0ede0912f087286fcec1f1a70a2);
            
        

        circle_marker_57b9cdecfd315e225486068bb99e49fd.bindPopup(popup_50687ba6e81cc52abe2826406acc6a82)
        ;

        
    
    
            var circle_marker_3d4923aea6e4d35ccbcd655f69e4c6fb = L.circleMarker(
                [41.684809665217394, -91.57138141739131],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6bfada9848f6bd81717ab69c825055b8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3b082ebd7435b2bea29dfe4da31bfb26 = $(`<div id=&quot;html_3b082ebd7435b2bea29dfe4da31bfb26&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Coralville Fire Rescue Training Facility</div>`)[0];
                popup_6bfada9848f6bd81717ab69c825055b8.setContent(html_3b082ebd7435b2bea29dfe4da31bfb26);
            
        

        circle_marker_3d4923aea6e4d35ccbcd655f69e4c6fb.bindPopup(popup_6bfada9848f6bd81717ab69c825055b8)
        ;

        
    
    
            var circle_marker_2efeb354a67bf2af68e49c22a974f731 = L.circleMarker(
                [41.5509518, -90.5052412],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f630f036bf01ed3d1e237194c1e1675f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_caf1190d0023a00c8add3593253b4b45 = $(`<div id=&quot;html_caf1190d0023a00c8add3593253b4b45&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bettendorf Fire and Rescue Station 2</div>`)[0];
                popup_f630f036bf01ed3d1e237194c1e1675f.setContent(html_caf1190d0023a00c8add3593253b4b45);
            
        

        circle_marker_2efeb354a67bf2af68e49c22a974f731.bindPopup(popup_f630f036bf01ed3d1e237194c1e1675f)
        ;

        
    
    
            var circle_marker_c0f50382e4b828ca7ba2d21e572804be = L.circleMarker(
                [41.53806577777778, -90.54989011111111],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4f8f6d9ff51de69e18bc8def3f84177d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a93d8492e38a0efbdf76daa941183427 = $(`<div id=&quot;html_a93d8492e38a0efbdf76daa941183427&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Davenport Fire Department Station 4</div>`)[0];
                popup_4f8f6d9ff51de69e18bc8def3f84177d.setContent(html_a93d8492e38a0efbdf76daa941183427);
            
        

        circle_marker_c0f50382e4b828ca7ba2d21e572804be.bindPopup(popup_4f8f6d9ff51de69e18bc8def3f84177d)
        ;

        
    
    
            var circle_marker_5ef4f052484c5899a36d911296010e87 = L.circleMarker(
                [41.95019112, -93.66503358],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_142f717967309281cb5f6597b5fee947 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b20cddcad21aa982e849a74053a08c3d = $(`<div id=&quot;html_b20cddcad21aa982e849a74053a08c3d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Kelly Fire/Rescue</div>`)[0];
                popup_142f717967309281cb5f6597b5fee947.setContent(html_b20cddcad21aa982e849a74053a08c3d);
            
        

        circle_marker_5ef4f052484c5899a36d911296010e87.bindPopup(popup_142f717967309281cb5f6597b5fee947)
        ;

        
    
    
            var circle_marker_25f024f5ae4f789681b3bb023abbe5e5 = L.circleMarker(
                [41.64090784545454, -91.50572046363637],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_01a7d66584085b5513667b65314b045a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1216ddd5c8e5414e630c913f0a3d33ee = $(`<div id=&quot;html_1216ddd5c8e5414e630c913f0a3d33ee&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Iowa City Fire and Rescue Department Station 3</div>`)[0];
                popup_01a7d66584085b5513667b65314b045a.setContent(html_1216ddd5c8e5414e630c913f0a3d33ee);
            
        

        circle_marker_25f024f5ae4f789681b3bb023abbe5e5.bindPopup(popup_01a7d66584085b5513667b65314b045a)
        ;

        
    
    
            var circle_marker_1e82c256df18421cfe592316de7bcc5c = L.circleMarker(
                [41.70157843333333, -91.60523383333333],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b2aa6e3fdcafa3942ccf96f0539ecc79 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9960ae52472d089d3f61f361a0a9bd62 = $(`<div id=&quot;html_9960ae52472d089d3f61f361a0a9bd62&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Coralville Fire Department Station II</div>`)[0];
                popup_b2aa6e3fdcafa3942ccf96f0539ecc79.setContent(html_9960ae52472d089d3f61f361a0a9bd62);
            
        

        circle_marker_1e82c256df18421cfe592316de7bcc5c.bindPopup(popup_b2aa6e3fdcafa3942ccf96f0539ecc79)
        ;

        
    
    
            var circle_marker_f3a6b23aecdc2203fa264bddeed45bd9 = L.circleMarker(
                [41.56870002, -90.42577],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_d69eba7397b8909082b6fe0405fbcdf9 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_174188ed43b1b282659af7db4d761890 = $(`<div id=&quot;html_174188ed43b1b282659af7db4d761890&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bettendorf Fire and Rescue Station 3</div>`)[0];
                popup_d69eba7397b8909082b6fe0405fbcdf9.setContent(html_174188ed43b1b282659af7db4d761890);
            
        

        circle_marker_f3a6b23aecdc2203fa264bddeed45bd9.bindPopup(popup_d69eba7397b8909082b6fe0405fbcdf9)
        ;

        
    
    
            var circle_marker_6fde42ffe5a6cc385727e3e25bf060be = L.circleMarker(
                [41.56877318, -90.46327678000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_60e3e0ac052d50b02ad5360eb7937b98 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e881c19e70f206d750b67804f34f9d80 = $(`<div id=&quot;html_e881c19e70f206d750b67804f34f9d80&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bettendorf Fire and Rescue Station 4</div>`)[0];
                popup_60e3e0ac052d50b02ad5360eb7937b98.setContent(html_e881c19e70f206d750b67804f34f9d80);
            
        

        circle_marker_6fde42ffe5a6cc385727e3e25bf060be.bindPopup(popup_60e3e0ac052d50b02ad5360eb7937b98)
        ;

        
    
    
            var circle_marker_69100b5afc9433302d12db8d8f52fe8b = L.circleMarker(
                [41.6989775, -93.0580125875],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_0a8ce1cb2923499815889db892ae29b4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9738007861f91d2113f39b847d29ec03 = $(`<div id=&quot;html_9738007861f91d2113f39b847d29ec03&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Newton Fire Department</div>`)[0];
                popup_0a8ce1cb2923499815889db892ae29b4.setContent(html_9738007861f91d2113f39b847d29ec03);
            
        

        circle_marker_69100b5afc9433302d12db8d8f52fe8b.bindPopup(popup_0a8ce1cb2923499815889db892ae29b4)
        ;

        
    
    
            var circle_marker_67410f7c75081fa313d4bd9303c5f69f = L.circleMarker(
                [41.599052244444444, -90.36267711111111],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_40dc0af64bd7ec2b3634c900558d7fc1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_dfe285c63e81f38d385f51977c245801 = $(`<div id=&quot;html_dfe285c63e81f38d385f51977c245801&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Le Claire Fire Department</div>`)[0];
                popup_40dc0af64bd7ec2b3634c900558d7fc1.setContent(html_dfe285c63e81f38d385f51977c245801);
            
        

        circle_marker_67410f7c75081fa313d4bd9303c5f69f.bindPopup(popup_40dc0af64bd7ec2b3634c900558d7fc1)
        ;

        
    
    
            var circle_marker_fca4f671e0de1fcc85ffefef4f66de1f = L.circleMarker(
                [41.51930852307692, -90.62199335384615],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4ab9feaf97946b2b9bfc66e3e4f276d9 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_942485f65f6027853aae24898595f87c = $(`<div id=&quot;html_942485f65f6027853aae24898595f87c&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Davenport Fire Department Station 5</div>`)[0];
                popup_4ab9feaf97946b2b9bfc66e3e4f276d9.setContent(html_942485f65f6027853aae24898595f87c);
            
        

        circle_marker_fca4f671e0de1fcc85ffefef4f66de1f.bindPopup(popup_4ab9feaf97946b2b9bfc66e3e4f276d9)
        ;

        
    
    
            var circle_marker_baad4fcf4c108bb7b5588613e86f9b06 = L.circleMarker(
                [41.5249226625, -90.509906325],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_fbd4344345595134fe8a3d7e9c7286bf = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0d68d6ad7fc61f216f632c0c35760d40 = $(`<div id=&quot;html_0d68d6ad7fc61f216f632c0c35760d40&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bettendorf Fire and Rescue Fire Prevention Station 1</div>`)[0];
                popup_fbd4344345595134fe8a3d7e9c7286bf.setContent(html_0d68d6ad7fc61f216f632c0c35760d40);
            
        

        circle_marker_baad4fcf4c108bb7b5588613e86f9b06.bindPopup(popup_fbd4344345595134fe8a3d7e9c7286bf)
        ;

        
    
    
            var circle_marker_b72bf09cf230981ff3290623b26739d8 = L.circleMarker(
                [41.51032915555555, -90.76494854444444],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_6950f5447b02240c6e431edc0b68741a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_450bb2ee918b3366b9cf48531ab77709 = $(`<div id=&quot;html_450bb2ee918b3366b9cf48531ab77709&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Blue Grass Fire Department</div>`)[0];
                popup_6950f5447b02240c6e431edc0b68741a.setContent(html_450bb2ee918b3366b9cf48531ab77709);
            
        

        circle_marker_b72bf09cf230981ff3290623b26739d8.bindPopup(popup_6950f5447b02240c6e431edc0b68741a)
        ;

        
    
    
            var circle_marker_e1bf2992804113e0c7f6a51e30114eb5 = L.circleMarker(
                [41.6484762, -90.71827063999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_ddf51a0c7c548e152efb7944bd86efbd = L.circleMarker(
                [41.64966552, -90.7172641],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_1d396d8b8f3dadfac247eabc84a03b19 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3f2d26dfd6a2cdf03dd49969641a35cc = $(`<div id=&quot;html_3f2d26dfd6a2cdf03dd49969641a35cc&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Maysville Fire Station</div>`)[0];
                popup_1d396d8b8f3dadfac247eabc84a03b19.setContent(html_3f2d26dfd6a2cdf03dd49969641a35cc);
            
        

        circle_marker_ddf51a0c7c548e152efb7944bd86efbd.bindPopup(popup_1d396d8b8f3dadfac247eabc84a03b19)
        ;

        
    
    
            var circle_marker_f643f8acfa3315ce8afce459aaa022ab = L.circleMarker(
                [41.696811733333334, -90.67583082222222],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7bf0b5dee92aef8d36dfe5a01d05f2ed = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_db38a1c1ffa1163b7c9f32bdd1d553f2 = $(`<div id=&quot;html_db38a1c1ffa1163b7c9f32bdd1d553f2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Donahue Fire Station</div>`)[0];
                popup_7bf0b5dee92aef8d36dfe5a01d05f2ed.setContent(html_db38a1c1ffa1163b7c9f32bdd1d553f2);
            
        

        circle_marker_f643f8acfa3315ce8afce459aaa022ab.bindPopup(popup_7bf0b5dee92aef8d36dfe5a01d05f2ed)
        ;

        
    
    
            var circle_marker_409e787271dc0949b158b0edd50bcee5 = L.circleMarker(
                [41.743418559999995, -90.78370902],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b99998e00131b3cac5d88975d5a290db = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_eadc4c3ef501c6f35be0bf17c1a2453f = $(`<div id=&quot;html_eadc4c3ef501c6f35be0bf17c1a2453f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dixon Fire Station</div>`)[0];
                popup_b99998e00131b3cac5d88975d5a290db.setContent(html_eadc4c3ef501c6f35be0bf17c1a2453f);
            
        

        circle_marker_409e787271dc0949b158b0edd50bcee5.bindPopup(popup_b99998e00131b3cac5d88975d5a290db)
        ;

        
    
    
            var circle_marker_3785873fa7c3d6cd63b6b571d5da82f3 = L.circleMarker(
                [41.71944494, -90.88001642],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a050b86088c9889c69cc177b115933cf = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_61af468d312f78c4bd79988c898b946f = $(`<div id=&quot;html_61af468d312f78c4bd79988c898b946f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>New Liberty Fire Station</div>`)[0];
                popup_a050b86088c9889c69cc177b115933cf.setContent(html_61af468d312f78c4bd79988c898b946f);
            
        

        circle_marker_3785873fa7c3d6cd63b6b571d5da82f3.bindPopup(popup_a050b86088c9889c69cc177b115933cf)
        ;

        
    
    
            var circle_marker_adc14439618206a391bd63cffd209017 = L.circleMarker(
                [41.698181, -90.58247991428571],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2e172d420e6b0a27b899d7a6d96b06bf = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b80bb89c3a908d6cb9c6f160109f382a = $(`<div id=&quot;html_b80bb89c3a908d6cb9c6f160109f382a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Long Grove Fire Station</div>`)[0];
                popup_2e172d420e6b0a27b899d7a6d96b06bf.setContent(html_b80bb89c3a908d6cb9c6f160109f382a);
            
        

        circle_marker_adc14439618206a391bd63cffd209017.bindPopup(popup_2e172d420e6b0a27b899d7a6d96b06bf)
        ;

        
    
    
            var circle_marker_650bf669a57a74ca4a64bfff564f8f54 = L.circleMarker(
                [41.334233016666666, -94.01244731666667],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e847045766d2384126a7eec2827cb8ef = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0a037900581b71fadf20db346d5a23e4 = $(`<div id=&quot;html_0a037900581b71fadf20db346d5a23e4&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Winterset Fire Department</div>`)[0];
                popup_e847045766d2384126a7eec2827cb8ef.setContent(html_0a037900581b71fadf20db346d5a23e4);
            
        

        circle_marker_650bf669a57a74ca4a64bfff564f8f54.bindPopup(popup_e847045766d2384126a7eec2827cb8ef)
        ;

        
    
    
            var circle_marker_9c30c9bfe5573537fc573da486b6a29d = L.circleMarker(
                [41.83063808, -90.83735716000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5f6d55d3668e1e611ffa5d8de33ea12b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_170f56eaa600ad1f7175a14726bec375 = $(`<div id=&quot;html_170f56eaa600ad1f7175a14726bec375&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Wheatland Fire Department</div>`)[0];
                popup_5f6d55d3668e1e611ffa5d8de33ea12b.setContent(html_170f56eaa600ad1f7175a14726bec375);
            
        

        circle_marker_9c30c9bfe5573537fc573da486b6a29d.bindPopup(popup_5f6d55d3668e1e611ffa5d8de33ea12b)
        ;

        
    
    
            var circle_marker_aa3971b718b42967a6a2c7181d2134eb = L.circleMarker(
                [42.49673188, -92.44538848666666],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_088828a45e6efaf0c53db549979b63b5 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_30c18e87ab72d09cb40c91cbc089004e = $(`<div id=&quot;html_30c18e87ab72d09cb40c91cbc089004e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Cedar Falls Public Safety</div>`)[0];
                popup_088828a45e6efaf0c53db549979b63b5.setContent(html_30c18e87ab72d09cb40c91cbc089004e);
            
        

        circle_marker_aa3971b718b42967a6a2c7181d2134eb.bindPopup(popup_088828a45e6efaf0c53db549979b63b5)
        ;

        
    
    
            var circle_marker_468adfb7fec60a3e49796904f3293f13 = L.circleMarker(
                [42.10519372857142, -93.63946405714286],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_77da07f1948b55226500bc737ca0d5b5 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b44a590e693f99992ccd99e03e2101be = $(`<div id=&quot;html_b44a590e693f99992ccd99e03e2101be&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Gilbert-Franklin Fire Department</div>`)[0];
                popup_77da07f1948b55226500bc737ca0d5b5.setContent(html_b44a590e693f99992ccd99e03e2101be);
            
        

        circle_marker_468adfb7fec60a3e49796904f3293f13.bindPopup(popup_77da07f1948b55226500bc737ca0d5b5)
        ;

        
    
    
            var circle_marker_c6901c6f1045be399f14b2f76b70637e = L.circleMarker(
                [42.1684864, -93.50024696],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f48f7c51ad2fc160b4bd8b1ac7e01f13 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3a581a21ba9ce6603e3dceb8a267be84 = $(`<div id=&quot;html_3a581a21ba9ce6603e3dceb8a267be84&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Roland Fire Rescue</div>`)[0];
                popup_f48f7c51ad2fc160b4bd8b1ac7e01f13.setContent(html_3a581a21ba9ce6603e3dceb8a267be84);
            
        

        circle_marker_c6901c6f1045be399f14b2f76b70637e.bindPopup(popup_f48f7c51ad2fc160b4bd8b1ac7e01f13)
        ;

        
    
    
            var circle_marker_62f09880528dc8e8afea641870b80b3d = L.circleMarker(
                [42.01778794, -93.31362485999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7b63c65546b19e55985b1ce9b9d08973 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e1ed30970a4f953ab407ad0c4b88a044 = $(`<div id=&quot;html_e1ed30970a4f953ab407ad0c4b88a044&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Colo Fire and Rescue</div>`)[0];
                popup_7b63c65546b19e55985b1ce9b9d08973.setContent(html_e1ed30970a4f953ab407ad0c4b88a044);
            
        

        circle_marker_62f09880528dc8e8afea641870b80b3d.bindPopup(popup_7b63c65546b19e55985b1ce9b9d08973)
        ;

        
    
    
            var circle_marker_85a88267944ff556518af904a60918b3 = L.circleMarker(
                [41.6808497875, -91.50715974375],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_19f59ea3dd24b55065912bd37c956335 = L.circleMarker(
                [41.677662633333334, -91.58287535555556],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_32358ccee876de094872e51da5227614 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ef6e7d113135f7260bce92bab7c43796 = $(`<div id=&quot;html_ef6e7d113135f7260bce92bab7c43796&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Coralville Fire Department</div>`)[0];
                popup_32358ccee876de094872e51da5227614.setContent(html_ef6e7d113135f7260bce92bab7c43796);
            
        

        circle_marker_19f59ea3dd24b55065912bd37c956335.bindPopup(popup_32358ccee876de094872e51da5227614)
        ;

        
    
    
            var circle_marker_137365568848137c965269a97d28abbb = L.circleMarker(
                [42.16265428, -94.01747046],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_30a9bfdd923d29fd0b9f76a3cd7208c4 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_66a65151ac599907e96e7f4a7fe78e94 = $(`<div id=&quot;html_66a65151ac599907e96e7f4a7fe78e94&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Pilot Mound Fire Department</div>`)[0];
                popup_30a9bfdd923d29fd0b9f76a3cd7208c4.setContent(html_66a65151ac599907e96e7f4a7fe78e94);
            
        

        circle_marker_137365568848137c965269a97d28abbb.bindPopup(popup_30a9bfdd923d29fd0b9f76a3cd7208c4)
        ;

        
    
    
            var circle_marker_c5eed8ee23c9a6ed17b87bb8dd4cfa44 = L.circleMarker(
                [41.70534286666667, -91.66354336],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9acdb1ce006fa6af8c2880aea458675c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d234f04a9e3bb3c38d7cd89bf0e73430 = $(`<div id=&quot;html_d234f04a9e3bb3c38d7cd89bf0e73430&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Tiffin Fire Association</div>`)[0];
                popup_9acdb1ce006fa6af8c2880aea458675c.setContent(html_d234f04a9e3bb3c38d7cd89bf0e73430);
            
        

        circle_marker_c5eed8ee23c9a6ed17b87bb8dd4cfa44.bindPopup(popup_9acdb1ce006fa6af8c2880aea458675c)
        ;

        
    
    
            var circle_marker_b7136b97f870d27cc21430c06a52976f = L.circleMarker(
                [41.60234472857143, -90.63347887142857],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_128b351a1bb050ccd07d69a1c9e51395 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3e199d5dfe3723fbc1393aba963b555e = $(`<div id=&quot;html_3e199d5dfe3723fbc1393aba963b555e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Midwest Center for Public Safety Training</div>`)[0];
                popup_128b351a1bb050ccd07d69a1c9e51395.setContent(html_3e199d5dfe3723fbc1393aba963b555e);
            
        

        circle_marker_b7136b97f870d27cc21430c06a52976f.bindPopup(popup_128b351a1bb050ccd07d69a1c9e51395)
        ;

        
    
    
            var circle_marker_6929db6c8b0bf29702a9614f4cb278cf = L.circleMarker(
                [42.258543933333335, -90.42583315833333],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_07344b6fd00d4251dc09d1ed62b26968 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_78dceb0a98e6ac7e2ec2cd56bb4b9e59 = $(`<div id=&quot;html_78dceb0a98e6ac7e2ec2cd56bb4b9e59&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Heritage Hall</div>`)[0];
                popup_07344b6fd00d4251dc09d1ed62b26968.setContent(html_78dceb0a98e6ac7e2ec2cd56bb4b9e59);
            
        

        circle_marker_6929db6c8b0bf29702a9614f4cb278cf.bindPopup(popup_07344b6fd00d4251dc09d1ed62b26968)
        ;

        
    
    
            var circle_marker_4f5a1832aab17924995bf700a4d4d2b3 = L.circleMarker(
                [42.44849024, -90.8514379],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e0446f5bf7da206358ad1c61badddf18 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a3b59fbc9672e229fc4ca729ce148e1b = $(`<div id=&quot;html_a3b59fbc9672e229fc4ca729ce148e1b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Peosta Fire Department</div>`)[0];
                popup_e0446f5bf7da206358ad1c61badddf18.setContent(html_a3b59fbc9672e229fc4ca729ce148e1b);
            
        

        circle_marker_4f5a1832aab17924995bf700a4d4d2b3.bindPopup(popup_e0446f5bf7da206358ad1c61badddf18)
        ;

        
    
    
            var circle_marker_1528d11d61e4fcc61f94f0d665f5e80f = L.circleMarker(
                [41.5707353, -91.1655879],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_730f55529a861c933064e02461bf21b1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_9c87f2d99effd51180a8b4f1c7687fdf = $(`<div id=&quot;html_9c87f2d99effd51180a8b4f1c7687fdf&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Atalissa Community Fire Department</div>`)[0];
                popup_730f55529a861c933064e02461bf21b1.setContent(html_9c87f2d99effd51180a8b4f1c7687fdf);
            
        

        circle_marker_1528d11d61e4fcc61f94f0d665f5e80f.bindPopup(popup_730f55529a861c933064e02461bf21b1)
        ;

        
    
    
            var circle_marker_66a33607d63dd1d25ee130822ea4dd01 = L.circleMarker(
                [41.67424421818182, -90.34143211818181],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e168613318b1235c2558d9bdbb6db0d5 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_e6f49c3a0b934c905c877cdef120fe04 = $(`<div id=&quot;html_e6f49c3a0b934c905c877cdef120fe04&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Princeton Fire Dept</div>`)[0];
                popup_e168613318b1235c2558d9bdbb6db0d5.setContent(html_e6f49c3a0b934c905c877cdef120fe04);
            
        

        circle_marker_66a33607d63dd1d25ee130822ea4dd01.bindPopup(popup_e168613318b1235c2558d9bdbb6db0d5)
        ;

        
    
    
            var circle_marker_3ebe060844a571bb9e47bb01cf47158b = L.circleMarker(
                [42.03488303333333, -93.61514184444444],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_9a8ff897361a0aa444769196fc035c2a = L.circleMarker(
                [42.524703017647056, -96.41551756470588],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_f3294726da548b50d76cf8b1d8a9de32 = L.circleMarker(
                [42.471001353333335, -96.35331516666666],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a98c00b719a11fa08b0316b10ea3bf99 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_10b843be592179a6116684e5f741770a = $(`<div id=&quot;html_10b843be592179a6116684e5f741770a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sioux City Fire Department Station 6</div>`)[0];
                popup_a98c00b719a11fa08b0316b10ea3bf99.setContent(html_10b843be592179a6116684e5f741770a);
            
        

        circle_marker_f3294726da548b50d76cf8b1d8a9de32.bindPopup(popup_a98c00b719a11fa08b0316b10ea3bf99)
        ;

        
    
    
            var circle_marker_2fbfbdbd7911a0eccd3d9b037755ce2f = L.circleMarker(
                [42.49285336521739, -96.37511786086957],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f7eec5ba2de2ae45b8930156a2adb0b6 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_777701d3a9ae8bff2906c0219695173d = $(`<div id=&quot;html_777701d3a9ae8bff2906c0219695173d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sioux City Fire Department Station 3</div>`)[0];
                popup_f7eec5ba2de2ae45b8930156a2adb0b6.setContent(html_777701d3a9ae8bff2906c0219695173d);
            
        

        circle_marker_2fbfbdbd7911a0eccd3d9b037755ce2f.bindPopup(popup_f7eec5ba2de2ae45b8930156a2adb0b6)
        ;

        
    
    
            var circle_marker_2bd2797e85441fc43ff2bbcfd164fdab = L.circleMarker(
                [42.2583546875, -90.42584719999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_40baa6d649c3403c36553c93a263643b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6c1b1043c19d6f4f0a05cc37c8947377 = $(`<div id=&quot;html_6c1b1043c19d6f4f0a05cc37c8947377&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Bellevue Fire Department</div>`)[0];
                popup_40baa6d649c3403c36553c93a263643b.setContent(html_6c1b1043c19d6f4f0a05cc37c8947377);
            
        

        circle_marker_2bd2797e85441fc43ff2bbcfd164fdab.bindPopup(popup_40baa6d649c3403c36553c93a263643b)
        ;

        
    
    
            var circle_marker_18b7a7674a591f76f6c112627663b3d2 = L.circleMarker(
                [42.9593902, -91.80852999999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_61d7a78ff1c4f8abc02a96be413fa48a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_252c6002117f1021b8116440db53be7b = $(`<div id=&quot;html_252c6002117f1021b8116440db53be7b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>West Union Fire Department</div>`)[0];
                popup_61d7a78ff1c4f8abc02a96be413fa48a.setContent(html_252c6002117f1021b8116440db53be7b);
            
        

        circle_marker_18b7a7674a591f76f6c112627663b3d2.bindPopup(popup_61d7a78ff1c4f8abc02a96be413fa48a)
        ;

        
    
    
            var circle_marker_bc06f2b7312d03a4f4e0d45e59c0af5e = L.circleMarker(
                [41.8417372, -94.22170820000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_e21b54ee52c169423f670e13d9256c37 = L.circleMarker(
                [42.3627672, -92.77091398],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_02e0154d1a9847efaba110e71f6a7423 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_857cf6bb406d2ccd1417b3db647d6d75 = $(`<div id=&quot;html_857cf6bb406d2ccd1417b3db647d6d75&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Grundy Center Fire Department</div>`)[0];
                popup_02e0154d1a9847efaba110e71f6a7423.setContent(html_857cf6bb406d2ccd1417b3db647d6d75);
            
        

        circle_marker_e21b54ee52c169423f670e13d9256c37.bindPopup(popup_02e0154d1a9847efaba110e71f6a7423)
        ;

        
    
    
            var circle_marker_c8da2c6994af782d32a4932c4e6fb363 = L.circleMarker(
                [41.87220106666667, -91.5830666],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4669f0add7ba22dc66fc1529e26de053 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0a2f752fe08fec3f68e74796a781630f = $(`<div id=&quot;html_0a2f752fe08fec3f68e74796a781630f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>College-Ely-Putnam Fire Department</div>`)[0];
                popup_4669f0add7ba22dc66fc1529e26de053.setContent(html_0a2f752fe08fec3f68e74796a781630f);
            
        

        circle_marker_c8da2c6994af782d32a4932c4e6fb363.bindPopup(popup_4669f0add7ba22dc66fc1529e26de053)
        ;

        
    
    
            var circle_marker_92bb99ef56ba17b194c22f73e757337f = L.circleMarker(
                [42.48448938, -90.77843558],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_503c4c59cf8224b6c3064c6f7cfb99b8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_17c11cb0702f626dbe1de0228b7e074a = $(`<div id=&quot;html_17c11cb0702f626dbe1de0228b7e074a&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>TRAINING FACILITY</div>`)[0];
                popup_503c4c59cf8224b6c3064c6f7cfb99b8.setContent(html_17c11cb0702f626dbe1de0228b7e074a);
            
        

        circle_marker_92bb99ef56ba17b194c22f73e757337f.bindPopup(popup_503c4c59cf8224b6c3064c6f7cfb99b8)
        ;

        
    
    
            var circle_marker_2515719a4f5154f58bb912b4fd330973 = L.circleMarker(
                [42.289534100000004, -93.79704047999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_558a54a9064b134cec704157ffe6ef58 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_46905e60730847a77a5c36695c6b1bdc = $(`<div id=&quot;html_46905e60730847a77a5c36695c6b1bdc&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Stanhope Fire Department</div>`)[0];
                popup_558a54a9064b134cec704157ffe6ef58.setContent(html_46905e60730847a77a5c36695c6b1bdc);
            
        

        circle_marker_2515719a4f5154f58bb912b4fd330973.bindPopup(popup_558a54a9064b134cec704157ffe6ef58)
        ;

        
    
    
            var circle_marker_ef505d669f316927861e02ea2841a93d = L.circleMarker(
                [42.43535868, -90.79410854],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_6b2b008e7accf9551cbd3c3a2b389072 = L.circleMarker(
                [42.50867019, -90.75576686],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_ee17e2ae6f33eb6c401fc04a7b775f61 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_44b60d3c9f3eb8bc35adc3ba4d65e6f5 = $(`<div id=&quot;html_44b60d3c9f3eb8bc35adc3ba4d65e6f5&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Asbury Community Fire Department</div>`)[0];
                popup_ee17e2ae6f33eb6c401fc04a7b775f61.setContent(html_44b60d3c9f3eb8bc35adc3ba4d65e6f5);
            
        

        circle_marker_6b2b008e7accf9551cbd3c3a2b389072.bindPopup(popup_ee17e2ae6f33eb6c401fc04a7b775f61)
        ;

        
    
    
            var circle_marker_d85a25c5cd7e5b58c3263408ebed2376 = L.circleMarker(
                [41.976918639999994, -91.58879228],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_669b9f8b141ffd0d4d0f9d9415a83061 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8871b3c3b99a8fc0c3f5e456c458c6ac = $(`<div id=&quot;html_8871b3c3b99a8fc0c3f5e456c458c6ac&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>West Bertram Fire Station</div>`)[0];
                popup_669b9f8b141ffd0d4d0f9d9415a83061.setContent(html_8871b3c3b99a8fc0c3f5e456c458c6ac);
            
        

        circle_marker_d85a25c5cd7e5b58c3263408ebed2376.bindPopup(popup_669b9f8b141ffd0d4d0f9d9415a83061)
        ;

        
    
    
            var circle_marker_d515afcc03e77c7c104258e086125eba = L.circleMarker(
                [42.80872096666667, -92.25521703333334],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_3d12496092b47d1fcc7a08abd325b3c8 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_822cb376a0710cb623303c2a88c1c98b = $(`<div id=&quot;html_822cb376a0710cb623303c2a88c1c98b&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Tripoli Fire</div>`)[0];
                popup_3d12496092b47d1fcc7a08abd325b3c8.setContent(html_822cb376a0710cb623303c2a88c1c98b);
            
        

        circle_marker_d515afcc03e77c7c104258e086125eba.bindPopup(popup_3d12496092b47d1fcc7a08abd325b3c8)
        ;

        
    
    
            var circle_marker_50f15963b3963cbc3eb23aff94977633 = L.circleMarker(
                [41.52211626, -93.10154526],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_76673b18f0b42f24af1bc10d8872cbb5 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_88721c2198c3f4c0fdc89c14ccad2e07 = $(`<div id=&quot;html_88721c2198c3f4c0fdc89c14ccad2e07&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Monroe Fire Station</div>`)[0];
                popup_76673b18f0b42f24af1bc10d8872cbb5.setContent(html_88721c2198c3f4c0fdc89c14ccad2e07);
            
        

        circle_marker_50f15963b3963cbc3eb23aff94977633.bindPopup(popup_76673b18f0b42f24af1bc10d8872cbb5)
        ;

        
    
    
            var circle_marker_928053960c2e6b0b99440f194a15b813 = L.circleMarker(
                [41.82951355294117, -90.7629176117647],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_dbd15ef14fbad61891ffd04583b0c99c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_47d2e08251ba89e2f5cd67b7a98b1657 = $(`<div id=&quot;html_47d2e08251ba89e2f5cd67b7a98b1657&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Calamus Volunteer Fire Department</div>`)[0];
                popup_dbd15ef14fbad61891ffd04583b0c99c.setContent(html_47d2e08251ba89e2f5cd67b7a98b1657);
            
        

        circle_marker_928053960c2e6b0b99440f194a15b813.bindPopup(popup_dbd15ef14fbad61891ffd04583b0c99c)
        ;

        
    
    
            var circle_marker_88f5fc944606f7c1fcea8d49f2e44845 = L.circleMarker(
                [43.138958988235295, -93.37929214117648],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4cbd5b6367a34040efec6ad3b7ff115d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0e0b2e81652e9d410fac7e823d5b5bd6 = $(`<div id=&quot;html_0e0b2e81652e9d410fac7e823d5b5bd6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Clear Lake Dire Department</div>`)[0];
                popup_4cbd5b6367a34040efec6ad3b7ff115d.setContent(html_0e0b2e81652e9d410fac7e823d5b5bd6);
            
        

        circle_marker_88f5fc944606f7c1fcea8d49f2e44845.bindPopup(popup_4cbd5b6367a34040efec6ad3b7ff115d)
        ;

        
    
    
            var circle_marker_422fd9c1c5f2d957c9fd4d517faaf47f = L.circleMarker(
                [41.668921999999995, -92.00658524],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b4d2383e8b026f3c3187cfea0a24f51d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ad0fd3e9f33405785774e5fe7421f461 = $(`<div id=&quot;html_ad0fd3e9f33405785774e5fe7421f461&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Williamsburg Volunteer Fire Department</div>`)[0];
                popup_b4d2383e8b026f3c3187cfea0a24f51d.setContent(html_ad0fd3e9f33405785774e5fe7421f461);
            
        

        circle_marker_422fd9c1c5f2d957c9fd4d517faaf47f.bindPopup(popup_b4d2383e8b026f3c3187cfea0a24f51d)
        ;

        
    
    
            var circle_marker_c4708133ee3d46708dddf413fa98973e = L.circleMarker(
                [42.28634018571428, -91.78190582857142],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c3493b518ffa9b32ca4199bf503e7a0b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0eb58f050e52d4716e23cb6d5f5f3226 = $(`<div id=&quot;html_0eb58f050e52d4716e23cb6d5f5f3226&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Walker Fire Department</div>`)[0];
                popup_c3493b518ffa9b32ca4199bf503e7a0b.setContent(html_0eb58f050e52d4716e23cb6d5f5f3226);
            
        

        circle_marker_c4708133ee3d46708dddf413fa98973e.bindPopup(popup_c3493b518ffa9b32ca4199bf503e7a0b)
        ;

        
    
    
            var circle_marker_64970ebafb1b3ff4ebb8affacf437bac = L.circleMarker(
                [42.03851746, -91.68324227999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2e31b5dd810f03a90298043ad9d4a84b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0039e6e14a07df3909f70b520b069903 = $(`<div id=&quot;html_0039e6e14a07df3909f70b520b069903&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hiawatha Fire and Rescue</div>`)[0];
                popup_2e31b5dd810f03a90298043ad9d4a84b.setContent(html_0039e6e14a07df3909f70b520b069903);
            
        

        circle_marker_64970ebafb1b3ff4ebb8affacf437bac.bindPopup(popup_2e31b5dd810f03a90298043ad9d4a84b)
        ;

        
    
    
            var circle_marker_1f392990f3f8fcc9c8bd231d13e2a676 = L.circleMarker(
                [41.8714821, -90.17866536],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f68a19f6ecce8d04736cf117d57bf1ca = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_8abb3ec752eba0a56b3d9c5ee5bccaf6 = $(`<div id=&quot;html_8abb3ec752eba0a56b3d9c5ee5bccaf6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Clinton Fire Department Station 3 - Lyons</div>`)[0];
                popup_f68a19f6ecce8d04736cf117d57bf1ca.setContent(html_8abb3ec752eba0a56b3d9c5ee5bccaf6);
            
        

        circle_marker_1f392990f3f8fcc9c8bd231d13e2a676.bindPopup(popup_f68a19f6ecce8d04736cf117d57bf1ca)
        ;

        
    
    
            var circle_marker_a5c815948bdad7d0b06260fa846f25e1 = L.circleMarker(
                [42.24969275714285, -94.87800494285715],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c5199b6068c703cbec6b3caa8976feef = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4a1c9c52916cead8bb2dd7f33415c956 = $(`<div id=&quot;html_4a1c9c52916cead8bb2dd7f33415c956&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Auburn Fire Department</div>`)[0];
                popup_c5199b6068c703cbec6b3caa8976feef.setContent(html_4a1c9c52916cead8bb2dd7f33415c956);
            
        

        circle_marker_a5c815948bdad7d0b06260fa846f25e1.bindPopup(popup_c5199b6068c703cbec6b3caa8976feef)
        ;

        
    
    
            var circle_marker_43c7920f172b40d3e6cb9e0b78a88989 = L.circleMarker(
                [41.53914286086957, -90.60271532173914],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5ae9d60ed307a4681b26666ab86828ce = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_37627720761cab1d8998624ab2ebd3b3 = $(`<div id=&quot;html_37627720761cab1d8998624ab2ebd3b3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Davenport Fire Department Station 6</div>`)[0];
                popup_5ae9d60ed307a4681b26666ab86828ce.setContent(html_37627720761cab1d8998624ab2ebd3b3);
            
        

        circle_marker_43c7920f172b40d3e6cb9e0b78a88989.bindPopup(popup_5ae9d60ed307a4681b26666ab86828ce)
        ;

        
    
    
            var circle_marker_442217b7bca7cd2422c51aac4fd74f74 = L.circleMarker(
                [41.45670527142857, -90.71644638571429],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_affd5e96aa1054dc78a71f9de2a1911c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d8e7d0f477e8237335ea442ba338a862 = $(`<div id=&quot;html_d8e7d0f477e8237335ea442ba338a862&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Buffalo Fire Department</div>`)[0];
                popup_affd5e96aa1054dc78a71f9de2a1911c.setContent(html_d8e7d0f477e8237335ea442ba338a862);
            
        

        circle_marker_442217b7bca7cd2422c51aac4fd74f74.bindPopup(popup_affd5e96aa1054dc78a71f9de2a1911c)
        ;

        
    
    
            var circle_marker_5286265d74efbf3d868705a641d4f34d = L.circleMarker(
                [42.67167098, -92.33905139999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5680b71555f5a92bec4ed06f99abddfe = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_607145f5603fe8ed1022b974b70c2434 = $(`<div id=&quot;html_607145f5603fe8ed1022b974b70c2434&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Denver Fire Department</div>`)[0];
                popup_5680b71555f5a92bec4ed06f99abddfe.setContent(html_607145f5603fe8ed1022b974b70c2434);
            
        

        circle_marker_5286265d74efbf3d868705a641d4f34d.bindPopup(popup_5680b71555f5a92bec4ed06f99abddfe)
        ;

        
    
    
            var circle_marker_270738a60f94c2a36f804efd518fe42b = L.circleMarker(
                [41.748285599999996, -91.59866754],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_bd422bc2debfc1acf790bebbc39badc1 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1c8e45450f9b4fe4c2e566b2b4f7c6f6 = $(`<div id=&quot;html_1c8e45450f9b4fe4c2e566b2b4f7c6f6&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>North Liberty Fire Department</div>`)[0];
                popup_bd422bc2debfc1acf790bebbc39badc1.setContent(html_1c8e45450f9b4fe4c2e566b2b4f7c6f6);
            
        

        circle_marker_270738a60f94c2a36f804efd518fe42b.bindPopup(popup_bd422bc2debfc1acf790bebbc39badc1)
        ;

        
    
    
            var circle_marker_6a7c498e87f72a875ad54075cd422dae = L.circleMarker(
                [41.93722438, -92.86819248],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_4429c1c323c694a133e6d2dbed25ce1a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_37f638128921f85e73b154c07cda1f4f = $(`<div id=&quot;html_37f638128921f85e73b154c07cda1f4f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ferguson Fire Department</div>`)[0];
                popup_4429c1c323c694a133e6d2dbed25ce1a.setContent(html_37f638128921f85e73b154c07cda1f4f);
            
        

        circle_marker_6a7c498e87f72a875ad54075cd422dae.bindPopup(popup_4429c1c323c694a133e6d2dbed25ce1a)
        ;

        
    
    
            var circle_marker_789ea9fbcc32b1db0a42fd05c4b3e512 = L.circleMarker(
                [42.398071128571424, -96.35483297142856],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_085dd5ec8f5fcbbc2adb9f54e9fa37e0 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_65477e3f44b9a5d1686f39b97f88e12e = $(`<div id=&quot;html_65477e3f44b9a5d1686f39b97f88e12e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Sergeant Bluff Fire Department</div>`)[0];
                popup_085dd5ec8f5fcbbc2adb9f54e9fa37e0.setContent(html_65477e3f44b9a5d1686f39b97f88e12e);
            
        

        circle_marker_789ea9fbcc32b1db0a42fd05c4b3e512.bindPopup(popup_085dd5ec8f5fcbbc2adb9f54e9fa37e0)
        ;

        
    
    
            var circle_marker_2e2ec46ae9298df6c0b5f52ba282535d = L.circleMarker(
                [41.04159912, -93.95051182],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c8d32b95a6a1ce46577d0ef071699807 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_43d45ef094e4a3559d41e62736f9fa03 = $(`<div id=&quot;html_43d45ef094e4a3559d41e62736f9fa03&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Murray Fire Department</div>`)[0];
                popup_c8d32b95a6a1ce46577d0ef071699807.setContent(html_43d45ef094e4a3559d41e62736f9fa03);
            
        

        circle_marker_2e2ec46ae9298df6c0b5f52ba282535d.bindPopup(popup_c8d32b95a6a1ce46577d0ef071699807)
        ;

        
    
    
            var circle_marker_8961c384eba5834c54cb78909ecff9fc = L.circleMarker(
                [41.99582404, -91.97270412],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_ef109c6ffde544c07cb5cc1cf12d0e49 = L.circleMarker(
                [42.00720346, -92.0915287],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_970ab0b02c272d39ee3eba8a83219b04 = L.circleMarker(
                [43.15443508823529, -93.3385377882353],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_f83f7790b94f5f1a3fc387774b3cf076 = L.circleMarker(
                [42.49848374285715, -90.68873937142857],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b99933c2cf17d222a3aed0b946481930 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2e7b4a3b1a88be487e39eb40f8f8a55f = $(`<div id=&quot;html_2e7b4a3b1a88be487e39eb40f8f8a55f&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dubuque Fire Station #4</div>`)[0];
                popup_b99933c2cf17d222a3aed0b946481930.setContent(html_2e7b4a3b1a88be487e39eb40f8f8a55f);
            
        

        circle_marker_f83f7790b94f5f1a3fc387774b3cf076.bindPopup(popup_b99933c2cf17d222a3aed0b946481930)
        ;

        
    
    
            var circle_marker_e69d34263db6e93566d43aab38156e2a = L.circleMarker(
                [42.523035119999996, -90.65697245999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_df2ff6c4e3bfc960ca056c5221dd8d4f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_017b313563d4f02e0af46191dc71bb92 = $(`<div id=&quot;html_017b313563d4f02e0af46191dc71bb92&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Dubuque Fire Station #6</div>`)[0];
                popup_df2ff6c4e3bfc960ca056c5221dd8d4f.setContent(html_017b313563d4f02e0af46191dc71bb92);
            
        

        circle_marker_e69d34263db6e93566d43aab38156e2a.bindPopup(popup_df2ff6c4e3bfc960ca056c5221dd8d4f)
        ;

        
    
    
            var circle_marker_12a89f87d7fdbfab338878dec067d689 = L.circleMarker(
                [42.037374099999994, -92.91667254545455],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_272b9c40ccad1957947da4fe5b190157 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f436c2f15f27af445ad696f65dc389ef = $(`<div id=&quot;html_f436c2f15f27af445ad696f65dc389ef&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Marshalltown Fire Station</div>`)[0];
                popup_272b9c40ccad1957947da4fe5b190157.setContent(html_f436c2f15f27af445ad696f65dc389ef);
            
        

        circle_marker_12a89f87d7fdbfab338878dec067d689.bindPopup(popup_272b9c40ccad1957947da4fe5b190157)
        ;

        
    
    
            var circle_marker_b1cbd29bdde0488508850aa5f6508a4c = L.circleMarker(
                [43.29757668571428, -91.98808138571428],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b87ea7092e2c2375495973b24abbf60d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_54291cce7a984aa812c39748f3801323 = $(`<div id=&quot;html_54291cce7a984aa812c39748f3801323&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Ridgeway Fire House</div>`)[0];
                popup_b87ea7092e2c2375495973b24abbf60d.setContent(html_54291cce7a984aa812c39748f3801323);
            
        

        circle_marker_b1cbd29bdde0488508850aa5f6508a4c.bindPopup(popup_b87ea7092e2c2375495973b24abbf60d)
        ;

        
    
    
            var circle_marker_51d02a350f43ccc628445a6d1a1e5acf = L.circleMarker(
                [42.34241534444445, -91.24445642222223],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_58e8371d7ca1f69bb686703e86b4c35a = L.circleMarker(
                [41.99542961428572, -92.5825956],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a84734d5f824f6e154150744ead2d0fb = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d260f8ee5ea564bcfe93c78fd1200e55 = $(`<div id=&quot;html_d260f8ee5ea564bcfe93c78fd1200e55&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Toledo Volunteer Fire Department</div>`)[0];
                popup_a84734d5f824f6e154150744ead2d0fb.setContent(html_d260f8ee5ea564bcfe93c78fd1200e55);
            
        

        circle_marker_58e8371d7ca1f69bb686703e86b4c35a.bindPopup(popup_a84734d5f824f6e154150744ead2d0fb)
        ;

        
    
    
            var circle_marker_ef4422f878ed6ea9f8b471271c53977b = L.circleMarker(
                [42.77409988, -91.87905273999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f437c362118bb53960bcc161e6cf7afb = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ba8a2131913a626360fca1b2edb8a2b9 = $(`<div id=&quot;html_ba8a2131913a626360fca1b2edb8a2b9&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Harlan Township Fire Department</div>`)[0];
                popup_f437c362118bb53960bcc161e6cf7afb.setContent(html_ba8a2131913a626360fca1b2edb8a2b9);
            
        

        circle_marker_ef4422f878ed6ea9f8b471271c53977b.bindPopup(popup_f437c362118bb53960bcc161e6cf7afb)
        ;

        
    
    
            var circle_marker_433bc7d036aa850e2b7b377bbcc28daf = L.circleMarker(
                [42.6422381, -91.81194092000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_98e02b931bdcf92eaa35403a18854a3b = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_706587dedf8acaeb98ce1aaca2f6579d = $(`<div id=&quot;html_706587dedf8acaeb98ce1aaca2f6579d&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Stanley Fire Department</div>`)[0];
                popup_98e02b931bdcf92eaa35403a18854a3b.setContent(html_706587dedf8acaeb98ce1aaca2f6579d);
            
        

        circle_marker_433bc7d036aa850e2b7b377bbcc28daf.bindPopup(popup_98e02b931bdcf92eaa35403a18854a3b)
        ;

        
    
    
            var circle_marker_363611f18f1d09dc5d8dbc87a6044ffc = L.circleMarker(
                [42.29096036, -91.68226584],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_5ba6a065f69cd01aecb6ff4f9b7bf66d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d513b58ac1d3afdb9737f8bd30aa5e70 = $(`<div id=&quot;html_d513b58ac1d3afdb9737f8bd30aa5e70&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Troy Mills Fire Station</div>`)[0];
                popup_5ba6a065f69cd01aecb6ff4f9b7bf66d.setContent(html_d513b58ac1d3afdb9737f8bd30aa5e70);
            
        

        circle_marker_363611f18f1d09dc5d8dbc87a6044ffc.bindPopup(popup_5ba6a065f69cd01aecb6ff4f9b7bf66d)
        ;

        
    
    
            var circle_marker_f2f04efd15d86e070818b29658502475 = L.circleMarker(
                [41.80785963333333, -91.49564864444444],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c1d4ba112b00793755c2aab0de9cb2eb = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6ea09429d775f429784ad849e28c1f75 = $(`<div id=&quot;html_6ea09429d775f429784ad849e28c1f75&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Solon Fire Station</div>`)[0];
                popup_c1d4ba112b00793755c2aab0de9cb2eb.setContent(html_6ea09429d775f429784ad849e28c1f75);
            
        

        circle_marker_f2f04efd15d86e070818b29658502475.bindPopup(popup_c1d4ba112b00793755c2aab0de9cb2eb)
        ;

        
    
    
            var circle_marker_f5b843cb0b48e669aa333c8f38529768 = L.circleMarker(
                [41.487902514285715, -91.42801701428571],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e5b9051a9a557f1b9401f32c178e1964 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_46a21e96dc3670c18603bfe352845792 = $(`<div id=&quot;html_46a21e96dc3670c18603bfe352845792&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lone Tree Fire Station</div>`)[0];
                popup_e5b9051a9a557f1b9401f32c178e1964.setContent(html_46a21e96dc3670c18603bfe352845792);
            
        

        circle_marker_f5b843cb0b48e669aa333c8f38529768.bindPopup(popup_e5b9051a9a557f1b9401f32c178e1964)
        ;

        
    
    
            var circle_marker_c685b2c63d4a5430bf71c2c20438edca = L.circleMarker(
                [42.18620642, -91.77810926],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_22f0f3c5c75859c0e19d6c671035ab4e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_2ff1069a91fba0eda40aebe8f0d5af54 = $(`<div id=&quot;html_2ff1069a91fba0eda40aebe8f0d5af54&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Center Point Fire Station</div>`)[0];
                popup_22f0f3c5c75859c0e19d6c671035ab4e.setContent(html_2ff1069a91fba0eda40aebe8f0d5af54);
            
        

        circle_marker_c685b2c63d4a5430bf71c2c20438edca.bindPopup(popup_22f0f3c5c75859c0e19d6c671035ab4e)
        ;

        
    
    
            var circle_marker_da4cab001b3c607314313559c67cfd23 = L.circleMarker(
                [41.02867437692308, -94.19845123076924],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_978bf5e676759ed27a589bbe3f71079e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_52cf8062e14e34851e19da60de818853 = $(`<div id=&quot;html_52cf8062e14e34851e19da60de818853&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Afton Fire Department</div>`)[0];
                popup_978bf5e676759ed27a589bbe3f71079e.setContent(html_52cf8062e14e34851e19da60de818853);
            
        

        circle_marker_da4cab001b3c607314313559c67cfd23.bindPopup(popup_978bf5e676759ed27a589bbe3f71079e)
        ;

        
    
    
            var circle_marker_3ed745b3c11d85aaebc7923dd1a78849 = L.circleMarker(
                [43.38561252, -93.94946736],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_73ecbb521e489f86908ca76ff0f15704 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6092702d38758592e279fafddc88b6f0 = $(`<div id=&quot;html_6092702d38758592e279fafddc88b6f0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Buffalo Center Fire Department</div>`)[0];
                popup_73ecbb521e489f86908ca76ff0f15704.setContent(html_6092702d38758592e279fafddc88b6f0);
            
        

        circle_marker_3ed745b3c11d85aaebc7923dd1a78849.bindPopup(popup_73ecbb521e489f86908ca76ff0f15704)
        ;

        
    
    
            var circle_marker_b3226ecce0098196ebe9993921be4fb2 = L.circleMarker(
                [41.061203625000005, -94.3731009],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_7d5ebb3fb033b2ec51a22b8c8fb5a106 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b1e3e99793ab08bc1718d0e98c02e441 = $(`<div id=&quot;html_b1e3e99793ab08bc1718d0e98c02e441&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Creston Fire Department</div>`)[0];
                popup_7d5ebb3fb033b2ec51a22b8c8fb5a106.setContent(html_b1e3e99793ab08bc1718d0e98c02e441);
            
        

        circle_marker_b3226ecce0098196ebe9993921be4fb2.bindPopup(popup_7d5ebb3fb033b2ec51a22b8c8fb5a106)
        ;

        
    
    
            var circle_marker_db7cf13ebbb44f298015e39cee0d5872 = L.circleMarker(
                [41.79362071, -93.52401437],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_dac87f0f85d1e039f4dd04cc2972648a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_1dae5edcbb70c795f06a42f34c0c1a83 = $(`<div id=&quot;html_1dae5edcbb70c795f06a42f34c0c1a83&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Elkhart Fire Department</div>`)[0];
                popup_dac87f0f85d1e039f4dd04cc2972648a.setContent(html_1dae5edcbb70c795f06a42f34c0c1a83);
            
        

        circle_marker_db7cf13ebbb44f298015e39cee0d5872.bindPopup(popup_dac87f0f85d1e039f4dd04cc2972648a)
        ;

        
    
    
            var circle_marker_013a44da539718d1e824933f0e1e6f60 = L.circleMarker(
                [41.30600384, -95.08888124],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_53b2ee158594c0d38f08aac1da63bb4a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c94e0985e69010ec1a4edd533f58c5ee = $(`<div id=&quot;html_c94e0985e69010ec1a4edd533f58c5ee&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Lewis Fire Department</div>`)[0];
                popup_53b2ee158594c0d38f08aac1da63bb4a.setContent(html_c94e0985e69010ec1a4edd533f58c5ee);
            
        

        circle_marker_013a44da539718d1e824933f0e1e6f60.bindPopup(popup_53b2ee158594c0d38f08aac1da63bb4a)
        ;

        
    
    
            var circle_marker_448bea3a8c7caecd49a464dd4118d441 = L.circleMarker(
                [41.709959600000005, -96.01421402],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_97aff0f63b5b75654b8fd3fbfa360fff = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6e6db8757b1da882c2bd72b6ced8df60 = $(`<div id=&quot;html_6e6db8757b1da882c2bd72b6ced8df60&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Mondamin Fire &amp; Rescue</div>`)[0];
                popup_97aff0f63b5b75654b8fd3fbfa360fff.setContent(html_6e6db8757b1da882c2bd72b6ced8df60);
            
        

        circle_marker_448bea3a8c7caecd49a464dd4118d441.bindPopup(popup_97aff0f63b5b75654b8fd3fbfa360fff)
        ;

        
    
    
            var circle_marker_657c50933d159aa9c5573d3fe28261a0 = L.circleMarker(
                [41.253521, -94.76922056000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2d1194f172a42884fef90aae6199d08f = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_f99ac079b3a2b61f09716088d53b7bc3 = $(`<div id=&quot;html_f99ac079b3a2b61f09716088d53b7bc3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Massena Iowa Volunteer Fire &amp; Rescue</div>`)[0];
                popup_2d1194f172a42884fef90aae6199d08f.setContent(html_f99ac079b3a2b61f09716088d53b7bc3);
            
        

        circle_marker_657c50933d159aa9c5573d3fe28261a0.bindPopup(popup_2d1194f172a42884fef90aae6199d08f)
        ;

        
    
    
            var circle_marker_0ed4ff1823c10ff4161a3f5ff2dc5a8d = L.circleMarker(
                [42.23062574, -96.09691274000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_2d0423e84cc4df6c7bc5cb5b87fffe96 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_a792fcc532ec27e5099540606748b7a0 = $(`<div id=&quot;html_a792fcc532ec27e5099540606748b7a0&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Hornick Fire Department</div>`)[0];
                popup_2d0423e84cc4df6c7bc5cb5b87fffe96.setContent(html_a792fcc532ec27e5099540606748b7a0);
            
        

        circle_marker_0ed4ff1823c10ff4161a3f5ff2dc5a8d.bindPopup(popup_2d0423e84cc4df6c7bc5cb5b87fffe96)
        ;

        
    
    
            var circle_marker_f85b8b3ddb78af47f2675129a8735be2 = L.circleMarker(
                [42.22816066, -95.93106462],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_a6da747e540d6c2fefe7b1fa1a7f78c6 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c7e77f18420f3edd63c390ad8a1632a4 = $(`<div id=&quot;html_c7e77f18420f3edd63c390ad8a1632a4&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Smithland Fire Department</div>`)[0];
                popup_a6da747e540d6c2fefe7b1fa1a7f78c6.setContent(html_c7e77f18420f3edd63c390ad8a1632a4);
            
        

        circle_marker_f85b8b3ddb78af47f2675129a8735be2.bindPopup(popup_a6da747e540d6c2fefe7b1fa1a7f78c6)
        ;

        
    
    
            var circle_marker_6b18b9e78eec8d9de18bd8363fbd18b2 = L.circleMarker(
                [42.127254, -96.15336742],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_b25e616cf95f77730604950786f1b592 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_d7534ad236d58e38e3b8d4e98715f773 = $(`<div id=&quot;html_d7534ad236d58e38e3b8d4e98715f773&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Whiting Fire and Rescue Department</div>`)[0];
                popup_b25e616cf95f77730604950786f1b592.setContent(html_d7534ad236d58e38e3b8d4e98715f773);
            
        

        circle_marker_6b18b9e78eec8d9de18bd8363fbd18b2.bindPopup(popup_b25e616cf95f77730604950786f1b592)
        ;

        
    
    
            var circle_marker_775adc0db1611a51de9f36822b7e7bde = L.circleMarker(
                [40.61620042727273, -94.4798045],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_fab76fcac4dcabcd47cb929d4968c63a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_3baaf62a5f97fcbe0fc1ba053cff32a2 = $(`<div id=&quot;html_3baaf62a5f97fcbe0fc1ba053cff32a2&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Blockton FIre Department</div>`)[0];
                popup_fab76fcac4dcabcd47cb929d4968c63a.setContent(html_3baaf62a5f97fcbe0fc1ba053cff32a2);
            
        

        circle_marker_775adc0db1611a51de9f36822b7e7bde.bindPopup(popup_fab76fcac4dcabcd47cb929d4968c63a)
        ;

        
    
    
            var circle_marker_53c57cf9a1ea27483aa21d386f35bc5f = L.circleMarker(
                [41.203540759999996, -94.41635836],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_f86d16e5ef477b20858a67c098229cbe = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4c4ce42a8d6854a57232afd60cbd01d3 = $(`<div id=&quot;html_4c4ce42a8d6854a57232afd60cbd01d3&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Orient Volunteer Fire Department</div>`)[0];
                popup_f86d16e5ef477b20858a67c098229cbe.setContent(html_4c4ce42a8d6854a57232afd60cbd01d3);
            
        

        circle_marker_53c57cf9a1ea27483aa21d386f35bc5f.bindPopup(popup_f86d16e5ef477b20858a67c098229cbe)
        ;

        
    
    
            var circle_marker_3cf6a76dd5f13a53d8729d6affc0cc51 = L.circleMarker(
                [42.37006996, -91.84433854],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_d729c35b09c680ae0fc0cf2ffd2a4244 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_c18c27bf6b9cb2ef3dfbe9cd4db76287 = $(`<div id=&quot;html_c18c27bf6b9cb2ef3dfbe9cd4db76287&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Rowley Fire Department</div>`)[0];
                popup_d729c35b09c680ae0fc0cf2ffd2a4244.setContent(html_c18c27bf6b9cb2ef3dfbe9cd4db76287);
            
        

        circle_marker_3cf6a76dd5f13a53d8729d6affc0cc51.bindPopup(popup_d729c35b09c680ae0fc0cf2ffd2a4244)
        ;

        
    
    
            var circle_marker_bea85be88ab4ec20706c975e0d5d38a0 = L.circleMarker(
                [42.07808418, -92.40362852000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_897bba8a8d9aad58ac6c683282fdb51a = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_0fe1870ec0744862f6f599442fb5a893 = $(`<div id=&quot;html_0fe1870ec0744862f6f599442fb5a893&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Clutier Fire Department</div>`)[0];
                popup_897bba8a8d9aad58ac6c683282fdb51a.setContent(html_0fe1870ec0744862f6f599442fb5a893);
            
        

        circle_marker_bea85be88ab4ec20706c975e0d5d38a0.bindPopup(popup_897bba8a8d9aad58ac6c683282fdb51a)
        ;

        
    
    
            var circle_marker_312e63eb268b697b0aec8c172fcaf9be = L.circleMarker(
                [40.84028089230769, -94.1077283153846],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_35f8fd297f3e7acef6504f79a53be90c = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_bfe5d990432e78b569258734fe72ccf8 = $(`<div id=&quot;html_bfe5d990432e78b569258734fe72ccf8&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Union Township Fire Department</div>`)[0];
                popup_35f8fd297f3e7acef6504f79a53be90c.setContent(html_bfe5d990432e78b569258734fe72ccf8);
            
        

        circle_marker_312e63eb268b697b0aec8c172fcaf9be.bindPopup(popup_35f8fd297f3e7acef6504f79a53be90c)
        ;

        
    
    
            var circle_marker_205b57cb43f99d7c3714f1fd8b190f38 = L.circleMarker(
                [40.995227799999995, -92.30624981999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_e679e1ed9000d426df3ac04cfe5aba42 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_b60a06f7227fdb2a269b615902ab6343 = $(`<div id=&quot;html_b60a06f7227fdb2a269b615902ab6343&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Agency Community Fire &amp; Rescue</div>`)[0];
                popup_e679e1ed9000d426df3ac04cfe5aba42.setContent(html_b60a06f7227fdb2a269b615902ab6343);
            
        

        circle_marker_205b57cb43f99d7c3714f1fd8b190f38.bindPopup(popup_e679e1ed9000d426df3ac04cfe5aba42)
        ;

        
    
    
            var circle_marker_44e505b677dd9b4d1897d4969c2853a3 = L.circleMarker(
                [42.6151279, -94.14565345555555],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_c2a5d45a957ba1ec6eb944016c6252fe = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_36062e6613e975a093676b78b127d228 = $(`<div id=&quot;html_36062e6613e975a093676b78b127d228&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Badger Fire Department</div>`)[0];
                popup_c2a5d45a957ba1ec6eb944016c6252fe.setContent(html_36062e6613e975a093676b78b127d228);
            
        

        circle_marker_44e505b677dd9b4d1897d4969c2853a3.bindPopup(popup_c2a5d45a957ba1ec6eb944016c6252fe)
        ;

        
    
    
            var circle_marker_a158c5cf0536591d7a3f617616784f2f = L.circleMarker(
                [43.30585466666667, -91.7901078],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_05ec0faacaa90581f4bc5ba707685e51 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_ff298dcf9985a77d49ac7473acea9c86 = $(`<div id=&quot;html_ff298dcf9985a77d49ac7473acea9c86&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Decorah Fire Department</div>`)[0];
                popup_05ec0faacaa90581f4bc5ba707685e51.setContent(html_ff298dcf9985a77d49ac7473acea9c86);
            
        

        circle_marker_a158c5cf0536591d7a3f617616784f2f.bindPopup(popup_05ec0faacaa90581f4bc5ba707685e51)
        ;

        
    
    
            var circle_marker_90367cfddc13f5a85a8f111411dc1960 = L.circleMarker(
                [40.89896581428571, -93.73534661428572],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_9736301ea6a162cc526e203dd160e01e = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_64f2516508256ee5c33ac0f76a08848e = $(`<div id=&quot;html_64f2516508256ee5c33ac0f76a08848e&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Weldon Fire Department</div>`)[0];
                popup_9736301ea6a162cc526e203dd160e01e.setContent(html_64f2516508256ee5c33ac0f76a08848e);
            
        

        circle_marker_90367cfddc13f5a85a8f111411dc1960.bindPopup(popup_9736301ea6a162cc526e203dd160e01e)
        ;

        
    
    
            var circle_marker_fd44c28f147955b49d569cbaafe1cdfb = L.circleMarker(
                [42.468751784615385, -92.32265085384614],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_d87a4a0afd0246cf887b4a2d9f560656 = L.circleMarker(
                [42.501954579999996, -92.33593568],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_59cbb6a788db81635c10de8e536f02cb = L.circleMarker(
                [43.444852159999996, -93.22137636],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_eeb3aea63935dac1f348e08f30f923fe = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_7c609d0ad0e5dfe156479afd9ff81f33 = $(`<div id=&quot;html_7c609d0ad0e5dfe156479afd9ff81f33&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Northwood Fire Department</div>`)[0];
                popup_eeb3aea63935dac1f348e08f30f923fe.setContent(html_7c609d0ad0e5dfe156479afd9ff81f33);
            
        

        circle_marker_59cbb6a788db81635c10de8e536f02cb.bindPopup(popup_eeb3aea63935dac1f348e08f30f923fe)
        ;

        
    
    
            var circle_marker_7489de5592bb6eff61cbf48d919becdc = L.circleMarker(
                [42.9375338, -94.68307124],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
            var circle_marker_71b97a810c8f3336cf14e3e399738763 = L.circleMarker(
                [41.507915100000005, -92.46861844],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_98b74cd5b464464ba5e3233b8d0d9ed9 = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_6fcb8cf2de3fba238cf39f7ef7d9e616 = $(`<div id=&quot;html_6fcb8cf2de3fba238cf39f7ef7d9e616&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Barnes City Volunteer Fire Department</div>`)[0];
                popup_98b74cd5b464464ba5e3233b8d0d9ed9.setContent(html_6fcb8cf2de3fba238cf39f7ef7d9e616);
            
        

        circle_marker_71b97a810c8f3336cf14e3e399738763.bindPopup(popup_98b74cd5b464464ba5e3233b8d0d9ed9)
        ;

        
    
    
            var circle_marker_f7fa54902f16dd72baa1631da056deef = L.circleMarker(
                [42.59152462, -94.02078598],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_252a7298c145d174720123ac1961a884);
        
    
        var popup_706c9497486af2b90a5270b90b1f2e8d = L.popup({
  &quot;maxWidth&quot;: &quot;100%&quot;,
});

        
            
                var html_4b3f8b5eff6ac5f0e7028b9b185f3522 = $(`<div id=&quot;html_4b3f8b5eff6ac5f0e7028b9b185f3522&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>Vincent Fire Station</div>`)[0];
                popup_706c9497486af2b90a5270b90b1f2e8d.setContent(html_4b3f8b5eff6ac5f0e7028b9b185f3522);
            
        

        circle_marker_f7fa54902f16dd72baa1631da056deef.bindPopup(popup_706c9497486af2b90a5270b90b1f2e8d)
        ;

        
    
</script>
</html>" style="position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;" allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen=""></iframe></div></div>
</div>
</div>


</section>

 ]]></description>
  <category>Geospatial</category>
  <category>Python</category>
  <guid>https://www.jtrive.com/posts/osm-fire-station-handler/osm-fire-station-handler.html</guid>
  <pubDate>Mon, 11 Aug 2025 05:00:00 GMT</pubDate>
</item>
<item>
  <title>No API? No Problem - Mapping Coordinates to ZIP Codes for Free</title>
  <link>https://www.jtrive.com/posts/zip5-no-api/zip5-no-api.html</link>
  <description><![CDATA[ 





<p>ZIP Codes are widely used in analytics because they serve as a convenient proxy for geographic location, even though they are not true areal units. In the United States, ZIP Codes are created and managed by the United States Postal Service for the purpose of delivering mail. They represent collections of delivery routes (not enclosed polygons), and because these routes can change over time and don’t necessarily align with geographic or administrative boundaries, ZIP Codes do not have precise, fixed geographic boundaries.</p>
<p>The US Census Bureau releases ZIP Code Tabulation Area (ZCTA) <a href="https://www.census.gov/programs-surveys/geography/guidance/geo-areas/zctas.html">shapefiles</a>, which are generalized areal representations of the geographic extent and distribution of point-based ZIP Codes built using census tabulation blocks. Note however, ZCTAs are not the same as ZIP Codes, and not all valid ZIP Codes are represented by a ZCTA.</p>
<p>Despite these shortcomings, ZIP Codes can still reflect meaningful differences in building stock, emergency services and environmental hazards. They are also typically small and granular enough to allow for regional differentiation, and large enough to avoid some of the volatility seen at finer geographic levels like census block. Additionally, ZIP Codes are commonly used by regulators and in industry datasets, which makes them a practical choice for pricing, underwriting and reporting.</p>
<p>In this article, I’ll walk through two approaches that can be used to assign 5-digit ZIP Code to a sample collection of coordinate pairs without having to resort to a paid API.</p>
<p><br></p>
<section id="openaddresses" class="level3">
<h3 class="anchored" data-anchor-id="openaddresses"><strong>OpenAddresses</strong></h3>
<p>OpenAddresses is an open data project that provides free, worldwide address data collected from government sources, open datasets, and community contributions. It includes individual address records containing street names, cities, ZIP Codes, longitude and latitude and sometimes administrative areas. The data is organized by country and region and is regularly updated. It is especially useful for geocoding, reverse geocoding, and location enrichment tasks where access to millions of structured address points is required.</p>
<p>For US locations, the data are divided into <a href="https://batch.openaddresses.io/data">regions</a>. For this demonstration, our goal is to assign a single zip code (not ZCTA) to 10 longitude latitude pairs falling somewhere in Iowa, so we’ll download <em>us_midwest.zip</em>, which is ~4GB compressed.</p>
<p>Within the zip archive, we are interested in the <em>statewide-addresses-state.geojson</em> files. For Iowa, the exact path would be something like <em>./../us/ia/statewide-addresses-state.geojson</em>. We read this file into a GeoDataFrame and inspect the first few records:</p>
<div id="c5c3687e" class="cell" data-execution_count="21">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span>load_ext watermark</span>
<span id="cb1-2"></span>
<span id="cb1-3"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span>watermark <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>python <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>conda <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>hostname <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>machine <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>iversions</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Python implementation: CPython
Python version       : 3.11.11
IPython version      : 8.31.0

conda environment: module3

Compiler    : MSC v.1942 64 bit (AMD64)
OS          : Windows
Release     : 10
Machine     : AMD64
Processor   : Intel64 Family 6 Model 170 Stepping 4, GenuineIntel
CPU cores   : 22
Architecture: 64bit

Hostname: JTRIZPC11

numpy    : 1.26.3
folium   : 0.16.0
pandas   : 2.2.0
geopandas: 0.14.3
</code></pre>
</div>
</div>
<div id="365dff20" class="cell">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"></span>
<span id="cb3-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> warnings</span>
<span id="cb3-3"></span>
<span id="cb3-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb3-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb3-6"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> geopandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> gpd</span>
<span id="cb3-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> shapely.geometry <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> Point</span>
<span id="cb3-8"></span>
<span id="cb3-9">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>)</span>
<span id="cb3-10">pd.options.mode.chained_assignment <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb3-11">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"display.max_columns"</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb3-12">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"display.width"</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb3-13">warnings.filterwarnings(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ignore"</span>)</span>
<span id="cb3-14"></span>
<span id="cb3-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Example Iowa statewide file. Data available at https://results.openaddresses.io/</span></span>
<span id="cb3-16">oa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.read_file(</span>
<span id="cb3-17">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"./ia/statewide-addresses-state.geojson"</span></span>
<span id="cb3-18">)</span>
<span id="cb3-19"></span>
<span id="cb3-20"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"oa.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>oa<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb3-21">oa.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>oa.shape: (1467745, 10)</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="1">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">hash</th>
<th data-quarto-table-cell-role="th">number</th>
<th data-quarto-table-cell-role="th">street</th>
<th data-quarto-table-cell-role="th">unit</th>
<th data-quarto-table-cell-role="th">city</th>
<th data-quarto-table-cell-role="th">district</th>
<th data-quarto-table-cell-role="th">region</th>
<th data-quarto-table-cell-role="th">postcode</th>
<th data-quarto-table-cell-role="th">id</th>
<th data-quarto-table-cell-role="th">geometry</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>a5899128ed263520</td>
<td>729</td>
<td>Southeast Kensington ROAD</td>
<td></td>
<td>Ankeny</td>
<td>Polk County</td>
<td>IA</td>
<td>50021</td>
<td></td>
<td>POINT (-93.58681 41.71435)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>211e49dde5333505</td>
<td>1826</td>
<td>EDWARDS STREET</td>
<td></td>
<td>BURLINGTON</td>
<td>DES MOINES</td>
<td>IA</td>
<td>52601</td>
<td></td>
<td>POINT (-91.12494 40.82178)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>d1da12189105c053</td>
<td>222</td>
<td>PEREGRINE PL</td>
<td></td>
<td>COUNCIL BLUFFS</td>
<td>POTTAWATTAMIE</td>
<td>IA</td>
<td>51501</td>
<td></td>
<td>POINT (-95.83560 41.20277)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>32d64202ed448b32</td>
<td>1037</td>
<td>565TH TRAIL</td>
<td></td>
<td>LOVILIA</td>
<td>MONROE COUNTY</td>
<td>IA</td>
<td>50150</td>
<td></td>
<td>POINT (-92.98455 41.15733)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>b1707b5d2717b540</td>
<td>1410</td>
<td>MICHIGAN ST</td>
<td></td>
<td>STORM LAKE</td>
<td>BUENA VISTA</td>
<td>IA</td>
<td></td>
<td></td>
<td>POINT (-95.20270 42.65668)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>3d92dd6500c35ceb</td>
<td>6010</td>
<td>Southwest 15th STREET</td>
<td></td>
<td>Des Moines</td>
<td>Polk County</td>
<td>IA</td>
<td>50315</td>
<td></td>
<td>POINT (-93.63727 41.52933)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>fc135f3ab81d87ac</td>
<td>308</td>
<td>SOUTH LIBERTY STREET</td>
<td></td>
<td>CINCINNATI</td>
<td>APPANOOSE COUNTY</td>
<td>IA</td>
<td></td>
<td></td>
<td>POINT (-92.92489 40.62610)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">7</td>
<td>8d873ba4490e4f85</td>
<td>5151</td>
<td>US HWY 61</td>
<td></td>
<td>BURLINGTON</td>
<td>DES MOINES</td>
<td>IA</td>
<td>52601</td>
<td></td>
<td>POINT (-91.15469 40.75543)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">8</td>
<td>a3a763e4eae64973</td>
<td>6165</td>
<td>Northwest 86th STREET</td>
<td>Suite 206</td>
<td>Johnston</td>
<td>Polk County</td>
<td>IA</td>
<td>50131</td>
<td></td>
<td>POINT (-93.73488 41.67167)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">9</td>
<td>d5a4c455796ec14b</td>
<td>205</td>
<td>W INGLEDUE ST</td>
<td></td>
<td>MARSHALLTOWN</td>
<td>MARSHALL CO</td>
<td>IA</td>
<td>50158</td>
<td></td>
<td>POINT (-92.91606 42.03223)</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Ultimately a nearest-neighbor lookup will be used to assign a 5-digit ZIP Code to the 10 sample points using coordinates associated with known addresses, therefore we drop records with missing geometry or postcode and perform a bit of additional clean-up. In the last step:</p>
<div id="0da46c36" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"></span>
<span id="cb5-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Clean and filter.</span></span>
<span id="cb5-3">oa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> oa.dropna(subset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"postcode"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geometry"</span>])</span>
<span id="cb5-4">oa[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"postcode"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> oa[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"postcode"</span>].astype(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.strip()</span>
<span id="cb5-5">oa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> oa[oa.postcode<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">""</span>].reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb5-6"></span>
<span id="cb5-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Retain ZIP5 only (drop the plus four code).</span></span>
<span id="cb5-8">oa[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"postcode"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> oa[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"postcode"</span>].astype(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.zfill(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb5-9">oa[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"zip5"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> oa[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"postcode"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.split(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"-"</span>, n<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, expand<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span>
<span id="cb5-10">oa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> oa[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"zip5"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geometry"</span>]]</span>
<span id="cb5-11"></span>
<span id="cb5-12"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Iowa addresses in OpenAddresses dataset: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(oa)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb5-13"></span>
<span id="cb5-14">oa.head()</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Iowa addresses in OpenAddresses dataset: 1,314,249</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="2">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">zip5</th>
<th data-quarto-table-cell-role="th">geometry</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>50021</td>
<td>POINT (-93.58681 41.71435)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>52601</td>
<td>POINT (-91.12494 40.82178)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>51501</td>
<td>POINT (-95.83560 41.20277)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>50150</td>
<td>POINT (-92.98455 41.15733)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>50315</td>
<td>POINT (-93.63727 41.52933)</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>We create a sample of 10 coordinate pairs that fall within the Iowa state boundary:</p>
<div id="126ccb0e" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sample points of interest. All fall within Iowa state boundary.</span></span>
<span id="cb7-2">pois <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame({</span>
<span id="cb7-3">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"id"</span>: np.arange(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>),</span>
<span id="cb7-4">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>: [<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">91.4239</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">92.5043</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">90.6057</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">93.6110</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">93.1085</span>,</span>
<span id="cb7-5">            <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">90.6103</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">95.8953</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">92.4293</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">93.5519</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">95.0369</span>],</span>
<span id="cb7-6">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>: [<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.9252</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">40.6608</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.5667</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">42.0368</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.3333</span>, </span>
<span id="cb7-7">            <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.5861</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.2213</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">42.4960</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.6058</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">40.7294</span>]</span>
<span id="cb7-8">    }</span>
<span id="cb7-9">)</span>
<span id="cb7-10"></span>
<span id="cb7-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create GeoDataFrame.</span></span>
<span id="cb7-12">pois <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.GeoDataFrame(</span>
<span id="cb7-13">    pois,</span>
<span id="cb7-14">    geometry<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>gpd.points_from_xy(pois.lon, pois.lat),</span>
<span id="cb7-15">    crs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:4326"</span></span>
<span id="cb7-16">)</span>
<span id="cb7-17"></span>
<span id="cb7-18">pois.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="3">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">id</th>
<th data-quarto-table-cell-role="th">lon</th>
<th data-quarto-table-cell-role="th">lat</th>
<th data-quarto-table-cell-role="th">geometry</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>0</td>
<td>-91.4239</td>
<td>41.9252</td>
<td>POINT (-91.42390 41.92520)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>1</td>
<td>-92.5043</td>
<td>40.6608</td>
<td>POINT (-92.50430 40.66080)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>2</td>
<td>-90.6057</td>
<td>41.5667</td>
<td>POINT (-90.60570 41.56670)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>3</td>
<td>-93.6110</td>
<td>42.0368</td>
<td>POINT (-93.61100 42.03680)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>4</td>
<td>-93.1085</td>
<td>41.3333</td>
<td>POINT (-93.10850 41.33330)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>5</td>
<td>-90.6103</td>
<td>41.5861</td>
<td>POINT (-90.61030 41.58610)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>6</td>
<td>-95.8953</td>
<td>41.2213</td>
<td>POINT (-95.89530 41.22130)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">7</td>
<td>7</td>
<td>-92.4293</td>
<td>42.4960</td>
<td>POINT (-92.42930 42.49600)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">8</td>
<td>8</td>
<td>-93.5519</td>
<td>41.6058</td>
<td>POINT (-93.55190 41.60580)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">9</td>
<td>9</td>
<td>-95.0369</td>
<td>40.7294</td>
<td>POINT (-95.03690 40.72940)</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Let’s visualize the 10 points to get an idea of their distribution across the state:</p>
<div id="729b48ae" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb8" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb8-1"></span>
<span id="cb8-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> folium</span>
<span id="cb8-3"></span>
<span id="cb8-4"></span>
<span id="cb8-5"></span>
<span id="cb8-6">lats, lons <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pois.lat.tolist(), pois.lon.tolist()</span>
<span id="cb8-7">coords <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">list</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(lats, lons))</span>
<span id="cb8-8"></span>
<span id="cb8-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Center map on central Iowa. </span></span>
<span id="cb8-10">mid_lon, mid_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">93.0977</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.8780</span></span>
<span id="cb8-11"> </span>
<span id="cb8-12">m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Map(</span>
<span id="cb8-13">    location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[mid_lat, mid_lon], </span>
<span id="cb8-14">    zoom_start<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span></span>
<span id="cb8-15">)</span>
<span id="cb8-16"></span>
<span id="cb8-17"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> lat, lon <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> coords:</span>
<span id="cb8-18"></span>
<span id="cb8-19">    folium.CircleMarker(</span>
<span id="cb8-20">        location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[lat, lon], </span>
<span id="cb8-21">        radius<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, </span>
<span id="cb8-22">        color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, </span>
<span id="cb8-23">        fill_color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, </span>
<span id="cb8-24">        fill<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb8-25">        fill_opacity<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span></span>
<span id="cb8-26">        ).add_to(m)</span>
<span id="cb8-27"></span>
<span id="cb8-28">m</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="6">
<div style="width:100%;"><div style="position:relative;width:100%;height:0;padding-bottom:60%;"><span style="color:#565656">Make this Notebook Trusted to load map: File -&gt; Trust Notebook</span><iframe srcdoc="<!DOCTYPE html>
<html>
<head>
    
    <meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot; />
    
        <script>
            L_NO_TOUCH = false;
            L_DISABLE_3D = false;
        </script>
    
    <style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>
    <style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>
    <script src=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js&quot;></script>
    <script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js&quot;></script>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css&quot;/>
    
            <meta name=&quot;viewport&quot; content=&quot;width=device-width,
                initial-scale=1.0, maximum-scale=1.0, user-scalable=no&quot; />
            <style>
                #map_67c5a640481f14839922a24c62c44a97 {
                    position: relative;
                    width: 100.0%;
                    height: 100.0%;
                    left: 0.0%;
                    top: 0.0%;
                }
                .leaflet-container { font-size: 1rem; }
            </style>
        
</head>
<body>
    
    
            <div class=&quot;folium-map&quot; id=&quot;map_67c5a640481f14839922a24c62c44a97&quot; ></div>
        
</body>
<script>
    
    
            var map_67c5a640481f14839922a24c62c44a97 = L.map(
                &quot;map_67c5a640481f14839922a24c62c44a97&quot;,
                {
                    center: [41.878, -93.0977],
                    crs: L.CRS.EPSG3857,
                    zoom: 8,
                    zoomControl: true,
                    preferCanvas: false,
                }
            );

            

        
    
            var tile_layer_882317a1abd915a08418de8ce7cb68aa = L.tileLayer(
                &quot;https://tile.openstreetmap.org/{z}/{x}/{y}.png&quot;,
                {&quot;attribution&quot;: &quot;\u0026copy; \u003ca href=\&quot;https://www.openstreetmap.org/copyright\&quot;\u003eOpenStreetMap\u003c/a\u003e contributors&quot;, &quot;detectRetina&quot;: false, &quot;maxNativeZoom&quot;: 19, &quot;maxZoom&quot;: 19, &quot;minZoom&quot;: 0, &quot;noWrap&quot;: false, &quot;opacity&quot;: 1, &quot;subdomains&quot;: &quot;abc&quot;, &quot;tms&quot;: false}
            );
        
    
            tile_layer_882317a1abd915a08418de8ce7cb68aa.addTo(map_67c5a640481f14839922a24c62c44a97);
        
    
            var circle_marker_f60c26ec232519fc246489d9ce39ba8d = L.circleMarker(
                [41.9252, -91.4239],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_67c5a640481f14839922a24c62c44a97);
        
    
            var circle_marker_de552744132a7a4ff767489576002264 = L.circleMarker(
                [40.6608, -92.5043],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_67c5a640481f14839922a24c62c44a97);
        
    
            var circle_marker_30044761c5237f7a02ce73e50cb63a28 = L.circleMarker(
                [41.5667, -90.6057],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_67c5a640481f14839922a24c62c44a97);
        
    
            var circle_marker_0a4d3fd4dd4f65b4999851a2ae0ef270 = L.circleMarker(
                [42.0368, -93.611],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_67c5a640481f14839922a24c62c44a97);
        
    
            var circle_marker_3df32f54970a6e087a3c1bcfddae13e5 = L.circleMarker(
                [41.3333, -93.1085],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_67c5a640481f14839922a24c62c44a97);
        
    
            var circle_marker_4e988ada915de93cc6fadc49daa01418 = L.circleMarker(
                [41.5861, -90.6103],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_67c5a640481f14839922a24c62c44a97);
        
    
            var circle_marker_58d96fe1e05545851e8f1821889e3c7d = L.circleMarker(
                [41.2213, -95.8953],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_67c5a640481f14839922a24c62c44a97);
        
    
            var circle_marker_ca000a5e4dad3ab2dee53d297dda18f8 = L.circleMarker(
                [42.496, -92.4293],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_67c5a640481f14839922a24c62c44a97);
        
    
            var circle_marker_e1b550ac9098a90d152a401f84943af9 = L.circleMarker(
                [41.6058, -93.5519],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_67c5a640481f14839922a24c62c44a97);
        
    
            var circle_marker_117aa7cb1080db563ac1c29537b4df45 = L.circleMarker(
                [40.7294, -95.0369],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_67c5a640481f14839922a24c62c44a97);
        
</script>
</html>" style="position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;" allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen=""></iframe></div></div>
</div>
</div>
<p><br></p>
<p>Within GeoPandas, <code>sjoin_nearest</code> performs a spatial join that matches each geometry in one GeoDataFrame to the nearest geometry in another GeoDataFrame based on geometric distance. Instead of checking for intersection or containment like a standard spatial join, <code>sjoin_nearest</code> finds the closest match in terms of Euclidean distance (in projected coordinates) or great-circle distance if using geographic coordinates.</p>
<p>In our example, each of the 10 points will get assigned the ZIP Code associated with the nearest known address point based on great-circle distance:</p>
<div id="89463e0d" class="cell" data-execution_count="7">
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"></span>
<span id="cb9-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Perform nearest neighbor lookup to known lon-lat zip code.</span></span>
<span id="cb9-3">pois <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.sjoin_nearest(</span>
<span id="cb9-4">    pois,</span>
<span id="cb9-5">    oa[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"zip5"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geometry"</span>]],</span>
<span id="cb9-6">    how<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"left"</span>,</span>
<span id="cb9-7">    distance_col<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dist_meters"</span></span>
<span id="cb9-8">)</span>
<span id="cb9-9"></span>
<span id="cb9-10">pois.head()</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="7">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">id</th>
<th data-quarto-table-cell-role="th">lon</th>
<th data-quarto-table-cell-role="th">lat</th>
<th data-quarto-table-cell-role="th">geometry</th>
<th data-quarto-table-cell-role="th">index_right</th>
<th data-quarto-table-cell-role="th">zip5</th>
<th data-quarto-table-cell-role="th">dist_meters</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>0</td>
<td>-91.4239</td>
<td>41.9252</td>
<td>POINT (-91.42390 41.92520)</td>
<td>896565</td>
<td>52314</td>
<td>0.000180</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>1</td>
<td>-92.5043</td>
<td>40.6608</td>
<td>POINT (-92.50430 40.66080)</td>
<td>684538</td>
<td>52537</td>
<td>0.000204</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>2</td>
<td>-90.6057</td>
<td>41.5667</td>
<td>POINT (-90.60570 41.56670)</td>
<td>659368</td>
<td>52806</td>
<td>0.000064</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>3</td>
<td>-93.6110</td>
<td>42.0368</td>
<td>POINT (-93.61100 42.03680)</td>
<td>1261954</td>
<td>50010</td>
<td>0.000030</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>4</td>
<td>-93.1085</td>
<td>41.3333</td>
<td>POINT (-93.10850 41.33330)</td>
<td>207898</td>
<td>50138</td>
<td>0.000654</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>In the resulting join, <code>index_right</code> specifies which row index from the OpenAddresses dataset served as the nearest match to the sample point.</p>
<p>Since our sample data is represented using a geographic coordinate reference system, <code>dist_meters</code> represents the distance to the nearest known address in terms of decimal degrees, not meters (even if we named the column <code>"dist_meters"</code>). If accurate distance measurements to the nearest known address are required, it is necessary to re-project the data to a projected CRS, then re-execute the spatial join:</p>
<div id="9d17970f" class="cell">
<div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb10-1"></span>
<span id="cb10-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Using a projected CRS.</span></span>
<span id="cb10-3">pois <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame({</span>
<span id="cb10-4">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"id"</span>: np.arange(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>),</span>
<span id="cb10-5">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>: [<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">91.4239</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">92.5043</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">90.6057</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">93.6110</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">93.1085</span>,</span>
<span id="cb10-6">            <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">90.6103</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">95.8953</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">92.4293</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">93.5519</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">95.0369</span>],</span>
<span id="cb10-7">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>: [<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.9252</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">40.6608</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.5667</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">42.0368</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.3333</span>, </span>
<span id="cb10-8">            <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.5861</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.2213</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">42.4960</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.6058</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">40.7294</span>]</span>
<span id="cb10-9">    }</span>
<span id="cb10-10">)</span>
<span id="cb10-11"></span>
<span id="cb10-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create GeoDataFrame.</span></span>
<span id="cb10-13">pois <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.GeoDataFrame(</span>
<span id="cb10-14">    pois,</span>
<span id="cb10-15">    geometry<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>gpd.points_from_xy(pois.lon, pois.lat),</span>
<span id="cb10-16">    crs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:4326"</span></span>
<span id="cb10-17">)</span>
<span id="cb10-18"></span>
<span id="cb10-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Re-project to a projected CRS for accurate distance calculations.</span></span>
<span id="cb10-20">pois <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pois.to_crs(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:3857"</span>)</span>
<span id="cb10-21"></span>
<span id="cb10-22"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ensure same CRS for OpenAddresses data. Unpack lat and lon for next section.</span></span>
<span id="cb10-23">oa[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> oa.geometry.x</span>
<span id="cb10-24">oa[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> oa.geometry.y</span>
<span id="cb10-25">oa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> oa.to_crs(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:3857"</span>)</span>
<span id="cb10-26"></span>
<span id="cb10-27">pois <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.sjoin_nearest(</span>
<span id="cb10-28">    pois, </span>
<span id="cb10-29">    oa[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"zip5"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geometry"</span>]], </span>
<span id="cb10-30">    distance_col<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dist_meters"</span></span>
<span id="cb10-31">)</span>
<span id="cb10-32"></span>
<span id="cb10-33">pois.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="12">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">id</th>
<th data-quarto-table-cell-role="th">lon</th>
<th data-quarto-table-cell-role="th">lat</th>
<th data-quarto-table-cell-role="th">geometry</th>
<th data-quarto-table-cell-role="th">index_right</th>
<th data-quarto-table-cell-role="th">zip5</th>
<th data-quarto-table-cell-role="th">dist_meters</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>0</td>
<td>-91.4239</td>
<td>41.9252</td>
<td>POINT (-10177261.994 5149781.344)</td>
<td>896565</td>
<td>52314</td>
<td>20.088399</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>1</td>
<td>-92.5043</td>
<td>40.6608</td>
<td>POINT (-10297531.572 4962437.751)</td>
<td>684538</td>
<td>52537</td>
<td>29.855588</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>2</td>
<td>-90.6057</td>
<td>41.5667</td>
<td>POINT (-10086180.387 5096292.577)</td>
<td>659368</td>
<td>52806</td>
<td>9.535298</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>3</td>
<td>-93.6110</td>
<td>42.0368</td>
<td>POINT (-10420728.853 5166493.501)</td>
<td>1261954</td>
<td>50010</td>
<td>4.511569</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>4</td>
<td>-93.1085</td>
<td>41.3333</td>
<td>POINT (-10364790.809 5061628.338)</td>
<td>207898</td>
<td>50138</td>
<td>78.010282</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>5</td>
<td>-90.6103</td>
<td>41.5861</td>
<td>POINT (-10086692.457 5099179.465)</td>
<td>519778</td>
<td>52806</td>
<td>10.161212</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>6</td>
<td>-95.8953</td>
<td>41.2213</td>
<td>POINT (-10675015.965 5045038.366)</td>
<td>395965</td>
<td>51501</td>
<td>90.983468</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">7</td>
<td>7</td>
<td>-92.4293</td>
<td>42.4960</td>
<td>POINT (-10289182.610 5235569.854)</td>
<td>550407</td>
<td>50613</td>
<td>49.319472</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">8</td>
<td>8</td>
<td>-93.5519</td>
<td>41.6058</td>
<td>POINT (-10414149.871 5102111.883)</td>
<td>187076</td>
<td>50317</td>
<td>11.959234</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">9</td>
<td>9</td>
<td>-95.0369</td>
<td>40.7294</td>
<td>POINT (-10579459.315 4972509.787)</td>
<td>358873</td>
<td>51632</td>
<td>292.360969</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>For the first sample (id = 0), <code>dist_meters</code> indicates the nearest known address is ~20 meters away.</p>
<p><br></p>
</section>
<section id="finding-k-nearest-zip-codes-with-balltree" class="level3">
<h3 class="anchored" data-anchor-id="finding-k-nearest-zip-codes-with-balltree"><strong>Finding k-Nearest ZIP Codes with BallTree</strong></h3>
<p><code>sjoin_nearest</code> performs a spatial join by finding the nearest geometry in one GeoDataFrame for each geometry in another using a spatial index. When <code>sjoin_nearest</code> is called, it uses the spatial index to find candidate nearest geometries efficiently, then refines the match using actual geometric distance.</p>
<p>One limitation of using <code>sjoin_nearest</code> is that only a single ZIP Code will be assigned to each sample. There may be cases where knowing the ZIP Codes of the five or ten nearest addresses might be of interest, possibly as an indicator of the homogeneity of ZIP Codes in a given region: If the 10 nearest addresses all share the same ZIP Code, it is likely that the sample point shares that ZIP Code (assuming a relatively small distance to each address).</p>
<p>We can identify and retrieve ZIP Codes associated with the k-nearest addresses and corresponding distances using a BallTree. Within scikit-learn, <code>BallTree</code> implements a fast nearest-neighbor search using a space-partitioning tree. It is not geospatially aware and does not work directly with geometry objects, and instead works with raw coordinate arrays. In the next cell, we create a <code>BallTree</code> instance, and identify the 10 nearest ZIP Codes for each sample in <code>pois</code>. Note that <code>BallTree</code> with haversine distance expects input in radians, not degrees:</p>
<div id="538f527f" class="cell">
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1"></span>
<span id="cb11-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> sklearn.neighbors <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> BallTree</span>
<span id="cb11-3"></span>
<span id="cb11-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert lon/lat to radians for BallTree when using haversine </span></span>
<span id="cb11-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># metric.</span></span>
<span id="cb11-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># OpenAddresses data.</span></span>
<span id="cb11-7"></span>
<span id="cb11-8">oa_coords <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.deg2rad(oa[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>]].values)</span>
<span id="cb11-9"></span>
<span id="cb11-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 10 sample data points. </span></span>
<span id="cb11-11">poi_coords <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.deg2rad(pois[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>]].values)</span>
<span id="cb11-12"></span>
<span id="cb11-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create BallTree instance.</span></span>
<span id="cb11-14">bt <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> BallTree(oa_coords, metric<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"haversine"</span>)</span>
<span id="cb11-15"></span>
<span id="cb11-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Query top 10 neighbors.</span></span>
<span id="cb11-17">dists, indices <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bt.query(poi_coords, k<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span>
<span id="cb11-18"></span>
<span id="cb11-19"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"dists:</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>dists<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb11-20"></span>
<span id="cb11-21"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"indices:</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>indices<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>dists:
[[0.00000078 0.00000128 0.00000155 0.0000019  0.00000203 0.00000257 0.00000312 0.00000329 0.0000034  0.00000356]
 [0.00000043 0.00000734 0.00000983 0.0000122  0.00001249 0.00001339 0.000014   0.00001426 0.00001839 0.00002441]
 [0.00000014 0.00000024 0.00000029 0.00000048 0.00000056 0.0000006  0.00000061 0.00000093 0.00000093 0.00000094]
 [0.00000003 0.0000005  0.0000005  0.0000005  0.00000062 0.00000064 0.00000076 0.00000085 0.00000114 0.00000131]
 [0.00000287 0.00000313 0.00000334 0.00000416 0.00000419 0.00000437 0.00000449 0.00000452 0.00000454 0.00000457]
 [0.00000067 0.00000076 0.00000078 0.00000083 0.0000009  0.00000114 0.00000118 0.00000121 0.00000123 0.00000125]
 [0.00000158 0.00000411 0.00000447 0.00000459 0.00000587 0.00000624 0.0000063  0.00000662 0.00000686 0.00000708]
 [0.00000245 0.00000253 0.00000458 0.00000494 0.00000522 0.0000057  0.00000577 0.00000604 0.00000629 0.00000641]
 [0.00000059 0.00000117 0.00000119 0.00000134 0.00000143 0.00000153 0.00000159 0.00000168 0.00000172 0.00000194]
 [0.0000043  0.00000476 0.00000553 0.00000741 0.00001087 0.00001098 0.0000111  0.00001117 0.00001213 0.00001238]]

indices:
[[ 547709  457711  131556  510091   13847  856680  896565  192896 1064575  158127]
 [ 684538 1093125 1130773  540050  784185 1083753  600773  614572   58343  334934]
 [ 659368  286207  432808  627125  391029 1006928  338206  390721  575752  267197]
 [1261954 1280697  443539 1027393  567643 1038369  116769  799895  331017   70198]
 [ 312170  797161  506549   92729  392748  322733  532624  969750 1307702   79626]
 [ 241231  519778  282477  333948 1158412  575133  486008 1200591  238422 1134008]
 [ 395965  605176  682735  450244 1282644  889027 1276471  355442 1138247  620641]
 [ 766037  732231 1011916  550407 1161263 1088782  351109 1042692   25833 1034179]
 [ 187076 1143818 1077490  343559  836727 1266959 1041256   48610  677851  868357]
 [1245842  165862  471164  764378  276749 1284297  358873  362510 1020793  984672]]
</code></pre>
</div>
</div>
<p><br></p>
<p><code>indices</code> is a 10 x 10 array representing the indices into the original OpenAddresses GeoDataFrame corresponding to the 10 nearest addresses. We can lookup the associated ZIP Codes as follows:</p>
<div id="4cdb0f95" class="cell" data-execution_count="16">
<div class="sourceCode cell-code" id="cb13" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb13-1"></span>
<span id="cb13-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Lookup ZIP Codes for first sample (row 0)</span></span>
<span id="cb13-3"></span>
<span id="cb13-4">idx <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> indices[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span>
<span id="cb13-5"></span>
<span id="cb13-6">oa.loc[idx, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"zip5"</span>].tolist()</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="16">
<pre><code>['52314',
 '52314',
 '52314',
 '52314',
 '52314',
 '52314',
 '52314',
 '52314',
 '52314',
 '52314']</code></pre>
</div>
</div>
<p><br></p>
<p>For the first point of interest, the 10 nearest ZIP Codes are the same, indicating a degree of homegeneity for that region.</p>
<p><code>dists</code> is also a 10 x 10 array representing the distances to each of the 10 nearest addresses. When using the haversine metric, the distances will be returned in radians. To get distance in meters, multiply by 6,371,000 (assumes an Earth radius of 6,371km):</p>
<div id="147fcd37" class="cell" data-execution_count="17">
<div class="sourceCode cell-code" id="cb15" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb15-1"></span>
<span id="cb15-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert radians to meters.</span></span>
<span id="cb15-3">dists<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6_371_000</span>  </span>
<span id="cb15-4"></span>
<span id="cb15-5">dists.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">round</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="17">
<pre><code>array([[  4.99,   8.14,   9.9 ,  12.13,  12.96,  16.39,  19.89,  20.93,  21.68,  22.66],
       [  2.74,  46.77,  62.65,  77.71,  79.54,  85.31,  89.2 ,  90.82, 117.18, 155.54],
       [  0.9 ,   1.5 ,   1.82,   3.03,   3.58,   3.81,   3.91,   5.94,   5.95,   5.98],
       [  0.21,   3.17,   3.18,   3.21,   3.95,   4.09,   4.86,   5.44,   7.28,   8.36],
       [ 18.31,  19.97,  21.31,  26.53,  26.72,  27.86,  28.58,  28.78,  28.91,  29.13],
       [  4.24,   4.87,   4.99,   5.28,   5.74,   7.29,   7.53,   7.68,   7.82,   7.98],
       [ 10.08,  26.16,  28.49,  29.22,  37.38,  39.73,  40.13,  42.16,  43.71,  45.09],
       [ 15.6 ,  16.12,  29.2 ,  31.48,  33.29,  36.34,  36.75,  38.48,  40.05,  40.83],
       [  3.77,   7.46,   7.61,   8.55,   9.09,   9.74,  10.13,  10.73,  10.98,  12.35],
       [ 27.4 ,  30.32,  35.26,  47.18,  69.28,  69.94,  70.69,  71.14,  77.29,  78.86]])</code></pre>
</div>
</div>
<p><br></p>
<p>Notice the distances increase from left to right. The nearest neighboring address will be at index 0 for each row, the furthest at the last index.</p>
<p>Let’s attach the ZIP Codes and distances to the original <code>pois</code> GeoDataFrame:</p>
<div id="03937d9b" class="cell" data-execution_count="18">
<div class="sourceCode cell-code" id="cb17" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb17-1"></span>
<span id="cb17-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Add ZIP Codes and distances to pois GeoDataFrame.</span></span>
<span id="cb17-3">pois[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"zip5_bt"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [oa.loc[ii, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"zip5"</span>].tolist() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> indices]</span>
<span id="cb17-4">pois[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dist_bt"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [dists[ii].tolist() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(dists))]</span>
<span id="cb17-5"></span>
<span id="cb17-6">pois.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="18">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">id</th>
<th data-quarto-table-cell-role="th">lon</th>
<th data-quarto-table-cell-role="th">lat</th>
<th data-quarto-table-cell-role="th">geometry</th>
<th data-quarto-table-cell-role="th">index_right</th>
<th data-quarto-table-cell-role="th">zip5</th>
<th data-quarto-table-cell-role="th">dist_meters</th>
<th data-quarto-table-cell-role="th">zip5_bt</th>
<th data-quarto-table-cell-role="th">dist_bt</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>0</td>
<td>-91.4239</td>
<td>41.9252</td>
<td>POINT (-10177261.994 5149781.344)</td>
<td>896565</td>
<td>52314</td>
<td>20.088399</td>
<td>[52314, 52314, 52314, 52314, 52314, 52314, 523...</td>
<td>[4.985134881214199, 8.141201259829977, 9.90310...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>1</td>
<td>-92.5043</td>
<td>40.6608</td>
<td>POINT (-10297531.572 4962437.751)</td>
<td>684538</td>
<td>52537</td>
<td>29.855588</td>
<td>[52537, 52537, 52537, 52537, 52537, 52537, 525...</td>
<td>[2.740550127855483, 46.76946329287494, 62.6460...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>2</td>
<td>-90.6057</td>
<td>41.5667</td>
<td>POINT (-10086180.387 5096292.577)</td>
<td>659368</td>
<td>52806</td>
<td>9.535298</td>
<td>[52806, 52806, 52806, 52806, 52806, 52806, 528...</td>
<td>[0.9037957011905808, 1.500812774709375, 1.8239...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>3</td>
<td>-93.6110</td>
<td>42.0368</td>
<td>POINT (-10420728.853 5166493.501)</td>
<td>1261954</td>
<td>50010</td>
<td>4.511569</td>
<td>[50010, 50010, 50010, 50010, 50010, 50010, 500...</td>
<td>[0.21342223699654192, 3.17473669691422, 3.1849...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>4</td>
<td>-93.1085</td>
<td>41.3333</td>
<td>POINT (-10364790.809 5061628.338)</td>
<td>207898</td>
<td>50138</td>
<td>78.010282</td>
<td>[50138, 50138, 50138, 50138, 50138, 50138, 501...</td>
<td>[18.31278035976892, 19.967693631552844, 21.309...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>5</td>
<td>-90.6103</td>
<td>41.5861</td>
<td>POINT (-10086692.457 5099179.465)</td>
<td>519778</td>
<td>52806</td>
<td>10.161212</td>
<td>[52806, 52806, 52806, 52806, 52806, 52806, 528...</td>
<td>[4.24276261571108, 4.870854523238734, 4.993111...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>6</td>
<td>-95.8953</td>
<td>41.2213</td>
<td>POINT (-10675015.965 5045038.366)</td>
<td>395965</td>
<td>51501</td>
<td>90.983468</td>
<td>[51501, 51501, 51501, 51501, 51501, 51501, 515...</td>
<td>[10.084917943102482, 26.16403722913567, 28.485...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">7</td>
<td>7</td>
<td>-92.4293</td>
<td>42.4960</td>
<td>POINT (-10289182.610 5235569.854)</td>
<td>550407</td>
<td>50613</td>
<td>49.319472</td>
<td>[50613, 50613, 50613, 50613, 50613, 50613, 506...</td>
<td>[15.604875076006634, 16.124558588950354, 29.19...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">8</td>
<td>8</td>
<td>-93.5519</td>
<td>41.6058</td>
<td>POINT (-10414149.871 5102111.883)</td>
<td>187076</td>
<td>50317</td>
<td>11.959234</td>
<td>[50317, 50317, 50317, 50317, 50317, 50317, 503...</td>
<td>[3.7729410257543035, 7.462518448995617, 7.6092...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">9</td>
<td>9</td>
<td>-95.0369</td>
<td>40.7294</td>
<td>POINT (-10579459.315 4972509.787)</td>
<td>358873</td>
<td>51632</td>
<td>292.360969</td>
<td>[51632, 51632, 51632, 51632, 51632, 51632, 516...</td>
<td>[27.402712270050465, 30.319545661080536, 35.25...</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>We confirm that the ZIP Code identified using <code>sjoin_nearest</code> (ZIP5) matches the nearest address ZIP Code for each of the 10 points of interest.</p>
<p>As final diagnostic, we can visualize all the points from the OpenAddresses dataset that map to one of our POIs nearest ZIP Codes, along with the convex hull enclosing those points. This will provide additional context missing from a purely distance based diagnostic. We focus on the point with id = 1, and perform the following steps:</p>
<ul>
<li>Filter <code>oa</code> to addresses having ZIP Code = 52537.</li>
<li>Combine resulting geometries using <code>.unary_union</code>.</li>
<li>Call <code>.convex_hull</code> to compute the convex hull polygon enclosing the result from the previous step.</li>
<li>Visualize address points, convex hull and original point of interest.</li>
</ul>
<div id="7342ffc7" class="cell" data-execution_count="19">
<div class="sourceCode cell-code" id="cb18" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb18-1"></span>
<span id="cb18-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Filter oa to addresses having ZIP Code = 52537.</span></span>
<span id="cb18-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Repoject to WGS84 for visualization.</span></span>
<span id="cb18-4">oa52537 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> oa[oa.zip5<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"52537"</span>].to_crs(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:4326"</span>).reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb18-5"></span>
<span id="cb18-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Addresses in ZIP Code 52537: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(oa52537)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb18-7"></span>
<span id="cb18-8">oa52537.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Addresses in ZIP Code 52537: 1,830</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="19">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">zip5</th>
<th data-quarto-table-cell-role="th">geometry</th>
<th data-quarto-table-cell-role="th">lon</th>
<th data-quarto-table-cell-role="th">lat</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>52537</td>
<td>POINT (-92.45222 40.75075)</td>
<td>-92.452221</td>
<td>40.750748</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>52537</td>
<td>POINT (-92.33024 40.80313)</td>
<td>-92.330243</td>
<td>40.803125</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>52537</td>
<td>POINT (-92.56104 40.62839)</td>
<td>-92.561039</td>
<td>40.628394</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>52537</td>
<td>POINT (-92.46856 40.71069)</td>
<td>-92.468560</td>
<td>40.710687</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>52537</td>
<td>POINT (-92.31510 40.74755)</td>
<td>-92.315096</td>
<td>40.747551</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>52537</td>
<td>POINT (-92.21903 40.74897)</td>
<td>-92.219034</td>
<td>40.748971</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>52537</td>
<td>POINT (-92.34159 40.71283)</td>
<td>-92.341592</td>
<td>40.712831</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">7</td>
<td>52537</td>
<td>POINT (-92.42078 40.70208)</td>
<td>-92.420783</td>
<td>40.702076</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">8</td>
<td>52537</td>
<td>POINT (-92.22149 40.77867)</td>
<td>-92.221492</td>
<td>40.778673</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">9</td>
<td>52537</td>
<td>POINT (-92.42891 40.87646)</td>
<td>-92.428911</td>
<td>40.876458</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<div id="1638b1b1" class="cell" data-execution_count="20">
<div class="sourceCode cell-code" id="cb20" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb20-1"></span>
<span id="cb20-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get convex hull for ZIP Code = 52537.</span></span>
<span id="cb20-3">cvh <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> oa52537.unary_union.convex_hull</span>
<span id="cb20-4"></span>
<span id="cb20-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get POI lat and lon.</span></span>
<span id="cb20-6">poi_y <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pois[pois.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">id</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>].item()</span>
<span id="cb20-7">poi_x <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pois[pois.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">id</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>].item()</span>
<span id="cb20-8"></span>
<span id="cb20-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Initialize map.</span></span>
<span id="cb20-10">f <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Figure(width<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">800</span>, height<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">525</span>)</span>
<span id="cb20-11">m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Map(location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[poi_y, poi_x], zoom_start<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>).add_to(f)</span>
<span id="cb20-12"></span>
<span id="cb20-13"></span>
<span id="cb20-14">folium.Marker(</span>
<span id="cb20-15">    location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[poi_y, poi_x],</span>
<span id="cb20-16">    icon<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>folium.Icon(color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>),</span>
<span id="cb20-17">    popup<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"id=1: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>poi_x<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>poi_y<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span></span>
<span id="cb20-18">    ).add_to(m)</span>
<span id="cb20-19"></span>
<span id="cb20-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Add address points to map.</span></span>
<span id="cb20-21"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> point <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> oa52537.geometry:</span>
<span id="cb20-22">    folium.CircleMarker(</span>
<span id="cb20-23">        location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[point.y, point.x],</span>
<span id="cb20-24">        radius<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">3.5</span>,</span>
<span id="cb20-25">        color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#4f9de4"</span>,</span>
<span id="cb20-26">        fill<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb20-27">        weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>,</span>
<span id="cb20-28">        fill_opacity<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.35</span></span>
<span id="cb20-29">    ).add_to(m)</span>
<span id="cb20-30"></span>
<span id="cb20-31"></span>
<span id="cb20-32"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Add the convex hull polygon to the map.</span></span>
<span id="cb20-33">folium.Polygon(</span>
<span id="cb20-34">    locations<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[[lat, lon] <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> lon, lat <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> cvh.exterior.coords],</span>
<span id="cb20-35">    color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#184771"</span>,</span>
<span id="cb20-36">    fill<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span></span>
<span id="cb20-37">).add_to(m)</span>
<span id="cb20-38"></span>
<span id="cb20-39"></span>
<span id="cb20-40">m</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="20">
<iframe srcdoc="<!DOCTYPE html>
<html>
<head>
    
    <meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot; />
    
        <script>
            L_NO_TOUCH = false;
            L_DISABLE_3D = false;
        </script>
    
    <style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>
    <style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>
    <script src=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js&quot;></script>
    <script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js&quot;></script>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css&quot;/>
    
            <meta name=&quot;viewport&quot; content=&quot;width=device-width,
                initial-scale=1.0, maximum-scale=1.0, user-scalable=no&quot; />
            <style>
                #map_9a6a54bbfb2064dabeb8bba12ed44bf0 {
                    position: relative;
                    width: 100.0%;
                    height: 100.0%;
                    left: 0.0%;
                    top: 0.0%;
                }
                .leaflet-container { font-size: 1rem; }
            </style>
        
</head>
<body>
    
    
            <div class=&quot;folium-map&quot; id=&quot;map_9a6a54bbfb2064dabeb8bba12ed44bf0&quot; ></div>
        
</body>
<script>
    
    
            var map_9a6a54bbfb2064dabeb8bba12ed44bf0 = L.map(
                &quot;map_9a6a54bbfb2064dabeb8bba12ed44bf0&quot;,
                {
                    center: [40.6608, -92.5043],
                    crs: L.CRS.EPSG3857,
                    zoom: 10,
                    zoomControl: true,
                    preferCanvas: false,
                }
            );

            

        
    
            var tile_layer_b73efdc661295d1b8c7f885202c44925 = L.tileLayer(
                &quot;https://tile.openstreetmap.org/{z}/{x}/{y}.png&quot;,
                {&quot;attribution&quot;: &quot;\u0026copy; \u003ca href=\&quot;https://www.openstreetmap.org/copyright\&quot;\u003eOpenStreetMap\u003c/a\u003e contributors&quot;, &quot;detectRetina&quot;: false, &quot;maxNativeZoom&quot;: 19, &quot;maxZoom&quot;: 19, &quot;minZoom&quot;: 0, &quot;noWrap&quot;: false, &quot;opacity&quot;: 1, &quot;subdomains&quot;: &quot;abc&quot;, &quot;tms&quot;: false}
            );
        
    
            tile_layer_b73efdc661295d1b8c7f885202c44925.addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var marker_438414b261a86b25df19a73a1bc584f0 = L.marker(
                [40.6608, -92.5043],
                {}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var icon_d3cf31e71f9132b74b06e6560d7cc58e = L.AwesomeMarkers.icon(
                {&quot;extraClasses&quot;: &quot;fa-rotate-0&quot;, &quot;icon&quot;: &quot;info-sign&quot;, &quot;iconColor&quot;: &quot;white&quot;, &quot;markerColor&quot;: &quot;red&quot;, &quot;prefix&quot;: &quot;glyphicon&quot;}
            );
            marker_438414b261a86b25df19a73a1bc584f0.setIcon(icon_d3cf31e71f9132b74b06e6560d7cc58e);
        
    
        var popup_29d4c7498e7f7ca4fbab6cd77f81f556 = L.popup({&quot;maxWidth&quot;: &quot;100%&quot;});

        
            
                var html_a3ae2dd2ad19969c392c8efc072ce224 = $(`<div id=&quot;html_a3ae2dd2ad19969c392c8efc072ce224&quot; style=&quot;width: 100.0%; height: 100.0%;&quot;>id=1: -92.5043 40.6608</div>`)[0];
                popup_29d4c7498e7f7ca4fbab6cd77f81f556.setContent(html_a3ae2dd2ad19969c392c8efc072ce224);
            
        

        marker_438414b261a86b25df19a73a1bc584f0.bindPopup(popup_29d4c7498e7f7ca4fbab6cd77f81f556)
        ;

        
    
    
            var circle_marker_4191f9d58ea5d0d022f036f9bd1f96a4 = L.circleMarker(
                [40.750747699999984, -92.4522206],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fdff965da3703469f2950d73970f1489 = L.circleMarker(
                [40.8031253, -92.3302426],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b89c2c038de1c8f4c91f95b96a8d8bf5 = L.circleMarker(
                [40.62839429999998, -92.5610393],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_245a1baf7d135d19899a71f0f3979fd9 = L.circleMarker(
                [40.7106867, -92.4685603],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_48af34bf2e4378a0eaa8ae9a60575823 = L.circleMarker(
                [40.7475506, -92.3150956],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_343a23beb4e142274a04fe4de743f344 = L.circleMarker(
                [40.74897099999999, -92.21903389999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6ba018965c0d11d1263925ff4f0b159b = L.circleMarker(
                [40.71283090000001, -92.34159229999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fa2b01afe0b38d7527cc1b2be9552ff1 = L.circleMarker(
                [40.7020758, -92.4207833],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_334d54c916a1ebf56a76c5a183dc3922 = L.circleMarker(
                [40.7786729, -92.22149199999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_befd800e0a7357bda5fa1c0d5a3de003 = L.circleMarker(
                [40.8764584, -92.42891059999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4d5664f3bd1c18d446a96e7676404bb4 = L.circleMarker(
                [40.7482158, -92.3795935],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0594167cd4da8642f25967e7260c9736 = L.circleMarker(
                [40.76537309999999, -92.5396657],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7d4f2354a2fc72a73e1bb9ededd58ae4 = L.circleMarker(
                [40.78433299999999, -92.4720034],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6e2099c629c780de95ca741fee108eba = L.circleMarker(
                [40.89954569999998, -92.41672149999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f353480775ec6598473e9a07fe3764f0 = L.circleMarker(
                [40.62064999999999, -92.51415],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f60e91883e96c12eecfb57c5aee552d7 = L.circleMarker(
                [40.7571659, -92.50466149999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dd34599a7098fd14baa407e8048b8c39 = L.circleMarker(
                [40.9247, -92.41094619999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_67620c621587a34fd930a5474ad76709 = L.circleMarker(
                [40.763475, -92.42013739999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fedb140f2c334079e26cacafe9fa5259 = L.circleMarker(
                [40.7251042, -92.3857589],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7b71b007884c55ec114e74114f99cf32 = L.circleMarker(
                [40.68898719999999, -92.424028],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c8f64e77b326c78890591f9217ec12a7 = L.circleMarker(
                [40.78453819999999, -92.4342224],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ff8ad1a095d032ab6b425e077c0c2e4f = L.circleMarker(
                [40.8515976, -92.33273339999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e617872dda798eb4e83e40850c081c95 = L.circleMarker(
                [40.9179255, -92.4357304],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a1ee9e778e0e68171f45e0a1bcad3ecc = L.circleMarker(
                [40.7706812, -92.4966553],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_944713ddfe590f6e4b1928aaa1fc6b8d = L.circleMarker(
                [40.708176699999996, -92.50510029999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_90070471e9ff05c989ae88afd074efef = L.circleMarker(
                [40.75866269999999, -92.44477439999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b7458526a82028633bec0dc122cd792f = L.circleMarker(
                [40.7239427, -92.5590031],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ee721e86e701ae6d106662069083c140 = L.circleMarker(
                [40.74782749999999, -92.3890057],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5510cf20b919f0e3d276624fbd18ee31 = L.circleMarker(
                [40.85343840000001, -92.3434074],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_89b8067eac6445f01461e6921397d352 = L.circleMarker(
                [40.85775720000001, -92.3669676],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5fb715179ce714f934e197d6a190ba6b = L.circleMarker(
                [40.7767088, -92.27513839999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_16e9566ed022381e9a0072e1df7665f0 = L.circleMarker(
                [40.86332050000001, -92.4475676],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2017966e127f8d557eb432ddb7f54aad = L.circleMarker(
                [40.5998974, -92.4951676],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a68f3d0f6f890827f203041b3f7ee372 = L.circleMarker(
                [40.6063319, -92.39378619999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_541c5258b0044400ae53330ed17e3dae = L.circleMarker(
                [40.740622099999996, -92.31023519999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4fd615777ee5cc4c61d509c0a9a4dfa1 = L.circleMarker(
                [40.7730281, -92.3608328],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8948c4597a44a7f5e29f18c49afaec98 = L.circleMarker(
                [40.85518459999999, -92.34577549999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_85dce178fec35986d1b6279c7335555a = L.circleMarker(
                [40.69584269999999, -92.5042666],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ed2ea6c3e97c6b2da38a473965db6f71 = L.circleMarker(
                [40.64543880000001, -92.40919629999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f8dbcfb0e472803b7aff5ec9a98c4e03 = L.circleMarker(
                [40.6961159, -92.422359],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a3e9dacc7b8966cdcf79ff7e0b905f8d = L.circleMarker(
                [40.7609725, -92.44774550000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f7f72ea3b69162f256e233d21a9e6bb9 = L.circleMarker(
                [40.758022, -92.466445],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8fe3beeada032e1c77d0a70d80e65798 = L.circleMarker(
                [40.8350389, -92.4432242],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e54651f5c04c62014e15aded4f68f5d3 = L.circleMarker(
                [40.897005699999994, -92.41116909999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d365ce4c24a6dc5f50636c03df197bba = L.circleMarker(
                [40.92100149999999, -92.4138515],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_06def68ced9a85b5e2d4ab6f39a0f2e8 = L.circleMarker(
                [40.74903359999999, -92.21505439999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_824653f681e306dc5bcf68bee4cc98d9 = L.circleMarker(
                [40.82031709999999, -92.425819],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_42b2923ce3f0e705a372ca7e19cf40e7 = L.circleMarker(
                [40.87144299999999, -92.3330372],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fcbfd43744e7882d643f2a6eb4b50e62 = L.circleMarker(
                [40.8926325, -92.46532459999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d3ccfe35401130ceca589c23b1f35ac0 = L.circleMarker(
                [40.8141724, -92.3419433],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_20e31fe6012bd3f079401f9d84df79b1 = L.circleMarker(
                [40.7474802, -92.36565109999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_73e1383e1b996ccef69be17eb1e392ea = L.circleMarker(
                [40.8183282, -92.4382958],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cd0c847e27df21963cdc08e581bd87e9 = L.circleMarker(
                [40.7335927, -92.27880609999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d513ae420e039a8a496e866166f0c20e = L.circleMarker(
                [40.8274684, -92.4474103],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0c90901ff7f6ae2daa660b6104f6bc73 = L.circleMarker(
                [40.6311897, -92.4656152],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_313925051883eae24f6c37d967ed3f53 = L.circleMarker(
                [40.8211114, -92.42468819999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5972c118a7e8974ff2b3a33485af6117 = L.circleMarker(
                [40.7414045, -92.48529349999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_217dc2d9a4e678ec705eadc0fe237a67 = L.circleMarker(
                [40.8809713, -92.3612314],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4d13dc75776d2e5c7200a10a6bcbc02b = L.circleMarker(
                [40.7400186, -92.4939335],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_90a0c634471313e4d2f3aeb8ab45c192 = L.circleMarker(
                [40.6581737, -92.5089858],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_58d6aff5393524ed33a36c1361a229bf = L.circleMarker(
                [40.81320789999999, -92.3877497],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b94fd488896520bae10c3e860ed39332 = L.circleMarker(
                [40.71988269999999, -92.3795316],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_de6c57d18ef9fc89834ddda143061b59 = L.circleMarker(
                [40.8541213, -92.3839132],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_483da821e48b8b8a4196ce42658cad8f = L.circleMarker(
                [40.75104699999999, -92.4328685],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fdb22d958e3c4ddd9ca46552a70371ad = L.circleMarker(
                [40.896180599999994, -92.4177874],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4ccc7e09b19f27bf2452f6cc191e70be = L.circleMarker(
                [40.918427, -92.42747479999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0ac97b4d74f168cb1263946762343a6a = L.circleMarker(
                [40.72587449999999, -92.50592979999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_00455e88a2e7137b25b4d4f261a7e1b4 = L.circleMarker(
                [40.8159475, -92.2879134],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6a793b0b185b1a49b5dc930cc7869b86 = L.circleMarker(
                [40.8784146, -92.37530379999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6ae9d9d4a04e5b9183ff47fc7766805d = L.circleMarker(
                [40.84970879999999, -92.2952999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5edf316548a075161254984e3055f245 = L.circleMarker(
                [40.7389235, -92.501924],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_aa414af83ec4c7f2dc60fde18b53dbc9 = L.circleMarker(
                [40.896486299999985, -92.32235239999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b0ff309d2e2de42d17504403dbdfe487 = L.circleMarker(
                [40.83192609999998, -92.33893149999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bb609994c591b96894f84cc105a616f4 = L.circleMarker(
                [40.9101338, -92.41474199999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5f2b4e5167da39eb461e436042518068 = L.circleMarker(
                [40.8173836, -92.2546912],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_83138e39d381c40bbbb3695fc8e1f7be = L.circleMarker(
                [40.653264, -92.5382239],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_324daad66b1545b147fac2b563981b73 = L.circleMarker(
                [40.802571099999994, -92.438051],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_23a206017484c8ec260a9a49aa71aa7a = L.circleMarker(
                [40.8131347, -92.39404640000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_eee490a50499330698f9f60ab0bbce3e = L.circleMarker(
                [40.6966999, -92.5433071],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_14477910dea28aaff388eda27094a23b = L.circleMarker(
                [40.905572, -92.41059749999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f227edc0f6015e6b66969b309b3e70c6 = L.circleMarker(
                [40.8959608, -92.41627749999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_23b4eee8a1baac6f6b7d08edc94f0e7a = L.circleMarker(
                [40.90667289999999, -92.33557789999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5807cbe69efcefec1798665f9eaa6486 = L.circleMarker(
                [40.6773553, -92.5035336],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d7183a48403d7f85a3b8d9ec3b3493fd = L.circleMarker(
                [40.65708819999998, -92.6158468],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e5b9f3163d422566764a35ea97f47f0f = L.circleMarker(
                [40.9167344, -92.45409949999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d3572e5cf9d9254d95d0944159fba4cc = L.circleMarker(
                [40.71177600000001, -92.2926917],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2f505b969c1fb338419c24b817556a56 = L.circleMarker(
                [40.87358989999999, -92.4533744],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2b9d8f0a464417770ab835e8024dd895 = L.circleMarker(
                [40.8748747, -92.391035],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b0c624bf0e9ee3fae413067fd2493dc0 = L.circleMarker(
                [40.7969446, -92.40438639999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e7375e0d91a28135ffac335b341bc618 = L.circleMarker(
                [40.70947890000001, -92.38044059999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8a211ad0dd4647239d44529040699ad9 = L.circleMarker(
                [40.777081, -92.2811767],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d2c99d512a669403c0d53584f2fbe703 = L.circleMarker(
                [40.8057455, -92.3744988],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_453d488cfd4f27f531b9983ada81ed0c = L.circleMarker(
                [40.865529599999995, -92.37714200000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9a652292cc5f6017a448257235d65948 = L.circleMarker(
                [40.9094879, -92.4148106],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_15fa4116c738e084ad8a0545b2b19c5a = L.circleMarker(
                [40.757818900000004, -92.48610740000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_577e3f402c3e1ca98499e86771edd824 = L.circleMarker(
                [40.8139135, -92.4491214],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9ca7add9ccc4254dd477834b273771c2 = L.circleMarker(
                [40.777037, -92.30566209999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_69f6a5317c277e3de3e166d1cd852ef0 = L.circleMarker(
                [40.65310719999999, -92.36319699999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d8b92e570b42987d80a23dc337e16d97 = L.circleMarker(
                [40.9346589, -92.42021259999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ccd9cad652b6a82027a9becfbf05e81e = L.circleMarker(
                [40.825997, -92.3992978],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_11fed48eeb83e5b545d5608cda0eb634 = L.circleMarker(
                [40.6446241, -92.60449129999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_755030bd7607faec3b026de8e172246b = L.circleMarker(
                [40.8551134, -92.37318159999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e0b1ee40c03eca07e09c96fb86d7ac64 = L.circleMarker(
                [40.724897199999994, -92.5576074],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1f0a873f1155c04c151373666a971869 = L.circleMarker(
                [40.7145037, -92.4096568],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5b6f7dcea242328d9900736e19a4672a = L.circleMarker(
                [40.9224879, -92.41848969999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_984d058ffd5be0fa10f226b40bdb086c = L.circleMarker(
                [40.8287194, -92.32264579999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_80ed3dd0b4f36ca91cc59952708fe09d = L.circleMarker(
                [40.699460399999985, -92.5430198],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_aa82868c023a15eff10b853605da684a = L.circleMarker(
                [40.892650999999994, -92.37932599999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8db66e63b7013c45eb84eab641cd3299 = L.circleMarker(
                [40.75942849999999, -92.48614989999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2d21a21831737e9968c5127cf71ee323 = L.circleMarker(
                [40.91931069999999, -92.3460461],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6a8f8ea317aa0e7cfdc37e7eb266c4fd = L.circleMarker(
                [40.6552546, -92.3641884],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b819cbad334e5fc6eb2546b25d913143 = L.circleMarker(
                [40.8580997, -92.3935561],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5b39f4e8f99bb735132e20956e6eb41b = L.circleMarker(
                [40.740780599999994, -92.4308658],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8d47f789987ec06adc8a570409b22c5d = L.circleMarker(
                [40.73716389999999, -92.37964819999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b8cb922ed25a5c03feeb2fc231cc42d4 = L.circleMarker(
                [40.6462554, -92.62265799999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c5cba28af277ea45ac653a782c559495 = L.circleMarker(
                [40.7399464, -92.4570032],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d783733039a46ed2292dcdbde9860d88 = L.circleMarker(
                [40.697785, -92.5192163],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1140d97b5e1ee003c52ec7e7d58527d5 = L.circleMarker(
                [40.821101099999986, -92.4294978],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d85c69edc0313f0e7ecb1c76fd004164 = L.circleMarker(
                [40.9066014, -92.4132346],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d26223c6424ce752089c059c17d5fdda = L.circleMarker(
                [40.9022664, -92.4341748],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_947edd9f06a4c4e968d98294bfc4951f = L.circleMarker(
                [40.899647099999996, -92.4118667],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_36efe0448cc2b06ae25903f076207bd8 = L.circleMarker(
                [40.66271969999999, -92.4653797],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1a5c3efb83459336065ae1e73a137f17 = L.circleMarker(
                [40.598651499999995, -92.6086662],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_568797481f5c1397f97eeb5166383071 = L.circleMarker(
                [40.7256931, -92.5588764],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4c5842b4c8bd96862b444c2a3c1fadd0 = L.circleMarker(
                [40.77689089999999, -92.3219413],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b9c7d195f2f83b9e33c59ea8d2a34b04 = L.circleMarker(
                [40.938974499999986, -92.4010114],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_39a1e97105f6c3607b9e152b12e73071 = L.circleMarker(
                [40.6814508, -92.44743079999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_65d648542c61d684853c6f3d414e63e8 = L.circleMarker(
                [40.6199811, -92.42408990000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8857fe4d8d89c0e469ba8769ea978424 = L.circleMarker(
                [40.6488042, -92.3800176],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5c1babdff420e435b77ca99fb3c53abd = L.circleMarker(
                [40.68682279999999, -92.53111],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a146513f773fe4f09916b68084c7c3f7 = L.circleMarker(
                [40.6316767, -92.4130051],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_726be347e268553b29ee311a81fa58fb = L.circleMarker(
                [40.8678992, -92.392277],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8716dddb6eced7fc85620097ddc389c9 = L.circleMarker(
                [40.8518876, -92.4188983],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_228063e5f8706c408dae88ddceb56f6b = L.circleMarker(
                [40.8423072, -92.34841969999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4e584976189b1cd75a793d5a5bd56b65 = L.circleMarker(
                [40.8409711, -92.3987491],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d7bc01d7ee9820b6e63f63d2eca7ecbd = L.circleMarker(
                [40.860869799999996, -92.35105519999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_387a7b683dd4e3a4804e048bbe8da209 = L.circleMarker(
                [40.61475000000001, -92.2989409],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bcd129c2c5b8792ca560ae7c94f8b72f = L.circleMarker(
                [40.749217400000006, -92.201913],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6216e77840de557a439fc5b437927423 = L.circleMarker(
                [40.6677303, -92.5176236],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bbe457b71de2563bfa1db7df4961285a = L.circleMarker(
                [40.850409600000006, -92.4187799],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5ccb48f76fcd7cd293d2f4f23486b563 = L.circleMarker(
                [40.6184348, -92.2967294],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0df5cfea7b7874c0c318465f8f500f27 = L.circleMarker(
                [40.622323400000006, -92.4549404],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_061bc009322be077122c1f20021289b9 = L.circleMarker(
                [40.8992248, -92.4172279],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_90d1843b5b9fb16ea8d9eb6bcbea31f6 = L.circleMarker(
                [40.6461995, -92.5192944],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_59a50a4ee99f92aa6675c36550d7f1f1 = L.circleMarker(
                [40.86142660000001, -92.3438732],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1a3f6e9ec856d95c2988344e2d698a9a = L.circleMarker(
                [40.74024240000001, -92.35288509999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d65a367ee757efdc6a77a85d0d622ed8 = L.circleMarker(
                [40.6456954, -92.62270039999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0e0fe70224082c9e6c7ae177e5e32b94 = L.circleMarker(
                [40.62840759999999, -92.58035],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5870ecbf1997f3ee86276073dccca996 = L.circleMarker(
                [40.7042025, -92.34161059999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b7f525fb8e46f63aacff359db2e34804 = L.circleMarker(
                [40.6530623, -92.4869336],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_85b04f04c7261d536114a1ecbd6888f1 = L.circleMarker(
                [40.9336376, -92.4067921],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_960001500b79ee614018710b2897b32d = L.circleMarker(
                [40.722992999999995, -92.56188529999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0ffc6c09481d08fe1955d7db2f3e1936 = L.circleMarker(
                [40.8760374, -92.4507428],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f2a184353834e98e04b95c67a2355875 = L.circleMarker(
                [40.71169780000001, -92.2460702],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_eff70f87f08d3bd9f6c29f24571027e4 = L.circleMarker(
                [40.7993727, -92.2551426],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_98b1ca1dcd1545f943ad0903da54289f = L.circleMarker(
                [40.74954179999999, -92.20260889999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b2e71b013b6367e07ef374e8d815f054 = L.circleMarker(
                [40.8544962, -92.39732389999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e6e6739d3e74ef573e7446eda0618598 = L.circleMarker(
                [40.8888454, -92.4109963],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_da239339b7cca1287dda64d329b6bca4 = L.circleMarker(
                [40.713107, -92.50391019999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3cad40db1d2ca8f93244fd2cced31cb8 = L.circleMarker(
                [40.791359099999994, -92.41865749999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a842b2dd28efae2d18a6d1aebc53c480 = L.circleMarker(
                [40.6819961, -92.38980379999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_10f83c67a5c8bc455fd8cdde440f7840 = L.circleMarker(
                [40.7697005, -92.38487149999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ac7442923ca10b3a48afeed93738ad55 = L.circleMarker(
                [40.7716491, -92.4031174],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_03bdc6add4e1957c3283e1052e1e4ea3 = L.circleMarker(
                [40.7991538, -92.23906929999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_94c3afb20e8a68cbd0fb58fb2f1424b4 = L.circleMarker(
                [40.92228829999999, -92.410914],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cde2371f4f8fad2b6682480b0cfbe47a = L.circleMarker(
                [40.7071462, -92.2357062],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a56c5983be25dbf1521c98d6dfca4e56 = L.circleMarker(
                [40.81322790000001, -92.4001697],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a4148367b1e253d7c5be0aa595427c08 = L.circleMarker(
                [40.7405154, -92.45382729999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e2fff91ac72eb6f0b1196177a21ae0a8 = L.circleMarker(
                [40.87461559999999, -92.39304380000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d7c45f07a6f4ebb81ea25c97da3d1616 = L.circleMarker(
                [40.866317099999996, -92.4472195],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a2612176c97f3ba1f6da7753b8a1ade7 = L.circleMarker(
                [40.876036199999994, -92.4496009],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5a34577dd843f457dd2cf063d2d0df3a = L.circleMarker(
                [40.86746309999999, -92.37627939999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cbe61dd15ed0a1ee56476da0316f4246 = L.circleMarker(
                [40.7405036, -92.5139322],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0d078f387cfc67731716ac7457dbbddb = L.circleMarker(
                [40.91648379999999, -92.41817529999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9eddbfa4db2395c540134f83709a9f7a = L.circleMarker(
                [40.9230949, -92.4105814],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_164255e10acd8690a0bbee3d20cc8772 = L.circleMarker(
                [40.8491502, -92.339914],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b9e7f964bfb5af9eaf075537c0f07e16 = L.circleMarker(
                [40.798609, -92.4558617],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_247ce7ef6d40a25bcd4a04861ba8633f = L.circleMarker(
                [40.7889434, -92.3985608],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1d5bd8e21cd3e8587386b208293375fc = L.circleMarker(
                [40.8521439, -92.39975529999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c58547b6f4555733522441db37ec8691 = L.circleMarker(
                [40.75117, -92.44101160000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a87eda01fcbde9c9066be1cb56768f22 = L.circleMarker(
                [40.73439419999999, -92.24355129999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b3881c89c6d9658687d89d6f902dcd70 = L.circleMarker(
                [40.86501069999999, -92.3918526],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d87fdd33a1ef8e8e30aa62a815dd72c8 = L.circleMarker(
                [40.7489328, -92.2025516],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fbded6596d5a1a8670d05592090def9a = L.circleMarker(
                [40.75914249999999, -92.4861175],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5437e87ab58c6bb8beb5940d76741a5e = L.circleMarker(
                [40.85384520000001, -92.382687],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_369e2b517fe75a8b726f0e0528f7e7f9 = L.circleMarker(
                [40.63719569999998, -92.3941998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0a6750590477a297bc2428d739cf680e = L.circleMarker(
                [40.66756069999999, -92.3212879],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9e0a9c24428e9cd5fba7cb87764e7dea = L.circleMarker(
                [40.7515388, -92.4913699],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_716e9dffdf52da13d3711961ca30ec0f = L.circleMarker(
                [40.7326288, -92.2333025],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e0b9c746beecfdc0ef1a1e152066b108 = L.circleMarker(
                [40.750535199999995, -92.4932383],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_429cc8b84d240558d363022f2ca9420a = L.circleMarker(
                [40.7233647, -92.56037509999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_268a7356b79bd814e7f91026065604f7 = L.circleMarker(
                [40.81858509999999, -92.3806015],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_750082e076ccac437ac0dc223969c330 = L.circleMarker(
                [40.87139299999999, -92.46058560000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_65e34f60fb43a6a9320bbea680347f92 = L.circleMarker(
                [40.6749397, -92.3095523],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_79e22791006c3b8e9be6744cb511cff7 = L.circleMarker(
                [40.776322799999996, -92.38573219999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0f51dd95c9017aff5dc741653eeeed3a = L.circleMarker(
                [40.7292656, -92.3481475],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f9c1ac14abf6cdd69595ce186506dc43 = L.circleMarker(
                [40.7331939, -92.55163539999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bcbc4eb1137693e0244685db75d91263 = L.circleMarker(
                [40.92344189999999, -92.39120499999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d581e8be35c0bffcf7c0b1b0a71d59a6 = L.circleMarker(
                [40.6658567, -92.4643188],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f665d0023d201c2c4b997886fda78a96 = L.circleMarker(
                [40.8661696, -92.46142619999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5e002442a20dc030f9fbfbddcaf5668c = L.circleMarker(
                [40.7856693, -92.3224784],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_76ce581a5ed1f80303f709689fa35a35 = L.circleMarker(
                [40.88479269999999, -92.3841626],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_395314964b541897eded96ac197acbdd = L.circleMarker(
                [40.76991509999999, -92.47843439999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2fdf2cf351aae10a3b89e7ce98bb32f0 = L.circleMarker(
                [40.7985892, -92.4194218],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0be0b9dc5731fdfb6d86aa03dd11fc2a = L.circleMarker(
                [40.9158838, -92.4073156],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d8ffa69e70897063acd4b76edc208a6c = L.circleMarker(
                [40.816184, -92.41413409999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3e58532ea5c1016b7aaa61398200fb60 = L.circleMarker(
                [40.617507, -92.36328299999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_673ace2870ed3e8958e11d89e250b556 = L.circleMarker(
                [40.62967, -92.31812779999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_75ea360928337aba4fd542134ed20e5a = L.circleMarker(
                [40.8382173, -92.4260123],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4a731a9ea85d37845ba7c8050cc28b3a = L.circleMarker(
                [40.7765212, -92.31660179999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_06f585cbce6af15d24da7eb1bc43bd6b = L.circleMarker(
                [40.63342879999998, -92.3521532],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_35cda96337545adad82d54c844dcc87c = L.circleMarker(
                [40.80162789999999, -92.31294779999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_96552348f76058b4405fa1c35dd9b998 = L.circleMarker(
                [40.773625499999994, -92.24063529999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3bd37e4398976ac56bdc7b1cf9e1dfab = L.circleMarker(
                [40.7696286, -92.462913],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ba0ea3b35fa6eb1b314d3f704be2d31a = L.circleMarker(
                [40.66031709999999, -92.5142375],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_305dacb5aa163b7103385ea91a320705 = L.circleMarker(
                [40.7330491, -92.54777469999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ade99fb605fd136bc39d8b9d93cac519 = L.circleMarker(
                [40.65583530000001, -92.4250766],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7beb18d17c687f62a2466fd301f69e6b = L.circleMarker(
                [40.5986933, -92.3799197],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5cd94f6015c6c6d636425563d41234ac = L.circleMarker(
                [40.8603373, -92.4475104],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cb134c29a6f5b09b851c3c56d85322f1 = L.circleMarker(
                [40.62625249999999, -92.48209519999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c9e2c7164f294a9cf645e1445eaa5054 = L.circleMarker(
                [40.7807643, -92.51710519999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7542e5728132b89696a69aff8c055a55 = L.circleMarker(
                [40.6357562, -92.33595539999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bd2509c85d61b53a449649b903f24178 = L.circleMarker(
                [40.748275799999995, -92.20507559999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_264b62a01ab22161cd355d04d050c2b0 = L.circleMarker(
                [40.8715265, -92.41374459999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_967e321f3b0e3f6b806cdaa564fc1907 = L.circleMarker(
                [40.685371599999996, -92.3134367],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9eae14367e73c6482682fc95e592cbf3 = L.circleMarker(
                [40.6889217, -92.4411247],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_862355fac1d779cdf2349cc13d9ca59f = L.circleMarker(
                [40.771904, -92.4675412],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0a47bc09285ebcc73bf7b30fc641dfdf = L.circleMarker(
                [40.740749300000004, -92.3497117],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_03981776f205118b7941fab32d44cc58 = L.circleMarker(
                [40.795827199999984, -92.4374146],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_694ef0bb58bfc3852efb509a3a5d492e = L.circleMarker(
                [40.7331787, -92.2483454],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_209da000494acb463d34a868e5b30a8d = L.circleMarker(
                [40.71107789999999, -92.33187799999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_94259d67736b71cdf9e61d8510a0d0e3 = L.circleMarker(
                [40.7344985, -92.40446659999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a72458d800d7bdbc6339ddb6e8e515d6 = L.circleMarker(
                [40.915891899999984, -92.4178996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cbdd356bcb91638870820b591b58973c = L.circleMarker(
                [40.626126499999984, -92.4544829],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_594dafad4e60ecc3e73b871aceae9768 = L.circleMarker(
                [40.86446939999999, -92.45953689999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b706c13bd2efcc71446a5dbff07b328b = L.circleMarker(
                [40.634874999999994, -92.35070569999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8dde1554851baaa005cdcfd408c38cf1 = L.circleMarker(
                [40.711845999999994, -92.5114608],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9fc89f987ed459bf1292e1f923a87325 = L.circleMarker(
                [40.726125899999985, -92.5132403],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_878618a925833cdfe295c45945c82b99 = L.circleMarker(
                [40.75594549999999, -92.1909388],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_92f9c205d2a67cbf0004493c1b9dd16f = L.circleMarker(
                [40.7487209, -92.2027003],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bf8d4bdf9d502a1922c96bb4c09a3c7d = L.circleMarker(
                [40.75533519999999, -92.56135209999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_42c72108e543ee5481f5f8272c36aff0 = L.circleMarker(
                [40.7596085, -92.43983339999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7118d9947b299a81196e0faf244259a8 = L.circleMarker(
                [40.68088269999999, -92.47499709999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_82603dd2f9894f6c336feb2bc5627bdf = L.circleMarker(
                [40.65260749999999, -92.48515309999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_01baff31f19eb4269d2799ed562c5b02 = L.circleMarker(
                [40.649038999999995, -92.3365368],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ba3fede3dc8d5ced5b13b18b82df1d3c = L.circleMarker(
                [40.77683029999999, -92.5343766],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_79ad61165fd181a263cc01dd144555cd = L.circleMarker(
                [40.91550269999998, -92.4177012],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_57bdf0379c7374f9d1b442242c6d0dbc = L.circleMarker(
                [40.728210099999984, -92.47377279999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c17d2837cb08b9465b2c3113b74aa498 = L.circleMarker(
                [40.8926406, -92.44549119999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e704cc9d9ab58380857d85fd91e62fbe = L.circleMarker(
                [40.9287585, -92.38353409999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_eafd2784a4d493bdffe9f58844843643 = L.circleMarker(
                [40.867002600000006, -92.4606716],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ea6ea531999eb5fa30c6b970c8e706f4 = L.circleMarker(
                [40.6673627, -92.5272922],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_81d5562efa6a675eeaf22d0c229393f0 = L.circleMarker(
                [40.7867768, -92.3804096],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6b85f21c344d38e72f730a20d801a1ec = L.circleMarker(
                [40.86823989999999, -92.4071609],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_21fda92793c0ab792db6b645b7d53bfb = L.circleMarker(
                [40.8976332, -92.41145459999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e27e400f86d25e3e3967db1d5e3287d5 = L.circleMarker(
                [40.89594629999999, -92.4193681],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_609ea6ff3183701da90368e849cb700d = L.circleMarker(
                [40.7758869, -92.3742788],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_eb66a6e840136e19adabce5326562505 = L.circleMarker(
                [40.6671807, -92.5527172],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_174d357a228ee8f94a556e30e5a03775 = L.circleMarker(
                [40.72442019999999, -92.55802140000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_83c56e229cd5b29ebe9ace24ddd82bc9 = L.circleMarker(
                [40.760228399999995, -92.43884339999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9ba388c0e58d2a744edc4f29c1768da7 = L.circleMarker(
                [40.7549089, -92.61298659999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d53fed2bf548207b1c5fa55bc39b2b56 = L.circleMarker(
                [40.89183119999999, -92.41027059999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ad2e5118c3585c33030dd9b8060de02f = L.circleMarker(
                [40.822465099999995, -92.39850969999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c979314641c64dbcd81fe7246170a25c = L.circleMarker(
                [40.6162116, -92.49212119999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fd6f8a5f55905762b98c85de60525ae8 = L.circleMarker(
                [40.6175691, -92.5814192],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9f996b61beaf4c9c608d6f1f26c6fc61 = L.circleMarker(
                [40.719730799999994, -92.3795464],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_50503cc1d941223dab19dd8870f5cfb8 = L.circleMarker(
                [40.7087994, -92.2719974],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7ee03f89d68196d59c742e060dcc6936 = L.circleMarker(
                [40.725336599999984, -92.5509816],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c880d9a03e1513f837b8a483733cf571 = L.circleMarker(
                [40.75110670000001, -92.48877469999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4292f60364e63e2f59a212011400d2a4 = L.circleMarker(
                [40.8032761, -92.46669519999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ea23d325e28570b542d91f41df6f3816 = L.circleMarker(
                [40.8142638, -92.4653747],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3bd24a001912ba63c15de5650ba181c4 = L.circleMarker(
                [40.774385200000005, -92.53365299999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6cecf3447bf69c6f422de9c25bf4a841 = L.circleMarker(
                [40.746369599999994, -92.20194789999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d7d7a53bf884d521e32858874413d5bf = L.circleMarker(
                [40.8136092, -92.3973617],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4dab563cae30b9c7062a59f1181f6ef1 = L.circleMarker(
                [40.82137290000001, -92.4260177],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2c638686b20f83f462163ba026697d98 = L.circleMarker(
                [40.8131383, -92.42218219999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8a40a7b3328930da2aae4667250e4235 = L.circleMarker(
                [40.86271799999998, -92.40472799999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_efe0d4d127ec42d3a49c1a6eb3b4a4bb = L.circleMarker(
                [40.7691967, -92.4862972],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1236d8feac66301c8bf4879005ef2584 = L.circleMarker(
                [40.7563732, -92.2741553],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_04dd8646619db5d69ca1d61d8dd81a36 = L.circleMarker(
                [40.740698899999984, -92.4958015],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c5484e32103a4d0aa39b435133130b63 = L.circleMarker(
                [40.8626756, -92.40127339999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c910a9213fe6968b0f3e4ddab9a3df14 = L.circleMarker(
                [40.81004089999999, -92.3982448],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fce43e34684ded06979b550376272d01 = L.circleMarker(
                [40.6692085, -92.4655277],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_98386da1a005b7fbedd541468492a1e9 = L.circleMarker(
                [40.7478946, -92.2025581],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1c22c42776c7926090df4e8ad8262fba = L.circleMarker(
                [40.7980132, -92.392929],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_94fc479d1cd769343bd2adab3f1635df = L.circleMarker(
                [40.8568102, -92.3968555],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_042497c1f14cdd1c87fc1e470b88b295 = L.circleMarker(
                [40.7006827, -92.35443709999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ebff5bb4d2ce96318fde1d639e257e0a = L.circleMarker(
                [40.740220999999984, -92.5554996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_43276452d56636e07b27a7bf1c167e09 = L.circleMarker(
                [40.67736430000001, -92.46781980000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cfde446cb3a878696385f953324308e4 = L.circleMarker(
                [40.7812978, -92.4719605],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_20c1070bfd518c4ae01a9e2d814cbfe3 = L.circleMarker(
                [40.6606383, -92.51098559999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1df2d5ec149dfc6f0f68bb4317dc4737 = L.circleMarker(
                [40.64249000000001, -92.37957],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a1f09ca1816fd0f5a827ecd386fb69ee = L.circleMarker(
                [40.8495595, -92.3210626],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_590d8da2df3f63eb6361c1f59adf95d7 = L.circleMarker(
                [40.7002901, -92.48526319999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ae789138113e85c7373d1a05db98caa9 = L.circleMarker(
                [40.7550876, -92.6034408],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4b62b34ce915a5ba44c7d69177896587 = L.circleMarker(
                [40.7561236, -92.2127468],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a59d64a30a1ec35c13ec789f309e79f3 = L.circleMarker(
                [40.78618279999999, -92.44370989999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_77873074732205ed4ce3b0fff657f12e = L.circleMarker(
                [40.7438265, -92.52897339999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3b2981afc7428aa1349acc1f5739c467 = L.circleMarker(
                [40.7479874, -92.3756972],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_05da37fe077cf5e4e66c91fda4af6d7b = L.circleMarker(
                [40.711440200000006, -92.5028845],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_75f897c15f49f4f325e131d1a352ba57 = L.circleMarker(
                [40.8282809, -92.3896814],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e0e3fd0e7f9a1be42fb84e8046c79f16 = L.circleMarker(
                [40.7589223, -92.53124599999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_163615d7b4c2ca5e51b8dbf86d2bfbc7 = L.circleMarker(
                [40.859595799999994, -92.40260799999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5c75c4ca91de2450777e9c16555b0a0c = L.circleMarker(
                [40.73932599999999, -92.5613496],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_29e32a24546a3c9dfd704f0ebfef97bd = L.circleMarker(
                [40.8206378, -92.4256303],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e0eb189d1198deb1e0c122158209939a = L.circleMarker(
                [40.8987419, -92.4188069],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fac600b25137f3f3203324da4f46b981 = L.circleMarker(
                [40.6267663, -92.5391138],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_75266c44a679a40b5094dd4d90132fa0 = L.circleMarker(
                [40.756152, -92.5535171],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a6f49ee77c560b7448a89001e60aa067 = L.circleMarker(
                [40.81796139999999, -92.2625755],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_160638feb6efd5a5bed607be6fc519bd = L.circleMarker(
                [40.8235443, -92.3795831],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_12cabd11b6a7b1d28145b4d788a52dae = L.circleMarker(
                [40.6448094, -92.2934966],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_56c22dc39d34b6be90fc1b9bbfe1851f = L.circleMarker(
                [40.8618282, -92.40369589999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ef3f9aa61d2c665433151314522067d2 = L.circleMarker(
                [40.7490462, -92.2287103],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f6219e2226c5753227a9ca41ac50bccc = L.circleMarker(
                [40.697578, -92.2804952],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2b17ef60dd043785d3d8ce83d4faf4cc = L.circleMarker(
                [40.885776400000005, -92.41767110000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_aff41f2373ea5cdab5f98660821c3049 = L.circleMarker(
                [40.8479542, -92.32283159999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4d4767704e2c11db18db9cf8cb9a3a04 = L.circleMarker(
                [40.6208275, -92.5085448],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_54e50d89f84e788dc10855f082864efe = L.circleMarker(
                [40.6530158, -92.53778440000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fd62692d7e957126c2ade6e74abf22fa = L.circleMarker(
                [40.6536238, -92.31330959999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f3f4d44e4b76a06330004e846bb5eff8 = L.circleMarker(
                [40.89891889999999, -92.4197634],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_61e7dbbffc04e44f4cf8d9dfb7f91f84 = L.circleMarker(
                [40.756312199999996, -92.43717369999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ba6d8c5421232bb480442296c7c85e07 = L.circleMarker(
                [40.915308199999984, -92.4136456],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_123b9aa11e057f70b62ee217cfd8ece5 = L.circleMarker(
                [40.7179582, -92.43722739999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b2ba3dc24a67ca4013a24facdb8dfbd5 = L.circleMarker(
                [40.784082399999996, -92.3634148],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_029ea9e034931114932d6008b90bda4b = L.circleMarker(
                [40.6256783, -92.42291379999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_948c16ab58ea7c091b4ae237ef9ad17b = L.circleMarker(
                [40.7624016, -92.293834],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fec088c0f2a4c7739a80728904c48e94 = L.circleMarker(
                [40.8325306, -92.3796734],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_57aaf92ee8c9d4b4bb7f9aefd066219f = L.circleMarker(
                [40.91303829999999, -92.3875503],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e3adbc1304f87258274429be20bdaa11 = L.circleMarker(
                [40.689784700000004, -92.3939622],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f77d58ed1ffe7ab0edefa6a73c5c16ef = L.circleMarker(
                [40.7792533, -92.46776079999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3c2a4a3b80a0d4eebb6fe1985457e529 = L.circleMarker(
                [40.7651323, -92.4852571],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b00eb387967fcdbfccf5c39115a089a3 = L.circleMarker(
                [40.719586, -92.437294],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a4c86a826d1f3434adaf4ab5cde3ef11 = L.circleMarker(
                [40.893194900000005, -92.35551279999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0c6cdddbd9b6b59d5d48270f1090bd0a = L.circleMarker(
                [40.705713, -92.5620217],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e2c087840127c59a63e32c824ba21ad4 = L.circleMarker(
                [40.63117379999999, -92.46686689999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3ed2c73d8ee696b196a5c71260cc3b67 = L.circleMarker(
                [40.68642010000001, -92.54348569999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_469195559b11fb562f7191be2415167f = L.circleMarker(
                [40.704984800000005, -92.319111],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cb8cf4dd42e708a2aa0bfcb68aaa8fbc = L.circleMarker(
                [40.7513987, -92.4584191],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d8f57a57e46ee9e7a6ddb4ff5929f08b = L.circleMarker(
                [40.6098766, -92.5580527],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0489c3b3ade05f67cd40cdfe6975e5d9 = L.circleMarker(
                [40.747996, -92.38723740000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_225773ea1b6f4d2991865e3acc7d14c4 = L.circleMarker(
                [40.827396, -92.4295158],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c58dd71807afed62661b6f0b51c957bd = L.circleMarker(
                [40.725924299999996, -92.5362551],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b063391967aaeb8f4ce1e6235d10e48a = L.circleMarker(
                [40.9384428, -92.4191829],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3fa28c1fbd9224bbca9d296913da5f46 = L.circleMarker(
                [40.6101561, -92.5944725],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cfd13b570de43710c7203f31c6318f1e = L.circleMarker(
                [40.624343599999996, -92.4526019],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e785d56085736885ce575387f3b59945 = L.circleMarker(
                [40.78434059999999, -92.41490119999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7185ba343b44702448f689ab980baf9a = L.circleMarker(
                [40.748085199999984, -92.2370364],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_40026a8b36178285182f45985b6638af = L.circleMarker(
                [40.7339735, -92.25229],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_af97f47cf6e6c515bd94c66b5cfe03fb = L.circleMarker(
                [40.75097979999999, -92.4333174],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_24b9c10c40bec3792b862e4276fa7451 = L.circleMarker(
                [40.8874658, -92.40995699999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_815cde3c08646d11a214d540c87cd425 = L.circleMarker(
                [40.645738300000005, -92.53745419999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2a6c542059bfe07780582d5c939b9ea4 = L.circleMarker(
                [40.8210574, -92.4290726],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5673d259f107bc4e9935fdf9f825da70 = L.circleMarker(
                [40.7657371, -92.56650909999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fdf4675355c2568608710c6efcb7ecb0 = L.circleMarker(
                [40.90654649999998, -92.4343317],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c487c03979bc486f6ddcefe18686a658 = L.circleMarker(
                [40.919461600000005, -92.3571205],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_218cf27c89212d415c02addd48ec4174 = L.circleMarker(
                [40.59478539999999, -92.502387],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8684ae9b30188594fdb893e766e59579 = L.circleMarker(
                [40.6462399, -92.5571491],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ce7e513136553030cf617bcd43c519b5 = L.circleMarker(
                [40.888631399999994, -92.4663985],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_661127683a5a49f1473382898f21a598 = L.circleMarker(
                [40.9241668, -92.36930159999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_605cfa8b3b1e6d771d190d6bb429af85 = L.circleMarker(
                [40.8382089, -92.37477919999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_97303c6c38e0235efdf24ff7a7f00c02 = L.circleMarker(
                [40.5972497, -92.36110139999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e8d3d5c8002918672f3780b79236e876 = L.circleMarker(
                [40.7177211, -92.3708419],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f898c6a05330af3604be9f5e7f842d8c = L.circleMarker(
                [40.64574299999999, -92.53161790000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d254a1092c834f7c6e42326981e61d32 = L.circleMarker(
                [40.7487078, -92.1976934],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3798f7846b67ca750bc377913cc03712 = L.circleMarker(
                [40.7516523, -92.490989],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f9f2225f1ca79e45b07ee1423c50f7fe = L.circleMarker(
                [40.8277241, -92.3917298],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e99c9da4eb80d41b15f8e3ec7d4645aa = L.circleMarker(
                [40.7591046, -92.46742739999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_184740296482103cee3b15fe5a03afa5 = L.circleMarker(
                [40.74992499999998, -92.2021193],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b9ab06764670bf74724976dbdfe3ee69 = L.circleMarker(
                [40.855898199999984, -92.3425542],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cc3b928ef66d8531587594c9b71ef638 = L.circleMarker(
                [40.93825229999999, -92.4085409],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7174f358781334be224f75d242071954 = L.circleMarker(
                [40.75264709999999, -92.2025585],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e02ed225cba90137310d60a2f867d3f5 = L.circleMarker(
                [40.7407862, -92.54648919999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9bb03008f5744c308a4ed1e50e9659b8 = L.circleMarker(
                [40.79882030000001, -92.4702962],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9effac68a6cd25e6bcc2100d229c3b3f = L.circleMarker(
                [40.62320810000001, -92.45333450000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4b9e54561093a87ca1327154d7b652fc = L.circleMarker(
                [40.7582818, -92.62755359999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0b378a89b82f3d5152e27b0482654073 = L.circleMarker(
                [40.67489450000001, -92.46559459999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_09b8cbf77007975a4bcfadecf53c1d8d = L.circleMarker(
                [40.7115947, -92.30966819999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d46f417e2ceb082dd8610788b10f12a8 = L.circleMarker(
                [40.9375982, -92.3983804],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_864c8931a61b0ec96f6662099a4c8f6f = L.circleMarker(
                [40.635479, -92.35009550000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0e5fafc715e568ebb2cfb9dfedf7cea5 = L.circleMarker(
                [40.64931980000001, -92.35032229999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_216d1670d5c28b0e9ef86b8e89653ac0 = L.circleMarker(
                [40.733043499999994, -92.39843809999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cee99c4b717991d14bf41fa7a399cafb = L.circleMarker(
                [40.828675699999984, -92.2694486],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a2ee3af0865c65036b867c727b8bb525 = L.circleMarker(
                [40.7451524, -92.5998793],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_86400179d10b6a61e53d432204c35fad = L.circleMarker(
                [40.74046749999999, -92.5438399],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1e866b2032031267d525d4c2b1fc2f13 = L.circleMarker(
                [40.76566, -92.540634],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d910a02105da53869d133509bcb1ff96 = L.circleMarker(
                [40.8570743, -92.38175099999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e7c5b4a55f57dcb7f21238e9dd37a5b1 = L.circleMarker(
                [40.6825553, -92.408603],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a0bcdc42b4892821944c3550a4b6e4c6 = L.circleMarker(
                [40.7484854, -92.20333360000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5338d69b70308340795e94bc7f9cdf89 = L.circleMarker(
                [40.83779239999999, -92.34170349999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_83023fdced36dd393ce8c6b06fae266a = L.circleMarker(
                [40.77538649999998, -92.39162259999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_13cb21ced7d363f321c194042401f4a3 = L.circleMarker(
                [40.8830852, -92.38409419999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7ec441c7584eced8e77224e38f13eb40 = L.circleMarker(
                [40.611319400000006, -92.37905209999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cca638f885399945da111fbf06338df7 = L.circleMarker(
                [40.6316902, -92.39021499999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d42f07000b33b6ff9b49ca80b52bfb99 = L.circleMarker(
                [40.733173099999995, -92.2874314],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c3698d266772d12099623675aabc0963 = L.circleMarker(
                [40.8642, -92.26253090000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_aa275277b227e5a6e00a1599dc12160f = L.circleMarker(
                [40.623383200000006, -92.39340169999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e3d39c64c53442315008187f177a4921 = L.circleMarker(
                [40.7987919, -92.3391799],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3b99a5f5dd527b6250dd2dd85d2e2993 = L.circleMarker(
                [40.897878399999996, -92.4073672],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ac5162e4940d103f195c905ea786aa62 = L.circleMarker(
                [40.911479799999995, -92.4615765],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1407f76d3854ccfc9e4147bf8d96b704 = L.circleMarker(
                [40.7482046, -92.42897719999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_014b3175506571f941418925124216ae = L.circleMarker(
                [40.858077, -92.3968087],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6f1bc6477047a56cf48e6a67b9358502 = L.circleMarker(
                [40.7529994, -92.20198929999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7940007fd64e6989635d2e71e7853305 = L.circleMarker(
                [40.8397652, -92.39967829999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_287db9429c2370ae4a782ef2a14fc9ea = L.circleMarker(
                [40.7254176, -92.55339109999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_45251d21ed33c9f462723e27ee6175a6 = L.circleMarker(
                [40.60899169999999, -92.31740860000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dca1d11fb8fb7b346deb1cba90e91d30 = L.circleMarker(
                [40.6966266, -92.3039006],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_11f39f75c42f4de2109cbe5315fa7f31 = L.circleMarker(
                [40.780699899999995, -92.5151969],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bac48e4a9773d2bdc4f7f1e7c61ad0f7 = L.circleMarker(
                [40.6310794, -92.5037384],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1b06b20a0ca6084bff8fc3180633bc84 = L.circleMarker(
                [40.7592737, -92.43764029999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_580a6576c48bd391989e9e279a3b6c4b = L.circleMarker(
                [40.6572432, -92.3983027],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fc3f15687cbc8ceb99c4e80e05f9e166 = L.circleMarker(
                [40.740834500000005, -92.3448154],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1a1b27141f33812208f105ba3b6261a2 = L.circleMarker(
                [40.7801207, -92.39949969999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0d334191f087d9970b40411adb4e20c5 = L.circleMarker(
                [40.6126918, -92.3186221],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7b9d928591992980cb0959ef750e4f88 = L.circleMarker(
                [40.9176581, -92.41813569999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c34eb7bb141367d03d77d434fc472e2d = L.circleMarker(
                [40.93214619999999, -92.3837275],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_56d27d062d1e0fc84b94b4247cd1238b = L.circleMarker(
                [40.7698567, -92.47708549999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_654ae4a3e9981c8c6cc4004e2f555e55 = L.circleMarker(
                [40.7317114, -92.3516921],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e45952b9ea3142e5b103dd3a80c433d7 = L.circleMarker(
                [40.608563700000005, -92.52260419999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6a614a53cae7f045698b0c41649dc1e8 = L.circleMarker(
                [40.64639929999999, -92.4666296],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6e477f67ab491a4cebc3273a7702d9fb = L.circleMarker(
                [40.7541236, -92.561099],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d8fb8e0bbe75340838ab212bf0a36e48 = L.circleMarker(
                [40.8599226, -92.38391169999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7e240b33ab3e09b9f8e4eb0038ea13c7 = L.circleMarker(
                [40.85210519999998, -92.34232519999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_35c0268176f55dc2989fd60e4da5be89 = L.circleMarker(
                [40.9093345, -92.413756],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2ef8817dc0b887f2dcceb1d6b1ddf9c9 = L.circleMarker(
                [40.685065499999986, -92.561355],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5d801f54469bd29b609b2de5a5865808 = L.circleMarker(
                [40.63531369999999, -92.3493845],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_67f979b1c729b94b137a7040183f25a4 = L.circleMarker(
                [40.65187130000001, -92.32990129999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_910aa50c9027e5174a3b01bff7a0aaa1 = L.circleMarker(
                [40.606349299999984, -92.41854409999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_58c63d9c6463d4f4eb30404ce3cd2c6f = L.circleMarker(
                [40.793264900000004, -92.355543],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dfa2243070ec91d161c1c51b9156aa98 = L.circleMarker(
                [40.91974040000001, -92.3515649],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_88c2de4cb6f9f01a1131997b0c71ee80 = L.circleMarker(
                [40.605978499999985, -92.48068509999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b8ef859c5375fba59754d9f592840c2f = L.circleMarker(
                [40.8137073, -92.466121],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3a4d3a3cd7d4e0d180ffeeeccd6f9b88 = L.circleMarker(
                [40.9395085, -92.4070281],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bfc83e7cf71e005bbf4330becb7a401d = L.circleMarker(
                [40.920445499999985, -92.38856049999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_31b87c2866eda3a0105b40578d71ebb0 = L.circleMarker(
                [40.7254449, -92.52739909999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_aaf560f2a5f7d2e4d8529e3c41bb5b9b = L.circleMarker(
                [40.62005819999999, -92.4567638],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a4643a48f52b3d4369a863a12a69f8f0 = L.circleMarker(
                [40.7638176, -92.40724479999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ce9a4280a6e505793facb9efb8cc5757 = L.circleMarker(
                [40.7771674, -92.3086768],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b2cbbc9ec95d6a941180973a9f5aebbb = L.circleMarker(
                [40.627863, -92.50469569999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_313ddc898d38e2584ea90bdcff7967cd = L.circleMarker(
                [40.74120039999998, -92.48508429999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4b93df7cd26e3583bf63de6bf24e9040 = L.circleMarker(
                [40.6062042, -92.57448709999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_93778563c41c0fdda220965f19122235 = L.circleMarker(
                [40.671436899999996, -92.3566838],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e670a8409bfe5bdabaaa02615caa293d = L.circleMarker(
                [40.81399859999999, -92.3022364],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d6a202152d49a1581781af39911c6f17 = L.circleMarker(
                [40.7243308, -92.5613017],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cfd9df58785fd064858079c08205f7e5 = L.circleMarker(
                [40.815463900000005, -92.26417499999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_804b2edbf82835425cb6f7a02b0d9e5f = L.circleMarker(
                [40.92203800000001, -92.4185434],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b18f129f03eaf2dfccddffe6d010b33a = L.circleMarker(
                [40.654742399999996, -92.5809754],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f6fdb67f101701c4988d949cffd11c5d = L.circleMarker(
                [40.6316158, -92.47188999999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7ec565ed488d8f2c1339eceef42a8d6a = L.circleMarker(
                [40.750944999999994, -92.43452659999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_06a35fcef581c6bc8673454b55310933 = L.circleMarker(
                [40.783790200000006, -92.42915259999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9a707158e81c2a6627a8eefbf2596a18 = L.circleMarker(
                [40.6040547, -92.5806593],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ed5fc988e8ab2803ad80343e0a7cb8bd = L.circleMarker(
                [40.8276372, -92.3849107],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_30e9707fcc8286d1be4a39cf4cfcd3b3 = L.circleMarker(
                [40.89495410000001, -92.41117849999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_80aed08b828f80ad378c5bea3c6eaab4 = L.circleMarker(
                [40.8266604, -92.25544359999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_aab209fb8167cda70f5097df96bdc249 = L.circleMarker(
                [40.8558623, -92.38321400000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d71c451c1456d49c254be3942766435f = L.circleMarker(
                [40.8103138, -92.2714589],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5352151b8f66423d3c2e3181f1a22563 = L.circleMarker(
                [40.7697501, -92.4686942],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_727b2af88aba6828d41b3d6507965744 = L.circleMarker(
                [40.84606999999998, -92.3802],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2d8ad66b1f6037741e797f9045053d2e = L.circleMarker(
                [40.6968024, -92.5084624],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4eff6ed45030e5b77569fa932a80686b = L.circleMarker(
                [40.774759, -92.4681614],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4d2c2be9c48606fa2de44b9ccc0db91e = L.circleMarker(
                [40.897250700000015, -92.4168179],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c80a5cdd658af98e5e02edb209adb0b5 = L.circleMarker(
                [40.66853950000001, -92.2875494],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_31b40ee6bb66f0b691f021718bb7ba26 = L.circleMarker(
                [40.6768535, -92.4376684],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2c98c4cb6a3d2dcd85cef8a61cc29ec2 = L.circleMarker(
                [40.74429390000002, -92.43263159999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1931ba55ce7c0e237b2133e0dd4e8b62 = L.circleMarker(
                [40.7978509, -92.45463589999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_71edf35bc786bf2e59de056fd6cea2a2 = L.circleMarker(
                [40.621333099999994, -92.446654],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_521de981baa3947d559f0f7061a2ccd8 = L.circleMarker(
                [40.8776745, -92.4497165],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1d427f07dc8750dc83149e62625e3c66 = L.circleMarker(
                [40.8706346, -92.393267],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ae289d908980aa34a7af7893693a9cbe = L.circleMarker(
                [40.82104429999998, -92.4670274],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5054a0c8d2f6df51e1e672d7f3e0dcea = L.circleMarker(
                [40.89295649999999, -92.41008339999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5a679ff7e88f38f661977e40d8c87c57 = L.circleMarker(
                [40.7253703, -92.54781109999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ce4c715828803a691da89146a6bcb6e3 = L.circleMarker(
                [40.9027501, -92.46128969999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fb935baf349dd70b16e9a70ab9bf9524 = L.circleMarker(
                [40.8618301, -92.3453071],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7ff05a6c6a3b667100a39021c8e858df = L.circleMarker(
                [40.776172599999995, -92.3894899],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7ce577c9da0d59ef8dccbe556729bfa7 = L.circleMarker(
                [40.7509141, -92.4876482],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a98781284cfd6148f326e582413be9e9 = L.circleMarker(
                [40.747916499999995, -92.3651518],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9de3be91d5214703f46976136a2ef250 = L.circleMarker(
                [40.7701581, -92.3334725],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1849fa7bd578f03a626fac352010848b = L.circleMarker(
                [40.81305449999999, -92.42174339999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1b0a6981477b0afd0701972948e57b4e = L.circleMarker(
                [40.936934, -92.3992224],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_097fb11932526b2537667d8a22471315 = L.circleMarker(
                [40.916487899999986, -92.42749019999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_846f823a67c44ddd7e9f667bebfa5533 = L.circleMarker(
                [40.669023, -92.53373579999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_187fb7a1a108325492a1fc2d08c960b4 = L.circleMarker(
                [40.8909497, -92.3251756],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4b066622bfde42a1867ef8460b247ac2 = L.circleMarker(
                [40.7402204, -92.34219889999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_818c20058c20150e3f73a8108ba98ef5 = L.circleMarker(
                [40.913974499999995, -92.41197189999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8e9dfe40594a4c8241ac335380e97981 = L.circleMarker(
                [40.7585415, -92.1868985],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c8419dfcb6e7095235c475f25abc4faa = L.circleMarker(
                [40.6308359, -92.5038072],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8dad108d9e222527f5e9ab377c631e39 = L.circleMarker(
                [40.75619999999999, -92.56150579999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6040bf07592342d7efa9c3ee4a2011e6 = L.circleMarker(
                [40.7779466, -92.48634219999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3c4e6c72169d53c0084c972a4ae0130c = L.circleMarker(
                [40.6536847, -92.39393919999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f0cc2bd7bfdb344de96c8b92b08d071b = L.circleMarker(
                [40.89438869999999, -92.41050099999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9a95fa69885fc2bc712558cee304903b = L.circleMarker(
                [40.82766299999999, -92.4211595],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2fe4080a438eb7d50477ca99af534696 = L.circleMarker(
                [40.74798499999999, -92.300161],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6c5af5a92ac1397aeaf5cb07081da8a2 = L.circleMarker(
                [40.60483529999998, -92.41586859999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d5d5126a4078911091ece4d176266cf1 = L.circleMarker(
                [40.7391274, -92.41856059999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_46b67dd991a08f1df1184115f5d8c7d5 = L.circleMarker(
                [40.9387503, -92.40609029999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3882a33b2c3789aa33dab0b30ebb23d9 = L.circleMarker(
                [40.9114555, -92.36311979999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4ee0bb5d38a0979bd4ac9de8fd5a2e13 = L.circleMarker(
                [40.724356199999995, -92.5619159],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_be9bb286686e1ea7f6211d0c83949b67 = L.circleMarker(
                [40.62779609999998, -92.59971549999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_141cc27a83594e9270738cf9f145c19a = L.circleMarker(
                [40.81951459999999, -92.3603782],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d60ba3d68b5363ec79651bc24869483a = L.circleMarker(
                [40.8606466, -92.4205529],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_662b99f45ac757903b527729ba38c0a7 = L.circleMarker(
                [40.6624825, -92.4561194],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_77eb45cc7b0635e7033125ac8fc36b7f = L.circleMarker(
                [40.8958321, -92.41127679999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2d1c730f67c45d112a0c3d56f9be9597 = L.circleMarker(
                [40.6435338, -92.5009366],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a35ac1def14700a1d10f1ad3d06130b8 = L.circleMarker(
                [40.68531980000001, -92.3918872],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_579a070b587945ebde1ad12a934950d7 = L.circleMarker(
                [40.77718149999999, -92.3039078],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_00e08287d726011d083525e087a7c3b3 = L.circleMarker(
                [40.8902458, -92.40140629999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_29f6ee31045bc20060e9d550239f62ba = L.circleMarker(
                [40.73358129999999, -92.23893139999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dc23f96e4bb6a5c9d4c29466dba6d9c2 = L.circleMarker(
                [40.7692547, -92.47454059999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e21327368776d1c58b5080d749115b6a = L.circleMarker(
                [40.6606772, -92.5861878],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_42eea882976f67a3c5f668f3d2276ffd = L.circleMarker(
                [40.75294189999999, -92.3324026],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e4180d18ffae5100da01b9da076a1e56 = L.circleMarker(
                [40.6367165, -92.58104409999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f15839b557f1fd99261d341b22cf3930 = L.circleMarker(
                [40.8691205, -92.46116839999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7b0fd4bfd05826a29cdd60bcaef7016e = L.circleMarker(
                [40.8420913, -92.4425521],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_62b7f04529804d96141775eda8602fc8 = L.circleMarker(
                [40.6313454, -92.41051209999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7ecf3d291b513280b81f64d86ebeb423 = L.circleMarker(
                [40.7915572, -92.2902127],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f4dd937c7b592427aa99d48ed1c423cd = L.circleMarker(
                [40.6220938, -92.35148],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_54581d75a5762b8d2b11e65a72ca5202 = L.circleMarker(
                [40.7135634, -92.2731005],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_31f5663a411f82e0e53951f519822d12 = L.circleMarker(
                [40.6119499, -92.4425014],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_30dadc7b5cafd51cae6da37a12db61ac = L.circleMarker(
                [40.81381509999999, -92.46402109999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c90665dbb97d3f87001acc1669f2d4a0 = L.circleMarker(
                [40.85431609999999, -92.38742279999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9f7e5122a32cffd91e574bfb334b70ed = L.circleMarker(
                [40.82759609999999, -92.4419016],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_67afcaf1d378fb8d26247adb37d61ff8 = L.circleMarker(
                [40.7233963, -92.56191369999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8c70e8130598306c3311b4702ba20ed9 = L.circleMarker(
                [40.8000634, -92.24983439999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b53cb5fa1340f65eb6d00116507441b8 = L.circleMarker(
                [40.828315200000006, -92.3930474],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_19c6a61c2bb25fc9d596efde71cb058a = L.circleMarker(
                [40.9125719, -92.41065229999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9f67ec25fddd15871fd3f3d120069179 = L.circleMarker(
                [40.6607031, -92.58292579999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e286ad551e97b8768732e4ce7fa7d40c = L.circleMarker(
                [40.8433153, -92.42019899999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_109e0fd79e67af10eccf1d79a63bf0ef = L.circleMarker(
                [40.74797469999999, -92.2460249],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f01161c58f52b0367d9c204f8e437c78 = L.circleMarker(
                [40.91135820000001, -92.41464009999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f7876927e09d0a27cb4011baef386090 = L.circleMarker(
                [40.73916289999998, -92.57315],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ee1c7bcdceba34a4726e1f6250a9ccb6 = L.circleMarker(
                [40.7842915, -92.3984698],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0478ac707e10a24d5e57422711916879 = L.circleMarker(
                [40.75662609999999, -92.5615645],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_768cf8d3b7ef7f4bd7322bbfd333c9b8 = L.circleMarker(
                [40.659958800000005, -92.5062692],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f28a707f419c5acb4d64b4d5fa554107 = L.circleMarker(
                [40.6239495, -92.45096959999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_192377301968f4324f00d4db35b180d9 = L.circleMarker(
                [40.9306184, -92.420453],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d0604723db1a86044b0e92354fa249b6 = L.circleMarker(
                [40.742588099999985, -92.5041017],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a9dcef9408e36c5236509bf3ae6ad0c3 = L.circleMarker(
                [40.73278949999999, -92.5420248],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4293a9f3f3e7d997e9efc60cd8d283b4 = L.circleMarker(
                [40.75589409999999, -92.227657],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_70de1160aa96efffd28af349fd1be984 = L.circleMarker(
                [40.6967125, -92.33510079999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b88fb78b261de831eeb89590e2cac775 = L.circleMarker(
                [40.67609100000001, -92.4249244],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a335f67c35165ba630bd57e7f97f6a16 = L.circleMarker(
                [40.828459, -92.4419131],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_16f926dc7cde6903084b1548e042ec43 = L.circleMarker(
                [40.856761799999994, -92.37025940000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5890a50c5d301f9eda2ccac5d21f423e = L.circleMarker(
                [40.924146399999984, -92.36981900000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b708d5fdc824c410236dccb4ba8f652d = L.circleMarker(
                [40.7790424, -92.4185869],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7e5c1b4cb5d1b5bbd56d7982adf6c704 = L.circleMarker(
                [40.7507306, -92.5289467],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dc438179c616b182f2d317d268dc2155 = L.circleMarker(
                [40.8541136, -92.3757818],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a5af5ed9d0463ea6932c4cce8ddd82bf = L.circleMarker(
                [40.8716396, -92.3324681],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_60ebbdc8b83d70e3640f30154022ecf5 = L.circleMarker(
                [40.61518149999999, -92.62048539999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c071c3359105f7654e6e2b163173c77b = L.circleMarker(
                [40.861845699999996, -92.3449342],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_be8f007384c042b950be16016e4e0396 = L.circleMarker(
                [40.9064943, -92.3546622],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_17c81917f2910bc0c7501e9b96d7aec0 = L.circleMarker(
                [40.7376589, -92.48506809999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6fc23812a19af25c82beaeb7f335f999 = L.circleMarker(
                [40.7478533, -92.3867802],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c41d5d59cf3fc0c1f7c7e81655a7080a = L.circleMarker(
                [40.745647799999986, -92.4847736],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c69b1109abfa1dae3f9aebe78725148c = L.circleMarker(
                [40.8132761, -92.3892916],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7a2b3eb2080460cbb62d7fc08e298b45 = L.circleMarker(
                [40.89346239999999, -92.40595269999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2eba06f7cb0dcb380aa5ff4449b66bf3 = L.circleMarker(
                [40.757403, -92.3949511],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1f905515e2c28c106b590b1249356003 = L.circleMarker(
                [40.81374869999999, -92.3960509],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_427612280e32f8dc7a709de9c55e15b1 = L.circleMarker(
                [40.7939115, -92.4775524],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3e90d84ff451d4ac2b2a2a9b2a1e160c = L.circleMarker(
                [40.6602056, -92.5167571],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a660d5b2bd4b0e149306c4db8973d250 = L.circleMarker(
                [40.753338799999995, -92.4664014],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_42198d311e4702cc0f9c587198b2d8bd = L.circleMarker(
                [40.7285341, -92.42974979999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7264780fb86183082281912b70ec0271 = L.circleMarker(
                [40.6636402, -92.4649812],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_010fa909a6ebb407a2be7eb51134b44e = L.circleMarker(
                [40.7253139, -92.5540441],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8f2355be8e10afd2d53b73133145d540 = L.circleMarker(
                [40.8597969, -92.37216709999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7685427365180e463aae81d222abf7b3 = L.circleMarker(
                [40.740567699999986, -92.54858689999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_42d0eb8d84f67cf66ac22338c24c4581 = L.circleMarker(
                [40.7469072, -92.2025898],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c58fbe0fe78d3e9f1e63029b94f19ade = L.circleMarker(
                [40.8130809, -92.45653129999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1994a4d69cc34b26301afa0f08d59437 = L.circleMarker(
                [40.6114571, -92.4023707],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2d1920ed29bba9d548806a17be6a00aa = L.circleMarker(
                [40.7762062, -92.3905044],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_04119916111017d19d4cc2290f7e0e09 = L.circleMarker(
                [40.63728369999999, -92.3507867],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_82bcfd12e27a429b05d99256ca556663 = L.circleMarker(
                [40.8942515, -92.4234304],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5ad08a37a31c44ea1808a3fd5d128ef2 = L.circleMarker(
                [40.697724, -92.3210082],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5a8ec865d154f5faad474cea74324bf8 = L.circleMarker(
                [40.7197178, -92.50521049999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5536b1d06d849d269f5971f1ef0c15a8 = L.circleMarker(
                [40.69814819999999, -92.42363409999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_53dd6fa9fc4a19f539e11dc778b3a118 = L.circleMarker(
                [40.828376999999996, -92.3940954],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4080cf2302fa85b99cea7f6243325c04 = L.circleMarker(
                [40.7932871, -92.23627719999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bdec881122ed65b20d69a1c2b0e52b4f = L.circleMarker(
                [40.9079919, -92.4324637],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_76181cbf62d91ca1cb751e8c5cca2e39 = L.circleMarker(
                [40.74665199999999, -92.3917043],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0b0816cc281f926a3227a81150a2d89d = L.circleMarker(
                [40.9221633, -92.3612454],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_18e5a60cfd18daf3612c5ac834c67d49 = L.circleMarker(
                [40.709956699999985, -92.56211029999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b6848995eda0e8505e4be7fcb70033d9 = L.circleMarker(
                [40.9188567, -92.4395006],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_645a28586baa7b6e2b4988c6f767448d = L.circleMarker(
                [40.6965911, -92.3297321],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_413faf40e573488c18b2238a203116f7 = L.circleMarker(
                [40.68209420000001, -92.4903752],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4f4bdc9e2ddc042df23f09ef5b32d0aa = L.circleMarker(
                [40.8108736, -92.27416029999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b372d4fc29111289ac07bb0cec65da1d = L.circleMarker(
                [40.6414821, -92.2929707],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d8afc66d48794dcde4e012aa5d2cf3cc = L.circleMarker(
                [40.652349799999996, -92.5869373],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c8420562cae6c06f99f36a68eba470fd = L.circleMarker(
                [40.724885, -92.5563708],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_54e0c815378494aa075f4861356e4e86 = L.circleMarker(
                [40.74711109999999, -92.32308789999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a8f67fd4c82dfed8d80e1fcac739edbc = L.circleMarker(
                [40.924844799999995, -92.42003019999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_48ddc67f5035f96817972e570b4f2bf7 = L.circleMarker(
                [40.863484499999984, -92.39243689999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_48f4fd4b7f9d1781f47b809d0b9ba2ba = L.circleMarker(
                [40.9105629, -92.41473769999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ef50bdd2cdb974e52d372f47d06d086f = L.circleMarker(
                [40.674885, -92.5669429],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f156c7213a6bed69f0a6b156ce9ece28 = L.circleMarker(
                [40.7670633, -92.21855579999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_df15e398b25d2aed0f947efa9168695c = L.circleMarker(
                [40.85820519999999, -92.38659079999996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_883b4450099e7165b0a10711396731c4 = L.circleMarker(
                [40.820953100000004, -92.42729059999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d4498f17b72e869af62c35fd331e823b = L.circleMarker(
                [40.77367069999999, -92.4399065],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7179144584507c9db3d59b5c4556824a = L.circleMarker(
                [40.913175899999985, -92.4110439],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2efd519d5a1203cfbe30d2ff96480373 = L.circleMarker(
                [40.74749979999999, -92.3577372],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8822d7a0988f550c8bc6c393916fc888 = L.circleMarker(
                [40.630693699999995, -92.5331666],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e29e714e754e475cdbb6fc5cd7cf9ca4 = L.circleMarker(
                [40.868742, -92.40380859999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_96b1800f7dc81ae4ac6352826007e449 = L.circleMarker(
                [40.918546600000006, -92.4175331],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_60f9f2ff525c28575fd94259c5572be4 = L.circleMarker(
                [40.776893, -92.3985227],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_eb94b7caa840ff0d62909eade60cbfc1 = L.circleMarker(
                [40.77710479999999, -92.31480429999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2920cb144fb1e538899b735378fa47cc = L.circleMarker(
                [40.77605739999999, -92.3940468],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_925baba3a08361a5389ceb2e82ac2bf7 = L.circleMarker(
                [40.93793209999999, -92.40041909999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f0933bd0c7f99d35ad4eff2228e081d4 = L.circleMarker(
                [40.725678499999994, -92.55793679999996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d64d4eee824e9509fef732ddc5ee4615 = L.circleMarker(
                [40.7320058, -92.226771],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_663e5e7b5baff589fc497868e3d67ed2 = L.circleMarker(
                [40.64024799999999, -92.288174],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0343c9524ac71540c87a4576df368119 = L.circleMarker(
                [40.8623039, -92.3720717],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_83642e9c8eaf316951d5c1a185d1035d = L.circleMarker(
                [40.8453005, -92.34180109999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f5ce7fc37fd649912e81a60898ac52f8 = L.circleMarker(
                [40.8563167, -92.3743231],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ab36fbca89f2aa822b9364dbd7c10eb3 = L.circleMarker(
                [40.7248935, -92.51229239999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9b0c6d205426f8c501bbce843c55efe4 = L.circleMarker(
                [40.74769189999999, -92.2743533],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c1d2c2e2994011b5dfdc69a7226b73c2 = L.circleMarker(
                [40.650851100000004, -92.5859354],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_65f0ae6999d17672702973ff03d03246 = L.circleMarker(
                [40.7079143, -92.44696499999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9b52566e66e5e24b0c9109c32ef44646 = L.circleMarker(
                [40.80402350000001, -92.362424],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_50ffa4353008168d328b50c026f47e51 = L.circleMarker(
                [40.62582740000001, -92.42870109999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9a9950197f4086330674da7f069a8df8 = L.circleMarker(
                [40.742880299999996, -92.23185199999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5e6c61cd93f1596e78fc2dced560f91e = L.circleMarker(
                [40.61021480000001, -92.35161399999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dd271468ef8d61552b4d7c7cbb156a4a = L.circleMarker(
                [40.659654599999996, -92.3518796],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_42f5fcabc113c8f475d49237f84b8c26 = L.circleMarker(
                [40.777301599999994, -92.49593359999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fbfbf0de6ff884cd4b59f490cea45426 = L.circleMarker(
                [40.9185973, -92.4415445],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2a65bab917288242e9452271dfdd44d5 = L.circleMarker(
                [40.7502823, -92.20200549999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_15eb7d31720f8d12ac44f40943a5ee0b = L.circleMarker(
                [40.750824200000004, -92.22824269999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fb4d1756a65000700406450d98ab1759 = L.circleMarker(
                [40.75107659999999, -92.49848419999996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0873d117098e9a5450cefdb9a1b4a125 = L.circleMarker(
                [40.6597727, -92.5069028],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b946ea979cdbdb52cc96d2b89a93c70f = L.circleMarker(
                [40.842627, -92.3518454],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0bcf88e2add8ebc1868bb1fa8cf13909 = L.circleMarker(
                [40.8204869, -92.32691359999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bfb00f1985f6c37968cc1a738f00c682 = L.circleMarker(
                [40.9132189, -92.43135579999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a1e216c78d57e8a0e515a14dab560533 = L.circleMarker(
                [40.85935599999999, -92.2341751],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_759177e3faa1d6f1bf18c9701769bfaa = L.circleMarker(
                [40.74060719999999, -92.4443464],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fb2ddae58e47d9255cc1bd6dbfb6e5e4 = L.circleMarker(
                [40.831500199999994, -92.3298898],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fdd3afb472236b2697ec7dcce62bd2b7 = L.circleMarker(
                [40.64230549999999, -92.3068408],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cddf90ce08d3e637c6d8bc3a8c9c539e = L.circleMarker(
                [40.835553999999995, -92.32327259999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4da976e83076d28fa9b9b57e2b00c73c = L.circleMarker(
                [40.5940558, -92.5242329],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_22b9870588406d44217469a4db43e70f = L.circleMarker(
                [40.7592403, -92.21286529999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_31d6a0ec92dcfa9334a8cf43a1fea796 = L.circleMarker(
                [40.89414349999999, -92.4111126],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_00cdf6fc5c167497db61dac2c536466d = L.circleMarker(
                [40.7583281, -92.4364271],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b1aa1c3997747260ad0acdfb0791e944 = L.circleMarker(
                [40.7177237, -92.5624883],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dad8c17d69d125fdd99db4147cabaae9 = L.circleMarker(
                [40.62703079999999, -92.45670229999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_78abe80111d6cc5ac8b9db40ed4c0e6e = L.circleMarker(
                [40.61020899999998, -92.3080144],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0a00d483f5667871b4c0e0e8258fcf83 = L.circleMarker(
                [40.8132766, -92.3167444],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b960bf1ea320e179b2249f7d41fae61b = L.circleMarker(
                [40.668894400000006, -92.31764939999996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4e3362813b39a67afe1eda1d768779a4 = L.circleMarker(
                [40.91399879999999, -92.3752242],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bff7f1de53f43200ca02ea722d42cec8 = L.circleMarker(
                [40.8948594, -92.37606159999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2de9181d8d88057d08e1eb03efc2e9e7 = L.circleMarker(
                [40.913735299999985, -92.33878859999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1df61c795edcf7e9e4c2d9f8a760e1d5 = L.circleMarker(
                [40.64693979999999, -92.35138859999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f4445862cb5aaf08b7c0bed122ba095f = L.circleMarker(
                [40.6205221, -92.3804611],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_56787ea1dc623d004582ee0582b35866 = L.circleMarker(
                [40.77678569999999, -92.3931533],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6488c6288130df00af091eeaf3594678 = L.circleMarker(
                [40.8195759, -92.4227827],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_be8b6052d3d99ea66033cd09435c4aee = L.circleMarker(
                [40.9372481, -92.39709939999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9fc0d643902dd46885d6c83f4faae7c9 = L.circleMarker(
                [40.86154659999998, -92.37976599999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_105ca889629453f1ad983d7b97eea43e = L.circleMarker(
                [40.62497939999999, -92.45786039999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_90ddfa3a14df7ca28f58f6c3cefe39b7 = L.circleMarker(
                [40.6235163, -92.2866584],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_734516c51c9ada01221e936f92e04d8c = L.circleMarker(
                [40.624531, -92.436989],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8ea7d59a5b56eb1fc9b3d2f801182f27 = L.circleMarker(
                [40.9151379, -92.4174812],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_df7408e9c231383901e52008554316ae = L.circleMarker(
                [40.7122672, -92.48521999999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a9974da2456647643974278632e9e5e2 = L.circleMarker(
                [40.711899999999986, -92.50072],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5ff89f5dd3589c421d18ad81e165d2f4 = L.circleMarker(
                [40.8174866, -92.35801659999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e986c619438f0c7b4636778c737192e4 = L.circleMarker(
                [40.879045899999994, -92.4312416],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a7e6134bc3e7c6ae5ba062649df28002 = L.circleMarker(
                [40.7094076, -92.2744775],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3a2ac523e78f596a2eab9559afed40fd = L.circleMarker(
                [40.8655322, -92.37859699999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_771d93fdcaa91554426ab6e864044e60 = L.circleMarker(
                [40.6462069, -92.5183451],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f563716881c64ef855b8e2f68da63ef6 = L.circleMarker(
                [40.8843682, -92.4623849],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a413fe7f521457575b6c189032f9f04e = L.circleMarker(
                [40.734746, -92.5440012],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4eb0f8c9e5ca52d58c2ce665fce70ff3 = L.circleMarker(
                [40.74652879999999, -92.4289297],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0fff2f0e7833f87faaf54d18133cdb14 = L.circleMarker(
                [40.63586859999999, -92.35093569999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e9ebf82964c375939ef36d3dbdbe515c = L.circleMarker(
                [40.7770738, -92.50798209999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8b34af38cd110cde746abfc19320c603 = L.circleMarker(
                [40.6354536, -92.352019],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_71d4b774327e6bbcfa890e32852e727e = L.circleMarker(
                [40.74002769999999, -92.49299169999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_be2a72fa2135ada0d7c6fa77aa4a460b = L.circleMarker(
                [40.7335307, -92.41886159999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ee30ef71a3cdad65ce9e3dc9e24949d9 = L.circleMarker(
                [40.7835342, -92.44971969999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d1c51b5fce554b2935ea47b4f3d17f8d = L.circleMarker(
                [40.69655509999999, -92.2851929],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6e1e03c592865bea75453d1dbd9d1b05 = L.circleMarker(
                [40.6091529, -92.5423351],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_61e4f87c24bf14db24c8289ef7978e8a = L.circleMarker(
                [40.59376830000001, -92.53096559999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_79fe620cbcce82c650b2d793218e8267 = L.circleMarker(
                [40.7331544, -92.55081459999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_607948cbc7f3228bb8145d748dad75f1 = L.circleMarker(
                [40.623197000000005, -92.2883864],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_abfcfea199349b8584f48e0dce455e06 = L.circleMarker(
                [40.653113, -92.3069963],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b5aa34b5a121403be058588f45a7cf08 = L.circleMarker(
                [40.60638389999998, -92.56505799999996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bc4d433feab76c57e5c2d980c6b53117 = L.circleMarker(
                [40.797611800000006, -92.46995459999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2e4a73541f0ae623189a9c39eb8bb703 = L.circleMarker(
                [40.9007511, -92.41091939999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_946e1388bd50c7e63e65808b6e1ac026 = L.circleMarker(
                [40.8790197, -92.43002879999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0856cee4fb8598822ac288f82a95ab70 = L.circleMarker(
                [40.6522474, -92.58613739999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2b5cac4ab46c84bd65d49f173e941df3 = L.circleMarker(
                [40.6099445, -92.5472394],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e954d9a15bcce35d19d0a04d515d7da6 = L.circleMarker(
                [40.6171564, -92.36009359999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0712bd6cbb818d0a6c291f26338d2b38 = L.circleMarker(
                [40.92482449999999, -92.3504893],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f53ae225c0923550a1fb95d9e95db942 = L.circleMarker(
                [40.812870499999995, -92.4491362],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_abf4fafd863dcdaa00c1ef765a332e1b = L.circleMarker(
                [40.70381710000001, -92.3595307],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3ab2cd26521a596b1c523345557a24aa = L.circleMarker(
                [40.8160551, -92.46742699999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ba544f7398d286b409ec71e39ead4e7b = L.circleMarker(
                [40.82859409999999, -92.38608899999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_69dd8cdabd03f46941eb238f8c4fc36c = L.circleMarker(
                [40.823205999999985, -92.3795384],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_202d566eb6306ac6806a04a3ccfd82a2 = L.circleMarker(
                [40.9247683, -92.37831839999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6a4e443dae03a279f72a39df64dd3a58 = L.circleMarker(
                [40.925704599999996, -92.38320669999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_96887b7a8213d0fc0fd703a5167b4737 = L.circleMarker(
                [40.69707, -92.33784649999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3101a9fd826faefbeb532382ad23af36 = L.circleMarker(
                [40.6239284, -92.44909939999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_090f7e7620e9d5208b90539624cde8c3 = L.circleMarker(
                [40.880654099999994, -92.3925917],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_16d681164b1834d220c738897afca325 = L.circleMarker(
                [40.7655548, -92.609825],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_afbcf6519fc49be2dc4283007b8ff9b0 = L.circleMarker(
                [40.7771806, -92.49764509999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9b0d9f93a516eb8c582d721778b6c3fd = L.circleMarker(
                [40.76105259999999, -92.44460769999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3cfeae2abd7a4abeedc014ab5f3fa20c = L.circleMarker(
                [40.6207744, -92.5949052],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_12a6dd06d9c4206d95380862c036a85b = L.circleMarker(
                [40.7485158, -92.20391679999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e938123bfc737affc937929ccddcea5f = L.circleMarker(
                [40.7915077, -92.3590919],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a44ff07a0304383d1962de0f3763d117 = L.circleMarker(
                [40.801045, -92.3458712],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4cd2227361f36608be3e29c35d06e86f = L.circleMarker(
                [40.7492736, -92.3805684],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2f43c50917ffcc95fe5a3e92c46a3ec0 = L.circleMarker(
                [40.8270696, -92.25598],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_93c7eaf40ba63c13a71a813b85de14c5 = L.circleMarker(
                [40.9119257, -92.4322034],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_48ff41cfdda1d9373da27e8ca08dfe46 = L.circleMarker(
                [40.7505163, -92.43586729999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1906bbe68e05d9ca4736890cfac1241e = L.circleMarker(
                [40.782644399999995, -92.51513279999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_229c37f3abeaf05bebcbcb2bdcf7fd13 = L.circleMarker(
                [40.85470209999999, -92.3457906],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_647ef8aa9d36c5925b932be8dd6df93f = L.circleMarker(
                [40.5985913, -92.30186229999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3769589388147428a9bc1acfc54574f7 = L.circleMarker(
                [40.606356100000006, -92.43219459999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_43fa45d12e11ff8467023cad7d1dba48 = L.circleMarker(
                [40.72688850000001, -92.5573835],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0a75429b1c4e268c0ecac75e14fa2331 = L.circleMarker(
                [40.62878989999999, -92.4645074],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_30c279a38aa8701d079018b675436268 = L.circleMarker(
                [40.794481499999996, -92.32245289999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_48d9437137ba45edd1d7935790feaa7b = L.circleMarker(
                [40.74798939999999, -92.29610919999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a61397a76e177d78c91fe4413e1384db = L.circleMarker(
                [40.838607, -92.3981861],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_987cdecf075a7123043533370fe06411 = L.circleMarker(
                [40.6753483, -92.41139090000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_40c9290ec36c4e67c408155dbff22390 = L.circleMarker(
                [40.78483779999999, -92.2217303],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0ebd50d35268d7d5433e60a1b11b1d4e = L.circleMarker(
                [40.79141139999999, -92.4411301],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f4b149b617ad21880c5b4eb71f80155d = L.circleMarker(
                [40.908322999999996, -92.41426119999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a69c8fb3fe3b2c3d03c5badc40d0112d = L.circleMarker(
                [40.685551600000004, -92.29440669999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1b615ff80c2899f2d2a0b4ebbf78860e = L.circleMarker(
                [40.7405041, -92.48707939999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a0ab1ae4cf4e8f4f20a08c2ccdd90d33 = L.circleMarker(
                [40.7471054, -92.53062319999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e6354e24a582210bc39307b398cf4096 = L.circleMarker(
                [40.7920986, -92.44959259999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e96cf808c72f44ddfb99a17c22da053c = L.circleMarker(
                [40.8119655, -92.4552742],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_db6ccbe37af68d3ba34a07754a618c00 = L.circleMarker(
                [40.752596200000006, -92.58145879999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_345c1d6a76b312230465eb27791ee730 = L.circleMarker(
                [40.828423, -92.40277],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_35f972121a75f3649c8536a4533e4765 = L.circleMarker(
                [40.82492959999999, -92.39828649999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8688a8338253871cb3aac28fe9d14dc5 = L.circleMarker(
                [40.842682399999994, -92.4482102],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_92a3ffe15a1c31a44467895278c44224 = L.circleMarker(
                [40.76653739999999, -92.5474655],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_05b8016808dee6b41413a4b40f3013b3 = L.circleMarker(
                [40.6784083, -92.59146],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8bbd8216014dc67b02f7ad49bfc106f2 = L.circleMarker(
                [40.9229227, -92.46160289999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_825bfce01bce2dd730a9dd727884c433 = L.circleMarker(
                [40.8664291, -92.40982019999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b69dcb8cadbb549c5ddbb04e5207b532 = L.circleMarker(
                [40.923369399999984, -92.4077147],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e809f39dc253bb84a1be96f069a89be4 = L.circleMarker(
                [40.88911790000001, -92.3556571],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8f008d448158afe6d11aa01781efe996 = L.circleMarker(
                [40.88581279999999, -92.3676451],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_239dcb162477b435c0ba56d664ac7f29 = L.circleMarker(
                [40.823394799999996, -92.39858709999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_94990731bafc4fc68d7655d3c882641f = L.circleMarker(
                [40.842777999999996, -92.379722],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cdd0f31eb00599f597d40101436ef3f5 = L.circleMarker(
                [40.92762929999999, -92.4196493],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f5b2aab3ac134bc65674ab28e05539f3 = L.circleMarker(
                [40.86609079999999, -92.39460119999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_75094361b34db589c611b625a1f32f3b = L.circleMarker(
                [40.9056085, -92.3713726],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6f2c2d33031ee7394bd5ce1e76110dc2 = L.circleMarker(
                [40.660689399999995, -92.5128058],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cbe8d0f4af38f12a8268effb4269bfb9 = L.circleMarker(
                [40.6299355, -92.6044722],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1196621b580c358a55079f57f7392177 = L.circleMarker(
                [40.8132868, -92.39938089999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7d47a69b39c3a89dcbc884e203b7e2d3 = L.circleMarker(
                [40.7629122, -92.6098477],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_47f26970dd254605f42f78ed28f59938 = L.circleMarker(
                [40.81302219999999, -92.4563268],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5d0017c6e171298c98ebf5c5c7518dc8 = L.circleMarker(
                [40.7713164, -92.39839559999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5da03ba6730714b973f434804b0661c0 = L.circleMarker(
                [40.928153899999984, -92.3802174],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_23de9718857d6e5934b8b656b9c2853a = L.circleMarker(
                [40.641200600000005, -92.313535],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d9b8ff48ce1a729bf2631cbe136f2bc1 = L.circleMarker(
                [40.92587019999999, -92.37807339999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_963834b1b02808454c7ac8d64279f466 = L.circleMarker(
                [40.7257451, -92.5587396],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b361641626ee0b70311e224045523c8d = L.circleMarker(
                [40.81361189999999, -92.46655039999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_efa77e7a62f5c854b7c5f87f89de2d32 = L.circleMarker(
                [40.7839431, -92.35115569999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e7cb95da4ffac5c4cc7ef2e74eb60d20 = L.circleMarker(
                [40.66036389999999, -92.58715979999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fe023caceae38a43a128c865f98695a4 = L.circleMarker(
                [40.8091388, -92.4379484],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2552bf4d0cfb8a8a29317723653b70e2 = L.circleMarker(
                [40.788354, -92.23126559999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4d291d24cb0e24cfb62aae1e09bccfdc = L.circleMarker(
                [40.6376107, -92.3509519],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ddfefb60af584c88a0a3b2a8ffe1f7ee = L.circleMarker(
                [40.5965437, -92.3934139],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2d0ec68d60c1174370ba59fcdd592998 = L.circleMarker(
                [40.6048751, -92.43679209999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9ce49fadc160a2b484dc3f0079d0eedf = L.circleMarker(
                [40.75000729999999, -92.2025466],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a5c2b2fa31bdc510f57f7dac468e77df = L.circleMarker(
                [40.8728319, -92.3928556],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_43a8437f6dd1423d71ed140f7268d8a0 = L.circleMarker(
                [40.7983045, -92.4564265],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c967d5d98fbdac03f45310bf7ec368e1 = L.circleMarker(
                [40.7510989, -92.4307517],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_15c88503c52ec38e8d22c6a5be62a4d5 = L.circleMarker(
                [40.7253926, -92.3932058],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_91e739fd33c4d42fe6386dcb8be567db = L.circleMarker(
                [40.6113437, -92.3322852],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1c64831351e1385e7366faf470c81626 = L.circleMarker(
                [40.8136132, -92.38711099999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8f79cccf4b65150d57f14870c3fbe9f5 = L.circleMarker(
                [40.6527162, -92.48460879999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bc6f45ac643e3cbbab19cd155af8e53e = L.circleMarker(
                [40.77316209999999, -92.38572499999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c2116d1683dbf4377b7df30d07e9c778 = L.circleMarker(
                [40.857971199999994, -92.3531216],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_620ea9cfc1d5918f38171d278ccbd882 = L.circleMarker(
                [40.7119604, -92.50061399999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_90f9f9a7088dfeab50525234cd018b5d = L.circleMarker(
                [40.8703963, -92.4608081],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4ec2cde64c6f6e54cbeef74e261b0d24 = L.circleMarker(
                [40.7246528, -92.5583418],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7bce2c3d6b8ff9b9fd3702952f8e5f71 = L.circleMarker(
                [40.7326055, -92.550816],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a91ae7a231bcf0c953ec8dd0c247acb6 = L.circleMarker(
                [40.7484431, -92.2601095],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_caff13a95b897b1016e796417a347cb6 = L.circleMarker(
                [40.6135306, -92.6044798],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a52ac2b6c07fd3b0fa6576b18d1dc3df = L.circleMarker(
                [40.60277899999999, -92.5292585],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_42555056d96829fdf809397c7ec5a61d = L.circleMarker(
                [40.7655187, -92.45191639999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5b7e8ec2069502ddbc47c47cae0a64f0 = L.circleMarker(
                [40.912164899999986, -92.4311627],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e1d0de71ebd12ef473490882f5e88f92 = L.circleMarker(
                [40.670393499999996, -92.55270819999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_530cd57d17dca8e81ef856f3596424ac = L.circleMarker(
                [40.673208100000004, -92.503859],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_19b08c6172662873554eeca67e63cfdc = L.circleMarker(
                [40.7619354, -92.3185796],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7ceddc0281d67160c58a5865fc7f17f1 = L.circleMarker(
                [40.737632499999975, -92.33181399999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4477a50effec6b1a7c8af7dad22c868c = L.circleMarker(
                [40.7825711, -92.4721448],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7d41f1a01ab8072aac8b599bc6827d6b = L.circleMarker(
                [40.761907099999995, -92.59864699999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7800c287acbf0d674ca08f77ffe1f091 = L.circleMarker(
                [40.7767478, -92.3936944],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_16fda10d31dbfb194906dba404ac6dea = L.circleMarker(
                [40.73306779999999, -92.50419349999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6225d4364c6228fc96b65f981ac889b2 = L.circleMarker(
                [40.7355348, -92.4194516],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2492e06fa4a286a8e5e6758c2fed83c1 = L.circleMarker(
                [40.74193609999998, -92.34633820000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f5d45c3ad3a00f0c42e9ff79eb96a230 = L.circleMarker(
                [40.89503689999999, -92.41744899999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bbac15443f901173f2c52b9df527304d = L.circleMarker(
                [40.8635013, -92.40498469999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8958c0fc062b867d055fd2405643785a = L.circleMarker(
                [40.9146556, -92.4471671],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_80f328ba1b73a99f96e18a254db888d0 = L.circleMarker(
                [40.7259391, -92.5514413],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a8ce886a8829b80f1a6761190abf2c90 = L.circleMarker(
                [40.6458273, -92.47232989999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bee69ddcb8848fb95319047e6784485d = L.circleMarker(
                [40.739509299999995, -92.3372186],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5b6acf6eb654f0e0fb5ef62e9d23a9ff = L.circleMarker(
                [40.7213582, -92.39806939999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_18c9193954eac0ab4ac0bcbba3542793 = L.circleMarker(
                [40.7915455, -92.3509706],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_671adb684f034b1d7b285f08657a95be = L.circleMarker(
                [40.75149879999999, -92.4296706],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_278823b584858fa1794d0c26283eb7f0 = L.circleMarker(
                [40.81440479999999, -92.4666224],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6cdd3ef42f776a9ca237340a6e0baf0c = L.circleMarker(
                [40.7507809, -92.20249149999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3655993eeb43136a33fe0b1db6152dc6 = L.circleMarker(
                [40.8202254, -92.4247328],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_765c9443fdb2ab4085127e287059f2cb = L.circleMarker(
                [40.6964289, -92.3636779],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_13c2dffa295abb10bc589701f0fb69c6 = L.circleMarker(
                [40.67456559999999, -92.44657579999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e1922e15d50d37c4564667976c0f2f40 = L.circleMarker(
                [40.77085039999999, -92.2943963],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_70d1fea80be182866930000ebe7a2fb6 = L.circleMarker(
                [40.6623916, -92.5333272],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b5f0fbf76fc5ad5b7069cb9eb642dcb2 = L.circleMarker(
                [40.8332906, -92.42829109999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3ec0c5c7f066565f125f50edebfa12fa = L.circleMarker(
                [40.7837295, -92.45106109999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1c9da852abf7fca3c7db429bb8d67832 = L.circleMarker(
                [40.77079040000001, -92.5329445],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_90a4e0f4b4aa1bf4e1fa1f48f4305b29 = L.circleMarker(
                [40.798449, -92.4098551],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6f962a3042379735b8a87399be98aaad = L.circleMarker(
                [40.60460280000001, -92.3534564],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_12616070e1340214fdfafe8e609e4b9a = L.circleMarker(
                [40.794053, -92.41923919999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_622d066ff243f3d8bfdf4e02b5731af4 = L.circleMarker(
                [40.7338171, -92.3802271],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_165898140b3e3b59eadd8d3a0db8bf3a = L.circleMarker(
                [40.75540409999999, -92.52926599999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1a725f60f5e1633bf515852b085d083d = L.circleMarker(
                [40.72941389999999, -92.49986119999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_38d33910a77c0e10d71c74d941ea10a0 = L.circleMarker(
                [40.7377111, -92.62403679999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d36f53200d910a3be158c07519a75679 = L.circleMarker(
                [40.716227700000005, -92.533766],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_12c8985907bee3319e8e71971cb82838 = L.circleMarker(
                [40.7916639, -92.29476419999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1b789bace0d54e4dd34ac29d8fab1b94 = L.circleMarker(
                [40.7405527, -92.36694279999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0d08864e606b046a53765a55e8254736 = L.circleMarker(
                [40.769273899999995, -92.48267339999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cf03a1ebd43ccbd4f8c4c4261fe077ed = L.circleMarker(
                [40.74037940000001, -92.55027489999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_22bd61b94e5ce33e744d265ec33784ec = L.circleMarker(
                [40.7512716, -92.20278599999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6879542f2379eb8fdca239b465d91ece = L.circleMarker(
                [40.88968429999999, -92.34994819999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_252e0c754b3c08aecd52e753f5bfd8c2 = L.circleMarker(
                [40.7848944, -92.2279914],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2ac40eed3a6293a0355c6051b0b207ca = L.circleMarker(
                [40.7484808, -92.20160769999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_190c6ae593db09d4a8ac8338afcf82d3 = L.circleMarker(
                [40.77622299999999, -92.376868],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6372735029c75b0e78410b3958b2966e = L.circleMarker(
                [40.8556295, -92.3722294],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_753fd30a7e429a61b7f7defc109b8543 = L.circleMarker(
                [40.760298299999995, -92.44121719999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c0f05e9b5961e835c2be2c36b8f87093 = L.circleMarker(
                [40.7479594, -92.32046499999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b421a44f27142f54270293fd074e7fcd = L.circleMarker(
                [40.660776399999996, -92.5167812],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f0b3181a9bd9412538543159e4eb9f7e = L.circleMarker(
                [40.828303, -92.39185369999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1ab3fe7cabf2cafd75e5addd8dc26f15 = L.circleMarker(
                [40.85532849999999, -92.3744448],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_53727e2e51ee4e359d170e65b56b9a39 = L.circleMarker(
                [40.6085147, -92.3509426],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c9e079ae6d497f6849f6f9a371706414 = L.circleMarker(
                [40.719798999999995, -92.3568786],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0f105172fdd53e81f5fd8abd083442ce = L.circleMarker(
                [40.83861550000001, -92.3795712],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e0c3eb8ab2807693753f61a7eb4e3bd4 = L.circleMarker(
                [40.8951009, -92.46103739999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2e1b04720fafb7b18c188a59a4172acc = L.circleMarker(
                [40.82119369999999, -92.42411689999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_27d278421b374399effd919ab2937195 = L.circleMarker(
                [40.8083803, -92.3986685],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8db3d210a82aff80c716675e60cf255c = L.circleMarker(
                [40.8135716, -92.3937268],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_16147117ed74131573b72adaa35d8059 = L.circleMarker(
                [40.6628689, -92.39897519999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_18cc416f8e19a0a286cec7b9bcb900c9 = L.circleMarker(
                [40.72384069999998, -92.56140429999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e51a196d45b248ca63236fad86298d0e = L.circleMarker(
                [40.9138813, -92.39432709999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a2d7c9d6108e7e6de66cad5bc8221a73 = L.circleMarker(
                [40.6460656, -92.5233055],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f25ccf066981df1a8b845ec86d7c56a7 = L.circleMarker(
                [40.7534268, -92.56118800000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_836ad7c0f939e73f1605dfddac674169 = L.circleMarker(
                [40.7037105, -92.3136408],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0f7fcd30a767bafa15a0428dddc89ba1 = L.circleMarker(
                [40.66430549999998, -92.4322093],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5977206941406507ee8f8b4f66f2f90c = L.circleMarker(
                [40.62205999999998, -92.29170999999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9565269d7013ed9c536dbb94479b512c = L.circleMarker(
                [40.7331613, -92.55242739999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f44dfea5d4a5127be1102368c48b5743 = L.circleMarker(
                [40.7480398, -92.2025668],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_29cf734d5b6ad0a8d70e77e411b7545c = L.circleMarker(
                [40.72609069999999, -92.55841019999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_23029c774a5176fafb6ade98e47d7e85 = L.circleMarker(
                [40.853741, -92.3804982],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ce3d7d73f6e1d1f55591f2e45435fa95 = L.circleMarker(
                [40.906977, -92.4104768],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_025758f7b3c22f4869daf50cdc928cd5 = L.circleMarker(
                [40.6831362, -92.46535739999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3bf24a5049b531ddd98fa581507265a9 = L.circleMarker(
                [40.72764080000001, -92.46865609999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_db4ded5d12f4346fb3e22acc30436662 = L.circleMarker(
                [40.8994225, -92.419137],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fe310bd8fc9569d681f836ad7f372809 = L.circleMarker(
                [40.7760149, -92.3964322],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a0f8d56dc8ab7109770b98f871df1d5e = L.circleMarker(
                [40.8479421, -92.3995915],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f1aebbfb7b533bf2165285e17a5089ab = L.circleMarker(
                [40.8659781, -92.3767171],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4cc6317c31cfe0f4584289d8db202db4 = L.circleMarker(
                [40.7521754, -92.43458239999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_472119a6c46ec916ef43ce0c56a0889a = L.circleMarker(
                [40.7379179, -92.48611789999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1f44e5b563795802a0aa5237516279a9 = L.circleMarker(
                [40.79919459999999, -92.46547979999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0449b58decbfe19ad5ebc10e765910e7 = L.circleMarker(
                [40.7624071, -92.5818246],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_918b5e26ec7a3858eecd588eb8b14e40 = L.circleMarker(
                [40.78227809999999, -92.4719008],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dd86a68270ab267fe489bc680058b770 = L.circleMarker(
                [40.741407599999995, -92.44167049999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2eb6770821b92fc0ad62708a65616f1f = L.circleMarker(
                [40.813194, -92.40746829999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cecc01eff9cb34f68d5dad6c480e9901 = L.circleMarker(
                [40.88791830000001, -92.45886729999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_74d101c8c51d49d9e1b0f3104c8f6047 = L.circleMarker(
                [40.6528728, -92.5035764],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_03e5cf7d0612df6ad226b4f49226bada = L.circleMarker(
                [40.9168689, -92.45208939999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_61632529e1fd5486b9693589a0e018ea = L.circleMarker(
                [40.798831, -92.44289519999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d02136306035f29a552614c5101bc2aa = L.circleMarker(
                [40.820767, -92.42625559999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fc6840a9d6a9075b8e61fdd15c7f63f8 = L.circleMarker(
                [40.71851519999999, -92.46044659999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_48d6571790ae115379490d361b8f1d55 = L.circleMarker(
                [40.8347825, -92.3984647],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b4cc5e9f5b70795ae2cfd224e3ec427d = L.circleMarker(
                [40.7400398, -92.3747767],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ec71a0b9c4aa2125492ffa569679dcb5 = L.circleMarker(
                [40.864512999999995, -92.4194772],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_db98ece571a47e77f6e764e585600c1c = L.circleMarker(
                [40.75777239999999, -92.2024397],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_98492590c04e06c9780d2bb8e645ca0d = L.circleMarker(
                [40.81349519999999, -92.4673903],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a50ae007f09f57fddd4b6682534b70c0 = L.circleMarker(
                [40.7148119, -92.4191262],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_86f8fefdd884d2e090638a9d4f958047 = L.circleMarker(
                [40.862367899999995, -92.37965689999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7d6dad7f95ad14e12f7ae21505dcec3f = L.circleMarker(
                [40.920515, -92.41831469999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c48e74a133d1c234f993da33cbaa5a4e = L.circleMarker(
                [40.914165, -92.39969149999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bd4b38d89186d7049cd8f5acabd2460e = L.circleMarker(
                [40.8094421, -92.4666422],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c1b1297222579dc4b087f9858e1afac6 = L.circleMarker(
                [40.71229079999999, -92.5625635],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_28a90d8b94108a5ed14da35858e46a3f = L.circleMarker(
                [40.88607209999999, -92.3935795],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_de8b4f83b9e037ee6c76709115e08748 = L.circleMarker(
                [40.8965721, -92.368359],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fff623cdd6fc498761ef987157fade17 = L.circleMarker(
                [40.8822828, -92.4688858],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7a858aac94960363ca04cd7c985ca730 = L.circleMarker(
                [40.877348700000006, -92.4206364],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f002f1c5ff70c44150e2caae93c2ca93 = L.circleMarker(
                [40.660828599999995, -92.5034832],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9f3da803427a25863fa1211fa7c741f9 = L.circleMarker(
                [40.6565404, -92.2913453],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8da37f27a636e608675d97173c542657 = L.circleMarker(
                [40.6674899, -92.2980427],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5d6996d3892e7984210cca90fee5010f = L.circleMarker(
                [40.639666199999986, -92.3956124],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c0734afcf84518b75420a6c07db84051 = L.circleMarker(
                [40.750986, -92.4521191],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_476e48f929c29bc1c8c7bec8f9ca1650 = L.circleMarker(
                [40.6484307, -92.3802383],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_be99954f1317ed4fff2ed6cfb9e10af5 = L.circleMarker(
                [40.9213602, -92.41942739999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_eb3cf27e6d06f5b77182e678ea32e0c9 = L.circleMarker(
                [40.73855129999999, -92.54336829999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fb510eeba0b9625b07785469f1920aaf = L.circleMarker(
                [40.61328039999999, -92.37907939999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0a7b1f24df8237746ce01420a95d48c1 = L.circleMarker(
                [40.895085999999985, -92.4184678],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ce56a21a85dc182f56d0784ff8bcbc0c = L.circleMarker(
                [40.660371, -92.51276],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7a90d7f664f44fefa423a1a0f3a24c51 = L.circleMarker(
                [40.75086189999999, -92.4840072],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_89df6a3a38d0c1d10c8e4edae11e2071 = L.circleMarker(
                [40.8971045, -92.354791],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_33aa202407feb4ac34ab5dc3827d0636 = L.circleMarker(
                [40.70144969999999, -92.27297089999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2c0661b35aa2bec283d9a1fcc0b4447e = L.circleMarker(
                [40.7924222, -92.4760602],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0fcaa6afb2d10151c7c2e866967a6a86 = L.circleMarker(
                [40.726236799999995, -92.38690839999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fb073f5bee87d458daf1cada6ed2dddd = L.circleMarker(
                [40.8671854, -92.3922007],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_783f74c6b237ee02b993ee4ce241b98a = L.circleMarker(
                [40.8025269, -92.2775436],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dd78dcf0da2cc773092bbff25225ef3b = L.circleMarker(
                [40.920876, -92.3475606],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9b06daa6f0c787fa388e1bf19045ad4d = L.circleMarker(
                [40.8053547, -92.3787076],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e4d537ecb165f7be229079dbba592557 = L.circleMarker(
                [40.778758, -92.25031029999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_07ee974e447ba0e5c68c1397580f25eb = L.circleMarker(
                [40.791731, -92.4496384],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_815bbfd1d8b779f175af86e6920264db = L.circleMarker(
                [40.667604299999994, -92.32613459999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3da9db2d75f38b661f26996ec9a69f3c = L.circleMarker(
                [40.7836019, -92.3755331],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_803aa0978e2626c82abc2d9663741426 = L.circleMarker(
                [40.62175729999999, -92.3221836],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_83abc0ed65d3273d7a503efb6965238c = L.circleMarker(
                [40.7084612, -92.3518433],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3c0d1766d1c9901080f7921209c6c272 = L.circleMarker(
                [40.8782519, -92.3951095],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_68d50a9d083f56ea4781e4142d5214bc = L.circleMarker(
                [40.74849849999999, -92.201035],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b7560d7786dbde4c1b994956657a5f88 = L.circleMarker(
                [40.67469880000001, -92.35096809999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_348658b97d94d1debf86475720fd6269 = L.circleMarker(
                [40.8621283, -92.39397439999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fe7eaf1815d000bdca0669e489f9d57a = L.circleMarker(
                [40.91404339999999, -92.3980446],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c4af395870dde6ab24f4b008782dbf0b = L.circleMarker(
                [40.620940399999995, -92.51771719999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_639a7b21ab388c4ea1304aeff292838e = L.circleMarker(
                [40.82760489999999, -92.3982228],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d5b40e8760c1d47132e3f3b9488eb089 = L.circleMarker(
                [40.82932219999999, -92.43551089999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0597e5248b826ecd3e2188de611efcaf = L.circleMarker(
                [40.7844042, -92.4321985],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c9a55ab3fa4cc283a0007bc9107d0bdd = L.circleMarker(
                [40.7720156, -92.434559],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d8f48fdd7df6b7b4e4c927e16fabfe60 = L.circleMarker(
                [40.758363, -92.43369039999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cca0f0f5ebbbfa190f8945cd2aa194e7 = L.circleMarker(
                [40.6178327, -92.3540468],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bc5e65beb56484db7ebe20a37d4772b8 = L.circleMarker(
                [40.62822309999999, -92.52257079999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0112ea920fbc2db392b0e3207c6873a0 = L.circleMarker(
                [40.769011400000004, -92.2552495],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2afc5d743cbf9ae04f2f924ab1b3ba49 = L.circleMarker(
                [40.8570654, -92.3414404],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c79e5e81810bf6af277f321349d267b6 = L.circleMarker(
                [40.8691069, -92.40689699999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_894f940c96014b01754561595a2a664f = L.circleMarker(
                [40.920688899999995, -92.45568379999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_334ac88015cc82181ecacdf48cb41790 = L.circleMarker(
                [40.683516700000006, -92.51861539999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_11252bc672d45eb940c8c89b0cd8ab7f = L.circleMarker(
                [40.77663459999999, -92.38906759999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e696f3c36db0e52429693dedcde6083d = L.circleMarker(
                [40.75048770000001, -92.58064449999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d0af7cd664be2ea3a23ce91bd80ab952 = L.circleMarker(
                [40.623784, -92.4565943],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_32a0ca16dd0ebd4ed31f274b6f0a17a1 = L.circleMarker(
                [40.8174543, -92.36970539999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f8300c79cff2a8ad6e5c233c52302717 = L.circleMarker(
                [40.8127522, -92.4082607],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9c1c2b3bc788df3d36f0558f5248f91e = L.circleMarker(
                [40.8132958, -92.385895],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1b971d47c31db3e2afeda531463aa49d = L.circleMarker(
                [40.89465909999999, -92.40733189999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a0abfd569d9dd0f131239cc95b428eea = L.circleMarker(
                [40.620465, -92.51395199999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a6db9a2129f7af14df379c2f7d566262 = L.circleMarker(
                [40.9093092, -92.4333806],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0b674c3cdd67ef322d85f1c035364ba0 = L.circleMarker(
                [40.7583839, -92.4347059],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c494ce549f5c1c0fac6f1071cb212d22 = L.circleMarker(
                [40.84775870000001, -92.4076206],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_afb4cb33b3ccb2dc8db7bb8bbff8c350 = L.circleMarker(
                [40.7241634, -92.560221],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8b1db0f33ff030c0257c67dacd8a6882 = L.circleMarker(
                [40.9381883, -92.39598889999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_69fdf8eeb43490a3119a3e41510885da = L.circleMarker(
                [40.746670300000005, -92.5374298],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5375bd37cedf9b5aad79207d48278f82 = L.circleMarker(
                [40.9241204, -92.3479939],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fdd16d27778d27cd5943e99f6f15d44e = L.circleMarker(
                [40.77804, -92.32269],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d50093d9345d83b2405a2ab17b421960 = L.circleMarker(
                [40.840647299999986, -92.30337109999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6acc23204ce8f7476180be770cbb6a97 = L.circleMarker(
                [40.83497619999999, -92.3200589],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0a7adda949dcdcf9996b44d0c0467882 = L.circleMarker(
                [40.86555229999999, -92.3919102],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8e445635338f618741a3ce67149fc51e = L.circleMarker(
                [40.724806399999984, -92.5619483],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8bebef316622f5279f3918207664823e = L.circleMarker(
                [40.7715625, -92.2930578],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b6f9b920cad0c7613d133b81e316efe0 = L.circleMarker(
                [40.87196279999999, -92.332489],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_df65543f8b3bfec2dad85c66e19998bf = L.circleMarker(
                [40.8136379, -92.3966125],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a680b932b847f1274c1ce848d9840cbb = L.circleMarker(
                [40.92495399999999, -92.37551379999996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_aa8e0d333388ed2f07f066d01858c9fc = L.circleMarker(
                [40.88914079999999, -92.3502388],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2966f4015fc91771bac75a47c8497ac9 = L.circleMarker(
                [40.7220129, -92.37877199999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_24fb11a747245d7c9ebf6416c817941b = L.circleMarker(
                [40.92424489999999, -92.41806679999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1f9495c2f471dc6826d792abfc9875a9 = L.circleMarker(
                [40.72665269999999, -92.5021303],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7d1e35f969d1b64fb51702dc441081f7 = L.circleMarker(
                [40.7787904, -92.4690431],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ff19e36c1fba41a4fcc6c77d17e20291 = L.circleMarker(
                [40.8675524, -92.41000739999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a03146d028aa0e1fbb42f7579f02dfa3 = L.circleMarker(
                [40.7079886, -92.5343471],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cd8f578336667075192c66372719e3b8 = L.circleMarker(
                [40.87570269999999, -92.4610662],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8e25abef5e1b91880da07679cd2fdb18 = L.circleMarker(
                [40.8945494, -92.4066731],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4df6d86bf4972a8429560b61bcd0e60b = L.circleMarker(
                [40.8621934, -92.35894069999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_26523f02bdae1b22e083a979ef66c6d7 = L.circleMarker(
                [40.93130549999999, -92.40755099999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6942d48149897595657815b67f4c2a37 = L.circleMarker(
                [40.88999689999999, -92.35272309999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9b260ca557dc253d6451d8bbacf4518e = L.circleMarker(
                [40.66818909999999, -92.30206929999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8fbd3903267bd76f9a463198c1042564 = L.circleMarker(
                [40.660597299999985, -92.504277],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_09e776805eea32797b41070c15e3840b = L.circleMarker(
                [40.866604, -92.37324669999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_61aad349fbf41251ea1c5b4f5d4d68f3 = L.circleMarker(
                [40.7734193, -92.24301199999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b128b96b2b7814ce6211052ed899f0fd = L.circleMarker(
                [40.8460927, -92.4099188],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_92b6958307f628acb65a85d5d77487c7 = L.circleMarker(
                [40.69706489999999, -92.3450987],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5669ec55143081c8e8160f5181a021f7 = L.circleMarker(
                [40.7397514, -92.5897334],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2429963ed3d4a297f98faa98667082f5 = L.circleMarker(
                [40.6728437, -92.4658996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d98f97178c2e9185da6adec99cf8bed0 = L.circleMarker(
                [40.624311299999995, -92.3129222],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6c9ca0ecd310a5d51d5ab308fe5a5433 = L.circleMarker(
                [40.750522999999994, -92.20202859999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5a96209422435ae05a535f4c44f99d19 = L.circleMarker(
                [40.8132798, -92.39738079999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ccb4ff636787853871aa9a2dd9de6ae6 = L.circleMarker(
                [40.79849070000001, -92.32725709999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_090e3381bfc8bc259db6444e1cb04ce1 = L.circleMarker(
                [40.7730255, -92.4285726],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4f6ecdb3261453ee2a257a5e9ff6dc21 = L.circleMarker(
                [40.7673021, -92.4201202],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1a0e75532764305df4e596e8cf563891 = L.circleMarker(
                [40.78409, -92.37408229999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_eebb8da9942649469e2742c00c815abb = L.circleMarker(
                [40.885740199999994, -92.41805339999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_06914a04871c60a46a13ba98205afe18 = L.circleMarker(
                [40.838633699999995, -92.38047479999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_386c1bc0539c7caad9a0c78eb4808d38 = L.circleMarker(
                [40.644949899999986, -92.4565691],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_df581728e01bd46e9cfce87c5864af1a = L.circleMarker(
                [40.7745757, -92.3987664],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_312b68a2327e8b56889cf3f69c91126d = L.circleMarker(
                [40.6477896, -92.4683627],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_48551364a93c465b74ef6843ded4cca0 = L.circleMarker(
                [40.891378199999984, -92.36175699999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_562ee3fc1959a833551eb5f2a1816300 = L.circleMarker(
                [40.86926439999999, -92.4620702],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d2d621e71d05a722e338b1d2010ce2c4 = L.circleMarker(
                [40.69666119999999, -92.28423710000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f0d88150dfd6bb4c909238a1ffdfa6bb = L.circleMarker(
                [40.914014999999985, -92.4166819],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_19b09fd31d66170e2100e12a654d8675 = L.circleMarker(
                [40.7919262, -92.39928340000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7d6395d2279e85fca8d600618fea0ba2 = L.circleMarker(
                [40.604653000000006, -92.41415569999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3908c0f6a157b5af0cac03b2ac9b5470 = L.circleMarker(
                [40.73995249999999, -92.4884478],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2d3d20b2572efa7f8699266818914d6e = L.circleMarker(
                [40.7769683, -92.49732040000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5add3ab8be033c8c43e32545c81f6fa8 = L.circleMarker(
                [40.8505245, -92.44261479999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9ed64c119705f9dcd39a27ba94257442 = L.circleMarker(
                [40.8689183, -92.39323969999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2d94a9909a2f5287bd5d2621c83b4749 = L.circleMarker(
                [40.6780837, -92.31348279999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5af362b58f185bc58b6044b9814c107b = L.circleMarker(
                [40.697439, -92.29123940000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_911d38c6e0857eae53b7fb1045e5b057 = L.circleMarker(
                [40.79824639999998, -92.473637],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d2493c41aedfc648c7afa22d99474aa9 = L.circleMarker(
                [40.7503247, -92.42886819999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_01e97240c1efdb7afa146f4f3ede6307 = L.circleMarker(
                [40.7691622, -92.34511199999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b9896efb4c2f6aecdb078f6f116a9bf1 = L.circleMarker(
                [40.7988186, -92.4695402],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_003c1fef0138d39274e76e5305f6a097 = L.circleMarker(
                [40.849242700000005, -92.389509],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e4ae75ee1229de3e97d09693a57bc316 = L.circleMarker(
                [40.6447887, -92.3506204],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_67f15b289023584e3e4fd478aab2a866 = L.circleMarker(
                [40.6741412, -92.552306],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9b47e5883fac8e672c50f02bd3bb09ed = L.circleMarker(
                [40.8212447, -92.42524869999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a19a337a9e62d883ca72b3cb2d742737 = L.circleMarker(
                [40.7398022, -92.54324519999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e71a05df8d0d00c88fe2db6a95b2e92a = L.circleMarker(
                [40.8189714, -92.42352139999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d0d8b036f82fff1344aa97f115a8cf7d = L.circleMarker(
                [40.773554600000004, -92.4387822],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a0563990b152a3b5af2828d9057566d1 = L.circleMarker(
                [40.7406576, -92.23259079999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_30e9bf55ab8803f078d3e5bb4222c629 = L.circleMarker(
                [40.6482071, -92.43342180000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c989d362839bb507e7cd0fb9c439f6d9 = L.circleMarker(
                [40.738647, -92.3949389],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dd58f0d70f115cc5c93e0e314389dd2c = L.circleMarker(
                [40.7122786, -92.3379386],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_97875cd86cd8c389002a7196273e970d = L.circleMarker(
                [40.7837524, -92.3336597],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c2ca2d436ea339e72fe26eae53511f42 = L.circleMarker(
                [40.6215771, -92.6277278],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7b9545b6b3720fbbe3d2667f9c73cd5f = L.circleMarker(
                [40.7811693, -92.2540338],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_197d0561a5dd8cb4b8cb5e15cab27915 = L.circleMarker(
                [40.6532487, -92.58715870000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_507d89a5617e34bc511371f5649b4e03 = L.circleMarker(
                [40.9219133, -92.419424],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f2449825de038673f7c70f3b3cbed680 = L.circleMarker(
                [40.7401035, -92.5564259],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cd1bb4f99ce3d21fe873495a45ae9710 = L.circleMarker(
                [40.66033639999999, -92.5110666],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d8c722d68ef408013852d422a61fbb00 = L.circleMarker(
                [40.60345170000001, -92.4281629],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ce119ae3bef33aec0f701064a44dbdb4 = L.circleMarker(
                [40.78441899999999, -92.25681519999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7f34ebc11c379e90a45e455fdbad02c2 = L.circleMarker(
                [40.9215098, -92.41487909999996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_59889af4fe45f437492cca155666b14c = L.circleMarker(
                [40.653216199999996, -92.3222308],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f64916588394d77c0b74a73d2558e1d2 = L.circleMarker(
                [40.7747237, -92.4862219],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6b1ce22a4efcff6bb6fe932373895f6a = L.circleMarker(
                [40.7485, -92.19988329999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fba4468f7dac06a249b6c6ab8409ebb0 = L.circleMarker(
                [40.6606103, -92.50613169999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_867610a810bea72daedd389641443916 = L.circleMarker(
                [40.8497521, -92.3133064],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bae32356275ea5fac4b9ee883d096aba = L.circleMarker(
                [40.8354657, -92.38031679999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9d0717baec6075858e879fcb8ac5b2d1 = L.circleMarker(
                [40.7262759, -92.5359145],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4e2103c2e9704e10abe76c14df180ce2 = L.circleMarker(
                [40.74823279999999, -92.37853729999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cf4cded7574c686122ac5205c4f1dc2e = L.circleMarker(
                [40.861880799999994, -92.34465440000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2c009733df28d3d6f9dd91e302fc1985 = L.circleMarker(
                [40.89155119999999, -92.41183839999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4c18b2795b953f97e363790c9220f723 = L.circleMarker(
                [40.8049223, -92.46741190000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_864b4aaf54e818e8cf1ba1bb50ebdb1b = L.circleMarker(
                [40.74004059999999, -92.49533929999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d14662eb1ce9efc7220a20e312fc3657 = L.circleMarker(
                [40.6606024, -92.5462994],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1b4d34e50969691d64c98e715cbf87ad = L.circleMarker(
                [40.725669999999994, -92.50794999999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7121042f429ccf1ceac46d62e6ef642b = L.circleMarker(
                [40.8977997, -92.4161652],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4b02e1793094a5e02d9f33e60cb1f9be = L.circleMarker(
                [40.7199137, -92.4608185],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_90723c882f942f86e07fcb077c4f8c41 = L.circleMarker(
                [40.6681509, -92.4532362],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b4ead184d0fb6596db7bccb1f74d4d99 = L.circleMarker(
                [40.729212999999994, -92.50340109999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f84b86e032acb6678e8abe87ce48635f = L.circleMarker(
                [40.808672699999995, -92.37954709999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f146013d106aa8d1bd277fc6859610c2 = L.circleMarker(
                [40.77700579999999, -92.29765999999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5765e71ccb6aa9d7edea401640955876 = L.circleMarker(
                [40.9252922, -92.3722876],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d0da239394e7e15c852c479c0366bfa9 = L.circleMarker(
                [40.89202169999999, -92.41451999999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c84a00aa38ba718570188fc62a7a1960 = L.circleMarker(
                [40.914011, -92.39055590000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5034d26c6d5b3181fc7d16be19ed5028 = L.circleMarker(
                [40.7807209, -92.51504569999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e439be1c0e9d2c8e094c40d86edb4278 = L.circleMarker(
                [40.7769078, -92.3900969],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1e68d31a08b3c92b6349a212f6c1bf19 = L.circleMarker(
                [40.7638498, -92.48644980000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_87b1fafbecdc7a07f6515f80acfa9610 = L.circleMarker(
                [40.62453649999999, -92.42876049999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2b834a5accbb29003f1e06684f5b7d70 = L.circleMarker(
                [40.614962000000006, -92.4511489],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1e98027c25ee5d2623d70a1cce796ac2 = L.circleMarker(
                [40.8206922, -92.42847579999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9cd52595be9b79657aa77106c5aca840 = L.circleMarker(
                [40.6102991, -92.31203769999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_31028cb8e92d2fc13dd008c50df0b9f2 = L.circleMarker(
                [40.62407739999999, -92.59989299999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_11e6859ac2eefdc291ad692d2d8b904f = L.circleMarker(
                [40.9147365, -92.4171915],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a17e095713707ca95d2677c2d5c2d26e = L.circleMarker(
                [40.8273577, -92.26328440000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_88548c5c7f7e56351f86796c40890a20 = L.circleMarker(
                [40.7516191, -92.42769099999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_773e1af94dde7e8b46ff53fa94f71410 = L.circleMarker(
                [40.70365419999999, -92.4185048],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c36dbbe02372c9ad5384af87d6177212 = L.circleMarker(
                [40.664615, -92.33238559999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a88a84fedbba6896e299fb47c387892c = L.circleMarker(
                [40.6298077, -92.3171378],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_af9ced5434efa0be96ddeea933b47ed8 = L.circleMarker(
                [40.7619163, -92.29365679999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b302efa525f7a86c9114db8165c61085 = L.circleMarker(
                [40.7168559, -92.50371249999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_beedcc2a270482bb7b9c5d8bea6325e0 = L.circleMarker(
                [40.865922399999995, -92.39207109999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6c913732a611136f8f58bf262d8183fd = L.circleMarker(
                [40.85988149999999, -92.3976169],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fc26b00de9ec6fbc43f00af7f1d05deb = L.circleMarker(
                [40.62084249999999, -92.50771789999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a3abdbe1a3a4fe5a4059c220177fc084 = L.circleMarker(
                [40.8191649, -92.36096029999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1c70b13fdee9a0d1457b06bfe4abf282 = L.circleMarker(
                [40.74061849999999, -92.4906643],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_67cd8858656832153f1249b341d18b38 = L.circleMarker(
                [40.768565, -92.58357739999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b4152b124a8f88748d1bd19d73ed4b85 = L.circleMarker(
                [40.7478384, -92.2021718],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f6567915c185374a0762cab5932fd7a5 = L.circleMarker(
                [40.873854800000004, -92.391673],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d13f6742d681202a18a4e72765a1f80e = L.circleMarker(
                [40.7760569, -92.39350569999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_595a7eb5159012386326b30757ea8d0a = L.circleMarker(
                [40.8953926, -92.42293820000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1c53e8b9c5a2b2b11f0cf561d922d98f = L.circleMarker(
                [40.88322589999999, -92.3326232],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_36f5de0420130a7046fb4d9643e80404 = L.circleMarker(
                [40.65037779999999, -92.4624461],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_96c6b82867330ca1fdf44c330496dc41 = L.circleMarker(
                [40.740559, -92.5422325],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0fc43ff79fa6a39a5cea5a836ea22fb8 = L.circleMarker(
                [40.8984778, -92.40796579999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_53773bc14e95db4fe3656852a78429f5 = L.circleMarker(
                [40.757026999999994, -92.27336539999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cfcf56fa2121358d8991c77c1c949c54 = L.circleMarker(
                [40.724593299999995, -92.3837458],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e2f7f35e77ae9fb0892ca3f93123d34e = L.circleMarker(
                [40.805681400000005, -92.3375412],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_55b8734aee69afe38ce3ef78e12114c2 = L.circleMarker(
                [40.81365559999998, -92.4217564],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_79757734544dfde3b0a7eaaf81e9467b = L.circleMarker(
                [40.7690943, -92.48703799999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_864f395b1d562e9623ee6b07687c6106 = L.circleMarker(
                [40.62398720000001, -92.45369839999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bf9932102b7d819d30e06a7e356fa39e = L.circleMarker(
                [40.784153999999994, -92.51387459999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9ce72acecde58df6907e783c9d130ad5 = L.circleMarker(
                [40.72611359999999, -92.37968319999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e987f77f92282f669695bbb38c59c8bb = L.circleMarker(
                [40.761722, -92.55210979999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_deaa3a1af07942886085cd750bb90ce0 = L.circleMarker(
                [40.726394299999995, -92.5569637],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0c4a753c11c206279162c0bcc61b326e = L.circleMarker(
                [40.7484694, -92.1993242],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_946f432fd7f5e8d48d5435e6e96bda80 = L.circleMarker(
                [40.752043099999995, -92.4941653],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_59d691c25c88271928b4b313ad7b0290 = L.circleMarker(
                [40.822410699999985, -92.32288739999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_19a4ddb9bbd1e5337d9b3f56cf2b3276 = L.circleMarker(
                [40.62517919999999, -92.54280019999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_527000af9fa217f96dff77081aa77019 = L.circleMarker(
                [40.776636, -92.49932409999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_25c6b510ce4af49a10925fcf70a7d539 = L.circleMarker(
                [40.7253039, -92.558237],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_36435c2066d7273d5e554688bd10e1e5 = L.circleMarker(
                [40.6118692, -92.52461839999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8bf27ed45d099f475d8b9768d302adac = L.circleMarker(
                [40.8264455, -92.3787799],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0bf6e3f9886ea0531b047dcf81c663bb = L.circleMarker(
                [40.75412759999998, -92.63835469999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a7f904da23cdd32171c5e7e316ffe40e = L.circleMarker(
                [40.6348699, -92.58780819999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b7ed1b908cd0d67d0e3251d883ce4610 = L.circleMarker(
                [40.813079800000004, -92.38642699999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_83d68d6019e444f25f00c79c1d81f7a8 = L.circleMarker(
                [40.91098039999999, -92.4146412],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_367249501c613e7a0502675097365fbb = L.circleMarker(
                [40.7150371, -92.4860045],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6557d50fb6bf03ac594f91721959db58 = L.circleMarker(
                [40.6730247, -92.50382409999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_aa7d09c0dc49260003544438a67d5caf = L.circleMarker(
                [40.6645941, -92.48916199999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fbd8e3dc582e047fa125f3679a5abc5d = L.circleMarker(
                [40.7693335, -92.35608119999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e0bfdaf651951c417eb40d8ba943e8a7 = L.circleMarker(
                [40.82776700000001, -92.3781269],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f64080c4832c7d37753a799dcc1ea40b = L.circleMarker(
                [40.776042800000006, -92.3972576],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7bc225f1b0d70d0aa46897eb5bd3e092 = L.circleMarker(
                [40.8136271, -92.4075083],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6cb243e64ebc321e5205ed3b6d94479e = L.circleMarker(
                [40.6769995, -92.4322406],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f3518c2f17a1bd137d2974821b9e48a7 = L.circleMarker(
                [40.9217579, -92.35252289999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f1d14783f8bbf5497816e3e424c89930 = L.circleMarker(
                [40.8646017, -92.34785769999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_28f24c81d77cc55c9153eb89f2babde4 = L.circleMarker(
                [40.62383589999999, -92.4540113],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d62a6bd14825004575bfb6dfd2bffcde = L.circleMarker(
                [40.7700798, -92.4682493],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d55f4b98b5a6671d2b4559e819bed805 = L.circleMarker(
                [40.8919936, -92.46704869999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0e2f7bc4e7dac52dbc21ed86e0ea0040 = L.circleMarker(
                [40.69054669999999, -92.5411925],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_60e8162b8977d8d8ebec53e2f15b677f = L.circleMarker(
                [40.9017405, -92.41080139999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_599c07794b8b1002b2081256388b4189 = L.circleMarker(
                [40.76597189999999, -92.5090906],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ce02083037b29140a14090c78ea826a5 = L.circleMarker(
                [40.773149499999995, -92.4000826],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_66d7629b8f056844424c5f37cf35526d = L.circleMarker(
                [40.76691339999999, -92.50462009999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a340cf7dc9bc41290a75f32c458de469 = L.circleMarker(
                [40.78261279999999, -92.3337734],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3f09c602bf6d1559e94924ff6a7297e8 = L.circleMarker(
                [40.8498479, -92.3805173],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_65774177ca6a6a07d681343231cad6ff = L.circleMarker(
                [40.7698863, -92.3422079],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5d3837b8aa562f501e242c85997398d3 = L.circleMarker(
                [40.740487599999994, -92.4844043],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5a786dd2b15f8d99245fc9d9940f3d24 = L.circleMarker(
                [40.76714869999999, -92.5563215],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d97e28541e179041c2240267bd8ade68 = L.circleMarker(
                [40.6278559, -92.34141769999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a62b46910b139cc19371bfb8496f3e0b = L.circleMarker(
                [40.861826900000004, -92.4035652],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a8d77a5950a6d94de4fee7cc9df4be50 = L.circleMarker(
                [40.7916712, -92.28608459999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a037e707b53e217d64a720452098e695 = L.circleMarker(
                [40.73372229999999, -92.50429429999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6b0e43f29e98095f467652d42b40620e = L.circleMarker(
                [40.723444, -92.5615577],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_125a5e9535a64249ce802c683cb53336 = L.circleMarker(
                [40.769711400000006, -92.47080669999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c9c399494b3b7f2f9b907daceaa850f1 = L.circleMarker(
                [40.93116950000001, -92.42004089999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1a45e022ccd82b777bd87a37aff2d5bc = L.circleMarker(
                [40.740549699999995, -92.5433215],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d07fdb7c6013863eee40f9bfe8014c0b = L.circleMarker(
                [40.7107079, -92.3578456],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_99bdacbc2d6a703fd2a45e4828cf2f3f = L.circleMarker(
                [40.67931459999999, -92.5767547],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f462cb552d392098f8cd7a2d80523eb0 = L.circleMarker(
                [40.8891703, -92.32590529999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1121f3f9df9481e7113560bcb1feb413 = L.circleMarker(
                [40.6488202, -92.393636],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3dbeaa6958731558307575ef225352c5 = L.circleMarker(
                [40.8422886, -92.38040889999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_863d7f1b7aef3aa84d2820f669a52327 = L.circleMarker(
                [40.8949035, -92.45490799999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_18057acbf57622eeb554babcecb5780e = L.circleMarker(
                [40.744754999999984, -92.4320574],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9b1b2138cb75ebdacb05af4c7d8927dd = L.circleMarker(
                [40.68623839999999, -92.4585307],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_64acc02dbd2af1be339496b3e5baf756 = L.circleMarker(
                [40.7697967, -92.3527872],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d71f32413ab42e7b205c7fca3fbf522b = L.circleMarker(
                [40.828342899999996, -92.39477719999996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a12459b16e063ca0ac637f5c5056f239 = L.circleMarker(
                [40.6100603, -92.2985708],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_035c931e0901268c76e69f87cf882be7 = L.circleMarker(
                [40.7912339, -92.2827485],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_41620cee9b9f9d8b5f823dd7377c6bc1 = L.circleMarker(
                [40.7767895, -92.39425489999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_169ba1d16ecdd4b3ad646955c01badd5 = L.circleMarker(
                [40.69236199999999, -92.42418779999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7577363d7c53e87233db97d02eee99f1 = L.circleMarker(
                [40.672545099999994, -92.40051529999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f9fee8bf88e6baeb5f038f8780deb961 = L.circleMarker(
                [40.8732592, -92.4034266],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_08506318f6c8af6559eb7a3297a2ef25 = L.circleMarker(
                [40.74057330000001, -92.5043278],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_45e9fdb4bdd539bacda4294f001fa5ca = L.circleMarker(
                [40.72373199999999, -92.56021699999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_303a5876c1b69cd0654bc70b9d8cce60 = L.circleMarker(
                [40.796996799999995, -92.4661991],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_750e838877a1019707b69ff1079d763c = L.circleMarker(
                [40.740452499999996, -92.5379734],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dc2c3e7a7c8c266a4c3ce0e8ef6bccbf = L.circleMarker(
                [40.6507587, -92.5873564],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e85db99dae6ad8f2bc5b809e78ff1079 = L.circleMarker(
                [40.9020451, -92.4360624],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_80ec7ed40ffb3988c8b932b6c5083b4a = L.circleMarker(
                [40.6419105, -92.380145],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_eba80fde6dab8daf49cee3c3a81a3bb9 = L.circleMarker(
                [40.71900639999999, -92.3725789],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2ef578a8aad146718da1c3fde258a52c = L.circleMarker(
                [40.7776862, -92.5332743],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bf631da912fa29dff2cb5929356782ec = L.circleMarker(
                [40.8403312, -92.4186312],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4065fae0b38ea20ae29ed7556fc85c6d = L.circleMarker(
                [40.6026184, -92.57837109999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_912d95c949d054fd9c4e5887792dc48f = L.circleMarker(
                [40.7584213, -92.43423899999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_06812876cb407d88efc0b0e8cf3c4fdc = L.circleMarker(
                [40.66157900000001, -92.51837239999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_52ba1bca713c67d5f14f311d0996da4c = L.circleMarker(
                [40.73999689999999, -92.5349166],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_76df1766d1cae2eba875f96f4a250eb1 = L.circleMarker(
                [40.7404132, -92.4888092],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_627353cba405a27c72a1be78c9ad72da = L.circleMarker(
                [40.8988405, -92.3332403],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dab90349ea76934e81c91f406bb0963d = L.circleMarker(
                [40.86058359999999, -92.38351929999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c54dc6e88957dcfdcabe9d6bc1000a2d = L.circleMarker(
                [40.8784463, -92.3743645],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fce64960270a8463a5906945364f133d = L.circleMarker(
                [40.6645778, -92.35610959999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3307ec485f438e9676ee2e281e52f51b = L.circleMarker(
                [40.917719699999985, -92.4197888],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_240aa427f2ad24537e7f107245bc0e2d = L.circleMarker(
                [40.8558525, -92.37124689999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fa1d4828b6d20aeed84791d052813514 = L.circleMarker(
                [40.751601499999985, -92.44814079999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6df65af5c2ed62db480614fb5dc99ed2 = L.circleMarker(
                [40.6571505, -92.59460749999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_08b0fd925333a4f325692b269b2b7ddb = L.circleMarker(
                [40.8437968, -92.2941922],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4b75962161870b8ade640a1214404810 = L.circleMarker(
                [40.6552873, -92.51882419999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_13215edc468e69e0f3d76576a6163288 = L.circleMarker(
                [40.853836300000005, -92.3820008],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_061a28f3d0d027f2cc18c25f60c278e8 = L.circleMarker(
                [40.749599399999994, -92.20207679999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7f174e9001ae987ceffe9205c1b08d6c = L.circleMarker(
                [40.7883906, -92.22629329999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_56e0bad8f43258cb920782179dfb261d = L.circleMarker(
                [40.92815689999998, -92.3810366],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b875843fb550cd899070548dbb5f974f = L.circleMarker(
                [40.7418288, -92.4352477],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3445bb3e401c4a9c988e5d1dbe04e98f = L.circleMarker(
                [40.8946203, -92.41745289999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8f62ada838c8eb5924f8f314ddfd534e = L.circleMarker(
                [40.7184389, -92.2734774],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_34810d4a92e36c76eae5eceac844c5f7 = L.circleMarker(
                [40.7983882, -92.30817129999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_80014d1bf6f98ce85f2473a253a231b4 = L.circleMarker(
                [40.89658379999999, -92.41616090000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ddfa52566312059df8af8bf9e317c492 = L.circleMarker(
                [40.9179521, -92.44955389999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_aafcbcc02a3c05bc0e222297b7c3cf05 = L.circleMarker(
                [40.6281199, -92.29221499999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_16223de6166156d47641df9c758d9ff4 = L.circleMarker(
                [40.93726590000001, -92.4188404],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_da2dbe80a9a7a336bb854af71fadbd16 = L.circleMarker(
                [40.61730979999999, -92.3464778],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_66252769f7c9659cd96ef3430fa128ea = L.circleMarker(
                [40.769751099999986, -92.4876558],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f39dc9a6d58115a3122aff79722039f9 = L.circleMarker(
                [40.798744400000004, -92.4169504],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_abc55c4136365d86e5ce3e3218a12c2f = L.circleMarker(
                [40.7780553, -92.41941819999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f99b5c4956f2be0a2d8fda90a15b2cff = L.circleMarker(
                [40.689341600000006, -92.4332652],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_587b47711d72124f10497d4bea0b5a2a = L.circleMarker(
                [40.8263943, -92.3791226],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8bf679d2712cfc8449e694fc8faf4b57 = L.circleMarker(
                [40.74823179999999, -92.2026625],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_44d92acc0268e1f8c871581c5627795c = L.circleMarker(
                [40.754859999999994, -92.51442999999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a4ee9df08e1f2cdfec7cdc291dea0fe9 = L.circleMarker(
                [40.839693999999994, -92.35169779999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8f6586f8e7652ed8b972bfe270c996a7 = L.circleMarker(
                [40.8275611, -92.46098989999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_60865d2cb2b5ab88ce175f58257435f4 = L.circleMarker(
                [40.86143329999999, -92.3569819],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3a5d9f73dbce9ee4dfaf3ba107207a6d = L.circleMarker(
                [40.653621400000006, -92.49841189999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_986409b1a0d9bfe7552a332bfd2b29fc = L.circleMarker(
                [40.8245476, -92.4516727],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3493868eb9b31b2c70937008c98bfc99 = L.circleMarker(
                [40.81327240000001, -92.39373969999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9905424271fa6ac9eae1fea944e88a9d = L.circleMarker(
                [40.7989292, -92.4389708],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f58fe5cc27eb80dcec36fd75849b8fc5 = L.circleMarker(
                [40.859159, -92.44154339999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e1e352f7f4c1e42504f850db4f350801 = L.circleMarker(
                [40.8520065, -92.39307839999996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d00d3a68d5954a32c21380bd323f55ec = L.circleMarker(
                [40.8664327, -92.40908619999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_088ef7536e017eaac99de87822955948 = L.circleMarker(
                [40.831028399999994, -92.32255869999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e06cee22081ffff2b633c2725ef262ab = L.circleMarker(
                [40.8255851, -92.3033038],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3493a2e2b5b27116299bd6d10ad07e32 = L.circleMarker(
                [40.8892498, -92.4003983],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0a18875265a5ae9beac676d286befcab = L.circleMarker(
                [40.7666929, -92.3414112],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ffc8ee3af19838c827a927b6dc059bbb = L.circleMarker(
                [40.7713837, -92.399477],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_79e0492d0bceaf1da71b39abe1a18568 = L.circleMarker(
                [40.893193399999994, -92.4046733],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6822bdc1e552333749380dc316aae2b3 = L.circleMarker(
                [40.711724100000005, -92.29544059999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4f085bc81c2b4db427c6aee7c204f3d3 = L.circleMarker(
                [40.635666099999995, -92.3431414],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c20d34c7ee28df798c3187361ebdf8fa = L.circleMarker(
                [40.8393598, -92.29392609999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_91bc9404cbe075d81e85d32895ae0466 = L.circleMarker(
                [40.7983329, -92.4740899],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_38eb97853014b8f315e6f44a525f3759 = L.circleMarker(
                [40.645744399999984, -92.53268240000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_28e0c4e5271cee12ef61d65059a76b81 = L.circleMarker(
                [40.90353949999999, -92.4365554],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ea80e85a841e086a93531b61d7960bb5 = L.circleMarker(
                [40.74729099999998, -92.3185152],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e38736f829586a9011c6b08ce346e6c0 = L.circleMarker(
                [40.7071396, -92.394675],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6f4345f0b95e40eec63e6fe138a3dc27 = L.circleMarker(
                [40.624228, -92.4543976],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c86b7b28ed0c39fd58b8eeac0cf286a8 = L.circleMarker(
                [40.73724659999999, -92.40742189999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_36e95e6c02f47ce9e617882a481ba3d1 = L.circleMarker(
                [40.76933579999999, -92.3573149],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5dd6dc427d3170973c8e9669c00e3cf9 = L.circleMarker(
                [40.7642775, -92.2137185],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cd2f9e608f002a6826d017b963b88486 = L.circleMarker(
                [40.893495400000006, -92.3184014],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_342bd828d6ae02dae3b9c2d6b4840864 = L.circleMarker(
                [40.8528313, -92.39882829999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_336b08d10ece9a098901138bc928b898 = L.circleMarker(
                [40.6234496, -92.3789725],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b972210bb23adf5b7e9cf07ded7defee = L.circleMarker(
                [40.90644160000001, -92.4615918],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1c097f84b76ca88d8de758d3513e5e17 = L.circleMarker(
                [40.822852399999995, -92.39853310000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a134763fca9b36358c70829439d8bd32 = L.circleMarker(
                [40.7828326, -92.44281919999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b94da1b85736c64e3c88ea1ab703cb91 = L.circleMarker(
                [40.7493149, -92.20264699999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_05106c3f5df2c70636e711cd25376239 = L.circleMarker(
                [40.7480224, -92.22389709999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_370508d1ec14886824273efede143e7f = L.circleMarker(
                [40.813430499999996, -92.3213725],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_674c497662d50528de834957ae8b2896 = L.circleMarker(
                [40.6682519, -92.32771359999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f6e39543963862904ef4464f251bdf83 = L.circleMarker(
                [40.814249099999984, -92.3149858],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a7d00afe50d213dba7f23f983c4ec7fb = L.circleMarker(
                [40.620619999999995, -92.4567574],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_008c686b1c8755e99e8d3ed9a497c78d = L.circleMarker(
                [40.75140570000001, -92.43268309999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6d7c065e2b9445d2c7b26bb35aaac260 = L.circleMarker(
                [40.7009182, -92.5039454],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_188db94316a6b8ede52877bd3bf7a419 = L.circleMarker(
                [40.7332757, -92.3908784],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f03b6ad9d506fb324084cfe78e050b79 = L.circleMarker(
                [40.754623, -92.61255889999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0f9bfddd0940328acbd06cdfafc264e2 = L.circleMarker(
                [40.798040699999994, -92.45361639999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b59e26bba7719a1ac140d10a61ec826f = L.circleMarker(
                [40.685895599999995, -92.37952119999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3e6bbf339c21cb3026818a89a6706841 = L.circleMarker(
                [40.767452299999995, -92.4660551],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e01a168972d90e938a556450ae0653c9 = L.circleMarker(
                [40.750330899999994, -92.2025495],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2777b33317fe18bb593133c18536535d = L.circleMarker(
                [40.7430075, -92.43534739999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9095b0c44632bd302769326fc762312b = L.circleMarker(
                [40.7478337, -92.5555118],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ac131db2b90ab0f5af45fdd44796f8f9 = L.circleMarker(
                [40.784342499999994, -92.34612400000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ffab8181d832448f50f74a11ed5fd094 = L.circleMarker(
                [40.76502880000001, -92.44841109999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5e1e77b0b53a518d53de013a3dc8b09e = L.circleMarker(
                [40.8594148, -92.3978344],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5bb9cb2edf9a7ef4ce2bc1ccdb875f93 = L.circleMarker(
                [40.813573, -92.4241669],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_efc869fa1a786f4218cfb16f5d9a536e = L.circleMarker(
                [40.769688300000006, -92.47107379999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2134021f51b92fdf694f52e0f4882738 = L.circleMarker(
                [40.7399827, -92.5242444],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f9b5ad1b2369694a9c38dc6e1cc0a7ed = L.circleMarker(
                [40.8830965, -92.4434406],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4a6800fcd6500c8e4130d2aeeac71ab0 = L.circleMarker(
                [40.9140718, -92.37286389999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e7e9cef3ef2fe876cc407fda1c89b9fb = L.circleMarker(
                [40.91904319999998, -92.43831509999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ed7557333e3c81f19d582009b7c5a43b = L.circleMarker(
                [40.72473449999999, -92.560194],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f77aa7551f6738906f0037883d6ef83b = L.circleMarker(
                [40.74021619999999, -92.31069529999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a408de994d16960c45a850b75b9399f4 = L.circleMarker(
                [40.87316169999999, -92.4048256],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9c404f31c8f863332427960c6622d157 = L.circleMarker(
                [40.6607089, -92.5130556],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_020e7af81f39a941be0c267460f77cc2 = L.circleMarker(
                [40.8952842, -92.3549537],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_350d1a17942c81b345dcf2b2f11fa304 = L.circleMarker(
                [40.8499535, -92.31923379999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_59ee1c5c7262ad979eb8464320022c72 = L.circleMarker(
                [40.7652734, -92.4460963],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_823647ca68bc807f266f9dcaf14ef9dc = L.circleMarker(
                [40.76976539999999, -92.4696403],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_de537f29727a9ed16378879c9da2e0b6 = L.circleMarker(
                [40.7230456, -92.5041596],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ba1d67332ba02896e15b2ecf938cfd23 = L.circleMarker(
                [40.7276967, -92.4862208],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_990bfe11a9ca94ae12b4e709c37136f0 = L.circleMarker(
                [40.8315662, -92.4422303],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4e0302c8ba17e4b75c41d07718f80dc1 = L.circleMarker(
                [40.76582189999999, -92.2782863],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a875fcba7e143183672a1035eaaa4e4d = L.circleMarker(
                [40.9277149, -92.4186024],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bc9f930e152f33a6f69ce1accf29bb72 = L.circleMarker(
                [40.813558799999996, -92.3892811],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ee3c7062467028d9acf34b5e00662731 = L.circleMarker(
                [40.75799619999999, -92.5046561],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_32900a7bdbd2511e71f416828a19bdcd = L.circleMarker(
                [40.866788799999995, -92.4613794],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_efe9f7366b2fd92484f931b09fcc9a4e = L.circleMarker(
                [40.9233715, -92.41842539999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_eb2cca0dcb6bf4fe209dc68d09ce9101 = L.circleMarker(
                [40.8685028, -92.44986299999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fa23e09991affe997b80aa533f4e9a7f = L.circleMarker(
                [40.8805754, -92.41028209999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7534d5e423288a9823273ab6806b5c2d = L.circleMarker(
                [40.73836500000001, -92.4861211],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_73c03b814b361df14eec04d7379b5741 = L.circleMarker(
                [40.8593473, -92.37215019999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2a235799b2117595f1a2cc119c0dfcd8 = L.circleMarker(
                [40.74325839999999, -92.55651879999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_38697205c5d509b8c1db48a684f89852 = L.circleMarker(
                [40.9357057, -92.4074544],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b08ec0b8e3aa1e159ff7ee8e8196b1c0 = L.circleMarker(
                [40.79216739999999, -92.4476627],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_86c1441880c055aae38c1a925aa8e92a = L.circleMarker(
                [40.5954916, -92.45313069999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c7c7ff3f087c616f0f11fc03019282e7 = L.circleMarker(
                [40.7234362, -92.56035739999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_92809f0f7bc1aba17dcdcb7515fafa38 = L.circleMarker(
                [40.7689298, -92.49398820000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ce269ef01689f2694059ed0ce9399c9f = L.circleMarker(
                [40.67306709999999, -92.53269039999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1b4c1bb1383e8df0fd0e3dca892fdf7e = L.circleMarker(
                [40.9205182, -92.3906875],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5154c26808c2552b680e83ca29ea5023 = L.circleMarker(
                [40.8203825, -92.4262672],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_654793428d01ec4304c45f1db327faeb = L.circleMarker(
                [40.75833709999999, -92.4354778],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f8708e83ee3a33c055b7cb00b38ecca4 = L.circleMarker(
                [40.8557119, -92.3319288],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_48bacd8dc0839a98a462514cfc24d39a = L.circleMarker(
                [40.8645338, -92.39266579999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8e999ac3748bd62fd42c0559de1560fd = L.circleMarker(
                [40.8699471, -92.4038042],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_601c1b8ff12a24870e64fd5342558050 = L.circleMarker(
                [40.723386599999984, -92.4857464],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_beda77eaa43b2290c1077716b4971d8a = L.circleMarker(
                [40.7515846, -92.20246449999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cbb8c50d2087e39c4aeee4d3d6e4c59d = L.circleMarker(
                [40.6102201, -92.60402980000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e1b6c064ed84453bfb2be5ab86524b1b = L.circleMarker(
                [40.7780355, -92.53320619999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_18a1c8c0139c392c13fb087949b2733d = L.circleMarker(
                [40.62027529999999, -92.48153079999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1d41c40c881a92af1224c6c1a594ba31 = L.circleMarker(
                [40.84781959999999, -92.4432458],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_225e01396d38e2294d63bd673e6c7e73 = L.circleMarker(
                [40.802659799999994, -92.3466913],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f698cf2fff4f51f9847a13ec082bb80b = L.circleMarker(
                [40.6975617, -92.2896745],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1ec134798989912b9b91a16549821722 = L.circleMarker(
                [40.87384539999999, -92.40619930000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8ca072998a4aee9a29ec37f488d498ba = L.circleMarker(
                [40.776678999999994, -92.3882292],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0ec94164142216005c19847bfc61358f = L.circleMarker(
                [40.727553999999984, -92.47639999999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ba83b8d1efd7d0b9277c6a5004fe1f91 = L.circleMarker(
                [40.77468829999999, -92.44308779999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bedf2ddec2651f5f4ddf2eab83bf0cf5 = L.circleMarker(
                [40.9304374, -92.384911],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_255cdb00e6b25a9c724bf40cf279e59d = L.circleMarker(
                [40.78105349999999, -92.47221789999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fa8ae9772f78e0762ec2ac34c3ab3778 = L.circleMarker(
                [40.776654699999995, -92.2672609],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f4be1007a5a4a5e4ff26e5b37c38d29b = L.circleMarker(
                [40.7547865, -92.56161199999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_09e316bc247108a3e381ed020d13677f = L.circleMarker(
                [40.7314958, -92.50457399999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c32a55d95b388b2de622fb1737c0d7eb = L.circleMarker(
                [40.91825679999999, -92.45277099999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_80358ac43f1525fa7a12cb00a60a9b90 = L.circleMarker(
                [40.9380922, -92.3940723],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c797c2a22ce4e338338247377d772466 = L.circleMarker(
                [40.746230000000004, -92.48556999999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_207c89927104e54e0e02f4bce06de2ba = L.circleMarker(
                [40.89676300000001, -92.41647659999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d0f649d002f5c2417407d9790f046619 = L.circleMarker(
                [40.761935, -92.60548879999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5a39810e8c1e0bfb709f39e516fa2d75 = L.circleMarker(
                [40.8601915, -92.3815354],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a1e2d7f919797178ec0e551af3bf1a0d = L.circleMarker(
                [40.6316165, -92.47163689999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d20657eeae84130a5c55133c9482d250 = L.circleMarker(
                [40.711483400000006, -92.3249293],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f980025312d888dbaadd90ff91cf26e9 = L.circleMarker(
                [40.7508683, -92.43648139999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8f6f0b62f2f5ef1ebb9754e67a2d5ce5 = L.circleMarker(
                [40.725182399999994, -92.5623695],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e790334e2304dfdf5341e94cec0877d8 = L.circleMarker(
                [40.881404, -92.33403699999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4ccd42a02cc3318ddcf5193b14ffed8e = L.circleMarker(
                [40.6259738, -92.31722569999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0a3c20fc8899069c3df5471596f46167 = L.circleMarker(
                [40.7106535, -92.4475867],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7f617507fda2699687f736beae4d2dbd = L.circleMarker(
                [40.696592299999985, -92.31851019999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_95245a140af4cf2149032ea9b1f7c27d = L.circleMarker(
                [40.92492620000001, -92.3535057],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b5e3347289590894c19251964fa7eb5d = L.circleMarker(
                [40.711377999999996, -92.52411619999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f5c6e3e1e0057e0fb8a9a75ce4c6314c = L.circleMarker(
                [40.6597393, -92.564964],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e125d5d0af8ef9f1c720891d23ee9660 = L.circleMarker(
                [40.8208387, -92.4269306],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0899105c5bccf71d76e1c836d7c77e02 = L.circleMarker(
                [40.858130499999994, -92.36627279999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_927e4e04224358ba4f572d9e81f9c825 = L.circleMarker(
                [40.8780932, -92.451168],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_108ad5d8727418b9846f354750a0e6bc = L.circleMarker(
                [40.6245367, -92.4380118],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ed79ee74285a92a7a3dda00e241903b6 = L.circleMarker(
                [40.8282627, -92.3997096],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ee0a56e5c34a43a9897a55ef4d98ca8f = L.circleMarker(
                [40.7986329, -92.25849559999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_56d7e0768202615ddfed105931ff7fe4 = L.circleMarker(
                [40.8854019, -92.33298499999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f238a413748a24f35a73b431009604ab = L.circleMarker(
                [40.79543419999999, -92.39843659999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_32283740c50108344e373fe5c247336b = L.circleMarker(
                [40.86249759999999, -92.370713],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_98e398d98dc6b920c9c399ffdfb4f922 = L.circleMarker(
                [40.8136416, -92.3877608],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_337cf66eb19eff366aba0fa083620692 = L.circleMarker(
                [40.6965743, -92.29855899999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a56fa1778cf2514a81e4ca8a57889d09 = L.circleMarker(
                [40.79517199999999, -92.3796533],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0534cd627bc965c611e51414e7ef82e1 = L.circleMarker(
                [40.6248023, -92.3799247],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0e876fe76b1b964ce9a2b3b6079938f8 = L.circleMarker(
                [40.9094534, -92.3634532],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5725cce30bd8134a970dbc3cb4a0446a = L.circleMarker(
                [40.9300132, -92.45697509999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ce2dbff6051e4cec58145352efd3b649 = L.circleMarker(
                [40.777014399999985, -92.38586399999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b347cdb36a0427f2bab1e457a7755e4d = L.circleMarker(
                [40.896717, -92.4173233],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_79319dee9e33b1ac41c60d38a11bc46f = L.circleMarker(
                [40.63527109999999, -92.3509375],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_80f8a692d07044a777432628acd1db82 = L.circleMarker(
                [40.739773299999996, -92.6064122],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_eba2d46c0209ed754f3cf005f674dd2c = L.circleMarker(
                [40.896752699999986, -92.3561233],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d4d297fab1193aa7dfbe7577ca2c4873 = L.circleMarker(
                [40.651851999999984, -92.5865154],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_31cae7cbf0105eb97434fa15dc084192 = L.circleMarker(
                [40.8322816, -92.2947167],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_edaffbf0a0df394102a05c01aaffcc54 = L.circleMarker(
                [40.8199672, -92.423475],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fa47a066d7746a407d2ee50462c4e087 = L.circleMarker(
                [40.8725097, -92.4076134],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ad87c7c793adc02fad872223c47c094d = L.circleMarker(
                [40.673211699999996, -92.5330522],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_19f89091d2a3da4bd0d9aa03c93fc599 = L.circleMarker(
                [40.925007300000004, -92.35508819999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_64921f859dc53ab8c6ec408faceb8ab2 = L.circleMarker(
                [40.71196909999999, -92.51684819999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c0b6ca2391d42b5d9dae16ffa29153bc = L.circleMarker(
                [40.7837722, -92.4499436],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_95911265c99a4c43a9ff6a4731dc7071 = L.circleMarker(
                [40.623590899999996, -92.4543259],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e492a69a38a01d060d57c57e53098d9d = L.circleMarker(
                [40.827950699999995, -92.26964019999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c14c2a82aaf9aae993fe88eb8a33a9e0 = L.circleMarker(
                [40.7833874, -92.4718428],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_844f8fd88024ff5e021b589fc2cfb572 = L.circleMarker(
                [40.6956442, -92.4243782],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3f21fc0dd3968da0e6f6246ebd41f444 = L.circleMarker(
                [40.9174136, -92.4439906],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f805221ddfd6f028230323c725539285 = L.circleMarker(
                [40.7923287, -92.45295],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_36516ff4dc51bf525c05f8b2a34b7e12 = L.circleMarker(
                [40.74062829999999, -92.5431304],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_053eb99aa61545a16bf85a5ff24f1b03 = L.circleMarker(
                [40.6969613, -92.4720592],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_eb8416aee97ff04251e9ff4282425086 = L.circleMarker(
                [40.612909699999996, -92.46799940000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0713d6830155e89de2f570c4e145e5d0 = L.circleMarker(
                [40.8933299, -92.3744246],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_367a06250ea57b8d4f0537355e6d8df5 = L.circleMarker(
                [40.63532709999999, -92.559749],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_52970ee84974c6f13193955553f0089d = L.circleMarker(
                [40.6971948, -92.52907879999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e4e95f55ec627a9f348194c0091bfad3 = L.circleMarker(
                [40.624063, -92.45199239999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0f520b11ab5d3331d0d6155181e0fec6 = L.circleMarker(
                [40.77285109999999, -92.3701626],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2cf5fec43fe7cfa3bb15820ad47ffeab = L.circleMarker(
                [40.8567659, -92.3703912],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0773fa7aade64c029e91598f98acfb9c = L.circleMarker(
                [40.8560894, -92.3555808],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_718d872228bf6249c278a890579c24dd = L.circleMarker(
                [40.8888321, -92.3386892],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c737021e010818bf4d587b622a28dd03 = L.circleMarker(
                [40.7397411, -92.4859638],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6ebd3ea9479ff30117864da1de445981 = L.circleMarker(
                [40.8594123, -92.35806799999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4432d60faefdca78553c5e2106dcd647 = L.circleMarker(
                [40.725296099999994, -92.5584822],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a30f0ca38c3ae5a8e5fafc606a4299ab = L.circleMarker(
                [40.739876, -92.5232224],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3b8e9e9c34d2acbeed18b587b6797417 = L.circleMarker(
                [40.6681218, -92.33727299999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b0cc4c66dda2a06b74639c1e6a393b05 = L.circleMarker(
                [40.69789879999999, -92.4227248],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_898b41b8319fc4856e4ff5c373f5e2ef = L.circleMarker(
                [40.630105799999995, -92.3516734],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c061842ae44ed1c6b2358d52104a6063 = L.circleMarker(
                [40.8277446, -92.38133629999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d52c3448ee6b88965cc5271154df3bb3 = L.circleMarker(
                [40.753119299999994, -92.3986735],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_14996154a2c323fddff0db22c42217d7 = L.circleMarker(
                [40.7760609, -92.3945605],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2531e0c46b91769bf741448a546cb5d0 = L.circleMarker(
                [40.634861799999996, -92.4566076],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b9cca75243240f80a6b2c5214e0c6d74 = L.circleMarker(
                [40.7408901, -92.4482221],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ffb06ea5d564bdd4db5641d47d062f20 = L.circleMarker(
                [40.6534556, -92.41792199999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5e9021f62b19eab5db87a254a30cfe40 = L.circleMarker(
                [40.6206954, -92.5970918],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5e9e5a4805501c9a0c6ae0b1e6c19414 = L.circleMarker(
                [40.893774699999994, -92.3853096],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_01fd8787447f07875d22cfd908bee9bc = L.circleMarker(
                [40.73900309999999, -92.4770426],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a6fe4cf290493b98f2a19f5d51cb3ef0 = L.circleMarker(
                [40.5993415, -92.48001079999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0bf86bd397453909fbde9d389574115e = L.circleMarker(
                [40.8535491, -92.37814089999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cdddd34f8fc1c16d09c7059f04323b84 = L.circleMarker(
                [40.6967467, -92.287751],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b42b6b9d6c66fab39645994d463a4c41 = L.circleMarker(
                [40.6567247, -92.59847279999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fe480c1b4f6cb294a360d59411191910 = L.circleMarker(
                [40.725178299999996, -92.560216],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5d999070e97a78640512aae280d23f32 = L.circleMarker(
                [40.8663987, -92.3928026],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_68a73b014dd34f08d19792d9f419c901 = L.circleMarker(
                [40.921467599999986, -92.4324877],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a81ee5dd1b2b7ab5cfb5c52f0e442695 = L.circleMarker(
                [40.9132691, -92.41524959999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_53c91f538bfba96021875610cae64646 = L.circleMarker(
                [40.69823519999999, -92.4239416],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d6b245c1eec68584cde8621779356bb3 = L.circleMarker(
                [40.739775699999996, -92.56265679999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_255ccb0369e6747e62437a9a88e948da = L.circleMarker(
                [40.921384399999994, -92.4162624],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c7f7abfafb164a2a16c6e36f4a7e0603 = L.circleMarker(
                [40.6530002, -92.4804076],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_27f86bd418f266cd9acf70315ae08d7e = L.circleMarker(
                [40.90788259999999, -92.4153375],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bdc65ecb86345fc47a9b98ecb857eca8 = L.circleMarker(
                [40.660581699999994, -92.5120674],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_56fd8830602f153bef0fe47eafbfc42c = L.circleMarker(
                [40.8591287, -92.3961337],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dc0008329734b16e93c9ed771020f084 = L.circleMarker(
                [40.623568, -92.4524924],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_93bd46fe83dd4f6ccf092fbea6756bb2 = L.circleMarker(
                [40.62431329999999, -92.5998235],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e224c03852eba9be73e4f47bce7c8775 = L.circleMarker(
                [40.6989117, -92.40953649999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5e36fa6b1c496fdc8d293a5ffbdc2d79 = L.circleMarker(
                [40.7636687, -92.48614779999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_947519112cfb9ad3cb20cd57ebc99a75 = L.circleMarker(
                [40.92033219999999, -92.42371829999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_56cf463e87d8b049e5eb7bc871afbede = L.circleMarker(
                [40.8933729, -92.4098969],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6ce7fd442c77286efed80b78850b889d = L.circleMarker(
                [40.6132599, -92.5247009],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_445cde827bf09ac40e251344ae63a3ad = L.circleMarker(
                [40.740241399999995, -92.2201589],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d6a4e8b6a439b45c4a1c1294ab61aaee = L.circleMarker(
                [40.88984779999999, -92.36029319999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e0890e0c0f564628f278d919f2e48d0d = L.circleMarker(
                [40.6311352, -92.42706129999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ae767e3d0bd03862e5cd513818e5f8be = L.circleMarker(
                [40.868405499999994, -92.46089559999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4f6988d1d0672c4c9ca7a0f6b7ff0413 = L.circleMarker(
                [40.9210217, -92.4185615],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4790deaee39233f6ea9080fbf084bee7 = L.circleMarker(
                [40.8929952, -92.3673049],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6ff8544d756f16b514a235f79ec0a987 = L.circleMarker(
                [40.86842939999999, -92.36780999999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0adc2a17bb9c13667bf979b6d02aeb84 = L.circleMarker(
                [40.87134929999998, -92.39188789999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7524dc0767a1d0bd0aaf854088836668 = L.circleMarker(
                [40.69737129999999, -92.556121],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5283e79a6c75e84efb68759f5b00b975 = L.circleMarker(
                [40.73440569999999, -92.4863137],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_01d966c0dbc8e838b2ed6b4b6311f0ca = L.circleMarker(
                [40.7475275, -92.291413],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a99a5c8d0b8c1eabf924a72001bab0d5 = L.circleMarker(
                [40.653139199999984, -92.3235062],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_188252d94a8eae8af87b031e43e46a54 = L.circleMarker(
                [40.7447582, -92.3796612],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_47977340b913b70cd628ed35af2ec72b = L.circleMarker(
                [40.7792014, -92.5137569],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_66cd66e797f14387b9a102afec6bbe23 = L.circleMarker(
                [40.834405499999995, -92.2940446],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d803929d145fcd9a9a07861eab700d8b = L.circleMarker(
                [40.7475543, -92.27993149999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_372cf224a6aae03b5eb9658af9da8bb3 = L.circleMarker(
                [40.8543762, -92.37349219999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e6500a1eeadcebb53431969906df941b = L.circleMarker(
                [40.70822759999999, -92.4648235],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_58cd14b9fb8422acbf37a0d75a8c5c47 = L.circleMarker(
                [40.92591269999999, -92.4358742],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2ae794aa65e941cccfadf2fed44cf2c8 = L.circleMarker(
                [40.6492449, -92.35093569999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_36fe06534c8404b4dfcbe938944e51ee = L.circleMarker(
                [40.864228399999995, -92.3811455],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7f1fc41d8eeeab449ef2faf512cdddb0 = L.circleMarker(
                [40.735145800000005, -92.46601979999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_89d5d18671fdf58f12e7bd757cae59ff = L.circleMarker(
                [40.738783, -92.48601239999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2bd1664340efac3f933bad043fe82db8 = L.circleMarker(
                [40.73363, -92.26124999999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2bb7661df34a7a5db88746715505a015 = L.circleMarker(
                [40.8537962, -92.37991569999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9c996973ff6c521c9cd1725fc75755c4 = L.circleMarker(
                [40.7654185, -92.5418452],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_742bfda10e2b214d7fc1323ca25d2f7c = L.circleMarker(
                [40.6970419, -92.5362277],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_80079922124e6d7c62931bddc09c7a95 = L.circleMarker(
                [40.705648599999996, -92.41900739999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6bc27840668bb8cb936dac1fa5cf728a = L.circleMarker(
                [40.678568199999994, -92.57591739999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0cc26855ae7fa2a85c917dc7a8856754 = L.circleMarker(
                [40.9130446, -92.40652099999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b594657157a0c18c7e5c5cbcf806db32 = L.circleMarker(
                [40.6287253, -92.600501],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_262b669a4f627a5f3cd79c11ec2edf3a = L.circleMarker(
                [40.8866864, -92.3854216],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f7d16ea19b94705ae8550d802ac5bc52 = L.circleMarker(
                [40.7264516, -92.55383999999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4d8ff3b3f00873cc0faee56de6969e0c = L.circleMarker(
                [40.89622849999999, -92.4628061],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_56cc71e206b5044b9409b875380f58af = L.circleMarker(
                [40.7191919, -92.50527710000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_18eef71eac7c0d98ce66dbf6ebced7fc = L.circleMarker(
                [40.79335099999999, -92.3800828],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e99db62f4513e30957ccb1e904abf441 = L.circleMarker(
                [40.776221099999994, -92.38616749999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f18f512140aa27c8a71f813d0f19dbf5 = L.circleMarker(
                [40.885723299999995, -92.4183216],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_01604dc03b5a86075f153b620762c589 = L.circleMarker(
                [40.62381510000001, -92.4544213],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b6b8a6039eaf2f5eb67cfd4843bdca8d = L.circleMarker(
                [40.82170899999999, -92.42496319999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6607122adee8cab96333227e94302790 = L.circleMarker(
                [40.8132481, -92.4211908],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fc4ef0278eebd6fbc386cfe36b13b034 = L.circleMarker(
                [40.5939561, -92.5230146],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fc1d72d5d007ed682ca8aaa0fc381c92 = L.circleMarker(
                [40.779491, -92.51389659999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d334b1f8076855be009ece57468ee1ff = L.circleMarker(
                [40.6939796, -92.4929298],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3d432b68336fe55f79b22e7d9d9a79d2 = L.circleMarker(
                [40.844802, -92.1871159],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1cd56797dfaa86efb268bb4c11bb9504 = L.circleMarker(
                [40.6925004, -92.5051568],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_56dc2c0ba89a4db3b2ea35af0c71e824 = L.circleMarker(
                [40.61490270000001, -92.6045453],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1813cb44f21c85c631e1bce777f66f61 = L.circleMarker(
                [40.8598738, -92.4013188],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3a9b4759b194f9d4ee5d270734e43e4a = L.circleMarker(
                [40.81544830000001, -92.360551],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b037ba54815f7dc496443dfc663745ec = L.circleMarker(
                [40.8648037, -92.41875179999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5fb85ec4f812dbe547252994f46a6ac5 = L.circleMarker(
                [40.660700799999994, -92.53669029999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c04faefcb45af51f5b800d7c34f7a46c = L.circleMarker(
                [40.7611628, -92.4396908],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a5d324ffec8e197d215395a6346fd4b6 = L.circleMarker(
                [40.60999919999999, -92.49222889999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_418b8e9a410c209007e9ce85a8e145c4 = L.circleMarker(
                [40.6056894, -92.56105399999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ab380b4cac20ba7943931c3b11a3dd9a = L.circleMarker(
                [40.92201069999998, -92.4133742],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d54ffe803de9dd3e7347573525278389 = L.circleMarker(
                [40.6369885, -92.35089249999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7b526d0ee4439ce6e9fcd646d2d181d1 = L.circleMarker(
                [40.7514449, -92.4521972],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_996e751c796a2bd50cc74eee32e5128d = L.circleMarker(
                [40.8984784, -92.35673819999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_982a5161cf06015d601c9f70dff635e6 = L.circleMarker(
                [40.6141923, -92.4892218],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c418f1e77365cf5dbf9b761d7baeab32 = L.circleMarker(
                [40.6226552, -92.4524701],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ae4986e6f7bba15a6c19c15aae876b6c = L.circleMarker(
                [40.9276997, -92.38160569999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_485b2814f66fb7c0fd38a769725cb787 = L.circleMarker(
                [40.7118126, -92.3137942],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_103487d6422230acfcb9376e65d434b1 = L.circleMarker(
                [40.653012399999994, -92.3993528],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2b38cbd967f08b1ea497bc623f4f92a1 = L.circleMarker(
                [40.760866, -92.44609309999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5b01759a4dabc1f3c4b60fea8a149caa = L.circleMarker(
                [40.7463656, -92.53742759999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_20f472770784d35a84b4095e6c2f3703 = L.circleMarker(
                [40.7509527, -92.4339053],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d13b2829cc72d590500a8096a6f8b1b1 = L.circleMarker(
                [40.64624419999999, -92.55662679999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ac3aee19d7b970f03ff4e3d66b27188b = L.circleMarker(
                [40.813257699999994, -92.4452676],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_26e33761a7c13d95a9e54e0a980c5a42 = L.circleMarker(
                [40.77839899999999, -92.2639241],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8c63a93eeed0ef8d4aed62baed6b0fdd = L.circleMarker(
                [40.82057999999999, -92.42263579999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b2ce37de872a0d91b6e125b208a58e2a = L.circleMarker(
                [40.6239976, -92.4526951],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f5cc7d1722f49b3fd990cfb1c01a2c4f = L.circleMarker(
                [40.872814999999996, -92.408332],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8aca4408d211e21f36e913c67cd318ba = L.circleMarker(
                [40.776729, -92.4882199],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_90cc04404607526d57200f352b60965c = L.circleMarker(
                [40.84996360000001, -92.32498840000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c5520324edd0e6fac89d73946ff079cd = L.circleMarker(
                [40.747243, -92.32243129999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1c1273e29f1b70e0c6465aefb9e59766 = L.circleMarker(
                [40.8553437, -92.38209259999996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a47e38fa32da82db727c58af0a577c70 = L.circleMarker(
                [40.7485379, -92.24188379999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_475d58e5a1ef1acacabfe8eb35f9a92a = L.circleMarker(
                [40.8204445, -92.424213],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4728a20c005adf413d96928eed39b17d = L.circleMarker(
                [40.82563689999999, -92.29395639999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_613e5b5b607ef3cb4563578fff3c19e2 = L.circleMarker(
                [40.74873359999999, -92.2055987],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5439caa547ce9e004a1f83aef425d073 = L.circleMarker(
                [40.61994, -92.3175176],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6704d94edaf5736c7e9cd70a9eb87b69 = L.circleMarker(
                [40.801538599999986, -92.23577500000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_05ed3513ef7a892358cfe9fc4de002c7 = L.circleMarker(
                [40.8654024, -92.46037389999996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_37cb99923e2f5abe0b739d8fed4ebae8 = L.circleMarker(
                [40.65553559999999, -92.4320156],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_463c07f540d183f75824db3890f45a7e = L.circleMarker(
                [40.816906, -92.37116119999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c8a03e8e08cd4edf579539c8d944b1da = L.circleMarker(
                [40.7405036, -92.58814219999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7462877d45d449dbc52da7f9a99ab562 = L.circleMarker(
                [40.828165500000004, -92.43063499999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_765cd61eee511915988aee7be2eed4a6 = L.circleMarker(
                [40.86436659999999, -92.37881589999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8aaccf073951dced0207fea0ca3df13e = L.circleMarker(
                [40.8281155, -92.40559239999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8835246e61b26237ced6f7a777a95ed4 = L.circleMarker(
                [40.86168399999999, -92.35354],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e155208e30ece87cce487f25fedc14d3 = L.circleMarker(
                [40.7835726, -92.37065219999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7b6e8732cd64fd5688fde835ba464886 = L.circleMarker(
                [40.739953099999994, -92.48354239999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5213bb1ea39cfc7dd2359cd03f025711 = L.circleMarker(
                [40.7092042, -92.5332325],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b103b6a5eb50703adc3938144d5bc9e5 = L.circleMarker(
                [40.602216599999984, -92.5790944],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a48ba4118a4ae5aaff61ce984cd7938d = L.circleMarker(
                [40.8660655, -92.39435599999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a4f5281090e534476eeb01a6bb5fbdf3 = L.circleMarker(
                [40.75085979999999, -92.4342347],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2c14a3df0092e1ac23b352ed033132f3 = L.circleMarker(
                [40.8782919, -92.37391489999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3bbede949fef5bbb5979c53c0f601bf5 = L.circleMarker(
                [40.85672650000001, -92.36878309999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c6c8081e265fc7c2132f840348c8e4cb = L.circleMarker(
                [40.74266269999999, -92.4360404],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_70970ccf040f4143ac4e41954dfb58a4 = L.circleMarker(
                [40.8893868, -92.4673046],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_827003c46dc6c4f14c5665f893d81dc9 = L.circleMarker(
                [40.6539276, -92.524],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fefe1a087638e8d4a5b18b441fbca82e = L.circleMarker(
                [40.8979986, -92.4126995],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9a2c94f1ec80e2daf51019d75d901ae9 = L.circleMarker(
                [40.89858759999999, -92.4147367],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_546feaaa401808732bc5c26776fef5e3 = L.circleMarker(
                [40.751584, -92.4950812],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b8124603058aca7a8a350ce958875bd9 = L.circleMarker(
                [40.6317244, -92.48724759999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9f08507f3eaa4843b16a7c1f280d827b = L.circleMarker(
                [40.7844051, -92.4527268],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c48cd02de9ed38534ad9a47d51475e80 = L.circleMarker(
                [40.778413199999996, -92.389779],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e5ae2e5833170e01fd123c2a4f48e949 = L.circleMarker(
                [40.8754964, -92.4090815],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_601afb380cc95e5d6050b7f0b699d206 = L.circleMarker(
                [40.6091641, -92.4416845],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_93a67cac3d85954007d58986a4d87d74 = L.circleMarker(
                [40.642944400000005, -92.3033495],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fe2a1967d9eebf5e9d07735f9c09cbc5 = L.circleMarker(
                [40.8649763, -92.378102],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_16e462fb5db354bf9095fcf294c712a5 = L.circleMarker(
                [40.598934799999995, -92.43512709999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7cb5a7835af6eea1b92ae6d88dcebc0d = L.circleMarker(
                [40.8578568, -92.3712336],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0c0a243f62280a2f931d0d43f289aad9 = L.circleMarker(
                [40.61512, -92.56156959999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_310deddc97cfb9184a92ada475b64363 = L.circleMarker(
                [40.7673152, -92.21830599999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2fbefb99e8ba5cf5fc9fa337d27c91ce = L.circleMarker(
                [40.7592155, -92.531164],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9027155a7e1c54867ad9f08083c12270 = L.circleMarker(
                [40.8985771, -92.411028],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a4a5b4d86e1a6bb8e4ae6256be7d2c80 = L.circleMarker(
                [40.81299039999999, -92.3891029],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3882fbb75f7f6d32f7a4b1f5315ae605 = L.circleMarker(
                [40.8951416, -92.40800899999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_75c2ba2b2af0c3acd7b58b24e1da4cd2 = L.circleMarker(
                [40.7043225, -92.3577404],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e6e8015bfb9aa1febd9a9667230758b0 = L.circleMarker(
                [40.6603504, -92.5150777],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ff604b85f53157bccffd14c71639c935 = L.circleMarker(
                [40.6859691, -92.4242519],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_82620139d75731bad11cd4d18bf54f72 = L.circleMarker(
                [40.91733589999999, -92.4187097],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_455adbe3535e2bc41052396c9206ad65 = L.circleMarker(
                [40.86950830000001, -92.4056003],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3a8471f8c744e2b562f5489eb6073b22 = L.circleMarker(
                [40.6093921, -92.4740395],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2212c089e00387f2613fbb337b41d67c = L.circleMarker(
                [40.7583518, -92.43594469999996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_34ae3d82d9110ada7c45b5536006b5a7 = L.circleMarker(
                [40.7255429, -92.39767159999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_61086400325faa69b55d0723b9b4a1a0 = L.circleMarker(
                [40.745713599999995, -92.48495439999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2ea69db5c287a7c17b51ab033eab16d5 = L.circleMarker(
                [40.6611528, -92.3276542],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2a058a31e0eb37be25e3b1a0076990ce = L.circleMarker(
                [40.74397019999999, -92.52888009999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_962c7fe677b53a9dfb0ef3112a37f6d8 = L.circleMarker(
                [40.72279429999998, -92.5040488],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_62a31991f6f81b2fe63e92717e913ea1 = L.circleMarker(
                [40.8560665, -92.3704157],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a57ecc0ef7508ce0119b4134f8a9d09d = L.circleMarker(
                [40.9040192, -92.37172849999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_391fd9ba2b04f18320c360ecd9a1cbde = L.circleMarker(
                [40.7546457, -92.38473180000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3f173345189b752673dea8880409ec1d = L.circleMarker(
                [40.751489799999995, -92.4832735],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_00bbba95eb027b35548875f64a63a1f2 = L.circleMarker(
                [40.9369012, -92.39993069999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c4a94098e11472b0ccb9a6b010d98566 = L.circleMarker(
                [40.746815600000005, -92.20153539999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f8b779899dd861b63102f9692d9cb3eb = L.circleMarker(
                [40.6604847, -92.50353289999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7a502841ca97bb04c023f5fd38596dd1 = L.circleMarker(
                [40.89300969999999, -92.37464569999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d83067d30eafa94043fb18a2e1dcd579 = L.circleMarker(
                [40.7398851, -92.4907079],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d94729d257b183d4e1de9a77610f9472 = L.circleMarker(
                [40.7121826, -92.4945379],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dcb92d4c386e04ffe56971ee9ead1964 = L.circleMarker(
                [40.8209662, -92.42857869999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2e13bfd7c0263679c5acc68125f5d3ff = L.circleMarker(
                [40.79476279999999, -92.37958129999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_472500d28a5550267e6e8fc741301df1 = L.circleMarker(
                [40.8671014, -92.3772175],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_11f194e0efc49ea6a31a739bf0daf5d8 = L.circleMarker(
                [40.6663321, -92.50464419999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d6bd02a2663937aba7a2dfa90099622e = L.circleMarker(
                [40.7688992, -92.4936937],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_64555f2120dc08f5cfb0ef0380fda17a = L.circleMarker(
                [40.82099539999999, -92.4283634],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b04b7290910e0a8215bdc6128479058d = L.circleMarker(
                [40.8994699, -92.41915579999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4ddb16e841e5bfbb4ec3ebfe0d2e6a95 = L.circleMarker(
                [40.779719500000006, -92.4724242],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_64f6b3590083957743cbcc42c4834b0c = L.circleMarker(
                [40.64003449999999, -92.51597739999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4fa08d36e49db16aa7e5f277f6f504e7 = L.circleMarker(
                [40.635020999999995, -92.3546761],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c86fb3c98f1fe6e18fe89783e37b9ea4 = L.circleMarker(
                [40.8032761, -92.46669519999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_aa41e1dc46e6b5bde2d6f69c252039ca = L.circleMarker(
                [40.82050119999999, -92.4277111],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f8c8026f6a815e0e53e1f4233571e707 = L.circleMarker(
                [40.632357999999996, -92.427556],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_38eee7bd5b4670365ed199aedbe820f9 = L.circleMarker(
                [40.7575618, -92.5532143],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1604f0fa1d0ace561fcc39aa4d06e1c7 = L.circleMarker(
                [40.8207017, -92.42873419999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1995f70bbbd210f948958967e58b8aa5 = L.circleMarker(
                [40.7258302, -92.57185979999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_560fb66ae7ba687fa17dda80cc2e7135 = L.circleMarker(
                [40.62758349999999, -92.59983139999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c0b87b60f5acb3df36236009eca125ac = L.circleMarker(
                [40.78157999999999, -92.51504999999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c4aa2980d4bf70591e188944f05bb761 = L.circleMarker(
                [40.8740831, -92.39251319999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4acced7c3f380f5abb19386db5630e5a = L.circleMarker(
                [40.9236209, -92.3899128],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6be6df665f3c33217721f2ab4f34476c = L.circleMarker(
                [40.8936228, -92.37951319999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d16d14b74cbc2a3807a9789eb143a63a = L.circleMarker(
                [40.75821879999999, -92.62079529999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8730b9e0875d0fac32a359222e8bebae = L.circleMarker(
                [40.8202002, -92.4252768],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cbaa8d7820b20b0e5d65b9cea84da187 = L.circleMarker(
                [40.77699779999999, -92.38633449999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bba2dd26e2ac24d925f45661e5b58696 = L.circleMarker(
                [40.62051309999998, -92.394229],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_979be95d47673ef392397f8b175fcd7a = L.circleMarker(
                [40.6857323, -92.56181799999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_22f323d497d462ccfb7cb7cf5209e607 = L.circleMarker(
                [40.6726513, -92.5182104],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6f42f8ec189b61d45a763136d088c17c = L.circleMarker(
                [40.73929700000001, -92.48602569999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bc8bbd5ba4e236f4ca4ec7fd69f3a7ff = L.circleMarker(
                [40.88708759999999, -92.40064629999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_171979dedd3f5fc6af09fd653620e4db = L.circleMarker(
                [40.766351, -92.273179],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d0d13e4c70e778f7ff5f19e2a0d2ada8 = L.circleMarker(
                [40.7689247, -92.5018384],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c653e5e6dfc3a9f2953c124197620d6e = L.circleMarker(
                [40.76309499999999, -92.2936993],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_efffb8ddf41d552a41ad71796df94260 = L.circleMarker(
                [40.879066699999996, -92.44919049999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cb2a21d2f2cb6d5ebcddf9f229eb4a3b = L.circleMarker(
                [40.72139069999999, -92.50423959999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bdf7396b96171a4f95de052590dc9d84 = L.circleMarker(
                [40.703092699999985, -92.4657444],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_389dd2d5ce92ade7f443cc267c1baced = L.circleMarker(
                [40.89336599999999, -92.40015060000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b0d240218d26134f22279b8f383e4ef7 = L.circleMarker(
                [40.85441719999999, -92.3751493],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cce9b2d394953257eebe7b9825e22d80 = L.circleMarker(
                [40.8718012, -92.4691352],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5160963a2dd33f656454de74d94ec657 = L.circleMarker(
                [40.8560287, -92.35380459999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a140d0fa8390d0cbd7a0744ee4f332e2 = L.circleMarker(
                [40.7691382, -92.32279739999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_44587ab1d16e024d7cd87ed056ec5f91 = L.circleMarker(
                [40.9205593, -92.3474976],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_80e9dee44d785a9864e9e38b3551874f = L.circleMarker(
                [40.8570662, -92.420671],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9feeaa61771769631a17a3f1d02fb048 = L.circleMarker(
                [40.6347853, -92.3534554],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_110e1ab8fad87df25c805430699a0179 = L.circleMarker(
                [40.7256, -92.52815999999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_86f709b2aedb65953d0ef883c1bb06b1 = L.circleMarker(
                [40.6488496, -92.5040884],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_10b98bcbc0f23a6f19946b7e30d261c3 = L.circleMarker(
                [40.804101399999986, -92.39954399999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7e48dfb9a1e3c8b55dcefbc2590a13d3 = L.circleMarker(
                [40.80945789999999, -92.43871340000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_45bc3a1656aeba7c66b592d14222c9c1 = L.circleMarker(
                [40.7988055, -92.4656008],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_36bf5e69a52ff48f7cf874e1684be52d = L.circleMarker(
                [40.7329941, -92.52880059999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b0bfc4ca34fff031163f73e8b14deed1 = L.circleMarker(
                [40.8379283, -92.3079128],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_56bc95380ee9f9c2eeb68c6538ed17df = L.circleMarker(
                [40.6353824, -92.52431929999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a3c58c1d8473049e30590391f594b200 = L.circleMarker(
                [40.7021311, -92.2738471],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ac45c18348f6d14856ce1a0dbfe87214 = L.circleMarker(
                [40.7480401, -92.32279779999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9d34e503b8909738f7012eddba639098 = L.circleMarker(
                [40.65398069999999, -92.3029268],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2ad84b2feb2423b50d30153dea9315e5 = L.circleMarker(
                [40.8980017, -92.41065679999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c63bd6b091c4256b927f2a492194206f = L.circleMarker(
                [40.7554258, -92.2024008],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a2d660b98e2b6f4efbb7c3987ff75ebb = L.circleMarker(
                [40.8427493, -92.35111749999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8783e2ca17b9e108161af6c9860b8db9 = L.circleMarker(
                [40.9248022, -92.3558055],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fff0e8e640017c5589d993e8915ebd64 = L.circleMarker(
                [40.7583769, -92.4350882],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_791b281f592ceedfe71ab9583d65811c = L.circleMarker(
                [40.8937736, -92.38676899999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_09c312dafbdf4e3d082ee97ed19ebdf6 = L.circleMarker(
                [40.74842, -92.23704539999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_862ca9bcb3263388ee9289dd6e55391a = L.circleMarker(
                [40.7479965, -92.29507699999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3e1b7cb4cb76bb8001e75025d6133389 = L.circleMarker(
                [40.715625, -92.4749626],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d886bcf9c6686a9b118b1f13747e107b = L.circleMarker(
                [40.63137449999999, -92.3607724],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d3b23729cbe2612e17b243f6225186ac = L.circleMarker(
                [40.626495600000005, -92.5612747],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8dc98b1574547d4b62d5efd9de34ec96 = L.circleMarker(
                [40.7516805, -92.4925478],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_478f8436d02a47f6624e2764b70f0c4b = L.circleMarker(
                [40.7719909, -92.4675484],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d13f18d03ac5812265b6871e6947791f = L.circleMarker(
                [40.7968466, -92.4194214],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7402565b5a2f616407f78d6b4a558d7f = L.circleMarker(
                [40.7151669, -92.27299249999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9f346502db67e61ce925ad5b8163ab66 = L.circleMarker(
                [40.660092899999995, -92.54653699999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_281b0e63664dbe4a04681307d92da175 = L.circleMarker(
                [40.923120200000014, -92.35919359999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_31d0dedfc05dae7d1ecc6b7470195c6d = L.circleMarker(
                [40.8212566, -92.4307438],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3550c86d7411322e00d465da39398d38 = L.circleMarker(
                [40.7344984, -92.61371299999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8ded22274e8814688350407c9b5bb1a0 = L.circleMarker(
                [40.77293029999999, -92.4002572],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e486bf61300978350dfd00e47b214762 = L.circleMarker(
                [40.65360289999999, -92.38582939999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6c71a969681a7e7d2380c521ddea211d = L.circleMarker(
                [40.893538299999996, -92.4247523],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9d32d49815f0545f25a69a7bcc4541f5 = L.circleMarker(
                [40.679027699999985, -92.52849129999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9f989ca3430082aa2bcbbd32c6e0d818 = L.circleMarker(
                [40.7488487, -92.23295179999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_410e9d17c522b36c1f21606e926a0a6e = L.circleMarker(
                [40.74700869999998, -92.4847232],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2efd8d340e1556ffd2145145cc8cc807 = L.circleMarker(
                [40.73950299999999, -92.4165569],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f03eec95a03e13a1f48a0a5ab4a1e101 = L.circleMarker(
                [40.8913321, -92.41375789999996],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_60c42fabcf19939900aef6e55bd13328 = L.circleMarker(
                [40.7805322, -92.3985785],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cf3496c0e005615b52727ebdba139c8e = L.circleMarker(
                [40.7476951, -92.2649324],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_534d267875358fda73000cdd58b8a6fa = L.circleMarker(
                [40.8024621, -92.28237839999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a3ce83a5e3d7a41399c453a56d562d2c = L.circleMarker(
                [40.7479984, -92.31692689999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e7a619ff880ce429a1f399dd0740f214 = L.circleMarker(
                [40.926869700000005, -92.3795949],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_00d13a4b509027529d95be35ae5116ae = L.circleMarker(
                [40.87849279999999, -92.3563789],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b2c5ca6691aef2a46ff87b2ee9ecd4be = L.circleMarker(
                [40.630059, -92.295337],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8d909d590ccd289b609c774ac865fb8e = L.circleMarker(
                [40.769811999999995, -92.35114449999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e8134e352fb485c9799c917c69733ab5 = L.circleMarker(
                [40.8163113, -92.467633],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_21b79ec5614d15e54c4bebcff5c1bf18 = L.circleMarker(
                [40.73918999999999, -92.57984],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f863b4022ff213bab0b8ce0b00ac846e = L.circleMarker(
                [40.8449492, -92.41942069999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_69661f01cdeeec0296eacc0d32997606 = L.circleMarker(
                [40.8593016, -92.3612926],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_33a55250639a52a78c7b0b0c91f2720d = L.circleMarker(
                [40.93698229999998, -92.3986379],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d2275a1ae4b63a747a8a89f4b9f0fe2f = L.circleMarker(
                [40.7157075, -92.3460052],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_81c36c2435ade87c773adeccf5c88396 = L.circleMarker(
                [40.85467329999999, -92.4199405],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5aebf241e63bbba53268e14b7b006fbc = L.circleMarker(
                [40.918605400000004, -92.42892859999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3b7155a5b58bc2a5e6f89068c7debec9 = L.circleMarker(
                [40.90177049999999, -92.40619299999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_aecb8d1bdf9c66b2bd1ffa8494d4ce6b = L.circleMarker(
                [40.7988258, -92.4492956],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b3bd109c8f60f10e64f4e613cb52f268 = L.circleMarker(
                [40.80683689999999, -92.3997892],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e3a2a8d67f302f8bc88a6f2792b95803 = L.circleMarker(
                [40.740687799999996, -92.22974279999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b178133c9807ec3fae6a7cabff25a044 = L.circleMarker(
                [40.6582912, -92.55882889999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e0e57b15094e6f4b1b6625e04a28755e = L.circleMarker(
                [40.739851, -92.563524],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bfb5bffc3d822cfc651b60eaaba69f14 = L.circleMarker(
                [40.91172049999999, -92.42643879999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a5d8adb2c23edab1ea6b6aac8ecf94a2 = L.circleMarker(
                [40.740808399999985, -92.5444717],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_530087df4da10b0dd5cb1059a669769c = L.circleMarker(
                [40.683668, -92.3801738],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_16e8a2acf60fb874876681ee35d5b291 = L.circleMarker(
                [40.8284084, -92.38055939999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5db05aa6732aa315536f1090fee6a9d4 = L.circleMarker(
                [40.7549002, -92.5805074],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_75f6e9d99223b28c11b90ef4af2033cc = L.circleMarker(
                [40.7509183, -92.4518372],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2c678e095ad634149d5ac6c080e7ac26 = L.circleMarker(
                [40.7313663, -92.4568423],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7346aed44b07f335482ee7ce640dc878 = L.circleMarker(
                [40.795909900000005, -92.4529486],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d35b419be49278fdc1337e70e8afab45 = L.circleMarker(
                [40.7156886, -92.5620221],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c91cd9faecac990a1d4f61406badc089 = L.circleMarker(
                [40.6187724, -92.49229729999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_91b881676d712a317ce6215ce023bd44 = L.circleMarker(
                [40.8905121, -92.3625338],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_677fd1198037b8510f4459b13bf8cc94 = L.circleMarker(
                [40.631762899999984, -92.3644789],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dc649fec01aaf91dced8123060f8c1a8 = L.circleMarker(
                [40.82184649999999, -92.4271654],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2563d5c2d8838e7546fd8a73d1e6dd4a = L.circleMarker(
                [40.82122170000001, -92.430391],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b937b6409787a6c43641a9ce8b685d54 = L.circleMarker(
                [40.8276388, -92.437929],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d00b26fa3a1ed4c7f1158e1d875e1d4f = L.circleMarker(
                [40.8285546, -92.2865346],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0556602c89ab01a9cfb307f20a942c07 = L.circleMarker(
                [40.80180469999999, -92.2690771],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f5581fef7f17d0f25e4620edd3c347e1 = L.circleMarker(
                [40.9115008, -92.3681531],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c5b2a200835cc287577fead4488cfd83 = L.circleMarker(
                [40.747197099999994, -92.53161],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_411bdcd5733da4a0556cab4bf0fbf4d1 = L.circleMarker(
                [40.6113394, -92.47075629999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cef1d03e19951cd9b6038c87dfe5ae54 = L.circleMarker(
                [40.8167661, -92.3794848],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fc3f82db1a8efbe8e5c82e9b5b178532 = L.circleMarker(
                [40.8604458, -92.3975514],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_60219ed161d1bc41d94c99e50c57bd5d = L.circleMarker(
                [40.826649399999994, -92.37902469999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a512a04250818c7beb990d29792ed058 = L.circleMarker(
                [40.897711, -92.41561509999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dfad66b85d6845390ffae0d5171d279a = L.circleMarker(
                [40.7347674, -92.2638985],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_56fe7288368ae095048e9d1300a6b7b4 = L.circleMarker(
                [40.7509325, -92.4637626],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cf9dfaa8387dc0a3a4b920c6b71df12c = L.circleMarker(
                [40.884668299999994, -92.4632687],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9239fcfc8f13693b1583df877421a9de = L.circleMarker(
                [40.6384676, -92.31337440000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_985dcc22bcbfc027eefdbf156e19d623 = L.circleMarker(
                [40.733867700000005, -92.275853],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4aee3afc90f62105f574e46a2a149a5b = L.circleMarker(
                [40.7329502, -92.37957949999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_08550a2f92a04f3b5aea9efbd2d343c0 = L.circleMarker(
                [40.899472899999985, -92.35750379999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bcfabfe555eb76af7b665f24bb046336 = L.circleMarker(
                [40.87860450000001, -92.4419426],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8ad30e8832bcf004e4939ca30c70279b = L.circleMarker(
                [40.9167027, -92.44783539999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f150883a951d541f4eed94cdfb1cd8c8 = L.circleMarker(
                [40.73956559999999, -92.45371749999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c890f5f1f580d37f6ab656d303959dc0 = L.circleMarker(
                [40.66768689999999, -92.47382169999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_86b0c749725f1e8c0c275625b2350d77 = L.circleMarker(
                [40.7545299, -92.51759769999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5d6530d165aac88ca06d95fc27358d54 = L.circleMarker(
                [40.7072883, -92.3944954],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_110f7d422da938d596f63ec57d7fdcf1 = L.circleMarker(
                [40.923418, -92.4193221],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b7560350cc26f10315e0166b58934053 = L.circleMarker(
                [40.7982784, -92.4572718],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ddda542f74fe0a7b0232d2c67755981e = L.circleMarker(
                [40.8992602, -92.4118859],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fc7b523cc1d3407cb07fcf0b9a275f60 = L.circleMarker(
                [40.6318126, -92.5330586],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f98ef474f0e121f3dd2864835fe87bc7 = L.circleMarker(
                [40.623931999999996, -92.54269869999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_957c0356b330a6bdc1e3655d9d057c50 = L.circleMarker(
                [40.874436800000005, -92.3520046],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_950e05fb13e3745cf0cea9d1f3f221b6 = L.circleMarker(
                [40.7770145, -92.38542260000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_752cba5425642873eae7bed0b4023e94 = L.circleMarker(
                [40.9300329, -92.38034509999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2105c93672a6d144163f040f356be288 = L.circleMarker(
                [40.7105038, -92.4090206],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_994669101093b58efcf1ad11fea894ed = L.circleMarker(
                [40.6967485, -92.5417526],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fb7931e3c435d256fd2c13f2d1379167 = L.circleMarker(
                [40.723805699999986, -92.5560832],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c1530ddf173ce7e60abcd203d7574c3a = L.circleMarker(
                [40.77685000000002, -92.3914944],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_dc3f26a6e2f3212daf78d4713e3be574 = L.circleMarker(
                [40.76909449999999, -92.48716870000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_29d6d23204b43648443f238fd5b881ea = L.circleMarker(
                [40.6920073, -92.3527069],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d234fe5900c7054103fa32f90ef33f64 = L.circleMarker(
                [40.828145400000004, -92.4000185],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1969b62487fb77fcb417672c83c40da4 = L.circleMarker(
                [40.64457, -92.4097349],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b5a892a35ddf263d8dab1b33d42e5e91 = L.circleMarker(
                [40.84266809999999, -92.36074929999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_648c4350e58f3992d7f9bd1da180d1ea = L.circleMarker(
                [40.7249766, -92.560194],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_746a87b0fa4682d88993cd0a4411ce60 = L.circleMarker(
                [40.75860019999998, -92.553593],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_50e0e4b7b5d19f32eab7d73c0c91a2ad = L.circleMarker(
                [40.7989139, -92.4603163],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_934494971f08e7813aa41dbd8647caf3 = L.circleMarker(
                [40.8784866, -92.34959869999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_043bd4f3dd81cb693ac602e45f51fdab = L.circleMarker(
                [40.777039300000006, -92.4980836],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fdd014335c296c79cb0b5ad540b8afa4 = L.circleMarker(
                [40.821667199999986, -92.4258532],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e02f528aaed1e64b8f1ec0c94081cf93 = L.circleMarker(
                [40.776089199999994, -92.39297689999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d9fdaf4c8dc3ef0d7b6d82b1b1a01e15 = L.circleMarker(
                [40.86673099999999, -92.45287189999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_538200b3db553e93c106253aeb4c05c2 = L.circleMarker(
                [40.80578179999999, -92.4227341],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_67e996541453ffe2ff4d83b22e356497 = L.circleMarker(
                [40.798709499999994, -92.41867189999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_db450ac297a000ff8f3aa81155e095b1 = L.circleMarker(
                [40.6952476, -92.3127397],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9bb74aa52cb41f594cbca01c58602acd = L.circleMarker(
                [40.9024677, -92.35569799999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_29507f9477c97a7f0dabcd84553ac13a = L.circleMarker(
                [40.82955989999999, -92.39866599999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cccd49ccb5ce755972d95335e11dcced = L.circleMarker(
                [40.6349878, -92.3517475],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fb9e15b117f4db7cb287b865def0e53f = L.circleMarker(
                [40.9371428, -92.3976787],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3acb852feed3de64041983b8036104cd = L.circleMarker(
                [40.7038528, -92.5339817],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_65bcab7a1d9f0a1c4560c753236ba0cc = L.circleMarker(
                [40.74027079999999, -92.58779629999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_09981fef408722b734945eb3f43d8f38 = L.circleMarker(
                [40.92095239999999, -92.41938649999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8dd99d7de75751df6fcb777f39ed33c8 = L.circleMarker(
                [40.72724519999999, -92.3482087],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9202acf2faf177dadf4aa28002d8c9d4 = L.circleMarker(
                [40.86748339999999, -92.4092233],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7a909dbf21ab27744a624b816ed93318 = L.circleMarker(
                [40.764454199999996, -92.5474223],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9048a49e53b82d6f8a5cc49a5929df46 = L.circleMarker(
                [40.686075, -92.562804],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c097f84d3bc8cf413f8840f2b5e37beb = L.circleMarker(
                [40.6602024, -92.59654029999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1948855141d4210d811320f88aa7a587 = L.circleMarker(
                [40.6352916, -92.35552180000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f5804f0f3591584315462ee170e07396 = L.circleMarker(
                [40.73359800000001, -92.39829909999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_938db2edba9848ff56c3d41ae58663c2 = L.circleMarker(
                [40.7244881, -92.56059],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_1edbe6f1201d1fdd6a654732f49c9404 = L.circleMarker(
                [40.899683, -92.4346033],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_282932b0b2d767d545943db522f1fdbf = L.circleMarker(
                [40.81196449999999, -92.4555398],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d781271d9aafc7c86b90b0f362e40a74 = L.circleMarker(
                [40.747349, -92.3797271],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d7b97aaa1151a2cb943825e66c2c0014 = L.circleMarker(
                [40.7830486, -92.3330887],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_97adf015ad74bb7699255706ca1d7bc3 = L.circleMarker(
                [40.8214543, -92.4266743],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7fd68e8d2f068ae6f970afe0cbad8faa = L.circleMarker(
                [40.64605069999999, -92.5725978],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_aa683ff6996e231714453c064ba28ec1 = L.circleMarker(
                [40.8103221, -92.26656179999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3815c81900548b4907d64edbee8fe831 = L.circleMarker(
                [40.7398222, -92.48388729999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3f5c04174ffd216bda72a505d2c8585a = L.circleMarker(
                [40.9014798, -92.4605411],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_9cba0acb06b9f1a08e784e315ffd6d27 = L.circleMarker(
                [40.8858377, -92.4002424],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4a1eeece40b7f6fe2d09f9408e265812 = L.circleMarker(
                [40.6239385, -92.4371194],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_da18f3750d9ec8da16098a5407478357 = L.circleMarker(
                [40.6163599, -92.54264360000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_08d47cdac766cd7d5d104e2953d22152 = L.circleMarker(
                [40.81322349999999, -92.38712289999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_34f055f3e859e2e2aee2c7e8028054e8 = L.circleMarker(
                [40.725923, -92.5055467],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_bd2f78b783e1a182d864c85bc1afabdd = L.circleMarker(
                [40.6763222, -92.377814],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8a9c113bfbc6df9d5f71bf59c0c5aab5 = L.circleMarker(
                [40.787704, -92.43777199999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3e0ed2dacce49626c154af21f1068c61 = L.circleMarker(
                [40.7978011, -92.3981414],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a2d2fb40f60ba83c79b5c790d6cee5ce = L.circleMarker(
                [40.816905, -92.37957440000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0918236638caac9f4b153ab608df9fe7 = L.circleMarker(
                [40.7770174, -92.38501219999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_094d9155b0c4ea399d6bc461136a12eb = L.circleMarker(
                [40.8989298, -92.42075019999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8aaee4c858bfcb5dfae3b42a44ec9719 = L.circleMarker(
                [40.795577800000004, -92.27324409999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7ca2e0b5d5ec996c27b5a789be268f29 = L.circleMarker(
                [40.728849399999994, -92.5570613],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f464ab0a1047bd276e354f9b77199037 = L.circleMarker(
                [40.66056209999999, -92.515027],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4e1d1025d5a040236b1786d5eaf4e4ab = L.circleMarker(
                [40.7759804, -92.48625039999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d1133fd155fda0e18b5b8056725deaaa = L.circleMarker(
                [40.6058017, -92.56961229999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ed04df0abec6fd40b24c4927863d6ea5 = L.circleMarker(
                [40.7842791, -92.3521734],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_144ae67481ff909108755657501b3986 = L.circleMarker(
                [40.7718064, -92.5298575],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0b69e54920d0b78cdd48dba3a3562d86 = L.circleMarker(
                [40.668182300000005, -92.34688209999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5aee083313dc2b3c50a6e2e244362ac8 = L.circleMarker(
                [40.6170105, -92.5385144],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_233df7d9f88b6200be2eaa294d3c8a81 = L.circleMarker(
                [40.784302, -92.3415685],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ab19d4c36ad51ae7fe86cd3f57cc70b3 = L.circleMarker(
                [40.9168851, -92.35252719999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3f7acf4ee6ef6fdb095e017e1cf387db = L.circleMarker(
                [40.74600729999999, -92.2550594],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7524265b98258d9863fa59521a95050a = L.circleMarker(
                [40.8440278, -92.3227643],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2ccd3a03f73ecc4e6e0d6f2493a0d7a1 = L.circleMarker(
                [40.7354528, -92.29432249999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0d100901060206a03246e6d940787124 = L.circleMarker(
                [40.77686799999999, -92.38037799999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b235d217b58a1df5b9c2dc166c9b1d21 = L.circleMarker(
                [40.62373989999999, -92.395391],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0fde1c011852555b1f0172e2ff9b6f28 = L.circleMarker(
                [40.8971026, -92.37614619999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6b7cdabf382ec3a16eb4816547a8caee = L.circleMarker(
                [40.820827999999985, -92.426557],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_51ff67ba379c606c9880069ab8595b59 = L.circleMarker(
                [40.85372340000001, -92.375347],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_897db91a8d2aa79245241c000cf238f2 = L.circleMarker(
                [40.7239438, -92.56017019999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5dafdd408e39ed582de39338a81d3cad = L.circleMarker(
                [40.813457799999995, -92.2876798],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8cd4429f5d1329ce0fa517101c1a80f8 = L.circleMarker(
                [40.8670655, -92.46165439999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_cce5775a7ea7a3a42d9ea3a7caa6b1e4 = L.circleMarker(
                [40.757492, -92.3979668],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ae60f0d2b10430a901ee0a61aa1c0489 = L.circleMarker(
                [40.66553099999999, -92.4330132],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0549cbcda9c6a2d674966c9033ae4227 = L.circleMarker(
                [40.6865053, -92.5114064],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c9cabbb2be3a686af6cade46d547ec69 = L.circleMarker(
                [40.7704563, -92.4661811],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5520e982f7d817c8e3314a70f5413a95 = L.circleMarker(
                [40.7933668, -92.4375388],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_4187593798f631768477bc7b841ea777 = L.circleMarker(
                [40.8610679, -92.35796829999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2cb2cee9d4b4f9fe2ec10104c2b24c55 = L.circleMarker(
                [40.63179079999998, -92.3792368],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7c30837008fdb81b358eaaf3bfd1bcba = L.circleMarker(
                [40.9123622, -92.41461519999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5a51e4d46a08ebcc65272857be8be475 = L.circleMarker(
                [40.629589999999986, -92.37906069999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_258c4a78004ccdc2111cf29aced690d0 = L.circleMarker(
                [40.8624124, -92.34727989999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_11b6f6f33d82f7acd572aec867438ae3 = L.circleMarker(
                [40.691279399999985, -92.48507140000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_5009a5478dcc93e77a5d5b5e0d764a73 = L.circleMarker(
                [40.788681899999986, -92.2984646],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_69d0359bad32436b90ccaa2dfbf813a4 = L.circleMarker(
                [40.83510299999999, -92.3107756],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_7cd98ec59c2c41c8d414a51974c84abb = L.circleMarker(
                [40.7308334, -92.2163771],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c304731c134a1955f74a0ac030cac4e4 = L.circleMarker(
                [40.76952859999999, -92.45733620000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8539083fed72874b4adcbdc37f74a675 = L.circleMarker(
                [40.657225999999994, -92.5088969],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a118663ba31bba389504e0c1457a06ac = L.circleMarker(
                [40.8957635, -92.4173748],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_e98fb7ce81d6ee2f4138b9563a807e6b = L.circleMarker(
                [40.835184699999985, -92.40030970000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_ad3e7f64060d5c7a788209da22d07290 = L.circleMarker(
                [40.83726229999999, -92.32239889999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_aa4aa9144f21d6707d81474f6ff22b13 = L.circleMarker(
                [40.8721142, -92.45217559999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a0db72995f4aac975d2f759c6681e5ce = L.circleMarker(
                [40.8185412, -92.3644472],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_fa474da6cc5472f27549dad70cdfa393 = L.circleMarker(
                [40.892398799999995, -92.41573139999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c49ad1be1fac8c5a2917e5e090c91566 = L.circleMarker(
                [40.78424350000001, -92.33811679999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_91f14cd8044e4d96884f5848a5b37872 = L.circleMarker(
                [40.7922945, -92.4387196],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_91e571ae23e209e037fb1fe674ae87d8 = L.circleMarker(
                [40.6230881, -92.45441409999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_426228613db3940c895f0c2cae44643b = L.circleMarker(
                [40.7767476, -92.3964804],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_884c9a8d78d8d82c61c6b539dd06cb15 = L.circleMarker(
                [40.7657655, -92.42021089999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_44a988dda32644c18056ff075501db92 = L.circleMarker(
                [40.9034272, -92.4107799],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6287b045e289100a1a81d3fa8707fb06 = L.circleMarker(
                [40.8204962, -92.42697169999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c62fae134b7358eead3bbaf33065339d = L.circleMarker(
                [40.6024802, -92.54264259999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_937f771299d58934a3c93be3d3692f9c = L.circleMarker(
                [40.898673300000006, -92.37544489999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a80b98d42b223eb88de191e859c5e1b3 = L.circleMarker(
                [40.6908848, -92.3940626],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c70e3c7c56b7b72889a1624cfc4494b4 = L.circleMarker(
                [40.9065085, -92.4111876],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_249600b32ddd2a26936e8dcfcda803d7 = L.circleMarker(
                [40.8278258, -92.36035329999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_939f54a92486a3d5331cb5ab8664c941 = L.circleMarker(
                [40.76931209999999, -92.4673964],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b90f979f1af9b4a232ba7738dd6c268e = L.circleMarker(
                [40.8583059, -92.37174189999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f304f1b5a061fe1e4600a3a31a87a6c3 = L.circleMarker(
                [40.75095589999999, -92.43507020000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_887c062bfbd6f072ffc00c9cb59622d7 = L.circleMarker(
                [40.7453846, -92.57171],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d229e89b877a510fcb814a52191e76da = L.circleMarker(
                [40.7033191, -92.4201356],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_978f9e125e5abcf3862d7dceffac81c1 = L.circleMarker(
                [40.7616977, -92.59123030000002],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f5085817e1ad6038d2b45def8fa8f246 = L.circleMarker(
                [40.7255221, -92.40999589999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_31c6da01705b847f7982cd15b2524c0f = L.circleMarker(
                [40.77676749999999, -92.39766979999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_d7d6f29c9435c030c75937780bd0a357 = L.circleMarker(
                [40.6190444, -92.45983139999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_8c5bc2cc35e4b19c8e8747b1a45eebae = L.circleMarker(
                [40.8217249, -92.4264749],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_b2ee4cb6feb9f9e5f0b808e197e7f717 = L.circleMarker(
                [40.72616069999999, -92.51239279999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_575dbbf7601747484009629c8166589f = L.circleMarker(
                [40.6215281, -92.62833659999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a36c83cc36f8daf006d7c8e065de7ee1 = L.circleMarker(
                [40.9183196, -92.4193087],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_32570b114a665d5fbcf23e3e39a8954f = L.circleMarker(
                [40.84740529999999, -92.4052252],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a8a0d4f9aae74248c4dda48def7895ec = L.circleMarker(
                [40.87998499999999, -92.3755831],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_23779d082eeb79d0aaf60ea65592b2bc = L.circleMarker(
                [40.65827839999999, -92.5174814],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a878223cd6877495287d0f2dee169cc8 = L.circleMarker(
                [40.76684089999999, -92.36120619999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f3ad3f997df6b3af55fb05a31a0c825e = L.circleMarker(
                [40.76897000000001, -92.50062409999998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_3bc49025fdfd904cea34747719558880 = L.circleMarker(
                [40.7692813, -92.4830852],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_559b643367510579f9d14f2ad704c3e9 = L.circleMarker(
                [40.7664814, -92.6093869],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_288b5d5c34cea98881cb18a9b59285d1 = L.circleMarker(
                [40.81358989999999, -92.44524239999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_2e5eac44bdf9a3e37a24bff121400442 = L.circleMarker(
                [40.61573460000001, -92.35162329999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_92e59c6f49e0a0b85c24ff3aa6789c04 = L.circleMarker(
                [40.65168129999999, -92.58657119999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_c93a08d8908059ae38fc4b0e1bbb7cb9 = L.circleMarker(
                [40.7515668, -92.45589190000001],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6bc53c36b73e451bcb221bcfa2ff1dbf = L.circleMarker(
                [40.733681499999996, -92.29388219999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_a19257311444b778ccaa7a1038aa47b7 = L.circleMarker(
                [40.8263791, -92.43894819999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_646c9ff9d2ab84330367e8a3c9aadf6e = L.circleMarker(
                [40.7833797, -92.4005308],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_f1159158b1504d446394ac2e425024a7 = L.circleMarker(
                [40.8604676, -92.3820998],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_981fdd0e12449287d80fcc2c42b4b7fd = L.circleMarker(
                [40.8950903, -92.3557108],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_49a3b298fcbe37913710413f1a141f52 = L.circleMarker(
                [40.7444789, -92.52905509999997],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_0c292dc30357bf81f985fd74316db9bc = L.circleMarker(
                [40.925372299999985, -92.39074649999999],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_03d803d56add497bfbcbeeb1d80bb373 = L.circleMarker(
                [40.751669599999985, -92.4917458],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var circle_marker_6e4d372c496b5bf722cd886ca7c0d7c7 = L.circleMarker(
                [40.7921639, -92.449121],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#4f9de4&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#4f9de4&quot;, &quot;fillOpacity&quot;: 0.35, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 3.5, &quot;stroke&quot;: true, &quot;weight&quot;: 1}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
    
            var polygon_bf2fbfaa58870278004851c2b6c40171 = L.polygon(
                [[40.59376830000001, -92.53096559999999], [40.598651499999995, -92.6086662], [40.6215281, -92.62833659999998], [40.75412759999998, -92.63835469999997], [40.9300132, -92.45697509999997], [40.9384428, -92.4191829], [40.9395085, -92.4070281], [40.938974499999986, -92.4010114], [40.9380922, -92.3940723], [40.9241204, -92.3479939], [40.844802, -92.1871159], [40.7585415, -92.1868985], [40.5985913, -92.30186229999997], [40.5972497, -92.36110139999998], [40.5965437, -92.3934139], [40.59376830000001, -92.53096559999999]],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#184771&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: false, &quot;fillColor&quot;: &quot;#184771&quot;, &quot;fillOpacity&quot;: 0.2, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;noClip&quot;: false, &quot;opacity&quot;: 1.0, &quot;smoothFactor&quot;: 1.0, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_9a6a54bbfb2064dabeb8bba12ed44bf0);
        
</script>
</html>" width="800" height="525" style="border:none !important;" "allowfullscreen"="" "webkitallowfullscreen"="" "mozallowfullscreen"=""></iframe>
</div>
</div>
<p><br></p>
<p>The POI (red marker) is surrounded by many addresses with the same ZIP Code. This provides additional confidence that the assignment is reasonable and relatively accurate.</p>
<p><br></p>
</section>
<section id="conclusion" class="level3">
<h3 class="anchored" data-anchor-id="conclusion"><strong>Conclusion</strong></h3>
<ul>
<li>ZCTAs &lt;&gt; ZIP Codes! They are not one-to-one. Some ZIP Codes don’t have ZCTA equivalents. ZCTAs are statistical areas and do not map exactly to USPS ZIP Codes. ZIp Codes represent collections of delivery routes (not enclosed polygons).</li>
<li>ZCTAs are updated only with each decennial census, while USPS updates ZIP Codes constantly.</li>
<li>ZIP Codes that span multiple counties or regions may be misrepresented in ZCTA form.</li>
<li>Even though the OpenAddresses dataset contains over 500 million addresses, coverage is variable, and is generally better in urban/suburban areas than in rural areas. Some large metropolitan areas may be missing address data altogether.</li>
<li>If you’re building something regulatory or production-facing, you should disclose that the USPS does not publish ZIP Code boundaries, and this method uses nearest inferred ZIP Codes from publicly available data.</li>
</ul>


</section>

 ]]></description>
  <category>Python</category>
  <category>Geospatial</category>
  <guid>https://www.jtrive.com/posts/zip5-no-api/zip5-no-api.html</guid>
  <pubDate>Sun, 20 Jul 2025 05:00:00 GMT</pubDate>
</item>
<item>
  <title>Handling Larger-than-Memory Datasets with Polars LazyFrame</title>
  <link>https://www.jtrive.com/posts/polars-lazyframe/polars-lazyframe.html</link>
  <description><![CDATA[ 





<p>Pandas is the de-facto standard when working with tabular datasets in Python, but it encounters significant challenges when handling large datasets. The core issue stems from Pandas’ architecture, which relies entirely on in-memory processing. This design requires loading the entire dataset into memory, resulting in a hard limit on the size of datasets that Pandas can process. When data volumes exceed this threshold, performance degrades dramatically, often resulting in system crashes or memory exhaustion errors.</p>
<p>In addition, Pandas operates via single-threaded execution, processing data sequentially rather than leveraging the parallel processing capabilities of multi-core systems. This creates performance bottlenecks that become increasingly pronounced as the size of data grows.</p>
<p>In a previous <a href="https://www.jtrive.com/posts/boostrap-chainladder-polars/bootstrap-chainladder-polars.html">post</a>, I demonstrated how Polars can we used as an (almost) drop-in Pandas replacement for routine data processing tasks. Here we explore the Polars LazyFrame, which has no analog in Pandas. A LazyFrame builds up a sequence of operations without immediately executing them. Instead, it constructs a deferred query plan that is only run when explicitly requested, usually by calling the <code>.collect()</code> method. Deferred execution allows Polars to optimize the entire pipeline and apply techniques like predicate and projection pushdown, and process data using out-of-core techniques when necessary.</p>
<p>In the examples that follow, the <a href="https://www.kaggle.com/datasets/dilwong/flightprices">Flight Prices</a> dataset is used. It is a 31GB CSV file containing one-way flight itineraries found on Expedia between 2022-04-16 and 2022-10-05 for airport codes ATL, DFW, DEN, ORD, LAX, CLT, MIA, JFK, EWR, SFO, DTW, BOS, PHL, LGA, IAD and OAK. The file is larger than the client’s available memory, so it isn’t possible to analyze the full Flight Prices dataset with Pandas, which requires the entire file to be loaded into memory upfront. Given that the 31GB footprint is about 2x the RAM of the client I’m working from, it should be a perfect setting to demonstrate LazyFrame functionality.</p>
<p>In Polars, <code>.scan_csv</code> creates a LazyFrame by scanning the metadata and schema of a CSV file without loading the full dataset. In contrast, <code>.read_csv</code> immediately reads the entire file into memory as a DataFrame, performing eager evaluation. <code>.scan_csv</code> supports lazy, memory-efficient workflows, while <code>.read_csv</code> is eager and requires the dataset to fit in RAM.</p>
<p>We can preview the first 5 rows of the Flight Prices dataset calling <code>scan_csv</code> followed by <code>.head(5).collect()</code> (<code>fetch</code> has been deprecated):</p>
<div id="8d43e195" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"></span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> polars <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pl </span>
<span id="cb1-3"></span>
<span id="cb1-4">pl.Config(tbl_rows<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">30</span>)</span>
<span id="cb1-5">pl.Config(float_precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>)</span>
<span id="cb1-6">pl.Config(tbl_cols<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-7"></span>
<span id="cb1-8"></span>
<span id="cb1-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create LazyFrame based on itineraries.csv. Dataset is available here:</span></span>
<span id="cb1-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#   https://www.kaggle.com/datasets/dilwong/flightprices</span></span>
<span id="cb1-11">lf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pl.scan_csv(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"itineraries.csv"</span>)</span>
<span id="cb1-12"></span>
<span id="cb1-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Display the first 5 rows.</span></span>
<span id="cb1-14">first5 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> lf.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>).collect()</span>
<span id="cb1-15"></span>
<span id="cb1-16">first5</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="2">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (5, 27)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">legId</th>
<th data-quarto-table-cell-role="th">searchDate</th>
<th data-quarto-table-cell-role="th">flightDate</th>
<th data-quarto-table-cell-role="th">startingAirport</th>
<th data-quarto-table-cell-role="th">destinationAirport</th>
<th data-quarto-table-cell-role="th">fareBasisCode</th>
<th data-quarto-table-cell-role="th">travelDuration</th>
<th data-quarto-table-cell-role="th">elapsedDays</th>
<th data-quarto-table-cell-role="th">isBasicEconomy</th>
<th data-quarto-table-cell-role="th">isRefundable</th>
<th data-quarto-table-cell-role="th">isNonStop</th>
<th data-quarto-table-cell-role="th">baseFare</th>
<th data-quarto-table-cell-role="th">totalFare</th>
<th data-quarto-table-cell-role="th">seatsRemaining</th>
<th data-quarto-table-cell-role="th">totalTravelDistance</th>
<th data-quarto-table-cell-role="th">segmentsDepartureTimeEpochSeconds</th>
<th data-quarto-table-cell-role="th">segmentsDepartureTimeRaw</th>
<th data-quarto-table-cell-role="th">segmentsArrivalTimeEpochSeconds</th>
<th data-quarto-table-cell-role="th">segmentsArrivalTimeRaw</th>
<th data-quarto-table-cell-role="th">segmentsArrivalAirportCode</th>
<th data-quarto-table-cell-role="th">segmentsDepartureAirportCode</th>
<th data-quarto-table-cell-role="th">segmentsAirlineName</th>
<th data-quarto-table-cell-role="th">segmentsAirlineCode</th>
<th data-quarto-table-cell-role="th">segmentsEquipmentDescription</th>
<th data-quarto-table-cell-role="th">segmentsDurationInSeconds</th>
<th data-quarto-table-cell-role="th">segmentsDistance</th>
<th data-quarto-table-cell-role="th">segmentsCabinCode</th>
</tr>
<tr class="odd">
<th>str</th>
<th>str</th>
<th>str</th>
<th>str</th>
<th>str</th>
<th>str</th>
<th>str</th>
<th>i64</th>
<th>bool</th>
<th>bool</th>
<th>bool</th>
<th>f64</th>
<th>f64</th>
<th>i64</th>
<th>i64</th>
<th>str</th>
<th>str</th>
<th>str</th>
<th>str</th>
<th>str</th>
<th>str</th>
<th>str</th>
<th>str</th>
<th>str</th>
<th>str</th>
<th>str</th>
<th>str</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>"9ca0e81111c683bec1012473feefd2…</td>
<td>"2022-04-16"</td>
<td>"2022-04-17"</td>
<td>"ATL"</td>
<td>"BOS"</td>
<td>"LA0NX0MC"</td>
<td>"PT2H29M"</td>
<td>0</td>
<td>false</td>
<td>false</td>
<td>true</td>
<td>217.6700</td>
<td>248.6000</td>
<td>9</td>
<td>947</td>
<td>"1650214620"</td>
<td>"2022-04-17T12:57:00.000-04:00"</td>
<td>"1650223560"</td>
<td>"2022-04-17T15:26:00.000-04:00"</td>
<td>"BOS"</td>
<td>"ATL"</td>
<td>"Delta"</td>
<td>"DL"</td>
<td>"Airbus A321"</td>
<td>"8940"</td>
<td>"947"</td>
<td>"coach"</td>
</tr>
<tr class="even">
<td>"98685953630e772a098941b7190659…</td>
<td>"2022-04-16"</td>
<td>"2022-04-17"</td>
<td>"ATL"</td>
<td>"BOS"</td>
<td>"LA0NX0MC"</td>
<td>"PT2H30M"</td>
<td>0</td>
<td>false</td>
<td>false</td>
<td>true</td>
<td>217.6700</td>
<td>248.6000</td>
<td>4</td>
<td>947</td>
<td>"1650191400"</td>
<td>"2022-04-17T06:30:00.000-04:00"</td>
<td>"1650200400"</td>
<td>"2022-04-17T09:00:00.000-04:00"</td>
<td>"BOS"</td>
<td>"ATL"</td>
<td>"Delta"</td>
<td>"DL"</td>
<td>"Airbus A321"</td>
<td>"9000"</td>
<td>"947"</td>
<td>"coach"</td>
</tr>
<tr class="odd">
<td>"98d90cbc32bfbb05c2fc32897c7c10…</td>
<td>"2022-04-16"</td>
<td>"2022-04-17"</td>
<td>"ATL"</td>
<td>"BOS"</td>
<td>"LA0NX0MC"</td>
<td>"PT2H30M"</td>
<td>0</td>
<td>false</td>
<td>false</td>
<td>true</td>
<td>217.6700</td>
<td>248.6000</td>
<td>9</td>
<td>947</td>
<td>"1650209700"</td>
<td>"2022-04-17T11:35:00.000-04:00"</td>
<td>"1650218700"</td>
<td>"2022-04-17T14:05:00.000-04:00"</td>
<td>"BOS"</td>
<td>"ATL"</td>
<td>"Delta"</td>
<td>"DL"</td>
<td>"Boeing 757-200"</td>
<td>"9000"</td>
<td>"947"</td>
<td>"coach"</td>
</tr>
<tr class="even">
<td>"969a269d38eae583f455486fa90877…</td>
<td>"2022-04-16"</td>
<td>"2022-04-17"</td>
<td>"ATL"</td>
<td>"BOS"</td>
<td>"LA0NX0MC"</td>
<td>"PT2H32M"</td>
<td>0</td>
<td>false</td>
<td>false</td>
<td>true</td>
<td>217.6700</td>
<td>248.6000</td>
<td>8</td>
<td>947</td>
<td>"1650218340"</td>
<td>"2022-04-17T13:59:00.000-04:00"</td>
<td>"1650227460"</td>
<td>"2022-04-17T16:31:00.000-04:00"</td>
<td>"BOS"</td>
<td>"ATL"</td>
<td>"Delta"</td>
<td>"DL"</td>
<td>"Airbus A321"</td>
<td>"9120"</td>
<td>"947"</td>
<td>"coach"</td>
</tr>
<tr class="odd">
<td>"980370cf27c89b40d2833a1d5afc97…</td>
<td>"2022-04-16"</td>
<td>"2022-04-17"</td>
<td>"ATL"</td>
<td>"BOS"</td>
<td>"LA0NX0MC"</td>
<td>"PT2H34M"</td>
<td>0</td>
<td>false</td>
<td>false</td>
<td>true</td>
<td>217.6700</td>
<td>248.6000</td>
<td>9</td>
<td>947</td>
<td>"1650203940"</td>
<td>"2022-04-17T09:59:00.000-04:00"</td>
<td>"1650213180"</td>
<td>"2022-04-17T12:33:00.000-04:00"</td>
<td>"BOS"</td>
<td>"ATL"</td>
<td>"Delta"</td>
<td>"DL"</td>
<td>"Airbus A321"</td>
<td>"9240"</td>
<td>"947"</td>
<td>"coach"</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p><br></p>
<p>To demonstrate how LazyFrames work, we’ll execute a simple (contrived) filter/aggregate/average pipeline to compute the average ticket price by origin airport and airline, but only for non-stop flights departing in July and August. This requires filtering, grouping, and aggregation operations that benefit from lazy evaluation and query optimization:</p>
<ul>
<li>Filter rows where the <code>flightDate</code> is in July or August.</li>
<li>Group by <code>startingAirport</code> airport and <code>segmentsAirlineName</code>.</li>
<li>Calculate the average <code>totalFare</code> for each group.</li>
<li>Sort the results from highest to lowest average fare.</li>
</ul>
<div id="9e8b7393" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1"></span>
<span id="cb2-2">result <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb2-3">    lf</span>
<span id="cb2-4">    .<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">filter</span>(</span>
<span id="cb2-5">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"flightDate"</span>).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.strptime(pl.Date, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%Y-%m-</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%d</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>).dt.month().is_in([<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>]) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span></span>
<span id="cb2-6">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"isNonStop"</span>)</span>
<span id="cb2-7">    )</span>
<span id="cb2-8">    .group_by([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"startingAirport"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"segmentsAirlineName"</span>])</span>
<span id="cb2-9">    .agg(</span>
<span id="cb2-10">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"totalFare"</span>).mean().alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"avg_price"</span>)</span>
<span id="cb2-11">    )</span>
<span id="cb2-12">    .sort(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"avg_price"</span>, descending<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb2-13">)</span></code></pre></div>
</div>
<p>Notice that we didn’t include <code>.collect()</code> in the <code>result</code> pipeline. Until <code>.collect()</code> is called, no computation is performed: Polars just builds a query plan.</p>
<p>It is possible to view the query plan by calling <code>.explain(optimized=True)</code>. This will display the optimized logical plan that Polars will execute when <code>.collect()</code> is called:</p>
<div id="7e49c7c8" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"></span>
<span id="cb3-2"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(result.explain(optimized<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>))</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>SORT BY [col("avg_price")]
  AGGREGATE
    [col("totalFare").mean().alias("avg_price")] BY [col("startingAirport"), col("segmentsAirlineName")] FROM
    simple π 5/5 ["totalFare", "startingAirport", ... 3 other columns]
      Csv SCAN [itineraries.csv]
      PROJECT 5/27 COLUMNS
      SELECTION: [(col("isNonStop")) &amp; (col("flightDate").str.strptime([String(raise)]).dt.month().is_in([Series]))]</code></pre>
</div>
</div>
<p><br></p>
<p>See <a href="https://realpython.com/polars-lazyframe/#investigating-the-optimized-query-plan">this</a> article for more information on interpreting query plans. You can optionally install Graphviz to have the query plan rendered graphically using <code>lf.show_graph()</code>.</p>
<p>When calling <code>.collect()</code>, we include <code>streaming=True</code>. This ensures Polars processes the data in a streaming (out-of-core) fashion. The dataset will be processed in small chunks rather than loading the entire dataset into memory at once.</p>
<div id="b8ac8c46" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"></span>
<span id="cb5-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Execute result pipeline in streaming mode.</span></span>
<span id="cb5-3">result <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> result.collect(streaming<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb5-4"></span>
<span id="cb5-5"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"type(result): </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">type</span>(result)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb5-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"result.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>result<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb5-7"></span>
<span id="cb5-8">result.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>type(result): &lt;class 'polars.dataframe.frame.DataFrame'&gt;
result.shape: (95, 3)</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="6">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (10, 3)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">startingAirport</th>
<th data-quarto-table-cell-role="th">segmentsAirlineName</th>
<th data-quarto-table-cell-role="th">avg_price</th>
</tr>
<tr class="odd">
<th>str</th>
<th>str</th>
<th>f64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>"BOS"</td>
<td>"Alaska Airlines"</td>
<td>502.8843</td>
</tr>
<tr class="even">
<td>"SFO"</td>
<td>"American Airlines"</td>
<td>437.5257</td>
</tr>
<tr class="odd">
<td>"IAD"</td>
<td>"Alaska Airlines"</td>
<td>433.5487</td>
</tr>
<tr class="even">
<td>"LAX"</td>
<td>"American Airlines"</td>
<td>425.0462</td>
</tr>
<tr class="odd">
<td>"ORD"</td>
<td>"Alaska Airlines"</td>
<td>407.9898</td>
</tr>
<tr class="even">
<td>"SFO"</td>
<td>"JetBlue Airways"</td>
<td>402.2174</td>
</tr>
<tr class="odd">
<td>"ATL"</td>
<td>"Alaska Airlines"</td>
<td>383.4524</td>
</tr>
<tr class="even">
<td>"LAX"</td>
<td>"Delta"</td>
<td>374.1640</td>
</tr>
<tr class="odd">
<td>"JFK"</td>
<td>"United"</td>
<td>369.2713</td>
</tr>
<tr class="even">
<td>"LAX"</td>
<td>"JetBlue Airways"</td>
<td>368.5215</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>Once <code>.collect(streaming=True)</code> is called, <code>result</code> materializes into a Polars DataFrame. The ultimate output is a 95x3 DataFrame with average fare price by origin airport and airline. Executing the <code>result</code> pipeline took about 45 seconds.</p>
<p>Alaska Airlines seems to have higher average fares than other airlines. This is probably a consequence of the greater distance Alaska Airlines flights cover compared with other carriers, resulting in higher average fare costs. Instead we should calculate average total fare per mile. The <code>result2</code> pipeline in the next cell performs this calculation. We need to convert <code>segmentsDistance</code> to a numeric type since it was interpreted as a text column when initially read:</p>
<div id="f4f2129f" class="cell" data-execution_count="7">
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"></span>
<span id="cb7-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Calculate the average total fare per mile for non-stop flights in July and August.</span></span>
<span id="cb7-3">result2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb7-4">    lf</span>
<span id="cb7-5">    .<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">filter</span>(</span>
<span id="cb7-6">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"flightDate"</span>).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>.strptime(pl.Date, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%Y-%m-</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%d</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>).dt.month().is_in([<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>]) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span></span>
<span id="cb7-7">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"isNonStop"</span>)</span>
<span id="cb7-8">    )</span>
<span id="cb7-9">    .with_columns(</span>
<span id="cb7-10">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cast segmentDistance to Float64. Use strict=False to convert errors to null.</span></span>
<span id="cb7-11">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"segmentsDistance"</span>).cast(pl.Float64, strict<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>).alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"miles"</span>)</span>
<span id="cb7-12">    )</span>
<span id="cb7-13">    .<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">filter</span>(</span>
<span id="cb7-14">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ensure numeric_distance is not null and positive.</span></span>
<span id="cb7-15">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"miles"</span>).is_not_null() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span> (pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"miles"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb7-16">    )</span>
<span id="cb7-17">    .group_by([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"startingAirport"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"segmentsAirlineName"</span>])</span>
<span id="cb7-18">    .agg(</span>
<span id="cb7-19">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Calculate the mean of totalFare / numeric_distance</span></span>
<span id="cb7-20">        (pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"totalFare"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"miles"</span>)).mean().alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"avg_price_per_mile"</span>)</span>
<span id="cb7-21">    )</span>
<span id="cb7-22">    .sort(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"avg_price_per_mile"</span>, descending<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb7-23">).collect(streaming<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb7-24"></span>
<span id="cb7-25">result2.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>)</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="7">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (20, 3)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">startingAirport</th>
<th data-quarto-table-cell-role="th">segmentsAirlineName</th>
<th data-quarto-table-cell-role="th">avg_price_per_mile</th>
</tr>
<tr class="odd">
<th>str</th>
<th>str</th>
<th>f64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>"PHL"</td>
<td>"United"</td>
<td>0.7913</td>
</tr>
<tr class="even">
<td>"CLT"</td>
<td>"Delta"</td>
<td>0.6019</td>
</tr>
<tr class="odd">
<td>"IAD"</td>
<td>"Delta"</td>
<td>0.5592</td>
</tr>
<tr class="even">
<td>"DTW"</td>
<td>"United"</td>
<td>0.5220</td>
</tr>
<tr class="odd">
<td>"DTW"</td>
<td>"American Airlines"</td>
<td>0.5048</td>
</tr>
<tr class="even">
<td>"PHL"</td>
<td>"Delta"</td>
<td>0.4816</td>
</tr>
<tr class="odd">
<td>"BOS"</td>
<td>"Delta"</td>
<td>0.4673</td>
</tr>
<tr class="even">
<td>"IAD"</td>
<td>"United"</td>
<td>0.4650</td>
</tr>
<tr class="odd">
<td>"EWR"</td>
<td>"United"</td>
<td>0.4603</td>
</tr>
<tr class="even">
<td>"CLT"</td>
<td>"United"</td>
<td>0.4481</td>
</tr>
<tr class="odd">
<td>"ATL"</td>
<td>"American Airlines"</td>
<td>0.4441</td>
</tr>
<tr class="even">
<td>"BOS"</td>
<td>"American Airlines"</td>
<td>0.4434</td>
</tr>
<tr class="odd">
<td>"DTW"</td>
<td>"Delta"</td>
<td>0.4387</td>
</tr>
<tr class="even">
<td>"IAD"</td>
<td>"American Airlines"</td>
<td>0.4381</td>
</tr>
<tr class="odd">
<td>"CLT"</td>
<td>"American Airlines"</td>
<td>0.4291</td>
</tr>
<tr class="even">
<td>"LGA"</td>
<td>"United"</td>
<td>0.4277</td>
</tr>
<tr class="odd">
<td>"EWR"</td>
<td>"Delta"</td>
<td>0.4215</td>
</tr>
<tr class="even">
<td>"JFK"</td>
<td>"Delta"</td>
<td>0.4106</td>
</tr>
<tr class="odd">
<td>"JFK"</td>
<td>"American Airlines"</td>
<td>0.4095</td>
</tr>
<tr class="even">
<td>"BOS"</td>
<td>"United"</td>
<td>0.4083</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>Polars LazyFrames unlock a new level of efficiency and scalability for data analysis in Python, enabling the handling of massive datasets with ease and speed without having to maintain a dedicated compute cluster. LazyFrames overcome many of the limitations of traditional in-memory tools like pandas by leveraging deferred execution, query optimization and out-of-core computation. For additional information on LazyFrames and streaming mode, check out the links below:</p>
<ul>
<li><a href="https://docs.pola.rs/py-polars/html/reference/lazy/index.html">Polars Lazy API Docs</a></li>
<li><a href="https://pola-rs.github.io/polars-book/user-guide/lazy/streaming/">Polars Streaming Mode</a></li>
<li><a href="https://pola-rs.github.io/polars-book/user-guide/how-it-works/">Why Polars is Fast</a></li>
</ul>



 ]]></description>
  <category>Python</category>
  <guid>https://www.jtrive.com/posts/polars-lazyframe/polars-lazyframe.html</guid>
  <pubDate>Sat, 14 Jun 2025 05:00:00 GMT</pubDate>
</item>
<item>
  <title>Streamlining Multi-App Deployment with Docker and NGINX</title>
  <link>https://www.jtrive.com/posts/multi-app-server/app-server-from-scratch.html</link>
  <description><![CDATA[ 





<p>In this post, we’ll walk through the setup of an application server on a RHEL9 virtual machine to host multiple Dash and Shiny applications. While I found several guides that covered 60-70% of what I was looking to do, none fully matched what I needed. This setup checks all the boxes:</p>
<ul>
<li>Runs on a RHEL9 virtual host.</li>
<li>Uses NGINX as a reverse proxy.</li>
<li>Hosts both Dash and Shiny apps each in its own Docker container. Dash apps use gunicorn WSGI HTTP server.</li>
<li>Routes each app to its own path (e.g., <code>/app01/</code>, <code>/app02/</code>)</li>
<li>Includes a landing page at the root (<code>/</code>) as the main entry point to the server.</li>
</ul>
<p>Throughout the post, we assume the fully-qualified domain name of the server is <em>myserver.com</em>, but this should be replaced with your own FQDN (run <code>hostname -f</code> from bash to find out what it is). Specifically, we will go through the steps of building and running three separate Docker containers:</p>
<ul>
<li>A simple Dash application, served at <em>myserver.com/app01/</em>.</li>
<li>A simple Shiny application, served at <em>myserver.com/app02/</em>.</li>
<li>A landing page (also a Dash application) accessible at the server root, <em>myserver.com/</em>, with redirects to app01 and app02.</li>
</ul>
<p><br></p>
<p>Once the containers are running, we’ll demonstrate how to configure NGINX to allow access at each of the above referenced paths.</p>
<p>The repository with all supporting artifacts is available <a href="https://github.com/jtrive84/multi-app-server">here</a>.</p>
<p><br></p>
<section id="install-dependencies" class="level3">
<h3 class="anchored" data-anchor-id="install-dependencies"><strong>Install Dependencies</strong></h3>
<p>Ensure Docker, the Docker Compose plugin and NGINX are installed. First install and update the EPEL repository:</p>
<div class="sourceCode" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb1-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo yum install epel-release</span>
<span id="cb1-2"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo yum update</span></code></pre></div>
<p><br></p>
<p>Install NGINX:</p>
<div class="sourceCode" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb2-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo yum install nginx</span></code></pre></div>
<p>Verify the installation:</p>
<div class="sourceCode" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb3-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo nginx <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">-v</span></span>
<span id="cb3-2"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">nginx</span> version: nginx/1.20.1</span></code></pre></div>
<p>To install Docker, follow the instructions <a href="https://docs.docker.com/engine/install/rhel/">here</a>.</p>
<p>Finally, install the Docker Compose plugin:</p>
<div class="sourceCode" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb4-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo yum install docker-compose-plugin</span></code></pre></div>
<p><br></p>
</section>
<section id="app01-simple-dash-application" class="level3">
<h3 class="anchored" data-anchor-id="app01-simple-dash-application"><strong>app01: Simple Dash Application</strong></h3>
<p>Python Dash is a framework for building interactive web applications using Python. It’s ideal for data visualization and dashboards. Dash combines Flask on the backend with Plotly for charts and React.js for components, all without requiring knowledge of HTML, CSS, or JavaScript.</p>
<p>Referring to the repository linked above, the <em>app01</em> sub-directory contains:</p>
<ul>
<li><code>app.py</code>: Dash application code.</li>
<li><code>wsgi.py</code>: Defines the WSGI application object that Gunicorn uses to run and serve the Python web app.</li>
<li><code>requirements.txt</code>: Dependencies for Dash application.</li>
<li><code>Dockerfile</code>: Defines how to build a Docker image by specifying instructions, dependencies and configurations.<br>
<code>docker-compose.yml</code>: A configuration file that defines and manages Docker applications specifying services. Builds the Docker image and runs the container in single command.</li>
</ul>
<p>The Web Server Gateway Interface (WSGI) is a Python standard that allows web servers to communicate with Python web applications. It acts as a bridge, enabling servers like Gunicorn to run applications built with frameworks like Flask and Django in a standardized, interoperable way. Gunicorn is included as a dependency in <em>requirements.txt</em>.</p>
<p>Our sample Dash app looks like the following:</p>
<p align="center" width="100%">
<img width="50%" src="https://www.jtrive.com/posts/multi-app-server/images/app01.PNG">
</p>
<p><br></p>
<p>The contents of <em>app01/app.py</em>:</p>
<div class="sourceCode" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"></span>
<span id="cb5-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># app01/app.py</span></span>
<span id="cb5-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> dash</span>
<span id="cb5-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> dash <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> dcc, html, Dash, Input, Output</span>
<span id="cb5-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> dash_bootstrap_components <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> dbc</span>
<span id="cb5-6"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> plotly.express <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> px</span>
<span id="cb5-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb5-8"></span>
<span id="cb5-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sample dataset.</span></span>
<span id="cb5-10">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame({</span>
<span id="cb5-11">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Fruit'</span>: [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Apples'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Bananas'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Cherries'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Dates'</span>],</span>
<span id="cb5-12">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Sales Q1'</span>: [<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">30</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">45</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>],</span>
<span id="cb5-13">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Sales Q2'</span>: [<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">40</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">30</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">15</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">25</span>]</span>
<span id="cb5-14">})</span>
<span id="cb5-15"></span>
<span id="cb5-16">app <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Dash(</span>
<span id="cb5-17">    <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">__name__</span>, </span>
<span id="cb5-18">    external_stylesheets<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[dbc.themes.BOOTSTRAP],</span>
<span id="cb5-19">    url_base_pathname<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"/app01/"</span></span>
<span id="cb5-20">)</span>
<span id="cb5-21"></span>
<span id="cb5-22">app.layout <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dbc.Container([</span>
<span id="cb5-23">    html.H3(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fruit Sales by Quarter"</span>, className<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"my-3"</span>),</span>
<span id="cb5-24">    dcc.Dropdown(</span>
<span id="cb5-25">        <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">id</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'quarter-dropdown'</span>,</span>
<span id="cb5-26">        options<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[{<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'label'</span>: col, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'value'</span>: col} <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> col <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> df.columns <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> col <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Fruit'</span>],</span>
<span id="cb5-27">        value<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Sales Q1'</span>,</span>
<span id="cb5-28">        clearable<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>,</span>
<span id="cb5-29">        className<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mb-4"</span></span>
<span id="cb5-30">    ),</span>
<span id="cb5-31">    dcc.Graph(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">id</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'sales-chart'</span>)</span>
<span id="cb5-32">], className<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"p-4"</span>)</span>
<span id="cb5-33"></span>
<span id="cb5-34"><span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">@app.callback</span>(</span>
<span id="cb5-35">    Output(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'sales-chart'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'figure'</span>),</span>
<span id="cb5-36">    Input(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'quarter-dropdown'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'value'</span>)</span>
<span id="cb5-37">)</span>
<span id="cb5-38"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> update_chart(selected_col):</span>
<span id="cb5-39">    fig <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> px.bar(df, x<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Fruit'</span>, y<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>selected_col, title<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>selected_col<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> per Fruit"</span>, labels<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>{<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'y'</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Sales'</span>})</span>
<span id="cb5-40">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> fig</span>
<span id="cb5-41"></span>
<span id="cb5-42">server <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> app.server</span>
<span id="cb5-43"></span>
<span id="cb5-44"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">__name__</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'__main__'</span>:</span>
<span id="cb5-45">    app.run(debug<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span></code></pre></div>
<p><br></p>
<ul>
<li><p>In the <code>Dash</code> constructor, we include <code>url_base_pathname="/app01/"</code> to indicate the application should be served at a location other than root. This also needs to be specified in the NGINX configuration file.</p></li>
<li><p>Just before <code>if __name__ == '__main__'</code>, we have <code>server = app.server</code>. I’m not sure what this actually does, but the app will not be render correctly unless it is included.</p></li>
</ul>
<p><br></p>
<p>The contents of <em>app01/Dockerfile</em>:</p>
<div class="sourceCode" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb6-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># app01/Dockerfile</span></span>
<span id="cb6-2"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">FROM</span> python:3.12</span>
<span id="cb6-3"></span>
<span id="cb6-4"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">WORKDIR</span> /app</span>
<span id="cb6-5"></span>
<span id="cb6-6"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">RUN</span> pip install <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">--upgrade</span> pip</span>
<span id="cb6-7"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">COPY</span> requirements.txt .</span>
<span id="cb6-8"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">RUN</span> pip install <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">--no-cache-dir</span> <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">--upgrade</span> <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">-r</span> requirements.txt</span>
<span id="cb6-9"></span>
<span id="cb6-10"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">COPY</span> . . </span>
<span id="cb6-11"></span>
<span id="cb6-12"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">CMD</span> [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gunicorn"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"--bind"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"0.0.0.0:8050"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"wsgi:server"</span>]</span></code></pre></div>
<p><br></p>
<ul>
<li><p><code>FROM python:3.12</code>: Specifies the base image, which is the official Python 3.12 image from Docker Hub. This sets up a Python environment for app01.</p></li>
<li><p><code>WORKDIR /app</code>: Sets the working directory inside the container to <em>/app</em>. All subsequent commands will run relative to this directory.</p></li>
<li><p><code>RUN pip install --upgrade pip</code>: Upgrades pip to the latest version inside the app01 container.</p></li>
<li><p><code>COPY requirements.txt .</code>: Copies <em>requirements.txt</em> file from the local machine into the <em>/app</em> directory of the app01 container.</p></li>
<li><p><code>RUN pip install --no-cache-dir --upgrade -r requirements.txt</code>: Installs app01 dependencies listed in <em>requirements.txt</em>.</p></li>
<li><p><code>COPY . .</code>: Copies all files from your current local directory to the <em>/app</em> directory in the app01 container.</p></li>
<li><p><code>CMD ["gunicorn", "--bind", "0.0.0.0:8050", "wsgi:server"]</code>: Specifies the default command to run when the container starts. It launches the Gunicorn WSGI server, binding to port 8050 and using <code>wsgi:server</code> (i.e., <code>server</code> object from <em>wsgi.py</em>).</p></li>
</ul>
<p><br></p>
<p>The Dockerfile for the landing page is identical to the one for app01. In either case, we won’t work with the Dockerfile directly since we’ll be using Docker Compose to manage building and running our containers.</p>
<p>The contents of <em>app01/docker-compose.yml</em>:</p>
<div class="sourceCode" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb7-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">services:</span></span>
<span id="cb7-2">  <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">app:</span></span>
<span id="cb7-3">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">build:</span> .</span>
<span id="cb7-4">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">container_name:</span> dash-app01</span>
<span id="cb7-5">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">restart:</span> unless-stopped</span>
<span id="cb7-6">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">ports:</span></span>
<span id="cb7-7">      <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">-</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"9001:8050"</span></span>
<span id="cb7-8">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">volumes:</span></span>
<span id="cb7-9">      <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">-</span> .:/app</span>
<span id="cb7-10">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">environment:</span></span>
<span id="cb7-11">      <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">-</span> PYTHONUNBUFFERED=1</span></code></pre></div>
<p><br></p>
<p>The running container will be named <code>dash-app01</code>. If we didn’t specify a name, Docker would assign one randomly. For ports, <code>"9001:8050"</code> specifies that the container port 8050 will be published to port 9001 on the host. To build the app01 image and run the container, execute the following from bash:</p>
<div class="sourceCode" id="cb8" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb8-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> cd app01</span>
<span id="cb8-2"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo docker compose up <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">--build</span> <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">-d</span></span></code></pre></div>
<p><br></p>
<p>This should only take a minute or so. Upon completion, we can check that the dash-app01 container is up and running with <code>docker ps</code>:</p>
<div class="sourceCode" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb9-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo docker ps</span>
<span id="cb9-2"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">CONTAINER</span> ID   IMAGE       COMMAND                  CREATED         STATUS         PORTS                                         NAMES</span>
<span id="cb9-3"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">ba48864f904a</span>   app01-app   <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gunicorn --bind 0.0…"</span>   4 seconds ago   Up 3 seconds   0.0.0.0:9001-<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>8050/tcp, <span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">[</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">::</span><span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">]</span>:9001-<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>8050/tcp   dash-app01</span></code></pre></div>
<p><br></p>
<p>If something is misconfigured, you may see a message like “container is restarting…” under the <code>STATUS</code> column. This typically indicates an issue with the application or its supporting files. Make sure the app runs correctly in your local environment before deploying with Docker.</p>
<p>At this stage, the application will not be accessible at <em>myserver.com/app01</em> since we haven’t configured NGINX. We’ll set up the NGINX routing for all three applications together once each container is up and running.</p>
<p><br></p>
</section>
<section id="app02-simple-shiny-application" class="level3">
<h3 class="anchored" data-anchor-id="app02-simple-shiny-application"><strong>app02: Simple Shiny Application</strong></h3>
<p>Shiny is a framework for building interactive web apps straight from R. It lets you create dynamic visualizations without working with HTML or JavaScript directly, making it a go-to tool for data scientists and analysts who want to share insights in a more engaging way.</p>
<p>The <em>app02</em> subdirectory contains the following artifacts:</p>
<ul>
<li><code>app.R</code></li>
<li><code>Dockerfile</code></li>
<li><code>docker-compose.yml</code></li>
</ul>
<p><br></p>
<p>The contents of <em>app02/app.R</em>, a random histogram generator:</p>
<div class="sourceCode" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb10-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"shiny"</span>)</span>
<span id="cb10-2"></span>
<span id="cb10-3">ui <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">fluidPage</span>(</span>
<span id="cb10-4">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">titlePanel</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Simple Histogram"</span>),</span>
<span id="cb10-5">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sidebarLayout</span>(</span>
<span id="cb10-6">        <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sidebarPanel</span>(</span>
<span id="cb10-7">            <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sliderInput</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bins"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Number of bins:"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">min=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">max=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">50</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">value=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>)</span>
<span id="cb10-8">        ),</span>
<span id="cb10-9">        <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mainPanel</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">plotOutput</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"histPlot"</span>))</span>
<span id="cb10-10">    )</span>
<span id="cb10-11">) </span>
<span id="cb10-12"></span>
<span id="cb10-13">server <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">function</span>(input, output) {</span>
<span id="cb10-14">    output<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>histPlot <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">renderPlot</span>({</span>
<span id="cb10-15">        data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rnorm</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">500</span>) </span>
<span id="cb10-16">        <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hist</span>(data, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">breaks=</span>input<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>bins, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"pink"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">border=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"white"</span>,</span>
<span id="cb10-17">             <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Histogram of Random Data"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xlab=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Value"</span>)</span>
<span id="cb10-18">    })</span>
<span id="cb10-19">}</span>
<span id="cb10-20"></span>
<span id="cb10-21"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">shinyApp</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">ui=</span>ui, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">server=</span>server)</span></code></pre></div>
<p><br></p>
<p>Here’s what app02 looks like once it is up and running:</p>
<p><img src="https://www.jtrive.com/posts/multi-app-server/images/app02.PNG" class="img-fluid"></p>
<p><br></p>
<p>The contents of <em>app02/Dockerfile</em>:</p>
<div class="sourceCode" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb11-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">FROM</span> rocker/shiny:latest</span>
<span id="cb11-2"></span>
<span id="cb11-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Install additional R packages.</span></span>
<span id="cb11-4"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">RUN</span> install2.r <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">--error</span> data.table foreach</span>
<span id="cb11-5"></span>
<span id="cb11-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Copy app code to the Docker image.</span></span>
<span id="cb11-7"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">COPY</span> app.R /srv/shiny-server/</span>
<span id="cb11-8"></span>
<span id="cb11-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Change permissions for shiny app.</span></span>
<span id="cb11-10"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">RUN</span> chown <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">-R</span> shiny:shiny /srv/shiny-server</span>
<span id="cb11-11"></span>
<span id="cb11-12"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">EXPOSE</span> 3838</span>
<span id="cb11-13"></span>
<span id="cb11-14"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">CMD</span> <span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">[</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"/usr/bin/shiny-server"</span><span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">]</span></span></code></pre></div>
<p><br></p>
<ul>
<li><p><code>FROM rocker/shiny:latest</code>: Uses the official rocker/shiny base image, which includes R, the Shiny server, and necessary defaults to host Shiny apps.</p></li>
<li><p><code>RUN install2.r --error data.table foreach</code>: Installs the <code>data.table</code> and <code>foreach</code> packages inside the container using <code>install2.r</code> (a helper script included in Rocker images). The <code>--error</code> flag ensures the build fails if installation fails. Note that no additional libraries are required for app02, but I wanted to demonstrate how to include additional dependencies in the event they are needed for future projects.</p></li>
<li><p><code>COPY app.R /srv/shiny-server/</code>: Copies the local <em>app.R</em> file into the directory where the Shiny server expects apps to be.</p></li>
<li><p><code>RUN chown -R shiny:shiny /srv/shiny-server</code>: Changes ownership of the app directory and its contents to the <code>shiny</code> user, which the Shiny server runs as.</p></li>
<li><p><code>EXPOSE 3838</code>: Declares that the container will listen on port 3838, the default port for Shiny apps.</p></li>
<li><p><code>CMD ["/usr/bin/shiny-server"]</code>: Specifies the command that runs when the container starts. This launches the Shiny server.</p></li>
</ul>
<p><br></p>
<p><em>app02/docker-compose.yml</em> contains the following:</p>
<div class="sourceCode" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb12-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">services:</span></span>
<span id="cb12-2">  <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">app:</span></span>
<span id="cb12-3">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">build:</span> .</span>
<span id="cb12-4">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">container_name:</span> shiny-app02</span>
<span id="cb12-5">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">ports:</span></span>
<span id="cb12-6">      <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">-</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"9002:3838"</span></span>
<span id="cb12-7">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">restart:</span> unless-stopped</span></code></pre></div>
<p><br></p>
<p>The running container will be named <code>shiny-app02</code>. For ports, <code>"9002:3838"</code> specifies that the container port 3838 will be published to port 9002 on the host. We build and run app02 the same way we did for app01:</p>
<div class="sourceCode" id="cb13" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb13-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> cd app02</span>
<span id="cb13-2"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo docker compose up <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">--build</span> <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">-d</span></span></code></pre></div>
<p><br></p>
<p>Running <code>docker ps</code> now lists two containers:</p>
<div class="sourceCode" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb14-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo docker ps</span>
<span id="cb14-2"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">CONTAINER</span> ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                                         NAMES</span>
<span id="cb14-3"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">91bea43d9df2</span>   app02-app   <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"/usr/bin/shiny-serv…"</span>   4 seconds ago    Up 3 seconds    0.0.0.0:9002-<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>3838/tcp, <span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">[</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">::</span><span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">]</span>:9002-<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>3838/tcp   shiny-app02</span>
<span id="cb14-4"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">ba48864f904a</span>   app01-app   <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gunicorn --bind 0.0…"</span>   59 seconds ago   Up 59 seconds   0.0.0.0:9001-<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>8050/tcp, <span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">[</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">::</span><span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">]</span>:9001-<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>8050/tcp   dash-app01</span></code></pre></div>
<p><br></p>
</section>
<section id="landing-page" class="level3">
<h3 class="anchored" data-anchor-id="landing-page"><strong>Landing Page</strong></h3>
<p>The landing page serves as the primary entry point into the application server. We create a second Dash app which consists of a title and two buttons that redirect to app01 and app02. Here is <em>landing/app.py</em>:</p>
<div class="sourceCode" id="cb15" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb15-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># landing/app.py</span></span>
<span id="cb15-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> dash</span>
<span id="cb15-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> dash <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> html, Dash</span>
<span id="cb15-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> dash_bootstrap_components <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> dbc</span>
<span id="cb15-5"></span>
<span id="cb15-6"></span>
<span id="cb15-7">app <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Dash(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">__name__</span>, external_stylesheets<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[dbc.themes.LUX])</span>
<span id="cb15-8"></span>
<span id="cb15-9">app.title <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Application Dashboard"</span></span>
<span id="cb15-10"></span>
<span id="cb15-11">app.layout <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dbc.Container([</span>
<span id="cb15-12"></span>
<span id="cb15-13">    dbc.Row([</span>
<span id="cb15-14">        dbc.Col(</span>
<span id="cb15-15">            html.Div([</span>
<span id="cb15-16">                html.H1(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Application Dashboard"</span>, className<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"display-4"</span>),</span>
<span id="cb15-17">            ]),</span>
<span id="cb15-18">            width<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>,</span>
<span id="cb15-19">            className<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"text-center my-5"</span></span>
<span id="cb15-20">        )</span>
<span id="cb15-21">    ]),</span>
<span id="cb15-22">    </span>
<span id="cb15-23">    dbc.Row([</span>
<span id="cb15-24">       </span>
<span id="cb15-25">        dbc.Col(</span>
<span id="cb15-26">            dbc.Card([</span>
<span id="cb15-27">                dbc.CardHeader(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"app01"</span>),</span>
<span id="cb15-28">                dbc.CardBody([</span>
<span id="cb15-29">                    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># html.H5("Application 2", className="card-title"),</span></span>
<span id="cb15-30">                    html.P(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Sample Dash App"</span>, className<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"card-text"</span>),</span>
<span id="cb15-31">                    dbc.Button(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Launch"</span>, href<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"/app01/"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"success"</span>, external_link<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, target<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"_blank"</span>)</span>
<span id="cb15-32">                ])</span>
<span id="cb15-33">            ], className<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mb-4"</span>),</span>
<span id="cb15-34">            md<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span></span>
<span id="cb15-35">        ),</span>
<span id="cb15-36"></span>
<span id="cb15-37">        dbc.Col(</span>
<span id="cb15-38">            dbc.Card([</span>
<span id="cb15-39">                dbc.CardHeader(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"app02"</span>),</span>
<span id="cb15-40">                dbc.CardBody([</span>
<span id="cb15-41">                    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># html.H5("Application 2", className="card-title"),</span></span>
<span id="cb15-42">                    html.P(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Sample Shiny App"</span>, className<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"card-text"</span>),</span>
<span id="cb15-43">                    dbc.Button(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Launch"</span>, href<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"/app02/"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"success"</span>, external_link<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, target<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"_blank"</span>)</span>
<span id="cb15-44">                ])</span>
<span id="cb15-45">            ], className<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mb-4"</span>),</span>
<span id="cb15-46">            md<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span></span>
<span id="cb15-47">        )</span>
<span id="cb15-48">    ], className<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mb-5"</span>),</span>
<span id="cb15-49">    </span>
<span id="cb15-50">    dbc.Row([</span>
<span id="cb15-51">        dbc.Col(html.Footer(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"© 2025 JDT — All rights reserved"</span>, className<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"text-center text-muted"</span>), width<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb15-52">    ])</span>
<span id="cb15-53">], fluid<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb15-54"></span>
<span id="cb15-55">server <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> app.server</span>
<span id="cb15-56"></span>
<span id="cb15-57"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">__name__</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"__main__"</span>:</span>
<span id="cb15-58"></span>
<span id="cb15-59">    app.run(debug<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span></code></pre></div>
<p><br></p>
<p>Here’s a look at our landing page:</p>
<p><img src="https://www.jtrive.com/posts/multi-app-server/images/app03.PNG" class="img-fluid"></p>
<p>A few things to note:</p>
<ul>
<li><p>For each <code>dbc.Button</code>, <code>href</code> points to the web server location at which the application will be available. For the app01 button, <code>href="/app01/"</code> means when the button is clicked, the application will navigate to <em>myserver.com/app01</em> (this still needs to be configured with NGINX, which is handled in the next section).</p></li>
<li><p><code>external_link=True</code> ensures that clicking the button opens the target URL using the browser’s default behavior.</p></li>
<li><p><code>target="_blank"</code> instructs the application to open a new tab when a button is clicked, instead of updating the current tab.</p></li>
</ul>
<p>The <em>landing</em> subdirectory also has <em>Dockerfile</em> and <em>docker-compose.yml</em>. The only difference from <em>app01</em> is within <em>docker-compose.yml</em>, we publish container port 8050 to the host port 9000 and name the container <em>dash-landing</em>:</p>
<div class="sourceCode" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb16-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># landing/docker-compose.yml</span></span>
<span id="cb16-2"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">services:</span></span>
<span id="cb16-3">  <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">app:</span></span>
<span id="cb16-4">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">build:</span> .</span>
<span id="cb16-5">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">container_name:</span> dash-landing</span>
<span id="cb16-6">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">restart:</span> unless-stopped</span>
<span id="cb16-7">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">ports:</span></span>
<span id="cb16-8">      <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">-</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"9000:8050"</span></span>
<span id="cb16-9">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">volumes:</span></span>
<span id="cb16-10">      <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">-</span> .:/app</span>
<span id="cb16-11">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">environment:</span></span>
<span id="cb16-12">      <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">-</span> PYTHONUNBUFFERED=1</span></code></pre></div>
<p><br></p>
<p>Building and running the container:</p>
<div class="sourceCode" id="cb17" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb17-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> cd landing</span>
<span id="cb17-2"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo docker compose up <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">--build</span> <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">-d</span></span></code></pre></div>
<p><br></p>
<p>We now have three running containers:</p>
<div class="sourceCode" id="cb18" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb18-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo docker ps</span>
<span id="cb18-2"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">CONTAINER</span> ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS                                         NAMES</span>
<span id="cb18-3"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">3b6e9461f54b</span>   landing-app   <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gunicorn --bind 0.0…"</span>   14 seconds ago   Up 13 seconds   0.0.0.0:9000-<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>8050/tcp, <span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">[</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">::</span><span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">]</span>:9000-<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>8050/tcp   dash-landing</span>
<span id="cb18-4"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">91bea43d9df2</span>   app02-app     <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"/usr/bin/shiny-serv…"</span>   26 minutes ago   Up 26 minutes   0.0.0.0:9002-<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>3838/tcp, <span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">[</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">::</span><span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">]</span>:9002-<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>3838/tcp   shiny-app02</span>
<span id="cb18-5"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">ba48864f904a</span>   app01-app     <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gunicorn --bind 0.0…"</span>   27 minutes ago   Up 27 minutes   0.0.0.0:9001-<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>8050/tcp, <span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">[</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">::</span><span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">]</span>:9001-<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span>8050/tcp   dash-app01</span></code></pre></div>
<p><br></p>
<p><br></p>
</section>
<section id="configuring-nginx" class="level3">
<h3 class="anchored" data-anchor-id="configuring-nginx"><strong>Configuring NGINX</strong></h3>
<p>We need to make NGINX aware of our applications by specifying the ports over which they are running. We create a configuration file under <em>/etc/nginx/conf.d/</em>, which we name <em>apps.conf</em>. Any file in this directory with a <em>.conf</em> extension will be loaded into the primary NGINX configuration file located at <em>/etc/nginx/nginx.conf</em>:</p>
<div class="sourceCode" id="cb19" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb19-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># /etc/nginx/conf.d/apps.conf</span></span>
<span id="cb19-2"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">server</span> {</span>
<span id="cb19-3">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">listen</span> 80<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-4">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">server_name</span> _<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-5"></span>
<span id="cb19-6">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">location</span> / {</span>
<span id="cb19-7">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_set_header</span> Host <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">$host</span><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-8">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_set_header</span> X-Real-IP <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">$remote_addr</span><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-9">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_set_header</span> X-Forwarded-For <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">$proxy_add_x_forwarded_for</span><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-10">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_set_header</span> X-Forwarded-Proto <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">$scheme</span><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-11">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_pass</span> http://localhost:9000<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-12">    <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">}</span></span>
<span id="cb19-13"></span>
<span id="cb19-14">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">location</span> /app01 {</span>
<span id="cb19-15">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_set_header</span> Host <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">$host</span><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-16">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_set_header</span> X-Real-IP <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">$remote_addr</span><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-17">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_set_header</span> X-Forwarded-For <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">$proxy_add_x_forwarded_for</span><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-18">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_set_header</span> X-Forwarded-Proto <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">$scheme</span><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-19">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_pass</span> http://localhost:9001<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-20">    <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">}</span></span>
<span id="cb19-21"></span>
<span id="cb19-22">    <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">location</span> /app02 {</span>
<span id="cb19-23">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_set_header</span> Host <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">$host</span><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-24">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_set_header</span> X-Real-IP <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">$remote_addr</span><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-25">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_set_header</span> X-Forwarded-For <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">$proxy_add_x_forwarded_for</span><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-26">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_set_header</span> X-Forwarded-Proto <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">$scheme</span><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-27">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">proxy_pass</span> http://localhost:9002<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-28">        <span class="ex" style="color: null;
background-color: null;
font-style: inherit;">rewrite</span> ^/app02/<span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">(</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">.</span><span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">*</span><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">)</span><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> /<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">$1</span> break<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">;</span></span>
<span id="cb19-29">    <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">}</span></span>
<span id="cb19-30"><span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">}</span></span></code></pre></div>
<p><br></p>
<p>Much of the configuration is boilerplate. The <code>proxy_pass</code> parameter needs to be set for each app based on the port specified in each application’s <em>docker-compose.yml</em>:</p>
<ul>
<li>The first block corresponds the the landing page (<code>location /</code>). For <code>proxy_pass</code>, we specify <code>http://localhost:9000</code>, since the dash-landing container is publishing to port 9000.</li>
<li>The second block corresponds to app01. For <code>proxy_pass</code>, we specify <code>http://localhost:9001</code>, since the dash-app01 container is publishing to port 9001.</li>
<li>The third block corresponds to app02. For <code>proxy_pass</code>, we specify <code>http://localhost:9002</code>, since the shiny-app02 container is publishing to port 9002. Note also the additional <code>rewrite</code> parameter set to <code>^/app02/(.*)$ /$1 break;</code>. This is required to serve Shiny applications at a location other than root.</li>
</ul>
<p>Save the changes to <em>apps.conf</em>, and check with NGINX to ensure the configuration is syntactically correct:</p>
<pre><code>$ sudo nginx -t
nginx: [warn] conflicting server name "_" on 0.0.0.0:80, ignored
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful</code></pre>
<p><br></p>
<p>You’ll need to restart the NGINX service:</p>
<div class="sourceCode" id="cb21" style="background: #f1f3f5;"><pre class="sourceCode sh code-with-copy"><code class="sourceCode bash"><span id="cb21-1"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo systemctl restart nginx</span>
<span id="cb21-2"><span class="ex" style="color: null;
background-color: null;
font-style: inherit;">$</span> sudo systemctl reload nginx</span></code></pre></div>
<p><br></p>
<p>Finally, navigating to <em>myserver.com</em> will take you to the landing page, from which you can navigate to any other linked application.</p>
<p>This approach can scale to any number of applications. It is also possible to serve Jupyter notebooks as standalone apps that might need to be shared with your team. This is a much more cost effective solution that using a product like Posit Connect, which costs many thousands of dollars per year for essentially the same functionality.</p>


</section>

 ]]></description>
  <category>Python</category>
  <category>R</category>
  <guid>https://www.jtrive.com/posts/multi-app-server/app-server-from-scratch.html</guid>
  <pubDate>Wed, 21 May 2025 05:00:00 GMT</pubDate>
</item>
<item>
  <title>Up and Running with JAX - Backpropagation and Training Neural Networks</title>
  <link>https://www.jtrive.com/posts/intro-to-jax-part-3/intro-to-jax-part-3.html</link>
  <description><![CDATA[ 





<p>In the third and final installment of the <em>Up and Running with JAX</em> series, we demonstrate the remaining steps required to train and evaluate a simple neural network, specifically the implementation of the loss function, backward pass and training loop. As in Part 2, the focus will be on predicting class labels for the MNIST dataset, which consists of 28x28 pixel images of handwritten digits (0-9). The training loop consists of the following steps:</p>
<ul>
<li>Load a batch of training data.</li>
<li>Obtain model predictions for current batch of images.</li>
<li>Calculate the loss for current batch predictions vs.&nbsp;targets.</li>
<li>Calculate backward gradients over the weights and biases.</li>
<li>Update the weights and biases using the gradient information.</li>
<li>Calculate the loss on a set of images not used for training.</li>
</ul>
<p>We begin by loading the dataset and functions implemented in Part 2 that facilitate weight initialization and the network forward pass:</p>
<div id="fc6d0f0f" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"></span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> warnings</span>
<span id="cb1-3"></span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb1-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-6"></span>
<span id="cb1-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torch</span>
<span id="cb1-8"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torchvision</span>
<span id="cb1-9"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torch.nn <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> nn</span>
<span id="cb1-10"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> torch.utils.data <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> Dataset, DataLoader</span>
<span id="cb1-11"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> torchvision <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> datasets</span>
<span id="cb1-12"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> torchvision.transforms <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> ToTensor</span>
<span id="cb1-13"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> torchvision.transforms <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> v2</span>
<span id="cb1-14"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb1-15"></span>
<span id="cb1-16">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>)</span>
<span id="cb1-17">pd.options.mode.chained_assignment <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb1-18">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.max_columns'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-19">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.width'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-20">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"display.precision"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb1-21">warnings.filterwarnings(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ignore"</span>)</span>
<span id="cb1-22"></span>
<span id="cb1-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Batch size.</span></span>
<span id="cb1-24">bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">64</span></span>
<span id="cb1-25"></span>
<span id="cb1-26">train_data <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> datasets.MNIST(</span>
<span id="cb1-27">    root<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>,</span>
<span id="cb1-28">    train<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb1-29">    download<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb1-30">    transform<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>v2.Compose([ToTensor()])</span>
<span id="cb1-31">)</span>
<span id="cb1-32"></span>
<span id="cb1-33">valid_data <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> datasets.MNIST(</span>
<span id="cb1-34">    root<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>,</span>
<span id="cb1-35">    train<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>,</span>
<span id="cb1-36">    download<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb1-37">    transform<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>v2.Compose([ToTensor()])</span>
<span id="cb1-38">)</span>
<span id="cb1-39"></span>
<span id="cb1-40"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert PIL images to NumPy arrays.</span></span>
<span id="cb1-41">train_data_arr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> train_data.data.numpy() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">255.0</span>      <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Normalize pixel values to [0, 1]</span></span>
<span id="cb1-42">valid_data_arr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> valid_data.data.numpy() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">255.0</span>      <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Normalize pixel values to [0, 1] </span></span>
<span id="cb1-43">train_data_arr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> train_data_arr.reshape(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">28</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">28</span>)  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Flatten images to 1D arrays</span></span>
<span id="cb1-44">valid_data_arr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> valid_data_arr.reshape(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">28</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">28</span>)  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Flatten images to 1D arrays</span></span>
<span id="cb1-45">train_labels <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> train_data.targets.numpy()</span>
<span id="cb1-46">valid_labels <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> valid_data.targets.numpy()</span>
<span id="cb1-47"></span>
<span id="cb1-48"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create training and validation batches of 64.</span></span>
<span id="cb1-49">train_batches <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb1-50">    (train_data_arr[(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> ii):(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>))], train_labels[(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> ii):(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>))]) </span>
<span id="cb1-51">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(train_data_arr) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">//</span> bs)</span>
<span id="cb1-52">]</span>
<span id="cb1-53">valid_batches <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb1-54">    (valid_data_arr[(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> ii):(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>))], valid_labels[(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> ii):(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>))]) </span>
<span id="cb1-55">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(valid_data_arr) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">//</span> bs)</span>
<span id="cb1-56">]</span>
<span id="cb1-57"></span>
<span id="cb1-58"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"train_data_arr.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>train_data_arr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb1-59"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"valid_data_arr.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>valid_data_arr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb1-60"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"train_labels.shape  : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>train_labels<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb1-61"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"valid_labels.shape  : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>valid_labels<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb1-62"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"len(train_batches)  : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(train_batches)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb1-63"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"len(valid_batches)  : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(valid_batches)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>train_data_arr.shape: (60000, 784)
valid_data_arr.shape: (10000, 784)
train_labels.shape  : (60000,)
valid_labels.shape  : (10000,)
len(train_batches)  : 937
len(valid_batches)  : 156</code></pre>
</div>
</div>
<div id="9f47f6b0" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb3-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">Functions introduced in Part 2. Refer to </span></span>
<span id="cb3-3"></span>
<span id="cb3-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    https://www.jtrive.com/posts/intro-to-jax-part-2/intro-to-jax-part-2.html</span></span>
<span id="cb3-5"></span>
<span id="cb3-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">for more information. </span></span>
<span id="cb3-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb3-8"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> jax <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> random, vmap</span>
<span id="cb3-9"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> jax.numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> jnp</span>
<span id="cb3-10"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> jax.nn <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> relu</span>
<span id="cb3-11"></span>
<span id="cb3-12"></span>
<span id="cb3-13"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> initialize_weights(sizes, key, scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.02</span>):</span>
<span id="cb3-14">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb3-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    "Initialize weights and biases for each layer for simple fully-connected </span></span>
<span id="cb3-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    network.</span></span>
<span id="cb3-17"></span>
<span id="cb3-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb3-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb3-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    sizes : list of int</span></span>
<span id="cb3-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        List of integers representing the number of neurons in each layer.</span></span>
<span id="cb3-22"></span>
<span id="cb3-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    key : jax.random.PRNGKey</span></span>
<span id="cb3-24"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Random key for JAX.</span></span>
<span id="cb3-25"></span>
<span id="cb3-26"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb3-27"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb3-28"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    List of initialized weights and biases for each layer.</span></span>
<span id="cb3-29"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb3-30">    keys <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> random.split(key, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(sizes) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb3-31">    params <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb3-32">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> m, n, k <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(sizes[:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>], sizes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:], keys):</span>
<span id="cb3-33">        w_key, b_key <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> random.split(k)</span>
<span id="cb3-34">        w <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> scale <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> random.normal(w_key, (m, n))</span>
<span id="cb3-35">        b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> scale <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> random.normal(b_key, (n,))</span>
<span id="cb3-36">        params.append((w, b))</span>
<span id="cb3-37">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> params</span>
<span id="cb3-38"></span>
<span id="cb3-39"></span>
<span id="cb3-40"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> forward(params, X):</span>
<span id="cb3-41">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb3-42"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Forward pass for simple fully-connected network.</span></span>
<span id="cb3-43"></span>
<span id="cb3-44"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb3-45"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb3-46"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    params : list of tuples</span></span>
<span id="cb3-47"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        List of tuples containing weights and biases for each layer.</span></span>
<span id="cb3-48"></span>
<span id="cb3-49"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    X : jax.numpy.ndarray</span></span>
<span id="cb3-50"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Input data.</span></span>
<span id="cb3-51"></span>
<span id="cb3-52"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb3-53"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb3-54"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    jax.numpy.ndarray</span></span>
<span id="cb3-55"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb3-56">    a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> X</span>
<span id="cb3-57">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> W, b <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> params[:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]:</span>
<span id="cb3-58">        z <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.dot(a, W) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> b</span>
<span id="cb3-59">        a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> relu(z)</span>
<span id="cb3-60">    W, b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> params[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb3-61">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> jnp.dot(a, W) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> b</span>
<span id="cb3-62"></span>
<span id="cb3-63"></span>
<span id="cb3-64"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Auto-vectorization of forward pass.</span></span>
<span id="cb3-65">batch_forward <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> vmap(forward, in_axes<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>))</span></code></pre></div>
</div>
<p><br></p>
<section id="cross-entropy-loss-and-softmax" class="level3">
<h3 class="anchored" data-anchor-id="cross-entropy-loss-and-softmax"><strong>Cross-Entropy Loss and Softmax</strong></h3>
<p>Categorical cross-entropy loss is the most commonly used loss function for multi-class classification with mutually-exclusive classes. A lower cross-entropy loss means the predicted probabilities are closer to the true labels. A key characteristic of cross entropy loss is that it rewards/penalizes the probabilities of correct classes only: The value is independent of how the remaining probability is split between the incorrect classes.</p>
<p>For a single sample with ( C ) classes, the cross-entropy loss is give by</p>
<p><img src="https://latex.codecogs.com/png.latex?%0AL%20=%20-%20%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi=1%7D%5E%7BC%7D%20y_i%20%5Ctimes%20%5Clog(%5Chat%7By_i%7D),%0A"></p>
<p>where: - <img src="https://latex.codecogs.com/png.latex?n"> is the batch size. - <img src="https://latex.codecogs.com/png.latex?y_i"> is the true label (1 for the correct class, 0 otherwise). - <img src="https://latex.codecogs.com/png.latex?%5Chat%7By_i%7D"> is the predicted probability for class <img src="https://latex.codecogs.com/png.latex?i"> (from softmax). - The <img src="https://latex.codecogs.com/png.latex?%5Clog"> ensures the loss is large when the predicted probability is low for the correct class.</p>
<p>If we had a single vector of actual labels representing the index of the correct class (i.e., <code>yact</code> from above), simply compute the negative log of the probability at this index to get the cross entropy loss for that sample (since cross-entropy doesn’t consider incorrect classes).</p>
<p>We forego one-hot encoding our targets, so our loss function accepts a batch of final layer activations (<code>logits</code>) and targets (<code>labels</code>) represented as a single integer between 0 and 9 per sample. Using a batch size of 64, <code>logits</code> has shape (64, 10), and <code>labels</code> (64,):</p>
<div id="ce53f954" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb4-1"></span>
<span id="cb4-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> jax.nn <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> log_softmax</span>
<span id="cb4-3"></span>
<span id="cb4-4"></span>
<span id="cb4-5"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> cross_entropy_loss(params, X, y):</span>
<span id="cb4-6">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb4-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Compute the loss for the given logits and labels.</span></span>
<span id="cb4-8"></span>
<span id="cb4-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb4-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb4-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    params : list of tuples</span></span>
<span id="cb4-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        List of tuples containing weights and biases for each layer.</span></span>
<span id="cb4-13"></span>
<span id="cb4-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    logits :</span></span>
<span id="cb4-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Batch of final layer activations.</span></span>
<span id="cb4-16"></span>
<span id="cb4-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    labels :</span></span>
<span id="cb4-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Batch of true labels, a single integer per sample.</span></span>
<span id="cb4-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">   </span></span>
<span id="cb4-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb4-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb4-22"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Computed loss.</span></span>
<span id="cb4-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb4-24">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute logits for the batch.</span></span>
<span id="cb4-25">    logits <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> forward(params, X)</span>
<span id="cb4-26"></span>
<span id="cb4-27">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert logits to log probabilities.</span></span>
<span id="cb4-28">    log_probs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> log_softmax(logits)</span>
<span id="cb4-29"></span>
<span id="cb4-30">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>log_probs[jnp.arange(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(y)), y].mean()</span>
<span id="cb4-31"></span></code></pre></div>
</div>
<p><br></p>
<p>The softmax function converts a vector logits into a probability distribution over classes. Logits refer to the raw, unnormalized output values produced by the last layer of a neural network before applying an activation function. It is commonly used in classification tasks. In some deep learning frameworks, cross-entropy loss is combined with softmax within a single function (see for example, <a href="https://pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html">CrossEntropyLoss</a> in PyTorch). For a vector <img src="https://latex.codecogs.com/png.latex?z"> of length <img src="https://latex.codecogs.com/png.latex?n">, softmax is defined as:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A%5Csigma(z_i)%20=%20%5Cfrac%7Be%5E%7Bz_i%7D%7D%7B%5Csum_%7Bj=1%7D%5E%7Bn%7D%20e%5E%7Bz_j%7D%7D,%0A"></p>
<p>where:</p>
<ul>
<li><img src="https://latex.codecogs.com/png.latex?e%5E%7Bz_i%7D"> exponentiates each element.</li>
<li>The denominator ensures all probabilities sum to 1.</li>
</ul>
<p><br></p>
<p>If any of the <img src="https://latex.codecogs.com/png.latex?z_i"> is large, <img src="https://latex.codecogs.com/png.latex?e%5E%7Bz_i%7D"> can become extremely large, potentially causing overflow errors in computation. For example:</p>
<div class="sourceCode" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb5-2"></span>
<span id="cb5-3">z <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.array([<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2000</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3000</span>])         <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Large values</span></span>
<span id="cb5-4">softmax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.exp(z) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(np.exp(z))  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># OverflowError</span></span></code></pre></div>
<p><br></p>
<p>Since <img src="https://latex.codecogs.com/png.latex?e%5E%7B3000%7D"> is astronomically large, Python will struggle to handle it. The solution is to subtract the max value of each sample instead of using <img src="https://latex.codecogs.com/png.latex?z"> directly:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A%5Csigma(z_i)%20=%20%5Cfrac%7Be%5E%7Bz_i%20-%20%5Cmax(z)%7D%7D%7B%5Csum_%7Bj=1%7D%5E%7Bn%7D%20e%5E%7Bz_j%20-%20%5Cmax(z)%7D%7D%0A"></p>
<p><br></p>
<p>This shifts all values down without affecting the final probabilities (since shifting inside the exponent maintains relative differences).</p>
<p><br></p>
</section>
<section id="backward-pass" class="level3">
<h3 class="anchored" data-anchor-id="backward-pass"><strong>Backward Pass</strong></h3>
<p>In order to obtain the gradients of the loss function w.r.t. the model parameters, JAX’s <code>grad</code> function can be used. <code>grad</code> computes the gradient of a scalar-valued function with respect to its inputs. It performs automatic differentiation by tracing the computation and building a backward pass to compute derivatives. <code>grad</code> accepts a Python function and returns a new function that computes the gradient of the original function. The returned function takes the same inputs as the original and returns the derivative w.r.t. the argument specified (the first argument by default).</p>
<p>Note that <code>grad</code> only returns the gradients of the loss function with respect to the parameters, and not the actual loss value. This is important information to have during training. We can instead use <code>value_and_grad</code>, which returns the actual loss value along with the gradients as a tuple. In the next cell, <code>update</code> implements the gradient update. I’ve included an <code>accuracy</code> function, which is used to evaluate model performance after each epoch:</p>
<div id="328c5e37" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb6-1"></span>
<span id="cb6-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> jax <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> value_and_grad</span>
<span id="cb6-3"></span>
<span id="cb6-4"></span>
<span id="cb6-5"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> update(params, X, y, lr<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.01</span>):</span>
<span id="cb6-6">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb6-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Update weights and biases using gradient descent.</span></span>
<span id="cb6-8"></span>
<span id="cb6-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb6-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb6-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    params : list of tuples</span></span>
<span id="cb6-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        List of tuples containing weights and biases for each layer.</span></span>
<span id="cb6-13"></span>
<span id="cb6-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    X : jax.numpy.ndarray</span></span>
<span id="cb6-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Input data.</span></span>
<span id="cb6-16"></span>
<span id="cb6-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    y : jax.numpy.ndarray</span></span>
<span id="cb6-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        True labels.</span></span>
<span id="cb6-19"></span>
<span id="cb6-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    lr : float</span></span>
<span id="cb6-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Learning rate.</span></span>
<span id="cb6-22"></span>
<span id="cb6-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb6-24"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb6-25"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    tuple</span></span>
<span id="cb6-26"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Updated weights and biases.</span></span>
<span id="cb6-27"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb6-28">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute loss and gradients.</span></span>
<span id="cb6-29">    loss, grads <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> value_and_grad(cross_entropy_loss)(params, X, y)</span>
<span id="cb6-30">    </span>
<span id="cb6-31">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Unpack parameters and gradients.</span></span>
<span id="cb6-32">    (W1, b1), (W2, b2) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> params</span>
<span id="cb6-33">    (dW1, db1), (dW2, db2) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> grads</span>
<span id="cb6-34"></span>
<span id="cb6-35">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Update weights and biases.</span></span>
<span id="cb6-36">    W1_new <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> W1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> lr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> dW1</span>
<span id="cb6-37">    b1_new <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> b1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> lr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> db1</span>
<span id="cb6-38">    W2_new <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> W2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> lr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> dW2</span>
<span id="cb6-39">    b2_new <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> b2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> lr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> db2</span>
<span id="cb6-40">    </span>
<span id="cb6-41">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> [(W1_new, b1_new), (W2_new, b2_new)], loss</span>
<span id="cb6-42"></span>
<span id="cb6-43"></span>
<span id="cb6-44"></span>
<span id="cb6-45"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> accuracy(logits, labels):</span>
<span id="cb6-46">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb6-47"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Compute accuracy.</span></span>
<span id="cb6-48"></span>
<span id="cb6-49"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb6-50"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb6-51"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    logits : jax.numpy.ndarray</span></span>
<span id="cb6-52"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Final layer activations.</span></span>
<span id="cb6-53"></span>
<span id="cb6-54"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    labels : jax.numpy.ndarray</span></span>
<span id="cb6-55"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        True labels.</span></span>
<span id="cb6-56"></span>
<span id="cb6-57"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb6-58"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb6-59"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    float</span></span>
<span id="cb6-60"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Accuracy.</span></span>
<span id="cb6-61"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb6-62">    preds <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.argmax(logits, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb6-63">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> (preds <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> labels).mean()</span></code></pre></div>
</div>
<p><br> We have everything setup train the network. The training loop is provided in the next cell, where the network is trained for 25 epochs:</p>
<div id="8d7206cc" class="cell">
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"></span>
<span id="cb7-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> time <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> perf_counter</span>
<span id="cb7-3"></span>
<span id="cb7-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Layer sizes.</span></span>
<span id="cb7-5">sizes <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">784</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">128</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>]</span>
<span id="cb7-6"></span>
<span id="cb7-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Number of epochs.</span></span>
<span id="cb7-8">n_epochs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">25</span></span>
<span id="cb7-9"></span>
<span id="cb7-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Learning rate.</span></span>
<span id="cb7-11">lr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span></span>
<span id="cb7-12"></span>
<span id="cb7-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Store loss, accuracy and runtime.</span></span>
<span id="cb7-14">results <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb7-15"></span>
<span id="cb7-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Initialize weights ands biases.</span></span>
<span id="cb7-17">params <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> initialize_weights(sizes, key<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>random.PRNGKey(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">516</span>), scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.02</span>)   </span>
<span id="cb7-18"></span>
<span id="cb7-19"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> epoch <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(n_epochs):</span>
<span id="cb7-20"></span>
<span id="cb7-21">    start_time <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> perf_counter()</span>
<span id="cb7-22"></span>
<span id="cb7-23">    losses <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [] </span>
<span id="cb7-24"></span>
<span id="cb7-25">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> X, y <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> train_batches:</span>
<span id="cb7-26">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute loss.</span></span>
<span id="cb7-27">        params, loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> update(params, X, y, lr<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>lr)</span>
<span id="cb7-28">        losses.append(loss.item())</span>
<span id="cb7-29"></span>
<span id="cb7-30">    epoch_time <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> perf_counter() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> start_time</span>
<span id="cb7-31">    avg_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.mean(losses)</span>
<span id="cb7-32">    train_acc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.mean([accuracy(forward(params, X), y).item() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> X, y <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> train_batches])</span>
<span id="cb7-33">    valid_acc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.mean([accuracy(forward(params, X), y).item() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> X, y <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> valid_batches])</span>
<span id="cb7-34">    results.append((epoch <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, avg_loss, train_acc, valid_acc, epoch_time))</span>
<span id="cb7-35">    <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Epoch </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>epoch <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">/</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>n_epochs<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">: loss: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>avg_loss<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">, train acc.: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>train_acc<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.3f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">, valid acc.: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>valid_acc<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.3f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">, time: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>epoch_time<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> sec."</span>)</span>
<span id="cb7-36"></span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Epoch 1/25: loss: 1.5768, train acc.: 0.818, valid acc.: 0.824, time: 11.59 sec.
Epoch 2/25: loss: 0.5859, train acc.: 0.873, valid acc.: 0.881, time: 11.40 sec.
Epoch 3/25: loss: 0.4297, train acc.: 0.891, valid acc.: 0.896, time: 15.88 sec.
Epoch 4/25: loss: 0.3753, train acc.: 0.899, valid acc.: 0.904, time: 12.13 sec.
Epoch 5/25: loss: 0.3464, train acc.: 0.905, valid acc.: 0.909, time: 13.94 sec.
Epoch 6/25: loss: 0.3270, train acc.: 0.909, valid acc.: 0.913, time: 14.45 sec.
Epoch 7/25: loss: 0.3123, train acc.: 0.913, valid acc.: 0.918, time: 13.47 sec.
Epoch 8/25: loss: 0.2999, train acc.: 0.916, valid acc.: 0.920, time: 13.78 sec.
Epoch 9/25: loss: 0.2891, train acc.: 0.919, valid acc.: 0.922, time: 13.89 sec.
Epoch 10/25: loss: 0.2792, train acc.: 0.922, valid acc.: 0.925, time: 13.20 sec.
Epoch 11/25: loss: 0.2699, train acc.: 0.925, valid acc.: 0.927, time: 13.02 sec.
Epoch 12/25: loss: 0.2611, train acc.: 0.927, valid acc.: 0.930, time: 13.94 sec.
Epoch 13/25: loss: 0.2529, train acc.: 0.929, valid acc.: 0.931, time: 12.08 sec.
Epoch 14/25: loss: 0.2450, train acc.: 0.932, valid acc.: 0.932, time: 13.29 sec.
Epoch 15/25: loss: 0.2377, train acc.: 0.934, valid acc.: 0.934, time: 12.39 sec.
Epoch 16/25: loss: 0.2306, train acc.: 0.936, valid acc.: 0.936, time: 12.09 sec.
Epoch 17/25: loss: 0.2240, train acc.: 0.938, valid acc.: 0.937, time: 11.55 sec.
Epoch 18/25: loss: 0.2176, train acc.: 0.940, valid acc.: 0.939, time: 11.41 sec.
Epoch 19/25: loss: 0.2116, train acc.: 0.941, valid acc.: 0.940, time: 11.47 sec.
Epoch 20/25: loss: 0.2058, train acc.: 0.943, valid acc.: 0.941, time: 11.74 sec.
Epoch 21/25: loss: 0.2003, train acc.: 0.945, valid acc.: 0.942, time: 11.55 sec.
Epoch 22/25: loss: 0.1951, train acc.: 0.946, valid acc.: 0.943, time: 11.44 sec.
Epoch 23/25: loss: 0.1901, train acc.: 0.948, valid acc.: 0.945, time: 11.19 sec.
Epoch 24/25: loss: 0.1853, train acc.: 0.949, valid acc.: 0.946, time: 11.07 sec.
Epoch 25/25: loss: 0.1807, train acc.: 0.950, valid acc.: 0.947, time: 10.66 sec.</code></pre>
</div>
</div>
<p><br></p>
<p>The loss decreases as a function of epoch, and the best validation accuracy was realized on the 25th epoch. We can visualize our training metrics:</p>
<div id="40402590" class="cell" data-execution_count="19">
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"></span>
<span id="cb9-2">v_color <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#8fcdb5"</span></span>
<span id="cb9-3">t_color <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#031f14"</span></span>
<span id="cb9-4"></span>
<span id="cb9-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Unpack results list. </span></span>
<span id="cb9-6">_, loss, tacc, vacc, epoch_time <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>results)</span>
<span id="cb9-7">xx <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(loss))</span>
<span id="cb9-8"></span>
<span id="cb9-9">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(nrows<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, ncols<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">3.5</span>), sharex<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb9-10"></span>
<span id="cb9-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Training loss.</span></span>
<span id="cb9-12">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"training loss"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb9-13">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].plot(xx, loss, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#303846"</span>)</span>
<span id="cb9-14">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"epoch"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb9-15">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"loss"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb9-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#ax[0].set_xticks(xx)</span></span>
<span id="cb9-17">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb9-18">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"y"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb9-19">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].xaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb9-20">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].yaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb9-21">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb9-22">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].set_axisbelow(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb9-23"></span>
<span id="cb9-24"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Training and validation accuracy.</span></span>
<span id="cb9-25">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"train + validation accuracy"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb9-26">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].plot(xx, tacc, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#303846"</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"train acc."</span>)</span>
<span id="cb9-27">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].plot(xx, vacc, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#E02C70"</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"valid acc."</span>)</span>
<span id="cb9-28">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"epoch"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb9-29">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"accuracy"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb9-30"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#ax[1].set_xticks(xx)</span></span>
<span id="cb9-31">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb9-32">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"y"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb9-33">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].xaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb9-34">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].yaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb9-35">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb9-36">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].set_axisbelow(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb9-37">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].legend(loc<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lower right"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, frameon<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb9-38"></span>
<span id="cb9-39"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Runtime.</span></span>
<span id="cb9-40">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"epoch runtime"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb9-41">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].bar(xx, epoch_time, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>t_color)</span>
<span id="cb9-42">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"epoch"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb9-43">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"runtime"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb9-44"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#ax[2].set_xticks(xx)</span></span>
<span id="cb9-45">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb9-46">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"y"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb9-47">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].xaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb9-48">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].yaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb9-49">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb9-50">ax[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].set_axisbelow(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb9-51"></span>
<span id="cb9-52">plt.show()</span>
<span id="cb9-53"></span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/intro-to-jax-part-3/intro-to-jax-part-3_files/figure-html/cell-7-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>Given the shape of the training and validation accuracy curves, it’s likely that the network still had room to improve, and with additional epochs would almost certainly have achieved even better performance.</p>
<p><br></p>
</section>
<section id="jit-compilation" class="level3">
<h3 class="anchored" data-anchor-id="jit-compilation"><strong>JIT Compilation</strong></h3>
<p>On average, it took around 13 seconds for one full pass through the data using CPU. We can reduce the runtime drastically by just-in-time compiling the <code>update</code> function. Recall from the first installment of the series that Just-In-Time (JIT) compilation in JAX refers to the process of transforming a Python function into highly optimized, low-level code (usually XLA-compiled) that runs much faster. This can be accomplished using the <code>@jit</code> decorator. <code>update</code> now becomes:</p>
<div id="4fd912b9" class="cell" data-execution_count="24">
<div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb10-1"></span>
<span id="cb10-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> jax <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> jit</span>
<span id="cb10-3"></span>
<span id="cb10-4"><span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">@jit</span></span>
<span id="cb10-5"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> update(params, X, y, lr<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.01</span>):</span>
<span id="cb10-6">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb10-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Update weights and biases using gradient descent.</span></span>
<span id="cb10-8"></span>
<span id="cb10-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb10-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb10-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    params : list of tuples</span></span>
<span id="cb10-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        List of tuples containing weights and biases for each layer.</span></span>
<span id="cb10-13"></span>
<span id="cb10-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    X : jax.numpy.ndarray</span></span>
<span id="cb10-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Input data.</span></span>
<span id="cb10-16"></span>
<span id="cb10-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    y : jax.numpy.ndarray</span></span>
<span id="cb10-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        True labels.</span></span>
<span id="cb10-19"></span>
<span id="cb10-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    lr : float</span></span>
<span id="cb10-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Learning rate.</span></span>
<span id="cb10-22"></span>
<span id="cb10-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb10-24"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb10-25"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    tuple</span></span>
<span id="cb10-26"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Updated weights and biases.</span></span>
<span id="cb10-27"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb10-28">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute loss and gradients.</span></span>
<span id="cb10-29">    loss, grads <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> value_and_grad(cross_entropy_loss)(params, X, y)</span>
<span id="cb10-30">    </span>
<span id="cb10-31">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Unpack parameters and gradients.</span></span>
<span id="cb10-32">    (W1, b1), (W2, b2) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> params</span>
<span id="cb10-33">    (dW1, db1), (dW2, db2) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> grads</span>
<span id="cb10-34"></span>
<span id="cb10-35">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Update weights and biases.</span></span>
<span id="cb10-36">    W1_new <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> W1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> lr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> dW1</span>
<span id="cb10-37">    b1_new <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> b1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> lr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> db1</span>
<span id="cb10-38">    W2_new <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> W2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> lr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> dW2</span>
<span id="cb10-39">    b2_new <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> b2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> lr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> db2</span>
<span id="cb10-40">    </span>
<span id="cb10-41">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> [(W1_new, b1_new), (W2_new, b2_new)], loss</span></code></pre></div>
</div>
<p><br></p>
<p>Let’s retrain the network and assess the impact JIT compilation has on per-epoch training time:</p>
<div id="fcc8eea6" class="cell" data-execution_count="25">
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb11-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">Same training loop as before, but now using JIT compilation.</span></span>
<span id="cb11-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb11-4"></span>
<span id="cb11-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> time <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> perf_counter</span>
<span id="cb11-6"></span>
<span id="cb11-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Layer sizes.</span></span>
<span id="cb11-8">sizes <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">784</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">128</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>]</span>
<span id="cb11-9"></span>
<span id="cb11-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Number of epochs.</span></span>
<span id="cb11-11">n_epochs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">25</span></span>
<span id="cb11-12"></span>
<span id="cb11-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Learning rate.</span></span>
<span id="cb11-14">lr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span></span>
<span id="cb11-15"></span>
<span id="cb11-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Store loss, accuracy and runtime.</span></span>
<span id="cb11-17">results <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb11-18"></span>
<span id="cb11-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Initialize weights ands biases.</span></span>
<span id="cb11-20">params <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> initialize_weights(sizes, key<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>random.PRNGKey(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">516</span>), scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.02</span>)   </span>
<span id="cb11-21"></span>
<span id="cb11-22"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> epoch <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(n_epochs):</span>
<span id="cb11-23"></span>
<span id="cb11-24">    start_time <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> perf_counter()</span>
<span id="cb11-25"></span>
<span id="cb11-26">    losses <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [] </span>
<span id="cb11-27"></span>
<span id="cb11-28">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> X, y <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> train_batches:</span>
<span id="cb11-29">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute loss.</span></span>
<span id="cb11-30">        params, loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> update(params, X, y, lr<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>lr)</span>
<span id="cb11-31">        losses.append(loss.item())</span>
<span id="cb11-32"></span>
<span id="cb11-33">    epoch_time <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> perf_counter() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> start_time</span>
<span id="cb11-34">    avg_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.mean(losses)</span>
<span id="cb11-35">    train_acc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.mean([accuracy(forward(params, X), y).item() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> X, y <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> train_batches])</span>
<span id="cb11-36">    valid_acc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.mean([accuracy(forward(params, X), y).item() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> X, y <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> valid_batches])</span>
<span id="cb11-37">    results.append((epoch <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, avg_loss, train_acc, valid_acc, epoch_time))</span>
<span id="cb11-38">    <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Epoch </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>epoch <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">/</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>n_epochs<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">: loss: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>avg_loss<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">, train acc.: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>train_acc<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.3f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">, valid acc.: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>valid_acc<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.3f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">, time: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>epoch_time<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> sec."</span>)</span>
<span id="cb11-39"></span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Epoch 1/25: loss: 1.5768, train acc.: 0.818, valid acc.: 0.824, time: 1.20 sec.
Epoch 2/25: loss: 0.5859, train acc.: 0.873, valid acc.: 0.881, time: 0.85 sec.
Epoch 3/25: loss: 0.4297, train acc.: 0.891, valid acc.: 0.896, time: 0.84 sec.
Epoch 4/25: loss: 0.3753, train acc.: 0.899, valid acc.: 0.904, time: 0.83 sec.
Epoch 5/25: loss: 0.3464, train acc.: 0.905, valid acc.: 0.909, time: 0.82 sec.
Epoch 6/25: loss: 0.3270, train acc.: 0.909, valid acc.: 0.913, time: 0.84 sec.
Epoch 7/25: loss: 0.3123, train acc.: 0.913, valid acc.: 0.918, time: 0.85 sec.
Epoch 8/25: loss: 0.2999, train acc.: 0.916, valid acc.: 0.920, time: 0.83 sec.
Epoch 9/25: loss: 0.2891, train acc.: 0.919, valid acc.: 0.922, time: 0.83 sec.
Epoch 10/25: loss: 0.2792, train acc.: 0.922, valid acc.: 0.925, time: 0.82 sec.
Epoch 11/25: loss: 0.2699, train acc.: 0.924, valid acc.: 0.927, time: 0.85 sec.
Epoch 12/25: loss: 0.2611, train acc.: 0.927, valid acc.: 0.930, time: 0.87 sec.
Epoch 13/25: loss: 0.2529, train acc.: 0.929, valid acc.: 0.931, time: 0.81 sec.
Epoch 14/25: loss: 0.2450, train acc.: 0.932, valid acc.: 0.932, time: 0.81 sec.
Epoch 15/25: loss: 0.2377, train acc.: 0.934, valid acc.: 0.934, time: 0.83 sec.
Epoch 16/25: loss: 0.2307, train acc.: 0.936, valid acc.: 0.936, time: 0.85 sec.
Epoch 17/25: loss: 0.2240, train acc.: 0.938, valid acc.: 0.937, time: 0.82 sec.
Epoch 18/25: loss: 0.2176, train acc.: 0.940, valid acc.: 0.939, time: 0.82 sec.
Epoch 19/25: loss: 0.2116, train acc.: 0.941, valid acc.: 0.940, time: 0.87 sec.
Epoch 20/25: loss: 0.2058, train acc.: 0.943, valid acc.: 0.941, time: 0.84 sec.
Epoch 21/25: loss: 0.2003, train acc.: 0.945, valid acc.: 0.942, time: 0.80 sec.
Epoch 22/25: loss: 0.1951, train acc.: 0.946, valid acc.: 0.943, time: 0.85 sec.
Epoch 23/25: loss: 0.1901, train acc.: 0.948, valid acc.: 0.944, time: 0.84 sec.
Epoch 24/25: loss: 0.1853, train acc.: 0.949, valid acc.: 0.946, time: 0.81 sec.
Epoch 25/25: loss: 0.1807, train acc.: 0.950, valid acc.: 0.947, time: 0.87 sec.</code></pre>
</div>
</div>
<p><br></p>
<p>By simply adding the <code>jit</code> decorator to the <code>update</code> function, the average training time per epoch dropped from around 13 seconds to under a second, with no degradation of performance. Pretty remarkable!</p>
<p><br></p>
</section>
<section id="conclusion" class="level3">
<h3 class="anchored" data-anchor-id="conclusion"><strong>Conclusion</strong></h3>
<p>JAX is a powerful tool for deep learning because it combines NumPy-like syntax with automatic differentiation, just-in-time (JIT) compilation for performance, and seamless GPU/TPU support, all while enabling functional programming patterns that make complex model transformations and optimization easier to express. In this series, we’ve only scratched the surface of what’s possible with JAX. For those eager to explore further, I recommend <em>Deep Learning with JAX</em> by Grigory Sapunov, which dives into more advanced topics and real-world applications of the framework.</p>
<p>I’m currently spending time getting familiar with <a href="https://flax.readthedocs.io/en/latest/">Flax</a>, a powerful, higher-level deep learning library that makes it easier to define, train, and manage models without sacrificing flexibility or performance (you can think of JAX as the engine and Flax as the framework that helps you build with that engine). It offers tools to define neural networks, handle parameter initialization and state management, and integrates nicely with JAX’s functional approach. It’s designed to make building and training deep learning models easier and more scalable without hiding the JAX underpinnings. More on Flax in a future post.</p>
<p><br></p>


</section>

 ]]></description>
  <category>Machine Learning</category>
  <category>Python</category>
  <guid>https://www.jtrive.com/posts/intro-to-jax-part-3/intro-to-jax-part-3.html</guid>
  <pubDate>Mon, 14 Apr 2025 05:00:00 GMT</pubDate>
</item>
<item>
  <title>Up and Running with JAX - Fully-Connected Network Forward Pass</title>
  <link>https://www.jtrive.com/posts/intro-to-jax-part-2/intro-to-jax-part-2.html</link>
  <description><![CDATA[ 





<p>In a <a href="https://www.jtrive.com/posts/intro-to-jax-part-1/intro-to-jax-part-1.html">previous post</a>, I introduced JAX with particular emphasis on JIT compilation, vectorizing transformations and automatic differentiation. In this post, we walkthrough an implementation of the forward pass for a fully-connected neural network with the goal of classifying MNIST handwritten digits, incorporating concepts from the first post.</p>
<p>We begin by loading MNIST training and validation sets, convert the PIL images to Numpy arrays, and create image-label batches of size 64:</p>
<div id="cell-2" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"></span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> warnings</span>
<span id="cb1-3"></span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb1-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-6"></span>
<span id="cb1-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torch</span>
<span id="cb1-8"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torchvision</span>
<span id="cb1-9"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torch.nn <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> nn</span>
<span id="cb1-10"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> torch.utils.data <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> Dataset, DataLoader</span>
<span id="cb1-11"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> torchvision <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> datasets</span>
<span id="cb1-12"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> torchvision.transforms <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> ToTensor</span>
<span id="cb1-13"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> torchvision.transforms <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> v2</span>
<span id="cb1-14"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb1-15"></span>
<span id="cb1-16">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>)</span>
<span id="cb1-17">pd.options.mode.chained_assignment <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb1-18">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.max_columns'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-19">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.width'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-20">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"display.precision"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb1-21">warnings.filterwarnings(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ignore"</span>)</span>
<span id="cb1-22"></span>
<span id="cb1-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Batch size.</span></span>
<span id="cb1-24">bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">64</span></span>
<span id="cb1-25"></span>
<span id="cb1-26">train_data <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> datasets.MNIST(</span>
<span id="cb1-27">    root<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>,</span>
<span id="cb1-28">    train<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb1-29">    download<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb1-30">    transform<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>v2.Compose([ToTensor()])</span>
<span id="cb1-31">)</span>
<span id="cb1-32"></span>
<span id="cb1-33">valid_data <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> datasets.MNIST(</span>
<span id="cb1-34">    root<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>,</span>
<span id="cb1-35">    train<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>,</span>
<span id="cb1-36">    download<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb1-37">    transform<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>v2.Compose([ToTensor()])</span>
<span id="cb1-38">)</span>
<span id="cb1-39"></span>
<span id="cb1-40"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert PIL images to NumPy arrays.</span></span>
<span id="cb1-41">train_data_arr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> train_data.data.numpy() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">255.0</span>      <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Normalize pixel values to [0, 1]</span></span>
<span id="cb1-42">valid_data_arr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> valid_data.data.numpy() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">255.0</span>      <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Normalize pixel values to [0, 1] </span></span>
<span id="cb1-43">train_data_arr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> train_data_arr.reshape(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">28</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">28</span>)  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Flatten images to 1D arrays</span></span>
<span id="cb1-44">valid_data_arr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> valid_data_arr.reshape(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">28</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">28</span>)  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Flatten images to 1D arrays</span></span>
<span id="cb1-45">train_labels <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> train_data.targets.numpy()</span>
<span id="cb1-46">valid_labels <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> valid_data.targets.numpy()</span>
<span id="cb1-47"></span>
<span id="cb1-48"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create training and validation batches of 64.</span></span>
<span id="cb1-49">train_batches <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb1-50">    (train_data_arr[(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> ii):(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>))], train_labels[(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> ii):(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>))]) </span>
<span id="cb1-51">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(train_data_arr) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">//</span> bs)</span>
<span id="cb1-52">]</span>
<span id="cb1-53">valid_batches <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb1-54">    (valid_data_arr[(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> ii):(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>))], valid_labels[(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> ii):(bs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>))]) </span>
<span id="cb1-55">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(valid_data_arr) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">//</span> bs)</span>
<span id="cb1-56">]</span>
<span id="cb1-57"></span>
<span id="cb1-58"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"train_data_arr.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>train_data_arr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb1-59"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"valid_data_arr.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>valid_data_arr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb1-60"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"train_labels.shape  : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>train_labels<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb1-61"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"valid_labels.shape  : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>valid_labels<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb1-62"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"len(train_batches)  : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(train_batches)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb1-63"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"len(valid_batches)  : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(valid_batches)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>train_data_arr.shape: (60000, 784)
valid_data_arr.shape: (10000, 784)
train_labels.shape  : (60000,)
valid_labels.shape  : (10000,)
len(train_batches)  : 937
len(valid_batches)  : 156</code></pre>
</div>
</div>
<p><br></p>
<p>We can visualize a batch of images and labels using matplotlib:</p>
<div id="cell-4" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"></span>
<span id="cb3-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb3-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> mpl_toolkits.axes_grid1 <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> ImageGrid</span>
<span id="cb3-4"></span>
<span id="cb3-5">X, y <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> train_batches[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span>
<span id="cb3-6">X <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.expand_dims(X.reshape(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">28</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">28</span>), <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb3-7"></span>
<span id="cb3-8">fig <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.figure(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">8.</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">8.</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb3-9"></span>
<span id="cb3-10">grid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ImageGrid(fig, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">111</span>, nrows_ncols<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>), axes_pad<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.20</span>)</span>
<span id="cb3-11"></span>
<span id="cb3-12"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ax, X_ii, y_ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(grid, X, y):</span>
<span id="cb3-13">    X_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.transpose(X_ii, (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>))</span>
<span id="cb3-14">    ax.imshow(X_ii, cmap<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gray"</span>)</span>
<span id="cb3-15">    ax.axis(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"off"</span>)</span>
<span id="cb3-16">    ax.set_title(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>y_ii<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb3-17"></span>
<span id="cb3-18">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/intro-to-jax-part-2/intro-to-jax-part-2_files/figure-html/cell-3-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>Our goal is to create a model that accepts a batch of 64 images, and returns a class prediction for each image in the batch. Our architecture is presented in the image below:</p>
<p align="center">
<img src="https://www.jtrive.com/posts/intro-to-jax-part-2/mnist.png">
</p>
<p><br></p>
<p>The pre-activations for layer <img src="https://latex.codecogs.com/png.latex?l"> are computed as <img src="https://latex.codecogs.com/png.latex?Z%5E%7B(l)%7D%20=%20A%5E%7B(l-1)%7D%20W%5E%7B(l)%7D%20+%20b%5E%7B(l)%7D">, where:</p>
<ul>
<li><img src="https://latex.codecogs.com/png.latex?Z%5E%7B(l)%7D"> = layer <img src="https://latex.codecogs.com/png.latex?l"> pre-activations (value prior to applying non-linearity like ReLU).</li>
<li><img src="https://latex.codecogs.com/png.latex?A%5E%7B(l-1)%7D"> = layer <img src="https://latex.codecogs.com/png.latex?l-1"> activations, with <img src="https://latex.codecogs.com/png.latex?A%5E%7B(0)%7D"> representing the original input.</li>
<li><img src="https://latex.codecogs.com/png.latex?W%5E%7B(l)%7D"> = The weight matrix for layer <img src="https://latex.codecogs.com/png.latex?l">.</li>
<li><img src="https://latex.codecogs.com/png.latex?b%5E%7B(l)%7D"> = bias vector for layer <img src="https://latex.codecogs.com/png.latex?l">.</li>
</ul>
<p><br></p>
<p>For the network shown above assuming a batch size of 64:</p>
<ul>
<li><img src="https://latex.codecogs.com/png.latex?Z%5E%7B(0)%7D%20=%20A%5E%7B(0)%7D">: Input matrix with dimension 64x784.</li>
<li><img src="https://latex.codecogs.com/png.latex?W%5E%7B(1)%7D">: Weight matrix with dimension 784x128.</li>
<li><img src="https://latex.codecogs.com/png.latex?b%5E%7B(1)%7D"> Bias vector of length 128.</li>
<li><img src="https://latex.codecogs.com/png.latex?Z%5E%7B(1)%7D%20=%20A%5E%7B(0)%7D%20W%5E%7B(1)%7D%20+%20b%5E%7B(1)%7D">: Matrix of pre-activations with dimension 64x128.</li>
<li><img src="https://latex.codecogs.com/png.latex?A%5E%7B(1)%7D">: Non-linearity applied to <img src="https://latex.codecogs.com/png.latex?Z%5E%7B(1)%7D">. Activation matrix with dimension 64x128.</li>
<li><img src="https://latex.codecogs.com/png.latex?W%5E%7B(2)%7D">: Weight matrix with dimension 128x10.</li>
<li><img src="https://latex.codecogs.com/png.latex?b%5E%7B(2)%7D">: Bias vector of length 10.</li>
<li><img src="https://latex.codecogs.com/png.latex?Z%5E%7B(2)%7D%20=%20A%5E%7B(1)%7D%20W%5E%7B(2)%7D%20+%20b%5E%7B(2)%7D">: Matrix of pre-activations with dimension 64x10.</li>
<li><img src="https://latex.codecogs.com/png.latex?A%5E%7B(2)%7D">: Non-linearity applied to <img src="https://latex.codecogs.com/png.latex?Z%5E%7B(2)%7D">. Activation matrix with dimension 64x10.</li>
</ul>
<p><br></p>
<p>The forward pass feeds an image of size 28x28 into the network, which produces a probability distribution over all classes. The class with the highest probability is our class prediction, which for MNIST will be one of 10 digits 0-9. Specifically:</p>
<ul>
<li>Each 28x28 image is flattened to have shape 1x784. The input layer has the same size as the flattened image (784,).</li>
<li>The hidden layer consists of 128 neurons. The matrix of weights projecting from the input layer to the first hidden layer has dimension 784x128, plus a bias vector of length 128.</li>
<li>The output layer consists of 10 neurons, which is the same the number of classes in the dataset. The matrix of weights projecting from the hidden layer to the output layer has dimension 128x10, along with a bias vector of length 10.</li>
<li>Applying softmax to the output layer results in a probability distribution over classes.</li>
</ul>
<p>Weight initialization is handled automatically in PyTorch, but when working in JAX, The first step is to initialize the network weights. We can create a helper function to assist with randomly assigning values to the weight matrices and bias vectors.</p>
<p>In JAX, random number generation is handled a bit differently than in Numpy to ensure functional purity. JAX uses explicit PRNG keys to generate random numbers instead of relying on global state. A “key” is a special array that acts as a seed, and every time you use it, JAX produces the same random numbers for the same key.</p>
<p>Since JAX enforces immutability, you can’t reuse a key for multiple random calls without getting the same result. Instead, you split a key using <code>jax.random.split</code>, which deterministically generates new, unique keys from the original one. Each split key is independent, allowing for the generation of different random numbers while maintaining reproducibility. In the next cell, we initialize weights using small random normal values:</p>
<div id="cell-7" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb4-1"></span>
<span id="cb4-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> jax <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> random</span>
<span id="cb4-3"></span>
<span id="cb4-4"></span>
<span id="cb4-5"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> initialize_weights(sizes, key, scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.02</span>):</span>
<span id="cb4-6">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb4-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    "Initialize weights and biases for each layer for simple fully-connected </span></span>
<span id="cb4-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    network.</span></span>
<span id="cb4-9"></span>
<span id="cb4-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb4-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb4-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    sizes : list of int</span></span>
<span id="cb4-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        List of integers representing the number of neurons in each layer.</span></span>
<span id="cb4-14"></span>
<span id="cb4-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    key : jax.random.PRNGKey</span></span>
<span id="cb4-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Random key for JAX.</span></span>
<span id="cb4-17"></span>
<span id="cb4-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb4-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb4-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    List of iniitialized weights and biases for each layer.</span></span>
<span id="cb4-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb4-22">    keys <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> random.split(key, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(sizes) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb4-23">    params <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb4-24">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> m, n, k <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(sizes[:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>], sizes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:], keys):</span>
<span id="cb4-25">        w_key, b_key <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> random.split(k)</span>
<span id="cb4-26">        w <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> scale <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> random.normal(w_key, (m, n))</span>
<span id="cb4-27">        b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> scale <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> random.normal(b_key, (n,))</span>
<span id="cb4-28">        params.append((w, b))</span>
<span id="cb4-29">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> params</span>
<span id="cb4-30"></span>
<span id="cb4-31"></span>
<span id="cb4-32"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Initialize weights and biases for each layer.</span></span>
<span id="cb4-33">sizes <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">784</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">128</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>]</span>
<span id="cb4-34"></span>
<span id="cb4-35">params <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> initialize_weights(sizes, key<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>random.PRNGKey(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">516</span>), scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.02</span>)   </span>
<span id="cb4-36"></span>
<span id="cb4-37"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Print shape of each layer's weights and biases.</span></span>
<span id="cb4-38"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"W1 shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>params[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>][<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb4-39"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"b1 shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>params[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>][<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb4-40"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"W2 shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>params[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>][<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)  </span>
<span id="cb4-41"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"b2 shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>params[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>][<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>W1 shape: (784, 128)
b1 shape: (128,)
W2 shape: (128, 10)
b2 shape: (10,)</code></pre>
</div>
</div>
<p><br></p>
<p>In PyTorch, models inherit from <code>nn.Module</code> and must implement a <code>forward</code> method that defines the network’s computation flow. The forward method orchestrates how input tensors transform through pre-specified operations to produce outputs.</p>
<p>For our JAX implementation we’ll create a similar function, but the weights must be explicitly passed as parameters rather than stored as internal state. Unlike PyTorch’s object-oriented approach where weights are hidden properties of the model instance, JAX follows a functional paradigm that requires all state to be passed explicitly between function calls, eliminating hidden state.</p>
<p>In our <code>forward</code> function, we incorporate ReLU activation between layers to introduce non-linearity:</p>
<div id="cell-9" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb6-1"></span>
<span id="cb6-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> jax.numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> jnp</span>
<span id="cb6-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> jax.nn <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> relu</span>
<span id="cb6-4"></span>
<span id="cb6-5"></span>
<span id="cb6-6"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> forward(params, X):</span>
<span id="cb6-7">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb6-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Forward pass for simple fully-connected network.</span></span>
<span id="cb6-9"></span>
<span id="cb6-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb6-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb6-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    params : list of tuples</span></span>
<span id="cb6-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        List of tuples containing weights and biases for each layer.</span></span>
<span id="cb6-14"></span>
<span id="cb6-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    X : jax.numpy.ndarray</span></span>
<span id="cb6-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Input data.</span></span>
<span id="cb6-17"></span>
<span id="cb6-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb6-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb6-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    jax.numpy.ndarray</span></span>
<span id="cb6-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb6-22">    a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> X</span>
<span id="cb6-23">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> W, b <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> params[:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]:</span>
<span id="cb6-24">        z <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.dot(a, W) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> b</span>
<span id="cb6-25">        a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> relu(z)</span>
<span id="cb6-26">    W, b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> params[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb6-27">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> jnp.dot(a, W) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> b</span></code></pre></div>
</div>
<p><br></p>
<p>We can pass a single flattened image array into <code>forward</code>, and it should return a 1x10 vector of activations. The output will not be a probability distribution since softmax hasn’t been applied, but we can still test it to ensure that the shape of the output is consistent with our expectations:</p>
<div id="cell-11" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"></span>
<span id="cb7-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get first image from first training batch.</span></span>
<span id="cb7-3">X, y <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> train_batches[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span>
<span id="cb7-4"></span>
<span id="cb7-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert to JAX array.</span></span>
<span id="cb7-6">X0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.asarray(X[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].flatten())</span>
<span id="cb7-7"></span>
<span id="cb7-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Pass X0 into forward.</span></span>
<span id="cb7-9">ypred <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> forward(params, X0)</span>
<span id="cb7-10"></span>
<span id="cb7-11"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"ypred.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>ypred<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb7-12"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"ypred: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>ypred<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>ypred.shape: (10,)
ypred: [-0.01938  0.04435  0.01545  0.01266  0.00116 -0.07045 -0.03737  0.00276  0.01255 -0.00883]</code></pre>
</div>
</div>
<p><br></p>
<section id="auto-vectorizing-the-forward-pass" class="level3">
<h3 class="anchored" data-anchor-id="auto-vectorizing-the-forward-pass">Auto-Vectorizing the Forward Pass</h3>
<p>As implmented, <code>forward</code> is only capable of processing a single flattened image at a time. However, we can use <code>vmap</code>, introduced in the first post, to process a batch of images at a time without any modification to <code>forward</code>. <code>vmap</code> enables batch processing while taking advantage of JAX’s optimized execution. Instead of using loops, it efficiently maps a function over an array along a pre-specified axis:</p>
<div id="cell-14" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"></span>
<span id="cb9-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> jax <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> vmap</span>
<span id="cb9-3"></span>
<span id="cb9-4">batch_forward <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> vmap(forward, in_axes<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>))</span></code></pre></div>
</div>
<p><br></p>
<p><code>in_axes</code> controls which input array axes to vectorize over, and its length must equal the number of positional arguments associated with the original function. In our case, the first argument to <code>forward</code> is <code>params</code>, which stays the same within the context of the forward pass. The second argument corresponds to our input image, and the ‘0’ indicates that vectorization should be applied along the 0th axis (which is batch dimension).</p>
<p>We can pass a batch of size 64 x 784 into <code>batch_forward</code>, and return an output of size 64x10:</p>
<div id="cell-16" class="cell" data-execution_count="7">
<div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb10-1"></span>
<span id="cb10-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get first batch of flattened training images.</span></span>
<span id="cb10-3">X, y <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> train_batches[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span>
<span id="cb10-4"></span>
<span id="cb10-5">ypreds <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> batch_forward(params, X)</span>
<span id="cb10-6"></span>
<span id="cb10-7"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"ypreds.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>ypreds<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb10-8"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"ypreds:</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>ypreds<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>ypreds.shape: (64, 10)
ypreds:
[[-0.01938  0.04435  0.01545  0.01266  0.00116 -0.07045 -0.03737  0.00276  0.01255 -0.00883]
 [ 0.00129  0.0109   0.00602 -0.00877 -0.01916 -0.05659 -0.0483  -0.02185 -0.02209  0.01736]
 [-0.02005  0.00758  0.02579 -0.03333  0.00352 -0.0578  -0.04556 -0.0556  -0.04529  0.06416]
 [ 0.02695  0.00363  0.02104 -0.00848  0.03085 -0.06641 -0.03336 -0.01503 -0.04532  0.0081 ]
 [-0.02473 -0.01859  0.04075 -0.00455  0.01993 -0.04665 -0.03698 -0.0063  -0.03235  0.03909]
 [-0.02891  0.02183  0.01171 -0.00624  0.02155 -0.07441 -0.04383 -0.01707 -0.01268  0.02351]
 [ 0.01002 -0.01742  0.01145 -0.03244  0.01756 -0.04202 -0.04045 -0.03138 -0.01564  0.03871]
 [-0.01686  0.04742  0.04909  0.01424 -0.00733 -0.04773 -0.0763  -0.03617  0.01079  0.0016 ]
 [ 0.00961 -0.00337  0.01458 -0.01242  0.01239 -0.03938 -0.01167 -0.01025 -0.02025  0.03112]
 [-0.00639 -0.01172  0.04447 -0.0033   0.0276  -0.08083 -0.0409  -0.023   -0.03266  0.03201]
 [-0.01249  0.02364  0.03073 -0.0103   0.01524 -0.04002 -0.07046 -0.00143 -0.03037  0.03692]
 [-0.01155 -0.00816  0.01417  0.01124  0.01693 -0.03797 -0.00644 -0.00504 -0.04066  0.02742]
 [-0.03043  0.03531 -0.00233 -0.02903  0.02681 -0.07377 -0.09124 -0.0348  -0.02728  0.01781]
 [-0.03805  0.0015   0.02286 -0.02599  0.02493 -0.02707 -0.0489   0.00085 -0.03588  0.01173]
 [-0.00322 -0.00982  0.00318  0.00086  0.01338 -0.05927 -0.01745 -0.019   -0.02419  0.04078]
 [-0.00524 -0.03266  0.04316 -0.00133  0.02968 -0.06335 -0.01557 -0.02004 -0.05118  0.04478]
 [ 0.01196  0.00738  0.0139  -0.01251  0.02977 -0.0482  -0.04011 -0.04932 -0.01502  0.00449]
 [ 0.01775 -0.00792  0.02539  0.01883  0.01768 -0.06387 -0.0317  -0.0299  -0.01473  0.02359]
 [-0.01174  0.01263  0.01114 -0.02254  0.01541 -0.0507  -0.04069 -0.00546 -0.02738  0.03351]
 [ 0.00519 -0.00914  0.04497  0.01114  0.02668 -0.07109 -0.02906  0.00836 -0.03017  0.02743]
 [-0.01821 -0.00343  0.01697 -0.00879  0.03184 -0.06576 -0.04461 -0.02077 -0.0576   0.02691]
 [ 0.02505 -0.00406  0.01754 -0.01299 -0.03357 -0.0621  -0.05533 -0.01607 -0.05241  0.00787]
 [-0.00548 -0.0151   0.02098  0.00532 -0.0007  -0.06299 -0.02551  0.02606 -0.02592  0.02215]
 [ 0.02538 -0.00074  0.01906 -0.00907  0.03593 -0.0677  -0.02988 -0.01161 -0.04277  0.01133]
 [ 0.00403  0.00756  0.02052  0.02553  0.02037 -0.03283 -0.03985  0.01178 -0.02486 -0.00577]
 [-0.00577  0.01179 -0.00397 -0.01612  0.006   -0.05153 -0.08116 -0.0568  -0.02216  0.02107]
 [-0.01831 -0.00545  0.03149 -0.00173  0.02892 -0.01969 -0.03263 -0.01362 -0.03298  0.03155]
 [-0.02663  0.047    0.01241 -0.00937 -0.00653 -0.07457 -0.08388 -0.00652 -0.00656  0.03299]
 [-0.01582 -0.00341 -0.00549 -0.07723  0.03082 -0.08325 -0.02868 -0.03757 -0.03521  0.05039]
 [ 0.01516 -0.02163  0.03846 -0.00524  0.03453 -0.07424 -0.00601 -0.01762 -0.04946  0.02805]
 [ 0.02345  0.03865  0.0027  -0.03011  0.02129 -0.06911 -0.0642  -0.06447 -0.02161  0.0513 ]
 [-0.00958  0.00089  0.00206  0.00014 -0.03024 -0.05849 -0.03403 -0.04682 -0.02192  0.02192]
 [ 0.01296  0.01323 -0.00675 -0.02761  0.0001  -0.02599 -0.03824 -0.03056 -0.03029  0.00598]
 [ 0.015    0.00759  0.03926  0.00927  0.0302  -0.08289 -0.04693  0.00788 -0.02175  0.031  ]
 [-0.03891  0.03415  0.00166 -0.01509  0.0031  -0.05396 -0.07296 -0.00382 -0.02682  0.05255]
 [ 0.01267  0.00989  0.02874  0.01091  0.04832 -0.05603 -0.01568 -0.00115 -0.02438  0.00899]
 [-0.02444  0.03956 -0.00092 -0.01447 -0.00312 -0.06536 -0.05304 -0.00953 -0.0111   0.02981]
 [-0.0344   0.04178  0.01164 -0.03304  0.01373 -0.06036 -0.07474  0.01716 -0.03821  0.02719]
 [ 0.02056 -0.04235  0.02223 -0.03208  0.02435 -0.03469  0.0082  -0.01539 -0.02368  0.00596]
 [-0.01846  0.01328 -0.01612 -0.0376  -0.0026  -0.01918 -0.03758 -0.0154  -0.01747  0.02746]
 [-0.01283 -0.01919  0.0135   0.00131  0.01254 -0.04955 -0.02221 -0.01261 -0.02833  0.03626]
 [ 0.01384  0.017    0.02705 -0.01914  0.03964 -0.05375 -0.05693 -0.01484 -0.01374  0.03448]
 [-0.00959 -0.03199  0.0208   0.01219  0.01838 -0.04273  0.0039  -0.00971 -0.02165  0.02525]
 [-0.00754 -0.02387  0.03144  0.01683  0.01158 -0.04538 -0.02697  0.00096 -0.02717  0.0279 ]
 [-0.00149 -0.01607  0.03226  0.00932  0.03503 -0.04532 -0.02371 -0.04158 -0.02733  0.01295]
 [-0.00841 -0.02569  0.02426 -0.01079  0.04106 -0.04494 -0.02315 -0.01234 -0.03156  0.03288]
 [ 0.03858 -0.00225  0.03607  0.01419  0.05866 -0.04707 -0.0479  -0.0585  -0.03581  0.0068 ]
 [ 0.00396  0.00229  0.03064  0.00296  0.04075 -0.05858 -0.02379  0.01113 -0.01696  0.02085]
 [-0.0306   0.01159  0.01966 -0.0238   0.0085  -0.04504 -0.07059 -0.02362 -0.02067  0.04078]
 [-0.03142  0.03721  0.02696  0.00428  0.00507 -0.06188 -0.07031 -0.00547 -0.01252  0.0217 ]
 [-0.01006 -0.00553  0.009   -0.02372  0.00812 -0.04891 -0.06205 -0.01728 -0.02563  0.02564]
 [ 0.00656  0.03307  0.01764  0.00273 -0.00087 -0.07939 -0.07847 -0.05009 -0.03572  0.00226]
 [-0.01152  0.00209  0.01268 -0.02766  0.02629 -0.08758 -0.02191 -0.01157 -0.03755  0.07643]
 [ 0.00849 -0.00357  0.04292  0.00966  0.01071 -0.06685 -0.01274 -0.03098 -0.04872  0.04148]
 [-0.02366  0.01482  0.0214  -0.0017   0.03714 -0.06655 -0.00035 -0.03575 -0.00123  0.06236]
 [-0.00574 -0.01814  0.01388 -0.01289  0.03698 -0.05857 -0.04548 -0.01367 -0.03049  0.05411]
 [-0.00067  0.03152  0.01473 -0.00112  0.04264 -0.07165 -0.08533 -0.07986 -0.03663  0.02476]
 [ 0.00238 -0.01577  0.03842 -0.01902  0.03321 -0.05336 -0.03538  0.00514 -0.03226  0.02748]
 [-0.05187 -0.02097  0.04671 -0.02635  0.03248 -0.0399  -0.06063 -0.01354 -0.03793  0.04167]
 [ 0.02789 -0.00258  0.01699 -0.01496  0.02993 -0.06447 -0.03116 -0.00742 -0.03525  0.01357]
 [ 0.03633  0.0008   0.01882 -0.00777  0.00483 -0.0582  -0.05376 -0.08621 -0.0305   0.0121 ]
 [ 0.00676  0.01654  0.03401  0.00623  0.035   -0.06879 -0.0183  -0.00864 -0.03068  0.02204]
 [-0.04109  0.01182  0.00634 -0.02956 -0.00965 -0.064   -0.05708 -0.01416 -0.01804  0.03834]
 [-0.00258  0.03007  0.04005 -0.00407 -0.04672 -0.05536 -0.07473 -0.01553 -0.01838 -0.00027]]</code></pre>
</div>
</div>
<p><br></p>
<p>To ensure each row sums to 1, we can apply softmax to <code>ypreds</code>:</p>
<div id="cell-18" class="cell" data-execution_count="8">
<div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb12-1"></span>
<span id="cb12-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> jax.nn <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> softmax</span>
<span id="cb12-3"></span>
<span id="cb12-4">yprobs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> softmax(ypreds, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb12-5"></span>
<span id="cb12-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"yprobs.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>yprobs<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb12-7"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"yprobs:</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>yprobs<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>yprobs.shape: (64, 10)
yprobs:
[[0.0985  0.10498 0.10199 0.10171 0.10054 0.09359 0.09674 0.1007  0.10169 0.09954]
 [0.10153 0.10251 0.10201 0.10051 0.09947 0.09582 0.09661 0.0992  0.09918 0.10317]
 [0.09949 0.10228 0.10416 0.09818 0.10186 0.0958  0.09698 0.09601 0.09701 0.10823]
 [0.10349 0.1011  0.10288 0.09988 0.10389 0.09426 0.09743 0.09923 0.09627 0.10155]
 [0.0982  0.09881 0.10485 0.1002  0.10269 0.09607 0.09701 0.10003 0.09746 0.10468]
 [0.09813 0.10323 0.10219 0.10038 0.1032  0.09376 0.09667 0.09929 0.09973 0.10341]
 [0.102   0.09924 0.10215 0.09776 0.10277 0.09683 0.09698 0.09787 0.09942 0.10497]
 [0.09886 0.10543 0.1056  0.10198 0.09981 0.09586 0.09316 0.09697 0.10163 0.1007 ]
 [0.10125 0.09994 0.10175 0.09904 0.10153 0.09641 0.09911 0.09926 0.09827 0.10345]
 [0.10024 0.09971 0.10547 0.10055 0.10371 0.09305 0.09684 0.09859 0.09765 0.10417]
 [0.09929 0.10294 0.10367 0.0995  0.10208 0.09659 0.09369 0.10039 0.09753 0.10432]
 [0.09923 0.09956 0.10181 0.10151 0.10209 0.09664 0.09973 0.09987 0.09638 0.10317]
 [0.09897 0.1057  0.1018  0.09911 0.10481 0.09478 0.09314 0.09854 0.09929 0.10387]
 [0.09734 0.10127 0.10345 0.09852 0.10367 0.09841 0.09629 0.1012  0.09755 0.10231]
 [0.10039 0.09973 0.10104 0.10081 0.10208 0.09492 0.09898 0.09882 0.09831 0.10491]
 [0.10013 0.09742 0.1051  0.10052 0.10369 0.09448 0.0991  0.09866 0.09563 0.10527]
 [0.10216 0.10169 0.10236 0.09969 0.104   0.0962  0.09698 0.09609 0.09944 0.1014 ]
 [0.10221 0.09962 0.10299 0.10232 0.1022  0.0942  0.09728 0.09745 0.09894 0.10281]
 [0.09965 0.10211 0.10196 0.09858 0.10239 0.09584 0.09681 0.10028 0.09811 0.10426]
 [0.10063 0.09919 0.10471 0.10123 0.10281 0.09323 0.09724 0.10094 0.09713 0.10289]
 [0.09956 0.10104 0.10313 0.1005  0.10467 0.09494 0.09697 0.09931 0.09572 0.10416]
 [0.10442 0.10142 0.10364 0.10052 0.09847 0.0957  0.09635 0.10021 0.09663 0.10264]
 [0.10003 0.09907 0.10271 0.10112 0.10051 0.09444 0.09805 0.10324 0.09801 0.10283]
 [0.10324 0.10058 0.10259 0.09975 0.10434 0.09407 0.09769 0.09949 0.09644 0.1018 ]
 [0.10052 0.10087 0.10219 0.1027  0.10217 0.09688 0.0962  0.1013  0.09765 0.09953]
 [0.10137 0.10317 0.10155 0.10033 0.10257 0.09684 0.09401 0.09633 0.09972 0.10413]
 [0.09848 0.09975 0.1035  0.10012 0.10324 0.09834 0.09708 0.09894 0.09704 0.10351]
 [0.09849 0.10601 0.10241 0.1002  0.10049 0.09388 0.09301 0.10049 0.10049 0.10454]
 [0.10039 0.10165 0.10144 0.09441 0.10519 0.09385 0.09911 0.09823 0.09847 0.10727]
 [0.10206 0.09837 0.10446 0.1     0.10405 0.09333 0.09992 0.09876 0.09567 0.10338]
 [0.10343 0.10502 0.10131 0.09804 0.10321 0.09429 0.09475 0.09473 0.09887 0.10635]
 [0.10078 0.10184 0.10196 0.10176 0.09872 0.09597 0.09834 0.09709 0.09954 0.104  ]
 [0.10258 0.10261 0.10058 0.0985  0.10127 0.09866 0.09746 0.09821 0.09824 0.10187]
 [0.10156 0.10081 0.10405 0.10098 0.10312 0.09209 0.09546 0.10084 0.0979  0.1032 ]
 [0.09728 0.10466 0.10131 0.09963 0.10146 0.09583 0.09403 0.10076 0.09846 0.1066 ]
 [0.10101 0.10073 0.10265 0.10083 0.10468 0.0943  0.09819 0.09963 0.09734 0.10064]
 [0.09864 0.10516 0.10099 0.09963 0.10077 0.09469 0.09586 0.10013 0.09997 0.10414]
 [0.0978  0.10555 0.10241 0.09794 0.10263 0.0953  0.09394 0.10298 0.09743 0.10402]
 [0.10273 0.09647 0.1029  0.09746 0.10312 0.09721 0.10147 0.0991  0.09829 0.10124]
 [0.09937 0.10258 0.09961 0.09749 0.10096 0.0993  0.09749 0.09968 0.09947 0.10404]
 [0.0995  0.09887 0.10216 0.10092 0.10206 0.09591 0.09857 0.09952 0.09797 0.10451]
 [0.10161 0.10193 0.10296 0.09831 0.10426 0.09497 0.09466 0.09873 0.09884 0.10373]
 [0.09937 0.09717 0.10244 0.10156 0.10219 0.09613 0.10072 0.09936 0.09818 0.10289]
 [0.09964 0.09802 0.1036  0.1021  0.10156 0.09594 0.09772 0.10049 0.0977  0.10323]
 [0.10047 0.09902 0.10392 0.10157 0.10421 0.09617 0.09827 0.09653 0.09791 0.10194]
 [0.09971 0.098   0.10302 0.09947 0.10476 0.09613 0.09825 0.09932 0.09743 0.10391]
 [0.10424 0.10007 0.10398 0.10173 0.10635 0.09568 0.0956  0.0946  0.09677 0.10098]
 [0.10023 0.10006 0.10294 0.10013 0.10398 0.09415 0.09748 0.10095 0.09815 0.10193]
 [0.09824 0.10248 0.10331 0.09891 0.10216 0.09684 0.09439 0.09893 0.09922 0.10551]
 [0.09769 0.10463 0.10356 0.10124 0.10132 0.09476 0.09396 0.10026 0.09955 0.10302]
 [0.10047 0.10092 0.1024  0.0991  0.10231 0.09664 0.09538 0.09974 0.09892 0.10412]
 [0.10244 0.10519 0.10358 0.10205 0.10168 0.094   0.09409 0.09679 0.0982  0.102  ]
 [0.09957 0.10093 0.10201 0.09797 0.10341 0.09228 0.09854 0.09956 0.09701 0.10872]
 [0.1013  0.10008 0.10484 0.10141 0.10152 0.09394 0.09917 0.09738 0.09566 0.10469]
 [0.09754 0.10137 0.10203 0.0997  0.10365 0.09344 0.09984 0.09637 0.09975 0.1063 ]
 [0.10017 0.09894 0.10216 0.09946 0.10454 0.09502 0.09627 0.09938 0.09772 0.10635]
 [0.10145 0.10477 0.10303 0.10141 0.10594 0.0945  0.09322 0.09373 0.09787 0.10407]
 [0.10069 0.09888 0.10438 0.09856 0.10384 0.09523 0.09696 0.10097 0.09726 0.10325]
 [0.09612 0.09914 0.10608 0.09861 0.10458 0.09728 0.09528 0.09988 0.09747 0.10555]
 [0.10348 0.10038 0.10236 0.09914 0.10369 0.09435 0.09755 0.09989 0.09715 0.10201]
 [0.10534 0.10166 0.10351 0.10079 0.10207 0.09584 0.09626 0.09319 0.09853 0.10282]
 [0.10069 0.10168 0.10347 0.10064 0.10358 0.09336 0.0982  0.09915 0.09699 0.10224]
 [0.09764 0.10295 0.10239 0.09878 0.10076 0.09543 0.0961  0.10031 0.09992 0.10572]
 [0.10117 0.10452 0.10557 0.10102 0.0968  0.09596 0.09412 0.09986 0.09958 0.1014 ]]</code></pre>
</div>
</div>
<p><br></p>
<p>At this point, the outputs are meaningless and are pretty close to uniformly distributed over classes. This is because we haven’t yet calculated the gradient of the loss function with respect to each weight, which allows the network to adjust its weights and biases to minimize prediction errors. In the next post, we’ll implement backpropagation entirely in JAX and walkthrough how to construct the training and validation loops.</p>


</section>

 ]]></description>
  <category>Machine Learning</category>
  <category>Python</category>
  <guid>https://www.jtrive.com/posts/intro-to-jax-part-2/intro-to-jax-part-2.html</guid>
  <pubDate>Wed, 02 Apr 2025 05:00:00 GMT</pubDate>
</item>
<item>
  <title>Up and Running with JAX - JIT Compilation, Vectorizing Transformations and autodiff</title>
  <link>https://www.jtrive.com/posts/intro-to-jax-part-1/intro-to-jax-part-1.html</link>
  <description><![CDATA[ 





<p>I first learned about JAX a few years back in an article on functorch. Functorch was a library that brought JAX-like composable function transformations to PyTorch, initially developed as a separate library but has since been fully integrated into PyTorch’s core (as of PyTorch 2.0).</p>
<p>I’ve recently invested time in learning JAX, which has proven incredibly worthwhile. The clean functional approach makes my code more maintainable and reproducible, while delivering significant performance and efficiency improvements with surprisingly minimal changes to existing codebases.</p>
<p>So, what is JAX? It is a high-performance numerical computing library developed by Google Research. It combines the ease of use of Python and Numpy with the speed and efficiency of XLA (Accelerated Linear Algebra), making it particularly well-suited for machine learning research and numerical computing that requires high performance.</p>
<p>At its core, JAX extends Numpy’s functionality with automatic differentiation capabilities. This is essential for gradient-based optimization in machine learning. JAX also excels at just-in-time compilation, which translates Python functions into optimized machine code at runtime.</p>
<p align="center">
</p><p><img src="https://www.jtrive.com/posts/intro-to-jax-part-1/jax2.jpg" p=""></p>
<p>JAX takes a functional programming approach (no side-effects), emphasizing immutability and pure functions. Operations don’t modify their inputs but instead return new values. This is particularly valuable for numerical computations since it enables better parallelization and optimization. Rather than changing arrays in place, JAX functions create new arrays with updated values, resulting in code that is more composable and reproducible. As highlighted in <a href="https://docs.jax.dev/en/latest/notebooks/Common_Gotchas_in_JAX.html#pure-functions">JAX: The Sharp Bits</a>:</p>
<blockquote class="blockquote">
<p>JAX transformation and compilation are designed to work only on Python functions that are functionally pure: all the input data is passed through the function parameters, all the results are output through the function results. A pure function will always return the same result if invoked with the same inputs.</p>
</blockquote>
<p>Of the JAX features I researched, <code>vmap</code> is the most readily applicable to the work I do. <code>vmap</code> is a vectorizing transformation that automatically adds a batch dimension to calculations. It stands for “vectorized map” and lets you run a function across multiple inputs in a vectorized fashion without explicitly writing code for batch processing. This enables writing simple, single example functions, while simultaneously taking advantage of the performance benefits resulting from vectorized execution.</p>
<p>The JAX numpy submodule can often be used as drop-in replacement for Numpy since the API is almost identical. It provides the same API as Numpy, meaning that functions like <code>jnp.array</code>, <code>jnp.sin</code>, <code>jnp.dot</code>, <code>jnp.mean</code>, and many others work just as they do in standard Numpy. The key difference is that JAX arrays are immutable and are optimized for GPU execution.</p>
<p>This post highlights three features of JAX: Just-in-time compilation, vectorizing transformations and automatic differentiation. In a future post, I’ll walk through the forward and backward pass for a fully-connected neural network implemented entirely in JAX. Those future posts will make heavy use of the content covered here.</p>
<p><br></p>
<section id="just-in-time-compilation" class="level3">
<h3 class="anchored" data-anchor-id="just-in-time-compilation">Just-in-time Compilation</h3>
<p>JIT compilation in JAX speeds up computations by transforming Python functions into optimized machine code. When you apply <code>jax.jit</code> or the <code>jit</code> decorator to a function, JAX traces its operations and compiles them into an efficient, reusable representation. This means that instead of executing Python loops and function calls directly, JAX compiles them into a single, optimized computation graph that runs much faster on virtually any hardware.</p>
<p>The first time a JIT-compiled function is called, there’s a slight overhead as JAX compiles it, but subsequent calls run much faster since the compiled version is reused. JIT works best when inputs have a fixed shape and type, since changing them can trigger a recompilation. It can also be used in conjunction with <code>grad</code>, <code>vmap</code>, and <code>pmap</code> for even greater performance gains.</p>
<p>To demonstrate, we’ll implement a function that computes the great circle distance between two sets of coordinate pairs. The Haversine formula is defined as</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A%5Cbegin%7Balign*%7D%0Aa%20&amp;=%20%5Csin%5E2%5Cleft(%5Cfrac%7B%5CDelta%5Cphi%7D%7B2%7D%5Cright)%20+%20%5Ccos%5Cphi_1%20%5Ccos%5Cphi_2%20%5Csin%5E2%5Cleft(%5Cfrac%7B%5CDelta%5Clambda%7D%7B2%7D%5Cright)%5C%5C%0Ac%20&amp;=%202%20%5Ctimes%20%5Carcsin%5Cleft(%5Cmin%20(1,%20%5Csqrt%7Ba%7D)%5Cright)%5C%5C%0Ad%20&amp;=%20R%20%5Ctimes%20c,%0A%5Cend%7Balign*%7D%0A"></p>
<p>where:</p>
<ul>
<li><img src="https://latex.codecogs.com/png.latex?%5CDelta%20%5Cphi%20=%20%5Cphi_%7B1%7D%20-%20%5Cphi_2"> (latitude difference in radians)</li>
<li><img src="https://latex.codecogs.com/png.latex?%5CDelta%20%5Clambda%20=%20%5Clambda_%7B1%7D%20-%20%5Clambda_%7B2%7D"> (longitude difference in radians)</li>
<li><img src="https://latex.codecogs.com/png.latex?R%20=%206,371"> km (globally average value of radius of the Earth in kilometers)</li>
<li><img src="https://latex.codecogs.com/png.latex?d%20="> great-circle distance</li>
</ul>
<p><br></p>
<p>A simple implementation of the Haversine formula using trigonometric functions from jax.numpy is provided below. I originally attempted using Python’s builtin trigonometric functions, but this caused JIT compilation to fail - the issue seemed to resolved itself when using the JAX-native variants. <code>get_haversine</code> accepts an array of <code>[lon0, lat0, lon1, lat1]</code> and returns the great circle distance between (lon0, lat0), (lon1, lat1):</p>
<div id="cell-3" class="cell">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"></span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> jax.numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> jnp</span>
<span id="cb1-3"></span>
<span id="cb1-4"></span>
<span id="cb1-5"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> get_haversine(coords):</span>
<span id="cb1-6">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb1-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Calculate the great circle distance between two points on the earth </span></span>
<span id="cb1-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    (specified in decimal degrees).</span></span>
<span id="cb1-9"></span>
<span id="cb1-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb1-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb1-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    coords: array-like</span></span>
<span id="cb1-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Array containing the longitude and latitude of two points</span></span>
<span id="cb1-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        arranged as [lon0, lat0, lon1, lat1].</span></span>
<span id="cb1-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">   </span></span>
<span id="cb1-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb1-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb1-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Great circle distance in km.</span></span>
<span id="cb1-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb1-20"></span>
<span id="cb1-21">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Average Earth radius in km.</span></span>
<span id="cb1-22">    R <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">6371.0</span></span>
<span id="cb1-23"></span>
<span id="cb1-24">    lon0, lat0, lon1, lat1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> coords</span>
<span id="cb1-25"></span>
<span id="cb1-26">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert degree latitudes and longitudes to radians.</span></span>
<span id="cb1-27">    rlon0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.radians(lon0)</span>
<span id="cb1-28">    rlat0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.radians(lat0)</span>
<span id="cb1-29">    rlon1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.radians(lon1)</span>
<span id="cb1-30">    rlat1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.radians(lat1)</span>
<span id="cb1-31">    dlon, dlat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rlon1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> rlon0, rlat1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> rlat0</span>
<span id="cb1-32">    a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.sin(dlat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> jnp.cos(rlat0) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> jnp.cos(rlat1) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> jnp.sin(dlon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb1-33">    c <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> jnp.asin(jnp.sqrt(a))</span>
<span id="cb1-34">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> R <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> c</span></code></pre></div>
</div>
<p><br></p>
<p>To calculate the Haversine distance in kilometers between two points, say Durkin Park on the Southside of Chicago and Nectar’s in Burlington, Vermont, simply run:</p>
<div id="cell-5" class="cell">
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1"></span>
<span id="cb2-2">lon0, lat0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">87.7295</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.7390</span> <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Durkin Park, Chicago, IL</span></span>
<span id="cb2-3">lon1, lat1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">73.2117</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">44.4762</span> <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Nectar's, Burlington, VT</span></span>
<span id="cb2-4"></span>
<span id="cb2-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Put coordinates in JAX array.</span></span>
<span id="cb2-6">coords <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.array([lon0, lat0, lon1, lat1])</span>
<span id="cb2-7"></span>
<span id="cb2-8">d <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_haversine(coords)</span>
<span id="cb2-9"></span>
<span id="cb2-10"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Distance between Durkin Park and Nectar's: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>d<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> km"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Distance between Durkin Park and Nectar's: 1,215 km</code></pre>
</div>
</div>
<p><br></p>
<p>We can JIT-compile <code>get_haversine</code> and compare the run-time against the original implementation. Notice that we call <code>get_haversine_jit</code> once outside of <code>timeit</code> to avoid the overhead associated with the initial compilation:</p>
<div id="cell-7" class="cell">
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb4-1"></span>
<span id="cb4-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> jax <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> jit</span>
<span id="cb4-3"></span>
<span id="cb4-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create jit-compiled version of get_haversine. </span></span>
<span id="cb4-5">get_haversine_jit <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jit(get_haversine)</span>
<span id="cb4-6">_ <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_haversine_jit([<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">80.</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">40.</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">85.</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">45.</span>])  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># compiles on first call.</span></span>
<span id="cb4-7"></span>
<span id="cb4-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Time the original.</span></span>
<span id="cb4-9"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span>timeit <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>n100 get_haversine(coords).block_until_ready()</span>
<span id="cb4-10"></span>
<span id="cb4-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Time the jit-compiled function.</span></span>
<span id="cb4-12"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span>timeit <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>n100 get_haversine_jit(coords).block_until_ready()</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>265 μs ± 38.2 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)
3.46 μs ± 1.03 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)</code></pre>
</div>
</div>
<p><br></p>
<p>We realized about a 75x speed up for very little work on our end. For this example, we created a new function <code>get_haversine_jit</code> so the jit-compiled version runtime could be compared against the original non-JITed version. It is possible to instead use the <code>@jit</code> decorator, allowing for the original function name to be re-used:</p>
<div id="cell-9" class="cell">
<div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb6-1"></span>
<span id="cb6-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Using jit decorator instead.</span></span>
<span id="cb6-3"></span>
<span id="cb6-4"><span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">@jit</span></span>
<span id="cb6-5"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> get_haversine(coords):</span>
<span id="cb6-6">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb6-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Calculate the great circle distance between two points on the earth </span></span>
<span id="cb6-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    (specified in decimal degrees).</span></span>
<span id="cb6-9"></span>
<span id="cb6-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb6-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb6-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    coords: array-like</span></span>
<span id="cb6-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Array containing the longitude and latitude of two points</span></span>
<span id="cb6-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        arranged as [lon0, lat0, lon1, lat1]</span></span>
<span id="cb6-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">   </span></span>
<span id="cb6-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb6-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb6-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Great circle distance in km.</span></span>
<span id="cb6-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb6-20">    R <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">6371.0</span></span>
<span id="cb6-21"></span>
<span id="cb6-22">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert degree latitudes and longitudes to radians.</span></span>
<span id="cb6-23">    lon0, lat0, lon1, lat1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> coords</span>
<span id="cb6-24">    rlon0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.radians(lon0)</span>
<span id="cb6-25">    rlat0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.radians(lat0)</span>
<span id="cb6-26">    rlon1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.radians(lon1)</span>
<span id="cb6-27">    rlat1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.radians(lat1)</span>
<span id="cb6-28">    dlon, dlat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rlon1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> rlon0, rlat1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> rlat0</span>
<span id="cb6-29">    a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.sin(dlat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> jnp.cos(rlat0) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> jnp.cos(rlat1) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> jnp.sin(dlon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb6-30">    c <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> jnp.asin(jnp.sqrt(a))</span>
<span id="cb6-31">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> R <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> c</span>
<span id="cb6-32"></span></code></pre></div>
</div>
<p><br></p>
<p>There are some limitations to JIT-compilation in JAX. In particular, loops, if statements, and other control flow mechanisms may not work as expected. Refer to <a href="https://docs.jax.dev/en/latest/notebooks/Common_Gotchas_in_JAX.html#jax-the-sharp-bits">JAX: The Sharp Bits</a> for additional gotchas.</p>
<p><br></p>
</section>
<section id="vectorizing-transformations" class="level3">
<h3 class="anchored" data-anchor-id="vectorizing-transformations">Vectorizing Transformations</h3>
<p><code>vmap</code> automatically vectorizes operations, enabling the application of a function across multiple inputs without writing explicit loops. It enables batch processing while taking advantage of JAX’s optimized execution. Instead of using loops, <code>vmap</code> efficiently maps a function over an array along a pre-specified axis.</p>
<p>To demonstrate, I’ll apply <code>vmap</code> to <code>get_haversine</code>, allowing it to accept coordinate arrays of shape n x 4 as opposed to 1 x 4. We will generate a random coordinate array of 10,000 x 4 using JAX’s random generator utilities.</p>
<p>In JAX, random number generation is handled a bit differently than in Numpy to ensure functional purity. JAX uses explicit PRNG keys to generate random numbers instead of relying on global state. A “key” is a special array that acts as a seed, and every time you use it, JAX produces the same random numbers for the same key.</p>
<p>Since JAX enforces immutability, you can’t reuse a key for multiple random calls without getting the same result. Instead, you split a key using <code>jax.random.split</code>, which deterministically generates new, unique keys from the original one. Each split key is independent, allowing for the generation of different random numbers while maintaining reproducibility. This approach makes JAX’s random functions fully compatible with its JIT compilation and parallelization features.</p>
<p>In the next cell, we create a 10,000 x 4 array of random coordinate pairs. We are interested in computing the Haversine distance for each pair of coordinates, but don’t want to rewrite <code>get_haversine</code> to process more than a single pair of points at a time.</p>
<div id="cell-12" class="cell">
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"></span>
<span id="cb7-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> jax.random <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> random</span>
<span id="cb7-3"></span>
<span id="cb7-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create a 1,000,000 x 4 array of random longitudes and latitudes.</span></span>
<span id="cb7-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Longitudes are in the range -175 to 175.</span></span>
<span id="cb7-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Latitudes are in the range -85 to 85.</span></span>
<span id="cb7-7">n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10_000</span></span>
<span id="cb7-8"></span>
<span id="cb7-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Seed for reproducibility. Split key for different random sequences.</span></span>
<span id="cb7-10">key <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> random.PRNGKey(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">516</span>)  </span>
<span id="cb7-11">keys <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> random.split(key, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>)</span>
<span id="cb7-12"></span>
<span id="cb7-13">lon0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> random.uniform(keys[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>], shape<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(n,), minval<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">175.</span>, maxval<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">175.</span>)</span>
<span id="cb7-14">lat0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> random.uniform(keys[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>], shape<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(n,), minval<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">85.</span>, maxval<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">85.</span>)</span>
<span id="cb7-15">lon1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> random.uniform(keys[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>], shape<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(n,), minval<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">175.</span>, maxval<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">175.</span>)</span>
<span id="cb7-16">lat1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> random.uniform(keys[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>], shape<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(n,), minval<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">85.</span>, maxval<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">85.</span>)</span>
<span id="cb7-17">coords <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jnp.stack([lon0, lat0, lon1, lat1], axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Shape (n, 4)</span></span>
<span id="cb7-18"></span>
<span id="cb7-19"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"coords.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>coords<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>coords.shape: (10000, 4)</code></pre>
</div>
</div>
<p><br></p>
<p>Then applying vectorization to <code>get_haversine</code> is as simple as wrapping the original function with <code>vmap</code>:</p>
<div id="cell-14" class="cell">
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"></span>
<span id="cb9-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> jax <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> vmap</span>
<span id="cb9-3"></span>
<span id="cb9-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Vectorize get_haversine.</span></span>
<span id="cb9-5">get_haversine_vmap <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> vmap(get_haversine)</span>
<span id="cb9-6"></span>
<span id="cb9-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Calculate distances between 10k coordinate pairs.</span></span>
<span id="cb9-8">d <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_haversine_vmap(coords)</span>
<span id="cb9-9"></span>
<span id="cb9-10">d[:<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>]</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="19">
<pre><code>Array([ 8697.932 ,  6449.9453,  8237.629 ,  7416.7593,  9463.392 ,
        3435.566 ,  8059.4575, 10055.319 , 16480.527 ,  6943.8413],      dtype=float32)</code></pre>
</div>
</div>
<p><br></p>
<p>Not surprisingly, vectorization provides a massive speedup vs.&nbsp;native looping:</p>
<div id="cell-17" class="cell" data-execution_count="20">
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1"></span>
<span id="cb11-2"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span>timeit <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>n1 <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> c <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> coords: get_haversine(c)</span>
<span id="cb11-3"></span>
<span id="cb11-4"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span>timeit <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>n1 get_haversine_vmap(coords)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>2.42 s ± 20.9 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
5.45 ms ± 1.2 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)</code></pre>
</div>
</div>
<p><br></p>
<p>It is also possible to combine just-in-time compilation along with vectorized transformations for additional performance gains.</p>
<p>Refer to the <a href="https://docs.jax.dev/en/latest/automatic-vectorization.html">JAX documentation on automatic vectorization</a> for more advanced use cases of <code>vmap</code>, specifically how to apply a vectorized transformation along a specific axis of a multi-dimensional array.</p>
<p><br></p>
</section>
<section id="automatic-differentiation" class="level3">
<h3 class="anchored" data-anchor-id="automatic-differentiation">Automatic Differentiation</h3>
<p>Automatic differentiation (autodiff) in JAX is a method for computing derivatives efficiently and accurately using computational differentiation. Unlike numerical differentiation which relies on finite differences and can be prone to errors, or symbolic differentiation, which can become computationally expensive, autodiff in JAX works by systematically applying the chain rule at a computational level.</p>
<p>JAX provides <code>grad</code> for computing gradients of scalar-valued functions, <code>jacfwd</code> and <code>jacrev</code> for Jacobians, and <code>hessian</code> for second-order derivatives. It uses forward-mode autodiff for computing derivatives of functions with a small number of inputs, while reverse-mode autodiff is well-suited for functions with many inputs but a single output, which is ideal for deep learning applications.</p>
<p>As a simple example of using <code>grad</code> for a scalar-valued function, given a continuous random variable <img src="https://latex.codecogs.com/png.latex?X"> with CDF <img src="https://latex.codecogs.com/png.latex?F(x)">, the PDF <img src="https://latex.codecogs.com/png.latex?f(x)"> is obtained by differentiating <img src="https://latex.codecogs.com/png.latex?F(x)">:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0Af(x)%20=%20%5Cfrac%7Bd%7D%7Bdx%7DF(x).%0A"></p>
<p>For the exponential distribution, the CDF and PDF are given by</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A%5Cbegin%7Balign*%7D%0AF(x)%20&amp;=%201%20-%20e%5E%7B-%5Clambda%20x%7D%5C%5C%0Af(x)%20&amp;=%20F'(x)%20=%20%5Clambda%20e%5E%7B-%5Clambda%20x%7D%5C%5C%0A%5Cend%7Balign*%7D%0A"></p>
<p>The exact value of the exponential PDF can be compared with the result returned by <code>grad</code> applied to the CDF to verify they are the same. The result will also be compared against the PDF at a given value of <img src="https://latex.codecogs.com/png.latex?x"> returned by <code>scipy.stats.expon</code>. For the purposes of demonstration, we set <img src="https://latex.codecogs.com/png.latex?%5Clambda%20=%201/%2010">, which is hard-coded within <code>expon_cdf</code> and <code>expon_pdf</code>:</p>
<div id="cell-21" class="cell">
<div class="sourceCode cell-code" id="cb13" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb13-1"></span>
<span id="cb13-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> scipy.stats <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> expon</span>
<span id="cb13-3"></span>
<span id="cb13-4"></span>
<span id="cb13-5"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> expon_cdf(x):</span>
<span id="cb13-6">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb13-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Exponential distribution CDF.</span></span>
<span id="cb13-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb13-9">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> jnp.exp(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.10</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> x)</span>
<span id="cb13-10"></span>
<span id="cb13-11"></span>
<span id="cb13-12"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> expon_pdf(x):</span>
<span id="cb13-13">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb13-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Exponential distribution PDF.</span></span>
<span id="cb13-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb13-16"></span>
<span id="cb13-17">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.10</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> jnp.exp(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.10</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> x)</span>
<span id="cb13-18"></span>
<span id="cb13-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Exponential distribution with mean 10. </span></span>
<span id="cb13-20">r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> expon(scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
</div>
<p><br></p>
<p>In order to obtain the derivative of <code>expon_cdf</code> using JAX, pass <code>expon_cdf</code> into <code>grad</code>. The result is a callable that can accept any scalar value on <img src="https://latex.codecogs.com/png.latex?%5B0,%20%5Cinfty)"> and will return the exponential PDF at that point:</p>
<div id="cell-23" class="cell">
<div class="sourceCode cell-code" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb14-1"></span>
<span id="cb14-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> jax <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> grad</span>
<span id="cb14-3"></span>
<span id="cb14-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute derivative of exponential CDF.</span></span>
<span id="cb14-5">jax_expon_pdf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> grad(expon_cdf)</span></code></pre></div>
</div>
<p><br></p>
<p>Comparing the analytical PDF, <code>jax_expon_pdf</code> and the Scipy-generated PDF evaluated at 4.5:</p>
<div id="cell-25" class="cell">
<div class="sourceCode cell-code" id="cb15" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb15-1"></span>
<span id="cb15-2">v0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> expon_pdf(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">4.5</span>)</span>
<span id="cb15-3">v1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jax_expon_pdf(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">4.5</span>)</span>
<span id="cb15-4">v2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> r.pdf(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">4.5</span>)</span>
<span id="cb15-5"></span>
<span id="cb15-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Exact PDF : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>v0<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.8f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb15-7"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"JAX PDF   : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>v1<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.8f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb15-8"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Scipy PDF : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>v2<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.8f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Exact PDF : 0.063763
JAX PDF   : 0.063763
Scipy PDF : 0.063763</code></pre>
</div>
</div>
<p><br></p>
<p>A particularly useful feature of <code>grad</code> is that we can pass <code>jax_expon_pdf</code> into <code>grad</code> and obtain the second derivative of the exponential CDF. Again we compare the JAX result against the exact analytical solution:</p>
<div id="cell-27" class="cell" data-execution_count="69">
<div class="sourceCode cell-code" id="cb17" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb17-1"></span>
<span id="cb17-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Analytical solution for comparison.</span></span>
<span id="cb17-3"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> expon_cdf_second_deriv(x):</span>
<span id="cb17-4">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb17-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Second derivative of exponential CDF.</span></span>
<span id="cb17-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb17-7">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.10</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> jnp.exp(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.10</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> x)</span>
<span id="cb17-8"></span>
<span id="cb17-9"></span>
<span id="cb17-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute second derivative of exponential CDF using grad.</span></span>
<span id="cb17-11">jax_expon_cdf_second_deriv <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> grad(jax_expon_pdf)</span>
<span id="cb17-12"></span>
<span id="cb17-13">v0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> expon_cdf_second_deriv(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">4.5</span>)</span>
<span id="cb17-14">v1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> jax_expon_cdf_second_deriv(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">4.5</span>)</span>
<span id="cb17-15"></span>
<span id="cb17-16"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Exact second derivative : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>v0<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.8f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb17-17"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"JAX second derivative   : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>v1<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.8f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb17-18"></span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Exact second derivative : -0.00637628
JAX second derivative   : -0.00637628</code></pre>
</div>
</div>
<p><br></p>
<p>It is not an exaggeration to say <code>vmap</code>, <code>jit</code>, and <code>grad</code> have transformed my machine learning workflows. Vectorization without loops, lightning-fast compilation and flexible gradient computation let me build cleaner, faster models with less code. I’m finding new applications all the time and will continue to explore additional ways to leverage JAX and related libraries like flax.</p>


</section>

 ]]></description>
  <category>Machine Learning</category>
  <category>Python</category>
  <guid>https://www.jtrive.com/posts/intro-to-jax-part-1/intro-to-jax-part-1.html</guid>
  <pubDate>Sat, 22 Mar 2025 05:00:00 GMT</pubDate>
</item>
<item>
  <title>Creating Animations with Folium</title>
  <link>https://www.jtrive.com/posts/folium-annimations/folium-annimations.html</link>
  <description><![CDATA[ 





<p><a href="https://python-visualization.github.io/folium/latest/user_guide/plugins/timestamped_geojson.html">TimestampedGeoJson</a> is a Folium plugin that facilitates the visualization of geospatial data that evolves over time using the GeoJSON format with timestamps. This is useful for tracking vehicle trajectories, satellites, pedestrian traffic, changes in weather patterns or any other geospatial phenomena with time dependent characteristics. TimestampedGeoJson leverages Leaflet.js’s leaflet-timestamped plugin and provides controls for play, pause, and speed adjustment. When added to a Folium map, it animates the appearance of features that evolve with time.</p>
<p>In what follows, I demonstrate how to create an animatio representing the trajectory of the International Space Station over the course of an hour using folium’s TimestampedGeoJson extension.</p>
<p>We start by obtaining the coordinates of the International Space station every minute for one hour using <a href="http://open-notify.org/Open-Notify-API/ISS-Location-Now/">Open Notify</a>, a simple api which returns the current location of the ISS relative to the surface of the earth. The <code>get_iss_position</code> function queries the api and returns the latitude, longitude and timestamp as a dictionary:</p>
<div id="cell-2" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"></span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> datetime <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> datetime</span>
<span id="cb1-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pickle</span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> requests</span>
<span id="cb1-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> time</span>
<span id="cb1-6"></span>
<span id="cb1-7"></span>
<span id="cb1-8"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> get_iss_position():</span>
<span id="cb1-9">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb1-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Get timestamped coordinates of International Space Station relative </span></span>
<span id="cb1-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    to the surface of the Earth.   </span></span>
<span id="cb1-12"></span>
<span id="cb1-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb1-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb1-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    dict</span></span>
<span id="cb1-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Dictionary with keys "latitude", "longitude" and </span></span>
<span id="cb1-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        "timestamp" indicating time and position of ISS. </span></span>
<span id="cb1-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb1-19">    dpos <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {}</span>
<span id="cb1-20">    resp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> requests.get(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"http://api.open-notify.org/iss-now.json"</span>).json()</span>
<span id="cb1-21">    dpos[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"timestamp"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> resp[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"timestamp"</span>]</span>
<span id="cb1-22">    dpos[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"latitude"</span>]  <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(resp[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"iss_position"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"latitude"</span>])</span>
<span id="cb1-23">    dpos[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"longitude"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>(resp[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"iss_position"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"longitude"</span>])</span>
<span id="cb1-24">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> dpos</span></code></pre></div>
</div>
<p><br></p>
<p>The <code>coords</code> list of dictionaries is created by querying the api once every minute for an hour:</p>
<div id="cell-4" class="cell">
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1"></span>
<span id="cb2-2">coords <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb2-3"></span>
<span id="cb2-4"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>):</span>
<span id="cb2-5">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">try</span>:</span>
<span id="cb2-6">        tstmp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> datetime.now().strftime(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%c</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb2-7">        p <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_iss_position()</span>
<span id="cb2-8">        coords.append(p)</span>
<span id="cb2-9">       </span>
<span id="cb2-10">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">except</span> <span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">Exception</span> <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> ee:</span>
<span id="cb2-11">        <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Error: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>ee<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb2-12"></span>
<span id="cb2-13">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">finally</span>:</span>
<span id="cb2-14">        time.sleep(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">60</span>)</span>
<span id="cb2-15"></span>
<span id="cb2-16"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">with</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">open</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"coords.pkl"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"wb"</span>) <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> fpkl:</span>
<span id="cb2-17">    pickle.dump(coords, fpkl, protocol<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span></code></pre></div>
</div>
<p>TimestampedGeoJson features expect coordinates and timestamps to be structured as GeoJSON. To do so, we first create <code>time_pos</code> which converts unix timestamps to a string representation (“YYYY-mm-dd HH:MM:ss”). The start and end points of the ISS position by are grouped together by shifting <code>time_pos</code> by a single index (see <code>end_pts</code> and <code>time_pos</code>), resulting in a LineString geometry for each time step.</p>
<p><code>lines</code> is a list of dictionaries with start and end coordinates (longitude first), start and end timestamps, and line segment color. In our animation, the color of the line segment will alternate between red and blue at each update.</p>
<p>The <code>features</code> list is what ultimately gets passed into TimestampedGeoJson. <code>features</code> is also a list of dictionaries, each element structured as:</p>
<pre><code>{
    "type": "Feature",
    "geometry": {
        "type": "LineString",
        "coordinates": [[LON1, LAT1], [LON2, LAT2]]
    },
    "properties": {
        "times": [TIMESTAMP1, TIMESTAMP2],
        "style": {
            "color": COLOR
            "weight": 3
        }
    }
}</code></pre>
<div id="cell-6" class="cell" data-execution_count="9">
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb4-1"></span>
<span id="cb4-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Unpack coords list of dicts. Use lon-lat ordering. </span></span>
<span id="cb4-3">time_pos <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [[</span>
<span id="cb4-4">    datetime.fromtimestamp(d[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"timestamp"</span>]).strftime(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%Y-%m-</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%d</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;"> %H:%M:%S"</span>),</span>
<span id="cb4-5">    [d[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"longitude"</span>], d[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"latitude"</span>]]</span>
<span id="cb4-6"> ] <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> d <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> coords</span>
<span id="cb4-7">]</span>
<span id="cb4-8"></span>
<span id="cb4-9">end_pts <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [tt <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> tt <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> time_pos[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:]]</span>
<span id="cb4-10">time_pos <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">list</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(time_pos[:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>], end_pts))</span>
<span id="cb4-11"></span>
<span id="cb4-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Combine timestamps and coordinates in separate lists for each time step. </span></span>
<span id="cb4-13">lines <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [{</span>
<span id="cb4-14">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"coordinates"</span>: [tp[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>][<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>], tp[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>][<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]], </span>
<span id="cb4-15">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dates"</span>: [tp[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>][<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>], tp[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>][<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]], </span>
<span id="cb4-16">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"color"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> idx <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span></span>
<span id="cb4-17">    } <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> idx, tp <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">enumerate</span>(time_pos)</span>
<span id="cb4-18">]</span>
<span id="cb4-19"></span>
<span id="cb4-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create features list. Must be valid GeoJSON.</span></span>
<span id="cb4-21">features <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb4-22">    {</span>
<span id="cb4-23">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"type"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Feature"</span>,</span>
<span id="cb4-24">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geometry"</span>: {</span>
<span id="cb4-25">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"type"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"LineString"</span>,</span>
<span id="cb4-26">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"coordinates"</span>: line[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"coordinates"</span>]</span>
<span id="cb4-27">        },</span>
<span id="cb4-28">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"properties"</span>: {</span>
<span id="cb4-29">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"times"</span>: line[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dates"</span>],</span>
<span id="cb4-30">            <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"style"</span>: {</span>
<span id="cb4-31">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"color"</span>: line[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"color"</span>],</span>
<span id="cb4-32">                <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"weight"</span>: <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span></span>
<span id="cb4-33">            }</span>
<span id="cb4-34">        },</span>
<span id="cb4-35">    }</span>
<span id="cb4-36">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> line <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> lines</span>
<span id="cb4-37">]</span></code></pre></div>
</div>
<p><br></p>
<p>A brief mention of relevant TimestampedGeoJson’s arguments:</p>
<ul>
<li><p><code>transition_time</code>: The duration in milliseconds between transitions. I set this to 500, but can also be adjusted from the map interface.</p></li>
<li><p><code>period</code>: Specifies the amount of time between observations in your data. By default, this is set to “P1D”, which represents one day. When I tried using the default, all of my points were displayed at once since I only had data that spanned one hour. Since the ISS location queries were separated by roughly 60 seconds, setting <code>period</code> to “PT60S” gave me what I was looking for.</p></li>
<li><p><code>date_options</code> accepts a string representing the format of your timestamps.</p></li>
</ul>
<p>Once the features list has been created, it is straightforward to display the animation. Initialize a folium map as usual, the call <code>plugins.TimestampedGeoJson</code> as demonstrated in the next cell:</p>
<div id="cell-8" class="cell" data-execution_count="23">
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"></span>
<span id="cb5-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> folium</span>
<span id="cb5-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> folium.plugins <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plugins</span>
<span id="cb5-4"></span>
<span id="cb5-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Center map.</span></span>
<span id="cb5-6">dc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> coords[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">35</span>] </span>
<span id="cb5-7">mid_lat, mid_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dc[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"latitude"</span>], dc[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"longitude"</span>]</span>
<span id="cb5-8"></span>
<span id="cb5-9">f <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Figure(width<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">900</span>, height<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">650</span>)</span>
<span id="cb5-10">m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Map(location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[mid_lat, mid_lon], zoom_start<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>).add_to(f)</span>
<span id="cb5-11"></span>
<span id="cb5-12">plugins.TimestampedGeoJson(</span>
<span id="cb5-13">    {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"type"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"FeatureCollection"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"features"</span>: features},</span>
<span id="cb5-14">    transition_time<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">500</span>,</span>
<span id="cb5-15">    period<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'PT60S'</span>,</span>
<span id="cb5-16">    date_options<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'YYYY-MM-DD HH:mm:ss'</span>,</span>
<span id="cb5-17">).add_to(m)</span>
<span id="cb5-18"></span>
<span id="cb5-19">m</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="23">
<iframe srcdoc="<!DOCTYPE html>
<html>
<head>
    
    <meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot; />
    
        <script>
            L_NO_TOUCH = false;
            L_DISABLE_3D = false;
        </script>
    
    <style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>
    <style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>
    <script src=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js&quot;></script>
    <script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js&quot;></script>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css&quot;/>
    
            <meta name=&quot;viewport&quot; content=&quot;width=device-width,
                initial-scale=1.0, maximum-scale=1.0, user-scalable=no&quot; />
            <style>
                #map_684fd003ba0ed685e86c491ef31e85a4 {
                    position: relative;
                    width: 100.0%;
                    height: 100.0%;
                    left: 0.0%;
                    top: 0.0%;
                }
                .leaflet-container { font-size: 1rem; }
            </style>
        
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/iso8601-js-period@0.2.1/iso8601.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/leaflet-timedimension@1.1.1/dist/leaflet.timedimension.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js&quot;></script>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/default.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/leaflet-timedimension@1.1.1/dist/leaflet.timedimension.control.css&quot;/>
</head>
<body>
    
    
            <div class=&quot;folium-map&quot; id=&quot;map_684fd003ba0ed685e86c491ef31e85a4&quot; ></div>
        
</body>
<script>
    
    
            var map_684fd003ba0ed685e86c491ef31e85a4 = L.map(
                &quot;map_684fd003ba0ed685e86c491ef31e85a4&quot;,
                {
                    center: [-51.6184, 82.354],
                    crs: L.CRS.EPSG3857,
                    zoom: 2,
                    zoomControl: true,
                    preferCanvas: false,
                }
            );

            

        
    
            var tile_layer_3885e5befbbcdead22b300f3d6c7c5e6 = L.tileLayer(
                &quot;https://tile.openstreetmap.org/{z}/{x}/{y}.png&quot;,
                {&quot;attribution&quot;: &quot;\u0026copy; \u003ca href=\&quot;https://www.openstreetmap.org/copyright\&quot;\u003eOpenStreetMap\u003c/a\u003e contributors&quot;, &quot;detectRetina&quot;: false, &quot;maxNativeZoom&quot;: 19, &quot;maxZoom&quot;: 19, &quot;minZoom&quot;: 0, &quot;noWrap&quot;: false, &quot;opacity&quot;: 1, &quot;subdomains&quot;: &quot;abc&quot;, &quot;tms&quot;: false}
            );
        
    
            tile_layer_3885e5befbbcdead22b300f3d6c7c5e6.addTo(map_684fd003ba0ed685e86c491ef31e85a4);
        
    
            L.Control.TimeDimensionCustom = L.Control.TimeDimension.extend({
                _getDisplayDateFormat: function(date){
                    var newdate = new moment(date);
                    console.log(newdate)
                    return newdate.format(&quot;YYYY-MM-DD HH:mm:ss&quot;);
                }
            });
            map_684fd003ba0ed685e86c491ef31e85a4.timeDimension = L.timeDimension(
                {
                    period: &quot;PT60S&quot;,
                }
            );
            var timeDimensionControl = new L.Control.TimeDimensionCustom(
                {&quot;autoPlay&quot;: true, &quot;loopButton&quot;: false, &quot;maxSpeed&quot;: 10, &quot;minSpeed&quot;: 0.1, &quot;playerOptions&quot;: {&quot;loop&quot;: true, &quot;startOver&quot;: true, &quot;transitionTime&quot;: 500}, &quot;position&quot;: &quot;bottomleft&quot;, &quot;speedSlider&quot;: true, &quot;timeSliderDragUpdate&quot;: false}
            );
            map_684fd003ba0ed685e86c491ef31e85a4.addControl(this.timeDimensionControl);

            var geoJsonLayer = L.geoJson({&quot;type&quot;: &quot;FeatureCollection&quot;, &quot;features&quot;: [{&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-44.8473, 42.5574], [-40.7992, 40.3836]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:35:49&quot;, &quot;2025-02-18 07:36:49&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-40.7992, 40.3836], [-37.0293, 38.0607]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:36:49&quot;, &quot;2025-02-18 07:37:49&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-37.0293, 38.0607], [-33.514, 35.6094]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:37:49&quot;, &quot;2025-02-18 07:38:49&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-33.514, 35.6094], [-30.2279, 33.048]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:38:49&quot;, &quot;2025-02-18 07:39:49&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-30.2279, 33.048], [-27.1446, 30.3913]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:39:49&quot;, &quot;2025-02-18 07:40:49&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-27.1446, 30.3913], [-24.2186, 27.6327]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:40:49&quot;, &quot;2025-02-18 07:41:50&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-24.2186, 27.6327], [-21.4736, 24.8289]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:41:50&quot;, &quot;2025-02-18 07:42:50&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-21.4736, 24.8289], [-18.863, 21.9681]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:42:50&quot;, &quot;2025-02-18 07:43:50&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-18.863, 21.9681], [-16.3668, 19.0599]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:43:50&quot;, &quot;2025-02-18 07:44:50&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-16.3668, 19.0599], [-13.9661, 16.1124]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:44:50&quot;, &quot;2025-02-18 07:45:50&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-13.9661, 16.1124], [-11.6058, 13.0835]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:45:50&quot;, &quot;2025-02-18 07:46:51&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-11.6058, 13.0835], [-9.2167, 9.9036]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:46:51&quot;, &quot;2025-02-18 07:47:55&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-9.2167, 9.9036], [-6.8973, 6.7287]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:47:55&quot;, &quot;2025-02-18 07:48:58&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-6.8973, 6.7287], [-4.6119, 3.5409]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:48:58&quot;, &quot;2025-02-18 07:50:01&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-4.6119, 3.5409], [-2.4518, 0.4982]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:50:01&quot;, &quot;2025-02-18 07:51:01&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-2.4518, 0.4982], [-0.2944, -2.5449]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:51:01&quot;, &quot;2025-02-18 07:52:01&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-0.2944, -2.5449], [1.9106, -5.6338]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:52:01&quot;, &quot;2025-02-18 07:53:02&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[1.9106, -5.6338], [4.1047, -8.6615]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:53:02&quot;, &quot;2025-02-18 07:54:02&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[4.1047, -8.6615], [6.3573, -11.6984]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:54:02&quot;, &quot;2025-02-18 07:55:03&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[6.3573, -11.6984], [8.6844, -14.7373]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:55:03&quot;, &quot;2025-02-18 07:56:04&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[8.6844, -14.7373], [11.044, -17.6973]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:56:04&quot;, &quot;2025-02-18 07:57:04&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[11.044, -17.6973], [13.4905, -20.6213]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:57:04&quot;, &quot;2025-02-18 07:58:04&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[13.4905, -20.6213], [16.1725, -23.6443]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:58:04&quot;, &quot;2025-02-18 07:59:07&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[16.1725, -23.6443], [22.7229, -30.1895]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:59:07&quot;, &quot;2025-02-18 08:01:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[22.7229, -30.1895], [25.8371, -32.8903]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:01:29&quot;, &quot;2025-02-18 08:02:30&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[25.8371, -32.8903], [29.2721, -35.5783]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:02:30&quot;, &quot;2025-02-18 08:03:33&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[29.2721, -35.5783], [32.7763, -38.026]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:03:33&quot;, &quot;2025-02-18 08:04:33&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[32.7763, -38.026], [36.5338, -40.3463]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:04:33&quot;, &quot;2025-02-18 08:05:33&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[36.5338, -40.3463], [40.6021, -42.5355]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:05:33&quot;, &quot;2025-02-18 08:06:34&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[40.6021, -42.5355], [46.0646, -45.0047]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:06:34&quot;, &quot;2025-02-18 08:07:49&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[46.0646, -45.0047], [57.9104, -48.8132]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:07:49&quot;, &quot;2025-02-18 08:10:13&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[57.9104, -48.8132], [63.3463, -49.9679]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:10:13&quot;, &quot;2025-02-18 08:11:13&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[63.3463, -49.9679], [69.0258, -50.8318]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:11:13&quot;, &quot;2025-02-18 08:12:13&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[69.0258, -50.8318], [76.3735, -51.4726]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:12:13&quot;, &quot;2025-02-18 08:13:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[76.3735, -51.4726], [82.354, -51.6184]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:13:29&quot;, &quot;2025-02-18 08:14:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[82.354, -51.6184], [88.33, -51.4332]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:14:29&quot;, &quot;2025-02-18 08:15:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[88.33, -51.4332], [94.2112, -50.922]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:15:29&quot;, &quot;2025-02-18 08:16:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[94.2112, -50.922], [99.9194, -50.0976]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:16:29&quot;, &quot;2025-02-18 08:17:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[99.9194, -50.0976], [105.3919, -48.979]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:17:29&quot;, &quot;2025-02-18 08:18:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[105.3919, -48.979], [110.584, -47.5903]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:18:29&quot;, &quot;2025-02-18 08:19:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[110.584, -47.5903], [115.5513, -45.9281]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:19:29&quot;, &quot;2025-02-18 08:20:30&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[115.5513, -45.9281], [120.1944, -44.0424]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:20:30&quot;, &quot;2025-02-18 08:21:31&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[120.1944, -44.0424], [124.6569, -41.889]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:21:31&quot;, &quot;2025-02-18 08:22:34&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[124.6569, -41.889], [128.6089, -39.6691]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:22:34&quot;, &quot;2025-02-18 08:23:35&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[128.6089, -39.6691], [132.7046, -37.0229]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:23:35&quot;, &quot;2025-02-18 08:24:42&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[132.7046, -37.0229], [136.2796, -34.3969]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:24:42&quot;, &quot;2025-02-18 08:25:45&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[136.2796, -34.3969], [139.6162, -31.658]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:25:45&quot;, &quot;2025-02-18 08:26:48&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[139.6162, -31.658], [142.5987, -28.9603]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:26:48&quot;, &quot;2025-02-18 08:27:48&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[142.5987, -28.9603], [145.4152, -26.1886]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:27:48&quot;, &quot;2025-02-18 08:28:48&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[145.4152, -26.1886], [148.2393, -23.1876]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:28:48&quot;, &quot;2025-02-18 08:29:52&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[148.2393, -23.1876], [150.9066, -20.1521]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:29:52&quot;, &quot;2025-02-18 08:30:55&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[150.9066, -20.1521], [153.4608, -17.0701]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:30:55&quot;, &quot;2025-02-18 08:31:58&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[153.4608, -17.0701], [155.8462, -14.0494]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:31:58&quot;, &quot;2025-02-18 08:32:59&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[155.8462, -14.0494], [158.1252, -11.0506]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:32:59&quot;, &quot;2025-02-18 08:33:59&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[158.1252, -11.0506], [160.3529, -8.0309]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:33:59&quot;, &quot;2025-02-18 08:34:59&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[160.3529, -8.0309], [162.6536, -4.8432]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:34:59&quot;, &quot;2025-02-18 08:36:02&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[162.6536, -4.8432], [164.8217, -1.799]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:36:02&quot;, &quot;2025-02-18 08:37:03&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[164.8217, -1.799], [167.2342, 1.6045]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:37:03&quot;, &quot;2025-02-18 08:38:10&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[167.2342, 1.6045], [172.3649, 8.7475]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:38:10&quot;, &quot;2025-02-18 08:40:31&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}]}, {
                    pointToLayer: function (feature, latLng) {
                        if (feature.properties.icon == 'marker') {
                            if(feature.properties.iconstyle){
                                return new L.Marker(latLng, {
                                    icon: L.icon(feature.properties.iconstyle)});
                            }
                            //else
                            return new L.Marker(latLng);
                        }
                        if (feature.properties.icon == 'circle') {
                            if (feature.properties.iconstyle) {
                                return new L.circleMarker(latLng, feature.properties.iconstyle)
                                };
                            //else
                            return new L.circleMarker(latLng);
                        }
                        //else

                        return new L.Marker(latLng);
                    },
                    style: function (feature) {
                        return feature.properties.style;
                    },
                    onEachFeature: function(feature, layer) {
                        if (feature.properties.popup) {
                        layer.bindPopup(feature.properties.popup);
                        }
                        if (feature.properties.tooltip) {
                        layer.bindTooltip(feature.properties.tooltip);
                        }
                    }
                })

            var timestamped_geo_json_14e97978e8824516bd2c4cd063429150 = L.timeDimension.layer.geoJson(
                geoJsonLayer,
                {
                    updateTimeDimension: true,
                    addlastPoint: true,
                    duration: undefined,
                }
            ).addTo(map_684fd003ba0ed685e86c491ef31e85a4);
        
</script>
</html>" width="900" height="650" style="border:none !important;" "allowfullscreen"="" "webkitallowfullscreen"="" "mozallowfullscreen"=""></iframe>
</div>
</div>
<p><br></p>
<p>The visual field appears too cluttered with the inclusion of markers. We can remove them by setting <code>add_last_point = False</code>:</p>
<div id="cell-10" class="cell">
<div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb6-1"></span>
<span id="cb6-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> folium</span>
<span id="cb6-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> folium.plugins <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plugins</span>
<span id="cb6-4"></span>
<span id="cb6-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Center map.</span></span>
<span id="cb6-6">dc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> coords[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">35</span>] </span>
<span id="cb6-7">mid_lat, mid_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dc[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"latitude"</span>], dc[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"longitude"</span>]</span>
<span id="cb6-8"></span>
<span id="cb6-9">f <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Figure(width<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">900</span>, height<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">650</span>)</span>
<span id="cb6-10">m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Map(location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[mid_lat, mid_lon], zoom_start<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>).add_to(f)</span>
<span id="cb6-11"></span>
<span id="cb6-12">plugins.TimestampedGeoJson(</span>
<span id="cb6-13">    {</span>
<span id="cb6-14">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"type"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"FeatureCollection"</span>,</span>
<span id="cb6-15">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"features"</span>: features,</span>
<span id="cb6-16">    },</span>
<span id="cb6-17">    transition_time<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">500</span>,</span>
<span id="cb6-18">    add_last_point<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>,</span>
<span id="cb6-19">    period<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'PT60S'</span>,</span>
<span id="cb6-20">    date_options<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'YYYY-MM-DD HH:mm:ss'</span>,</span>
<span id="cb6-21">).add_to(m)</span>
<span id="cb6-22"></span>
<span id="cb6-23">m</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="21">
<iframe srcdoc="<!DOCTYPE html>
<html>
<head>
    
    <meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot; />
    
        <script>
            L_NO_TOUCH = false;
            L_DISABLE_3D = false;
        </script>
    
    <style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>
    <style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>
    <script src=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js&quot;></script>
    <script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js&quot;></script>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css&quot;/>
    
            <meta name=&quot;viewport&quot; content=&quot;width=device-width,
                initial-scale=1.0, maximum-scale=1.0, user-scalable=no&quot; />
            <style>
                #map_6b2f73ddc181a0691f65b5c8c3180651 {
                    position: relative;
                    width: 100.0%;
                    height: 100.0%;
                    left: 0.0%;
                    top: 0.0%;
                }
                .leaflet-container { font-size: 1rem; }
            </style>
        
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/iso8601-js-period@0.2.1/iso8601.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/leaflet-timedimension@1.1.1/dist/leaflet.timedimension.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js&quot;></script>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/default.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/leaflet-timedimension@1.1.1/dist/leaflet.timedimension.control.css&quot;/>
</head>
<body>
    
    
            <div class=&quot;folium-map&quot; id=&quot;map_6b2f73ddc181a0691f65b5c8c3180651&quot; ></div>
        
</body>
<script>
    
    
            var map_6b2f73ddc181a0691f65b5c8c3180651 = L.map(
                &quot;map_6b2f73ddc181a0691f65b5c8c3180651&quot;,
                {
                    center: [-51.6184, 82.354],
                    crs: L.CRS.EPSG3857,
                    zoom: 2,
                    zoomControl: true,
                    preferCanvas: false,
                }
            );

            

        
    
            var tile_layer_351abc866f463a909f424438e88cfa88 = L.tileLayer(
                &quot;https://tile.openstreetmap.org/{z}/{x}/{y}.png&quot;,
                {&quot;attribution&quot;: &quot;\u0026copy; \u003ca href=\&quot;https://www.openstreetmap.org/copyright\&quot;\u003eOpenStreetMap\u003c/a\u003e contributors&quot;, &quot;detectRetina&quot;: false, &quot;maxNativeZoom&quot;: 19, &quot;maxZoom&quot;: 19, &quot;minZoom&quot;: 0, &quot;noWrap&quot;: false, &quot;opacity&quot;: 1, &quot;subdomains&quot;: &quot;abc&quot;, &quot;tms&quot;: false}
            );
        
    
            tile_layer_351abc866f463a909f424438e88cfa88.addTo(map_6b2f73ddc181a0691f65b5c8c3180651);
        
    
            L.Control.TimeDimensionCustom = L.Control.TimeDimension.extend({
                _getDisplayDateFormat: function(date){
                    var newdate = new moment(date);
                    console.log(newdate)
                    return newdate.format(&quot;YYYY-MM-DD HH:mm:ss&quot;);
                }
            });
            map_6b2f73ddc181a0691f65b5c8c3180651.timeDimension = L.timeDimension(
                {
                    period: &quot;PT60S&quot;,
                }
            );
            var timeDimensionControl = new L.Control.TimeDimensionCustom(
                {&quot;autoPlay&quot;: true, &quot;loopButton&quot;: false, &quot;maxSpeed&quot;: 10, &quot;minSpeed&quot;: 0.1, &quot;playerOptions&quot;: {&quot;loop&quot;: true, &quot;startOver&quot;: true, &quot;transitionTime&quot;: 500}, &quot;position&quot;: &quot;bottomleft&quot;, &quot;speedSlider&quot;: true, &quot;timeSliderDragUpdate&quot;: false}
            );
            map_6b2f73ddc181a0691f65b5c8c3180651.addControl(this.timeDimensionControl);

            var geoJsonLayer = L.geoJson({&quot;type&quot;: &quot;FeatureCollection&quot;, &quot;features&quot;: [{&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-44.8473, 42.5574], [-40.7992, 40.3836]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:35:49&quot;, &quot;2025-02-18 07:36:49&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-40.7992, 40.3836], [-37.0293, 38.0607]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:36:49&quot;, &quot;2025-02-18 07:37:49&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-37.0293, 38.0607], [-33.514, 35.6094]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:37:49&quot;, &quot;2025-02-18 07:38:49&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-33.514, 35.6094], [-30.2279, 33.048]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:38:49&quot;, &quot;2025-02-18 07:39:49&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-30.2279, 33.048], [-27.1446, 30.3913]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:39:49&quot;, &quot;2025-02-18 07:40:49&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-27.1446, 30.3913], [-24.2186, 27.6327]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:40:49&quot;, &quot;2025-02-18 07:41:50&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-24.2186, 27.6327], [-21.4736, 24.8289]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:41:50&quot;, &quot;2025-02-18 07:42:50&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-21.4736, 24.8289], [-18.863, 21.9681]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:42:50&quot;, &quot;2025-02-18 07:43:50&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-18.863, 21.9681], [-16.3668, 19.0599]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:43:50&quot;, &quot;2025-02-18 07:44:50&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-16.3668, 19.0599], [-13.9661, 16.1124]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:44:50&quot;, &quot;2025-02-18 07:45:50&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-13.9661, 16.1124], [-11.6058, 13.0835]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:45:50&quot;, &quot;2025-02-18 07:46:51&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-11.6058, 13.0835], [-9.2167, 9.9036]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:46:51&quot;, &quot;2025-02-18 07:47:55&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-9.2167, 9.9036], [-6.8973, 6.7287]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:47:55&quot;, &quot;2025-02-18 07:48:58&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-6.8973, 6.7287], [-4.6119, 3.5409]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:48:58&quot;, &quot;2025-02-18 07:50:01&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-4.6119, 3.5409], [-2.4518, 0.4982]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:50:01&quot;, &quot;2025-02-18 07:51:01&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-2.4518, 0.4982], [-0.2944, -2.5449]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:51:01&quot;, &quot;2025-02-18 07:52:01&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[-0.2944, -2.5449], [1.9106, -5.6338]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:52:01&quot;, &quot;2025-02-18 07:53:02&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[1.9106, -5.6338], [4.1047, -8.6615]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:53:02&quot;, &quot;2025-02-18 07:54:02&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[4.1047, -8.6615], [6.3573, -11.6984]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:54:02&quot;, &quot;2025-02-18 07:55:03&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[6.3573, -11.6984], [8.6844, -14.7373]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:55:03&quot;, &quot;2025-02-18 07:56:04&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[8.6844, -14.7373], [11.044, -17.6973]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:56:04&quot;, &quot;2025-02-18 07:57:04&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[11.044, -17.6973], [13.4905, -20.6213]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:57:04&quot;, &quot;2025-02-18 07:58:04&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[13.4905, -20.6213], [16.1725, -23.6443]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:58:04&quot;, &quot;2025-02-18 07:59:07&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[16.1725, -23.6443], [22.7229, -30.1895]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 07:59:07&quot;, &quot;2025-02-18 08:01:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[22.7229, -30.1895], [25.8371, -32.8903]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:01:29&quot;, &quot;2025-02-18 08:02:30&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[25.8371, -32.8903], [29.2721, -35.5783]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:02:30&quot;, &quot;2025-02-18 08:03:33&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[29.2721, -35.5783], [32.7763, -38.026]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:03:33&quot;, &quot;2025-02-18 08:04:33&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[32.7763, -38.026], [36.5338, -40.3463]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:04:33&quot;, &quot;2025-02-18 08:05:33&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[36.5338, -40.3463], [40.6021, -42.5355]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:05:33&quot;, &quot;2025-02-18 08:06:34&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[40.6021, -42.5355], [46.0646, -45.0047]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:06:34&quot;, &quot;2025-02-18 08:07:49&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[46.0646, -45.0047], [57.9104, -48.8132]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:07:49&quot;, &quot;2025-02-18 08:10:13&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[57.9104, -48.8132], [63.3463, -49.9679]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:10:13&quot;, &quot;2025-02-18 08:11:13&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[63.3463, -49.9679], [69.0258, -50.8318]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:11:13&quot;, &quot;2025-02-18 08:12:13&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[69.0258, -50.8318], [76.3735, -51.4726]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:12:13&quot;, &quot;2025-02-18 08:13:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[76.3735, -51.4726], [82.354, -51.6184]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:13:29&quot;, &quot;2025-02-18 08:14:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[82.354, -51.6184], [88.33, -51.4332]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:14:29&quot;, &quot;2025-02-18 08:15:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[88.33, -51.4332], [94.2112, -50.922]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:15:29&quot;, &quot;2025-02-18 08:16:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[94.2112, -50.922], [99.9194, -50.0976]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:16:29&quot;, &quot;2025-02-18 08:17:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[99.9194, -50.0976], [105.3919, -48.979]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:17:29&quot;, &quot;2025-02-18 08:18:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[105.3919, -48.979], [110.584, -47.5903]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:18:29&quot;, &quot;2025-02-18 08:19:29&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[110.584, -47.5903], [115.5513, -45.9281]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:19:29&quot;, &quot;2025-02-18 08:20:30&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[115.5513, -45.9281], [120.1944, -44.0424]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:20:30&quot;, &quot;2025-02-18 08:21:31&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[120.1944, -44.0424], [124.6569, -41.889]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:21:31&quot;, &quot;2025-02-18 08:22:34&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[124.6569, -41.889], [128.6089, -39.6691]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:22:34&quot;, &quot;2025-02-18 08:23:35&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[128.6089, -39.6691], [132.7046, -37.0229]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:23:35&quot;, &quot;2025-02-18 08:24:42&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[132.7046, -37.0229], [136.2796, -34.3969]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:24:42&quot;, &quot;2025-02-18 08:25:45&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[136.2796, -34.3969], [139.6162, -31.658]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:25:45&quot;, &quot;2025-02-18 08:26:48&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[139.6162, -31.658], [142.5987, -28.9603]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:26:48&quot;, &quot;2025-02-18 08:27:48&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[142.5987, -28.9603], [145.4152, -26.1886]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:27:48&quot;, &quot;2025-02-18 08:28:48&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[145.4152, -26.1886], [148.2393, -23.1876]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:28:48&quot;, &quot;2025-02-18 08:29:52&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[148.2393, -23.1876], [150.9066, -20.1521]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:29:52&quot;, &quot;2025-02-18 08:30:55&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[150.9066, -20.1521], [153.4608, -17.0701]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:30:55&quot;, &quot;2025-02-18 08:31:58&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[153.4608, -17.0701], [155.8462, -14.0494]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:31:58&quot;, &quot;2025-02-18 08:32:59&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[155.8462, -14.0494], [158.1252, -11.0506]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:32:59&quot;, &quot;2025-02-18 08:33:59&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[158.1252, -11.0506], [160.3529, -8.0309]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:33:59&quot;, &quot;2025-02-18 08:34:59&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[160.3529, -8.0309], [162.6536, -4.8432]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:34:59&quot;, &quot;2025-02-18 08:36:02&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[162.6536, -4.8432], [164.8217, -1.799]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:36:02&quot;, &quot;2025-02-18 08:37:03&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[164.8217, -1.799], [167.2342, 1.6045]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:37:03&quot;, &quot;2025-02-18 08:38:10&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;blue&quot;, &quot;weight&quot;: 3}}}, {&quot;type&quot;: &quot;Feature&quot;, &quot;geometry&quot;: {&quot;type&quot;: &quot;LineString&quot;, &quot;coordinates&quot;: [[167.2342, 1.6045], [172.3649, 8.7475]]}, &quot;properties&quot;: {&quot;times&quot;: [&quot;2025-02-18 08:38:10&quot;, &quot;2025-02-18 08:40:31&quot;], &quot;style&quot;: {&quot;color&quot;: &quot;red&quot;, &quot;weight&quot;: 3}}}]}, {
                    pointToLayer: function (feature, latLng) {
                        if (feature.properties.icon == 'marker') {
                            if(feature.properties.iconstyle){
                                return new L.Marker(latLng, {
                                    icon: L.icon(feature.properties.iconstyle)});
                            }
                            //else
                            return new L.Marker(latLng);
                        }
                        if (feature.properties.icon == 'circle') {
                            if (feature.properties.iconstyle) {
                                return new L.circleMarker(latLng, feature.properties.iconstyle)
                                };
                            //else
                            return new L.circleMarker(latLng);
                        }
                        //else

                        return new L.Marker(latLng);
                    },
                    style: function (feature) {
                        return feature.properties.style;
                    },
                    onEachFeature: function(feature, layer) {
                        if (feature.properties.popup) {
                        layer.bindPopup(feature.properties.popup);
                        }
                        if (feature.properties.tooltip) {
                        layer.bindTooltip(feature.properties.tooltip);
                        }
                    }
                })

            var timestamped_geo_json_7c2687c86a6037189666baefde7834b0 = L.timeDimension.layer.geoJson(
                geoJsonLayer,
                {
                    updateTimeDimension: true,
                    addlastPoint: false,
                    duration: undefined,
                }
            ).addTo(map_6b2f73ddc181a0691f65b5c8c3180651);
        
</script>
</html>" width="900" height="650" style="border:none !important;" "allowfullscreen"="" "webkitallowfullscreen"="" "mozallowfullscreen"=""></iframe>
</div>
</div>



 ]]></description>
  <category>Python</category>
  <category>Geospatial</category>
  <guid>https://www.jtrive.com/posts/folium-annimations/folium-annimations.html</guid>
  <pubDate>Wed, 19 Feb 2025 06:00:00 GMT</pubDate>
</item>
<item>
  <title>The Bootstrap Chain Ladder from Scratch using Polars</title>
  <link>https://www.jtrive.com/posts/boostrap-chainladder-polars/bootstrap-chainladder-polars.html</link>
  <description><![CDATA[ 





<p>In an earlier <a href="https://www.jtrive.com/posts/boostrap-chainladder-pandas/bootstrap-chainladder-pandas.html">post</a>, I provided a step-by-step guide on performing the bootstrap chain ladder using Pandas. This method involves repeatedly resampling residuals from the original chain ladder model to generate a series of simulated datasets, each replicating the original data’s claims development patterns (for more background, refer to the linked article).</p>
<p>Here we again walkthrough the bootstrap chain ladder step-by-step, this time using Polars, a high-performance DataFrame library built in Rust specifically designed for efficient data processing with large datasets. Unlike Pandas which is single-threaded, Polars leverages multi-core processors resulting in faster execution for many tasks. Although not required for our work in this setting, Polars can also handle datasets larger than available memory, spilling to disk when necessary. In Pandas, we can only process datasets having size less than or equal to available system memory.</p>
<p>Although Polars offers clear advantages over Pandas in many scenarios, this particular case isn’t one of them. Polars eliminates the concept of an index, which is a core feature of Pandas. But indices are especially valuable in this context for calculating age-to-age factors, identifying values along the latest diagonal, and squaring triangles. Additionally, while some insurers may store tens or hundreds of millions of claim records in their data warehouses, losses are typically aggregated by origin and development period ahead of a reserving analysis, resulting in datasets greatly reduced in size vs.&nbsp;transactional claim data. As a consequence, reserving actuaries typically don’t work with datasets large enough to necessitate parallel processing or out-of-core computation.</p>
<p>Translating the original Pandas bootstrap chain ladder code to Polars provided a good opportunity to showcase the library’s core features. However, many operations felt much less intuitive compared to their Pandas counterparts. Even so, I see this post as a valuable reference for specific Polars operations that I’ll likely use again in the future.</p>
<p>The steps to perform the bootstrap chain ladder:</p>
<ol type="1">
<li><p>Transform loss data into cumulative triangle representation.</p></li>
<li><p>Calculate all-year volume weighted age-to-age factors.</p></li>
<li><p>Calculate the cumulative fitted triangle by applying backwards recursion, beginning with the observed cumulative losses from the latest diagonal.</p></li>
<li><p>Calculate the unscaled Pearson residuals, <img src="https://latex.codecogs.com/png.latex?r_%7Bp%7D">, degrees of freedom <img src="https://latex.codecogs.com/png.latex?DF"> and scale parameter <img src="https://latex.codecogs.com/png.latex?%5Cphi">.</p></li>
<li><p>Calculate the adjusted Pearson residuals, defined as <img src="https://latex.codecogs.com/png.latex?r_%7Bp%7D%5E%7B%7Badj%7D%7D%20=%20%5Csqrt%7B%5Cfrac%7Bn%7D%7BDF%7D%7D%20%5Ctimes%20r_%7Bp%7D">.</p></li>
<li><p>For each bootstrap sample (1…1000):</p>
<ol type="i">
<li><p>Generate a sample from the adjusted Pearson residuals <img src="https://latex.codecogs.com/png.latex?r_%7Bp%7D%5E%7B%7Badj%7D%7D"> with replacement.</p></li>
<li><p>Using the sampled adjusted Pearson residuals and fitted incremental triangle <img src="https://latex.codecogs.com/png.latex?m">, construct the triangle of sampled incremental losses <img src="https://latex.codecogs.com/png.latex?I_%7Bi%7D%20=%20m%20+%20%5Chat%7Br%7D_%7Bp%7D%5E%7Badj%7D%20%5Csqrt%7Bm%7D">, where <img src="https://latex.codecogs.com/png.latex?%5Chat%7Br%7D_%7Bp%7D%5E%7Badj%7D"> represents a sample with replacement from the adjusted Pearson residuals and <img src="https://latex.codecogs.com/png.latex?m"> the fitted incremental triangle.</p></li>
<li><p>Create a cumulative triangle using the result from ii., and project future losses using the chain ladder method.</p></li>
<li><p>Incorporate process variance by simulating each future projected incremental loss from a gamma distribution parameterized with mean equal to the projected loss value and variance the loss value times <img src="https://latex.codecogs.com/png.latex?%5Cphi">.</p></li>
<li><p>Cumulate the incremental losses, then compute the total needed reserve as the ultimate projected value minus the latest cumulative loss amount by origin period.</p></li>
</ol></li>
<li><p>Compute desired quantiles of interest from predictive distribution of bootstrap samples.</p></li>
</ol>
<p><br></p>
<p>In what follows each step is demonstrated, along with exhibits to visually assess the distribution of future losses.</p>
<div id="cell-2" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"></span>
<span id="cb1-2"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span>load_ext watermark</span>
<span id="cb1-3"></span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> warnings</span>
<span id="cb1-5"></span>
<span id="cb1-6"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb1-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb1-8"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-9"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> polars <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pl</span>
<span id="cb1-10"></span>
<span id="cb1-11">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb1-12"></span>
<span id="cb1-13">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"display.precision"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb1-14">pd.options.mode.chained_assignment <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb1-15">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.max_columns'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-16">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.width'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-17">warnings.simplefilter(action<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ignore"</span>, category<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">FutureWarning</span>)</span>
<span id="cb1-18"></span>
<span id="cb1-19">pl.Config(tbl_rows<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">30</span>)</span>
<span id="cb1-20">pl.Config(float_precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>)</span>
<span id="cb1-21">pl.Config(tbl_cols<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-22"></span>
<span id="cb1-23"></span>
<span id="cb1-24"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span>watermark <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>python <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>conda <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>hostname <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>machine <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>iversions</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Python implementation: CPython
Python version       : 3.12.8
IPython version      : 8.31.0

conda environment: polars

Compiler    : MSC v.1942 64 bit (AMD64)
OS          : Windows
Release     : 11
Machine     : AMD64
Processor   : Intel64 Family 6 Model 170 Stepping 4, GenuineIntel
CPU cores   : 22
Architecture: 64bit

Hostname: JTRIZPC11

matplotlib: 3.10.0
pandas    : 2.2.3
polars    : 1.20.0
numpy     : 2.2.2
</code></pre>
</div>
</div>
<p>Start by loading the data from GitHub:</p>
<div id="cell-4" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"></span>
<span id="cb3-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Load RAA dataset. </span></span>
<span id="cb3-3">dfraa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pl.read_csv(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"https://gist.githubusercontent.com/jtrive84/976c80786a6e97cce7483e306562f85b/raw/06a5c8b1f823fbe2b6da15f90a672517fa5b4571/RAA.csv"</span>)</span>
<span id="cb3-4">dfraa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfraa.sort(by<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DEV"</span>])</span>
<span id="cb3-5"></span>
<span id="cb3-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Original incremental loss data:"</span>)</span>
<span id="cb3-7"></span>
<span id="cb3-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Subtract 1980 from ORIGIN.</span></span>
<span id="cb3-9">dfraa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfraa.with_columns(pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>).sub(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1980</span>).alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>))</span>
<span id="cb3-10"></span>
<span id="cb3-11">dfraa.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Original incremental loss data:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="2">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (10, 3)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">ORIGIN</th>
<th data-quarto-table-cell-role="th">DEV</th>
<th data-quarto-table-cell-role="th">VALUE</th>
</tr>
<tr class="odd">
<th>i64</th>
<th>i64</th>
<th>i64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>1</td>
<td>5012</td>
</tr>
<tr class="even">
<td>1</td>
<td>2</td>
<td>3257</td>
</tr>
<tr class="odd">
<td>1</td>
<td>3</td>
<td>2638</td>
</tr>
<tr class="even">
<td>1</td>
<td>4</td>
<td>898</td>
</tr>
<tr class="odd">
<td>1</td>
<td>5</td>
<td>1734</td>
</tr>
<tr class="even">
<td>1</td>
<td>6</td>
<td>2642</td>
</tr>
<tr class="odd">
<td>1</td>
<td>7</td>
<td>1828</td>
</tr>
<tr class="even">
<td>1</td>
<td>8</td>
<td>599</td>
</tr>
<tr class="odd">
<td>1</td>
<td>9</td>
<td>54</td>
</tr>
<tr class="even">
<td>1</td>
<td>10</td>
<td>172</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>A number of functions are defined that will be used throughout the remainder of the article. Note that the implementations differ from the Pandas version: <code>to_cum</code> and <code>to_incr</code> accept an optional <code>as_tri</code> argument, which when set to <code>True</code> transforms the table of losses into a DataFrame formatted as a runoff triangle:</p>
<ul>
<li><p><code>to_cum</code>: Accepts an incremental loss DataFrame and returns a cumulative loss DataFrame, optionally structured as a runoff triangle.</p></li>
<li><p><code>to_incr</code>: Accepts a cumulative loss DataFrame and returns an incremental loss DataFrame, optionally structured as a runoff triangle.</p></li>
<li><p><code>get_a2a_factors</code>: Accepts a cumulative triangle and returns the all-year volume weighted age-to-age factors.</p></li>
<li><p><code>get_latest</code>: Accepts a triangle and returns the value at the latest development period by origin.</p></li>
<li><p><code>square_tri</code>: Accepts a cumulative triangle and set of age-to-age factors and projects future losses, populating the lower-right of the original cumulative triangle.</p></li>
</ul>
<p><br></p>
<p>For <code>get_a2a_factors</code>, <code>get_latest</code> and <code>square_tri</code>, a few simplifying assumptions have been made:</p>
<ol type="1">
<li>The triangles under consideration have an equal number of development and origin periods.</li>
<li>Development periods are sequential starting with 1.</li>
<li>No tail factor is included.</li>
</ol>
<div id="cell-6" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"></span>
<span id="cb5-2"></span>
<span id="cb5-3"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> to_tri(df: pl.DataFrame) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-&gt;</span> pl.DataFrame:</span>
<span id="cb5-4">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb5-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Return DataFrame structured as runoff triangle.</span></span>
<span id="cb5-6"></span>
<span id="cb5-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Args:</span></span>
<span id="cb5-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        df: pd.DataFrame</span></span>
<span id="cb5-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">            Loss data with columns ORIGIN, DEV and VALUE.</span></span>
<span id="cb5-10"></span>
<span id="cb5-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns:</span></span>
<span id="cb5-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        pl.DataFrame</span></span>
<span id="cb5-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb5-14">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> df.pivot(index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, on<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DEV"</span>, values<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"VALUE"</span>)</span>
<span id="cb5-15">    </span>
<span id="cb5-16"></span>
<span id="cb5-17"></span>
<span id="cb5-18"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> to_table(tri: pl.DataFrame) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-&gt;</span> pl.DataFrame:</span>
<span id="cb5-19">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb5-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Accepts a DataFrame structured as a triangle and returns the tabular </span></span>
<span id="cb5-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    representation having columns ORIGIN, DEV and VALUE.</span></span>
<span id="cb5-22"></span>
<span id="cb5-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Args:</span></span>
<span id="cb5-24"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        df: pd.DataFrame</span></span>
<span id="cb5-25"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">            Loss data structures as a runoff triangle.</span></span>
<span id="cb5-26"></span>
<span id="cb5-27"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns:</span></span>
<span id="cb5-28"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        pl.DataFrame</span></span>
<span id="cb5-29"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb5-30">    df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.unpivot(tri.columns[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:], index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>], variable_name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DEV"</span>, value_name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"VALUE"</span>)</span>
<span id="cb5-31">    df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.with_columns(pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DEV"</span>).cast(pl.Int32).alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DEV"</span>))</span>
<span id="cb5-32">    df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.sort([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DEV"</span>])</span>
<span id="cb5-33">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> df</span>
<span id="cb5-34"></span>
<span id="cb5-35"></span>
<span id="cb5-36"></span>
<span id="cb5-37"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> to_cum(df: pl.DataFrame, as_tri: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">bool</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-&gt;</span> pl.DataFrame:</span>
<span id="cb5-38">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb5-39"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Accepts a DataFrame of incremental losses and returns a DataFrame</span></span>
<span id="cb5-40"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    of cumulative losses. Optionally return DataFrame as cumulative </span></span>
<span id="cb5-41"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    triangle.</span></span>
<span id="cb5-42"></span>
<span id="cb5-43"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Args:</span></span>
<span id="cb5-44"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        df : pl.DataFrame</span></span>
<span id="cb5-45"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">            Incremental losses.</span></span>
<span id="cb5-46"></span>
<span id="cb5-47"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        as_tri: bool</span></span>
<span id="cb5-48"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">            Should DataFrame be returned as a triangle.</span></span>
<span id="cb5-49"></span>
<span id="cb5-50"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns:</span></span>
<span id="cb5-51"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        pl.DataFrame</span></span>
<span id="cb5-52"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb5-53">    dfc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.with_columns(</span>
<span id="cb5-54">        pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"VALUE"</span>).cum_sum().over(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>).alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"VALUE"</span>)</span>
<span id="cb5-55">    )</span>
<span id="cb5-56">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> as_tri:</span>
<span id="cb5-57">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> to_tri(dfc)</span>
<span id="cb5-58">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb5-59">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> dfc</span>
<span id="cb5-60"></span>
<span id="cb5-61"></span>
<span id="cb5-62"></span>
<span id="cb5-63"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> to_incr(df: pl.DataFrame, as_tri: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">bool</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-&gt;</span> pl.DataFrame:</span>
<span id="cb5-64">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb5-65"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Accepts a DataFrame with cumulative losses and de-cumulates.</span></span>
<span id="cb5-66"></span>
<span id="cb5-67"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Args:</span></span>
<span id="cb5-68"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        ctri : pl.DataFrame</span></span>
<span id="cb5-69"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">            Cumulative losses.</span></span>
<span id="cb5-70"></span>
<span id="cb5-71"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        as_tri : bool</span></span>
<span id="cb5-72"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">            Should DataFrame be returned as a triangle.</span></span>
<span id="cb5-73"></span>
<span id="cb5-74"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns:</span></span>
<span id="cb5-75"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        pl.DataFrame  </span></span>
<span id="cb5-76"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb5-77">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get values at first development period.</span></span>
<span id="cb5-78">    first_devp_values <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">filter</span>(pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DEV"</span>)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>).select(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"VALUE"</span>).to_numpy().flatten()</span>
<span id="cb5-79"></span>
<span id="cb5-80">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute difference of cumulative losses by each origin period.</span></span>
<span id="cb5-81">    df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.with_columns(VALUE<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"VALUE"</span>).diff()).over(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>))</span>
<span id="cb5-82"></span>
<span id="cb5-83">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> as_tri:</span>
<span id="cb5-84">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert to triangle.</span></span>
<span id="cb5-85">        tri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_tri(df)</span>
<span id="cb5-86"></span>
<span id="cb5-87">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set first development period to first_devp_values. </span></span>
<span id="cb5-88">        tri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.with_columns(pl.Series(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"1"</span>, first_devp_values))</span>
<span id="cb5-89">        </span>
<span id="cb5-90">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> tri</span>
<span id="cb5-91">    </span>
<span id="cb5-92">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb5-93">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> df</span>
<span id="cb5-94"></span>
<span id="cb5-95"></span>
<span id="cb5-96"></span>
<span id="cb5-97"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> get_a2a_factors(tri: pl.DataFrame) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-&gt;</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">list</span>[<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">tuple</span>[<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>]]:</span>
<span id="cb5-98">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb5-99"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Calculate all-year volume weighted age-to-age factors. </span></span>
<span id="cb5-100"></span>
<span id="cb5-101"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Args:</span></span>
<span id="cb5-102"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        tri: pl.DataFrame</span></span>
<span id="cb5-103"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">            Cumulative triangle.</span></span>
<span id="cb5-104"></span>
<span id="cb5-105"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns:</span></span>
<span id="cb5-106"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        List of (age-to-age header, age-to-age factor).</span></span>
<span id="cb5-107"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb5-108">    max_origin <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ctri0[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>()</span>
<span id="cb5-109">    all_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.columns[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:]</span>
<span id="cb5-110">    dps0, dps1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> all_devps[:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>], all_devps[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:]</span>
<span id="cb5-111">    a2a_headers <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>ii<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">-</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>jj<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii, jj <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(dps0, dps1)]</span>
<span id="cb5-112">    a2a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb5-113">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> dp0, dp1 <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">reversed</span>(dps0), <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">reversed</span>(dps1)):</span>
<span id="cb5-114">        v1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.select(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(dp0)).to_numpy().flatten()[:(max_origin <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>(dp1) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)]</span>
<span id="cb5-115">        v2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.select(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(dp1)).to_numpy().flatten()[:(max_origin <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>(dp1) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)]</span>
<span id="cb5-116">        a2a.append((np.nansum(v2) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> np.nansum(v1)).item())</span>
<span id="cb5-117">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">list</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(a2a_headers, a2a[::<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]))</span>
<span id="cb5-118">    </span>
<span id="cb5-119">    </span>
<span id="cb5-120"></span>
<span id="cb5-121"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> get_latest(tri: pl.DataFrame) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-&gt;</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">list</span>[<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">tuple</span>[<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>]]:</span>
<span id="cb5-122">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb5-123"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Return the value at the latest development period by origin. </span></span>
<span id="cb5-124"></span>
<span id="cb5-125"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Args:</span></span>
<span id="cb5-126"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        tri : pl.DataFrame</span></span>
<span id="cb5-127"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">            Cumulative or incremental triangle.</span></span>
<span id="cb5-128"></span>
<span id="cb5-129"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns:</span></span>
<span id="cb5-130"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        list of (origin, latest) tuples.</span></span>
<span id="cb5-131"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb5-132">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> tri.columns:</span>
<span id="cb5-133">        tri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.drop(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>)</span>
<span id="cb5-134">    nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.width</span>
<span id="cb5-135">    latest <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [tri[ii, nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>] <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(nbr_devps)]</span>
<span id="cb5-136">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">list</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(tri.columns, latest))</span>
<span id="cb5-137"></span>
<span id="cb5-138"></span>
<span id="cb5-139"></span>
<span id="cb5-140"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> square_tri(tri: pl.DataFrame, a2a: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">list</span>[<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">tuple</span>[<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>]]) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-&gt;</span> pl.DataFrame:</span>
<span id="cb5-141">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb5-142"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Project future losses for `tri` using `a2a`.</span></span>
<span id="cb5-143"></span>
<span id="cb5-144"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Args:</span></span>
<span id="cb5-145"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        tri : pl.DataFrame</span></span>
<span id="cb5-146"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">            Cumulative triangle.</span></span>
<span id="cb5-147"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    </span></span>
<span id="cb5-148"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        a2a: list</span></span>
<span id="cb5-149"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">            Age-to-age factors.</span></span>
<span id="cb5-150"></span>
<span id="cb5-151"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb5-152"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb5-153"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    pl.DataFrame</span></span>
<span id="cb5-154"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Original triangle with projected future losses. </span></span>
<span id="cb5-155"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb5-156">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> tri.columns:</span>
<span id="cb5-157">        sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.drop(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>)</span>
<span id="cb5-158">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb5-159">        sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri</span>
<span id="cb5-160">    _, a2a_values <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>a2a)</span>
<span id="cb5-161">    nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> sqrd.width</span>
<span id="cb5-162">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> r_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(nbr_devps):</span>
<span id="cb5-163">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> c_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> r_idx, nbr_devps):</span>
<span id="cb5-164">            sqrd[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(c_idx <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>  sqrd[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(c_idx)] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> a2a_values[c_idx <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb5-165">    sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> sqrd.with_row_index(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, offset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb5-166">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> sqrd</span>
<span id="cb5-167"></span></code></pre></div>
</div>
<p><br></p>
<p>Create an incremental loss triangle, passing <code>dfraa</code> into <code>to_tri</code>:</p>
<div id="cell-8" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb6-1"></span>
<span id="cb6-2">tri0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_tri(dfraa)</span>
<span id="cb6-3"></span>
<span id="cb6-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Original incremental loss triangle:"</span>)</span>
<span id="cb6-5"></span>
<span id="cb6-6">tri0</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Original incremental loss triangle:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="4">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (10, 11)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">ORIGIN</th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
<tr class="odd">
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>5012</td>
<td>3257</td>
<td>2638</td>
<td>898</td>
<td>1734</td>
<td>2642</td>
<td>1828</td>
<td>599</td>
<td>54</td>
<td>172</td>
</tr>
<tr class="even">
<td>2</td>
<td>106</td>
<td>4179</td>
<td>1111</td>
<td>5270</td>
<td>3116</td>
<td>1817</td>
<td>-103</td>
<td>673</td>
<td>535</td>
<td>null</td>
</tr>
<tr class="odd">
<td>3</td>
<td>3410</td>
<td>5582</td>
<td>4881</td>
<td>2268</td>
<td>2594</td>
<td>3479</td>
<td>649</td>
<td>603</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>4</td>
<td>5655</td>
<td>5900</td>
<td>4211</td>
<td>5500</td>
<td>2159</td>
<td>2658</td>
<td>984</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>5</td>
<td>1092</td>
<td>8473</td>
<td>6271</td>
<td>6333</td>
<td>3786</td>
<td>225</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>6</td>
<td>1513</td>
<td>4932</td>
<td>5257</td>
<td>1233</td>
<td>2917</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>7</td>
<td>557</td>
<td>3463</td>
<td>6926</td>
<td>1368</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>8</td>
<td>1351</td>
<td>5596</td>
<td>6165</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>9</td>
<td>3133</td>
<td>2262</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>10</td>
<td>2063</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>Next we create a cumulative loss triangle using <code>to_cum</code> with <code>as_tri = True</code>:</p>
<div id="cell-10" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb8" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb8-1"></span>
<span id="cb8-2">ctri0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_cum(dfraa, as_tri<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb8-3"></span>
<span id="cb8-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Original cumulative loss triangle:"</span>)</span>
<span id="cb8-5"></span>
<span id="cb8-6">ctri0</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Original cumulative loss triangle:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="5">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (10, 11)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">ORIGIN</th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
<tr class="odd">
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>5012</td>
<td>8269</td>
<td>10907</td>
<td>11805</td>
<td>13539</td>
<td>16181</td>
<td>18009</td>
<td>18608</td>
<td>18662</td>
<td>18834</td>
</tr>
<tr class="even">
<td>2</td>
<td>106</td>
<td>4285</td>
<td>5396</td>
<td>10666</td>
<td>13782</td>
<td>15599</td>
<td>15496</td>
<td>16169</td>
<td>16704</td>
<td>null</td>
</tr>
<tr class="odd">
<td>3</td>
<td>3410</td>
<td>8992</td>
<td>13873</td>
<td>16141</td>
<td>18735</td>
<td>22214</td>
<td>22863</td>
<td>23466</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>4</td>
<td>5655</td>
<td>11555</td>
<td>15766</td>
<td>21266</td>
<td>23425</td>
<td>26083</td>
<td>27067</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>5</td>
<td>1092</td>
<td>9565</td>
<td>15836</td>
<td>22169</td>
<td>25955</td>
<td>26180</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>6</td>
<td>1513</td>
<td>6445</td>
<td>11702</td>
<td>12935</td>
<td>15852</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>7</td>
<td>557</td>
<td>4020</td>
<td>10946</td>
<td>12314</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>8</td>
<td>1351</td>
<td>6947</td>
<td>13112</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>9</td>
<td>3133</td>
<td>5395</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>10</td>
<td>2063</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>Calculate the all-year volume weighted age-to-age factors</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A%5Cbegin%7Baligned%7D%0A%20%20f_%7Bk%7D%20&amp;=%20%5Cfrac%7B%5Csum_%7Bi=1%7D%5E%7Bn-k%7D%0AC_%7Bi,k+1%7D%7D%7B%5Csum_%7Bi=1%7D%5E%7Bn-k%7DC_%7Bi,k%7D%7D%0A%5Cend%7Baligned%7D,%0A"></p>
<p>for development period <img src="https://latex.codecogs.com/png.latex?i">.</p>
<div id="cell-12" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb10-1"></span>
<span id="cb10-2">a2a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_a2a_factors(ctri0)</span>
<span id="cb10-3"></span>
<span id="cb10-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"All-year volume weighted age-to-age factors:"</span>)</span>
<span id="cb10-5"></span>
<span id="cb10-6">a2a</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>All-year volume weighted age-to-age factors:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="6">
<pre><code>[('1-2', 2.9993586513353794),
 ('2-3', 1.6235227537534538),
 ('3-4', 1.2708881150356526),
 ('4-5', 1.1716746330883747),
 ('5-6', 1.113384886206463),
 ('6-7', 1.0419346379110106),
 ('7-8', 1.033263553789384),
 ('8-9', 1.0169364810075625),
 ('9-10', 1.0092165898617511)]</code></pre>
</div>
</div>
<p><br></p>
<p>Although not required here, age-to-ultimate factors can be obtained as follows:</p>
<div id="cell-14" class="cell" data-execution_count="7">
<div class="sourceCode cell-code" id="cb13" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb13-1"></span>
<span id="cb13-2">h, v <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>a2a)</span>
<span id="cb13-3"></span>
<span id="cb13-4">a2u <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.cumprod(v[::<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>])[::<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb13-5"></span>
<span id="cb13-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Age-to-ultimate factors:"</span>)</span>
<span id="cb13-7"></span>
<span id="cb13-8"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">list</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(h, a2u.tolist()))</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Age-to-ultimate factors:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="7">
<pre><code>[('1-2', 8.920233896752476),
 ('2-3', 2.9740470992960426),
 ('3-4', 1.8318481169544962),
 ('4-5', 1.441392121998959),
 ('5-6', 1.2301982831186211),
 ('6-7', 1.104917354599779),
 ('7-8', 1.0604478576650866),
 ('8-9', 1.0263091674684617),
 ('9-10', 1.0092165898617511)]</code></pre>
</div>
</div>
<p><br></p>
<p>Calculate the cumulative fitted triangle by applying backwards recursion, beginning with the observed cumulative losses from the latest diagonal.</p>
<div id="cell-16" class="cell" data-execution_count="8">
<div class="sourceCode cell-code" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb16-1"></span>
<span id="cb16-2">nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ctri0.width <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span></span>
<span id="cb16-3">a2a_headers, a2a_values <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>a2a)</span>
<span id="cb16-4"></span>
<span id="cb16-5"></span>
<span id="cb16-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create empty triangle with same shape as ctri0. </span></span>
<span id="cb16-7">ctri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pl.DataFrame(</span>
<span id="cb16-8">    {<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>i<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>: [np.nan] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> nbr_devps <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> i <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)}</span>
<span id="cb16-9">).with_row_index(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, offset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb16-10"></span>
<span id="cb16-11"></span>
<span id="cb16-12"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> r_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(ctri[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>].shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]):</span>
<span id="cb16-13">    </span>
<span id="cb16-14">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Determine latest development period.</span></span>
<span id="cb16-15">    latest_devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> r_idx</span>
<span id="cb16-16"></span>
<span id="cb16-17">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set latest diagonal of tri to same value as in tri0.</span></span>
<span id="cb16-18">    ctri[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(latest_devp)] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ctri0[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(latest_devp)] </span>
<span id="cb16-19"></span>
<span id="cb16-20">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Use backward recursion to un-develop triangle using a2a_values. </span></span>
<span id="cb16-21">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> devp <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(latest_devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>):</span>
<span id="cb16-22"></span>
<span id="cb16-23">        ctri[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(devp)] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (ctri[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> a2a_values[devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>])</span>
<span id="cb16-24"></span>
<span id="cb16-25"></span>
<span id="cb16-26"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fitted cumulative triangle:"</span>)</span>
<span id="cb16-27"></span>
<span id="cb16-28">ctri</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Fitted cumulative triangle:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="8">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (10, 11)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">ORIGIN</th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
<tr class="odd">
<th>u32</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>2111.3796</td>
<td>6332.7847</td>
<td>10281.4201</td>
<td>13066.5346</td>
<td>15309.7271</td>
<td>17045.6188</td>
<td>17760.4206</td>
<td>18351.1953</td>
<td>18662.0000</td>
<td>18834.0000</td>
</tr>
<tr class="even">
<td>2</td>
<td>1889.8556</td>
<td>5668.3547</td>
<td>9202.7029</td>
<td>11695.6057</td>
<td>13703.4445</td>
<td>15257.2080</td>
<td>15897.0135</td>
<td>16425.8047</td>
<td>16704.0000</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>3</td>
<td>2699.8587</td>
<td>8097.8445</td>
<td>13147.0348</td>
<td>16708.4103</td>
<td>19576.8205</td>
<td>21796.5360</td>
<td>22710.5659</td>
<td>23466.0000</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>4</td>
<td>3217.7567</td>
<td>9651.2063</td>
<td>15668.9531</td>
<td>19913.4862</td>
<td>23332.1267</td>
<td>25977.6372</td>
<td>27067.0000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>5</td>
<td>3242.8226</td>
<td>9726.3881</td>
<td>15791.0124</td>
<td>20068.6100</td>
<td>23513.8813</td>
<td>26180.0000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>6</td>
<td>2186.1650</td>
<td>6557.0929</td>
<td>10645.5896</td>
<td>13529.3532</td>
<td>15852.0000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>7</td>
<td>1989.7800</td>
<td>5968.0637</td>
<td>9689.2872</td>
<td>12314.0000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>8</td>
<td>2692.6640</td>
<td>8076.2650</td>
<td>13112.0000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>9</td>
<td>1798.7179</td>
<td>5395.0000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>10</td>
<td>2063.0000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>Calculate the unscaled Pearson residuals, <img src="https://latex.codecogs.com/png.latex?r_%7Bp%7D">, degrees of freedom <img src="https://latex.codecogs.com/png.latex?DF"> and scale parameter <img src="https://latex.codecogs.com/png.latex?%5Cphi">.</p>
<p>The unscaled Pearson residuals are defined as</p>
<p><img src="https://latex.codecogs.com/png.latex?%0Ar_%7Bp%7D%20=%20%5Cfrac%7BI%20-%20m%7D%7B%5Csqrt%7Bm%7D%7D,%0A"></p>
<p>where <img src="https://latex.codecogs.com/png.latex?I"> represents actual incremental losses and <img src="https://latex.codecogs.com/png.latex?m"> fitted incremental losses.</p>
<p>Polars doesn’t have an equivalent to Pandas <code>df.diff(axis=1)</code>, so the implementation of <code>to_incr</code> is a little more involved than what we saw last post. First, the actual triangle on incremental losses:</p>
<div id="cell-18" class="cell" data-execution_count="9">
<div class="sourceCode cell-code" id="cb18" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb18-1"></span>
<span id="cb18-2"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Actual incremental triangle tri:"</span>)</span>
<span id="cb18-3"></span>
<span id="cb18-4">tri0</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Actual incremental triangle tri:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="9">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (10, 11)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">ORIGIN</th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
<tr class="odd">
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
<th>i64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>5012</td>
<td>3257</td>
<td>2638</td>
<td>898</td>
<td>1734</td>
<td>2642</td>
<td>1828</td>
<td>599</td>
<td>54</td>
<td>172</td>
</tr>
<tr class="even">
<td>2</td>
<td>106</td>
<td>4179</td>
<td>1111</td>
<td>5270</td>
<td>3116</td>
<td>1817</td>
<td>-103</td>
<td>673</td>
<td>535</td>
<td>null</td>
</tr>
<tr class="odd">
<td>3</td>
<td>3410</td>
<td>5582</td>
<td>4881</td>
<td>2268</td>
<td>2594</td>
<td>3479</td>
<td>649</td>
<td>603</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>4</td>
<td>5655</td>
<td>5900</td>
<td>4211</td>
<td>5500</td>
<td>2159</td>
<td>2658</td>
<td>984</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>5</td>
<td>1092</td>
<td>8473</td>
<td>6271</td>
<td>6333</td>
<td>3786</td>
<td>225</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>6</td>
<td>1513</td>
<td>4932</td>
<td>5257</td>
<td>1233</td>
<td>2917</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>7</td>
<td>557</td>
<td>3463</td>
<td>6926</td>
<td>1368</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>8</td>
<td>1351</td>
<td>5596</td>
<td>6165</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>9</td>
<td>3133</td>
<td>2262</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>10</td>
<td>2063</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>And the fitted incremental triangle:</p>
<div id="cell-20" class="cell" data-execution_count="10">
<div class="sourceCode cell-code" id="cb20" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb20-1"></span>
<span id="cb20-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Fitted incremental triangle.</span></span>
<span id="cb20-3">tri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_incr(to_table(ctri), as_tri<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb20-4"></span>
<span id="cb20-5"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fitted incremental triangle tri:"</span>)</span>
<span id="cb20-6"></span>
<span id="cb20-7">tri</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Fitted incremental triangle tri:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="10">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (10, 11)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">ORIGIN</th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
<tr class="odd">
<th>u32</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>2111.3796</td>
<td>4221.4051</td>
<td>3948.6354</td>
<td>2785.1145</td>
<td>2243.1925</td>
<td>1735.8917</td>
<td>714.8019</td>
<td>590.7747</td>
<td>310.8047</td>
<td>172.0000</td>
</tr>
<tr class="even">
<td>2</td>
<td>1889.8556</td>
<td>3778.4991</td>
<td>3534.3481</td>
<td>2492.9028</td>
<td>2007.8388</td>
<td>1553.7635</td>
<td>639.8055</td>
<td>528.7912</td>
<td>278.1953</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>3</td>
<td>2699.8587</td>
<td>5397.9858</td>
<td>5049.1903</td>
<td>3561.3755</td>
<td>2868.4102</td>
<td>2219.7156</td>
<td>914.0298</td>
<td>755.4341</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>4</td>
<td>3217.7567</td>
<td>6433.4496</td>
<td>6017.7467</td>
<td>4244.5332</td>
<td>3418.6404</td>
<td>2645.5105</td>
<td>1089.3628</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>5</td>
<td>3242.8226</td>
<td>6483.5655</td>
<td>6064.6243</td>
<td>4277.5976</td>
<td>3445.2713</td>
<td>2666.1187</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>6</td>
<td>2186.1650</td>
<td>4370.9279</td>
<td>4088.4966</td>
<td>2883.7637</td>
<td>2322.6468</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>7</td>
<td>1989.7800</td>
<td>3978.2838</td>
<td>3721.2235</td>
<td>2624.7128</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>8</td>
<td>2692.6640</td>
<td>5383.6010</td>
<td>5035.7350</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>9</td>
<td>1798.7179</td>
<td>3596.2821</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>10</td>
<td>2063.0000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>The unscaled Pearson residuals are then calculated element-wise:</p>
<div id="cell-22" class="cell" data-execution_count="11">
<div class="sourceCode cell-code" id="cb22" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb22-1"></span>
<span id="cb22-2">numer <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.select(tri0.columns[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:]) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> tri.select(tri.columns[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:]) </span>
<span id="cb22-3">denom <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.select(pl.col(tri0.columns[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:]).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">abs</span>().sqrt())</span>
<span id="cb22-4">r_us <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> numer <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> denom</span>
<span id="cb22-5"></span>
<span id="cb22-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Unscaled Pearson residuals:"</span>)</span>
<span id="cb22-7"></span>
<span id="cb22-8">r_us</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Unscaled Pearson residuals:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="11">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (10, 10)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
<tr class="odd">
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>63.1259</td>
<td>-14.8433</td>
<td>-20.8573</td>
<td>-35.7583</td>
<td>-10.7510</td>
<td>21.7480</td>
<td>41.6370</td>
<td>0.3384</td>
<td>-14.5666</td>
<td>0.0000</td>
</tr>
<tr class="even">
<td>-41.0341</td>
<td>6.5154</td>
<td>-40.7625</td>
<td>55.6209</td>
<td>24.7308</td>
<td>6.6781</td>
<td>-29.3664</td>
<td>6.2712</td>
<td>15.3967</td>
<td>null</td>
</tr>
<tr class="odd">
<td>13.6670</td>
<td>2.5046</td>
<td>-2.3670</td>
<td>-21.6728</td>
<td>-5.1237</td>
<td>26.7285</td>
<td>-8.7663</td>
<td>-5.5461</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>42.9657</td>
<td>-6.6508</td>
<td>-23.2906</td>
<td>19.2704</td>
<td>-21.5437</td>
<td>0.2428</td>
<td>-3.1923</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>-37.7697</td>
<td>24.7072</td>
<td>2.6501</td>
<td>31.4266</td>
<td>5.8049</td>
<td>-47.2769</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>-14.3973</td>
<td>8.4866</td>
<td>18.2746</td>
<td>-30.7401</td>
<td>12.3326</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>-32.1201</td>
<td>-8.1696</td>
<td>52.5357</td>
<td>-24.5299</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>-25.8555</td>
<td>2.8948</td>
<td>15.9135</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>31.4605</td>
<td>-22.2495</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>0.0000</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p><img src="https://latex.codecogs.com/png.latex?DF%20=%20n%20-%20p">, where <img src="https://latex.codecogs.com/png.latex?n"> is the number of populated cells in the original triangle and <img src="https://latex.codecogs.com/png.latex?p"> the number of parameters in the chain ladder model (10 for origin period and 9 for development period):</p>
<div id="cell-24" class="cell" data-execution_count="12">
<div class="sourceCode cell-code" id="cb24" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb24-1"></span>
<span id="cb24-2">n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.count().<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().to_numpy().flatten()[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().item()</span>
<span id="cb24-3">p <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.height <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> tri0.width <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb24-4">DF <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> p</span>
<span id="cb24-5"></span>
<span id="cb24-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Degrees of freedom: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>DF<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">."</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Degrees of freedom: 36.</code></pre>
</div>
</div>
<p><br></p>
<p>The scale parameter <img src="https://latex.codecogs.com/png.latex?%5Cphi"> is the sum of the squared unscaled Pearson residuals over the degrees of freedom:</p>
<div id="cell-26" class="cell" data-execution_count="13">
<div class="sourceCode cell-code" id="cb26" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb26-1"></span>
<span id="cb26-2">phi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> r_us.with_columns(pl.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">all</span>().<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">pow</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().to_numpy().flatten().<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().item() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> DF</span>
<span id="cb26-3"></span>
<span id="cb26-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Scale parameter: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>phi<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.3f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">."</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Scale parameter: 983.635.</code></pre>
</div>
</div>
<p><br></p>
<p>Calculate the adjusted Pearson residuals, <img src="https://latex.codecogs.com/png.latex?r_%7Bp%7D%5E%7B%7Badj%7D%7D">, defined as:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0Ar_%7Bp%7D%5E%7B%7Badj%7D%7D%20=%20%5Csqrt%7B%5Cfrac%7Bn%7D%7BDF%7D%7D%20%5Ctimes%20r_%7Bp%7D%0A"></p>
<div id="cell-28" class="cell" data-execution_count="14">
<div class="sourceCode cell-code" id="cb28" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb28-1"></span>
<span id="cb28-2">r_adj <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.sqrt(n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> DF).item() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> r_us  </span>
<span id="cb28-3"></span>
<span id="cb28-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Adjusted Pearson residuals:"</span>)</span>
<span id="cb28-5"></span>
<span id="cb28-6">r_adj</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Adjusted Pearson residuals:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="14">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (10, 10)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
<tr class="odd">
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>78.0257</td>
<td>-18.3468</td>
<td>-25.7803</td>
<td>-44.1984</td>
<td>-13.2886</td>
<td>26.8812</td>
<td>51.4647</td>
<td>0.4183</td>
<td>-18.0048</td>
<td>0.0000</td>
</tr>
<tr class="even">
<td>-50.7196</td>
<td>8.0533</td>
<td>-50.3838</td>
<td>68.7493</td>
<td>30.5681</td>
<td>8.2544</td>
<td>-36.2979</td>
<td>7.7514</td>
<td>19.0308</td>
<td>null</td>
</tr>
<tr class="odd">
<td>16.8929</td>
<td>3.0957</td>
<td>-2.9256</td>
<td>-26.7883</td>
<td>-6.3330</td>
<td>33.0374</td>
<td>-10.8354</td>
<td>-6.8551</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>53.1071</td>
<td>-8.2206</td>
<td>-28.7879</td>
<td>23.8188</td>
<td>-26.6287</td>
<td>0.3001</td>
<td>-3.9458</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>-46.6845</td>
<td>30.5389</td>
<td>3.2756</td>
<td>38.8443</td>
<td>7.1751</td>
<td>-58.4358</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>-17.7955</td>
<td>10.4897</td>
<td>22.5880</td>
<td>-37.9958</td>
<td>15.2434</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>-39.7015</td>
<td>-10.0978</td>
<td>64.9359</td>
<td>-30.3197</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>-31.9582</td>
<td>3.5780</td>
<td>19.6696</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="odd">
<td>38.8863</td>
<td>-27.5012</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
<tr class="even">
<td>0.0000</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>(From this point each subsequent step is repeated up to the desired number of bootstrap samples.)</p>
<p>Generate a sample from the adjusted Pearson residuals with replacement:</p>
<div id="cell-30" class="cell" data-execution_count="15">
<div class="sourceCode cell-code" id="cb30" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb30-1"></span>
<span id="cb30-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set random seed for reproducibility.</span></span>
<span id="cb30-3">rng <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.random.default_rng(seed<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">516</span>)</span>
<span id="cb30-4"></span>
<span id="cb30-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Represent adjusted residuals as Numpy array with nans and 0s removed.</span></span>
<span id="cb30-6">r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> r_adj[:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, :<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].to_numpy().flatten()</span>
<span id="cb30-7">r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> r[np.logical_and(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>np.isnan(r), r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)] </span>
<span id="cb30-8"></span>
<span id="cb30-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sample tri0.shape[0] * tri0.shape[1] values at each iteration, but only</span></span>
<span id="cb30-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># keep values in upper left portion of triangle. Use mask to determine </span></span>
<span id="cb30-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># which values to retain.</span></span>
<span id="cb30-12">mask <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>np.isnan(tri[:,<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:])</span>
<span id="cb30-13"></span>
<span id="cb30-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sample with replacement from adjusted residuals. </span></span>
<span id="cb30-15">s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rng.choice(r, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>mask.shape, replace<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb30-16"></span>
<span id="cb30-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># # Replace 0s with nans.</span></span>
<span id="cb30-18">s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> mask <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> s_r</span>
<span id="cb30-19">s_r[s_r<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.nan</span>
<span id="cb30-20">s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pl.from_numpy(s_r, schema<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(i) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> i <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)])</span>
<span id="cb30-21"></span>
<span id="cb30-22"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Sample with replacement from adjusted Pearson residuals:"</span>)</span>
<span id="cb30-23"></span>
<span id="cb30-24">s_r</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Sample with replacement from adjusted Pearson residuals:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="15">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (10, 10)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
<tr class="odd">
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>-50.3838</td>
<td>-13.2886</td>
<td>7.1751</td>
<td>30.5389</td>
<td>26.8812</td>
<td>-18.3468</td>
<td>-58.4358</td>
<td>33.0374</td>
<td>10.4897</td>
<td>7.1751</td>
</tr>
<tr class="even">
<td>-10.0978</td>
<td>8.2544</td>
<td>-26.7883</td>
<td>0.4183</td>
<td>78.0257</td>
<td>-58.4358</td>
<td>38.8443</td>
<td>-30.3197</td>
<td>19.6696</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>-27.5012</td>
<td>38.8443</td>
<td>-58.4358</td>
<td>-6.3330</td>
<td>7.1751</td>
<td>-27.5012</td>
<td>0.4183</td>
<td>-50.7196</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>-44.1984</td>
<td>8.0533</td>
<td>-37.9958</td>
<td>-27.5012</td>
<td>38.8443</td>
<td>-25.7803</td>
<td>-30.3197</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>19.0308</td>
<td>-3.9458</td>
<td>-26.7883</td>
<td>-2.9256</td>
<td>38.8863</td>
<td>7.7514</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>30.5681</td>
<td>-27.5012</td>
<td>26.8812</td>
<td>8.2544</td>
<td>38.8443</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>-39.7015</td>
<td>-17.7955</td>
<td>-18.3468</td>
<td>-10.8354</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>22.5880</td>
<td>-18.0048</td>
<td>3.0957</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>-25.7803</td>
<td>-26.7883</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>0.4183</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>Using the sampled adjusted Pearson residuals and fitted incremental triangle <img src="https://latex.codecogs.com/png.latex?m">, construct the triangle of sampled incremental losses <img src="https://latex.codecogs.com/png.latex?%7BI_%7Bi%7D%7D">:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0AI_%7Bi%7D%20=%20m%20+%20%5Chat%7Br%7D_%7Bp%7D%5E%7Badj%7D%20%5Csqrt%7Bm%7D,%0A"></p>
<p>where <img src="https://latex.codecogs.com/png.latex?%5Chat%7Br%7D_%7Bp%7D%5E%7Badj%7D"> represents a sample with replacement from the adjusted Pearson residuals and <img src="https://latex.codecogs.com/png.latex?m"> the fitted incremental triangle:</p>
<div id="cell-32" class="cell" data-execution_count="16">
<div class="sourceCode cell-code" id="cb32" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb32-1"></span>
<span id="cb32-2">tri_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri[:,<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> tri.select(pl.col(tri.columns[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:]).sqrt())</span>
<span id="cb32-3">tri_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri_ii.with_row_index(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, offset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb32-4"></span>
<span id="cb32-5"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Triangle of sampled incremental loss tri_ii:"</span>)</span>
<span id="cb32-6"></span>
<span id="cb32-7">tri_ii</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Triangle of sampled incremental loss tri_ii:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="16">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (10, 11)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">ORIGIN</th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
<tr class="odd">
<th>u32</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>-203.7452</td>
<td>3358.0144</td>
<td>4399.5047</td>
<td>4396.7778</td>
<td>3516.3502</td>
<td>971.4887</td>
<td>-847.5257</td>
<td>1393.7759</td>
<td>495.7340</td>
<td>266.1004</td>
</tr>
<tr class="even">
<td>2</td>
<td>1450.8774</td>
<td>4285.8909</td>
<td>1941.7709</td>
<td>2513.7873</td>
<td>5504.0870</td>
<td>-749.6490</td>
<td>1622.3472</td>
<td>-168.4248</td>
<td>606.2675</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>3</td>
<td>1270.8943</td>
<td>8251.9128</td>
<td>896.8769</td>
<td>3183.4392</td>
<td>3252.6902</td>
<td>924.0302</td>
<td>926.6758</td>
<td>-638.6012</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>4</td>
<td>710.5888</td>
<td>7079.3951</td>
<td>3070.2582</td>
<td>2452.8309</td>
<td>5689.8317</td>
<td>1319.5115</td>
<td>88.6453</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>5</td>
<td>4326.5491</td>
<td>6165.8502</td>
<td>3978.4635</td>
<td>4086.2513</td>
<td>5727.7564</td>
<td>3066.3579</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>6</td>
<td>3615.4212</td>
<td>2552.7444</td>
<td>5807.3180</td>
<td>3327.0288</td>
<td>4194.7016</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>7</td>
<td>218.8165</td>
<td>2855.8569</td>
<td>2602.0332</td>
<td>2069.5944</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>8</td>
<td>3864.7765</td>
<td>4062.5315</td>
<td>5255.4183</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td>9</td>
<td>705.3407</td>
<td>1989.8118</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td>10</td>
<td>2081.9985</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>Create a cumulative triangle, and project future losses using the chain ladder method:</p>
<div id="cell-34" class="cell" data-execution_count="17">
<div class="sourceCode cell-code" id="cb34" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb34-1"></span>
<span id="cb34-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create cumulative triangle from sampled incremental losses.</span></span>
<span id="cb34-3">ctri_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_cum(to_table(tri_ii), as_tri<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb34-4"></span>
<span id="cb34-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get age-to-age factors for sampled cumulative triangle.</span></span>
<span id="cb34-6">a2a_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_a2a_factors(ctri_ii)</span>
<span id="cb34-7"></span>
<span id="cb34-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Square ctri_ii, populating the lower-right side using a2a_ii.</span></span>
<span id="cb34-9">ctri_ii_sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> square_tri(ctri_ii, a2a_ii)</span>
<span id="cb34-10"></span>
<span id="cb34-11"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Completed sampled triangle ctri_ii_sqrd:"</span>)</span>
<span id="cb34-12"></span>
<span id="cb34-13">ctri_ii_sqrd</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Completed sampled triangle ctri_ii_sqrd:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="17">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (10, 11)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">ORIGIN</th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
<tr class="odd">
<th>u32</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>-203.7452</td>
<td>3154.2692</td>
<td>7553.7739</td>
<td>11950.5517</td>
<td>15466.9019</td>
<td>16438.3906</td>
<td>15590.8649</td>
<td>16984.6408</td>
<td>17480.3748</td>
<td>17746.4752</td>
</tr>
<tr class="even">
<td>2</td>
<td>1450.8774</td>
<td>5736.7683</td>
<td>7678.5392</td>
<td>10192.3265</td>
<td>15696.4135</td>
<td>14946.7645</td>
<td>16569.1116</td>
<td>16400.6868</td>
<td>17006.9544</td>
<td>17265.8480</td>
</tr>
<tr class="odd">
<td>3</td>
<td>1270.8943</td>
<td>9522.8071</td>
<td>10419.6840</td>
<td>13603.1232</td>
<td>16855.8134</td>
<td>17779.8436</td>
<td>18706.5194</td>
<td>18067.9182</td>
<td>18664.3141</td>
<td>18948.4374</td>
</tr>
<tr class="even">
<td>4</td>
<td>710.5888</td>
<td>7789.9839</td>
<td>10860.2421</td>
<td>13313.0730</td>
<td>19002.9047</td>
<td>20322.4162</td>
<td>20411.0615</td>
<td>20646.5050</td>
<td>21328.0164</td>
<td>21652.6887</td>
</tr>
<tr class="odd">
<td>5</td>
<td>4326.5491</td>
<td>10492.3993</td>
<td>14470.8628</td>
<td>18557.1141</td>
<td>24284.8704</td>
<td>27351.2284</td>
<td>28055.8538</td>
<td>28379.4807</td>
<td>29316.2465</td>
<td>29762.5220</td>
</tr>
<tr class="even">
<td>6</td>
<td>3615.4212</td>
<td>6168.1656</td>
<td>11975.4836</td>
<td>15302.5124</td>
<td>19497.2140</td>
<td>20678.4336</td>
<td>21211.1538</td>
<td>21455.8265</td>
<td>22164.0523</td>
<td>22501.4514</td>
</tr>
<tr class="odd">
<td>7</td>
<td>218.8165</td>
<td>3074.6735</td>
<td>5676.7067</td>
<td>7746.3011</td>
<td>10351.3688</td>
<td>10978.4964</td>
<td>11261.3256</td>
<td>11391.2261</td>
<td>11767.2341</td>
<td>11946.3644</td>
</tr>
<tr class="even">
<td>8</td>
<td>3864.7765</td>
<td>7927.3080</td>
<td>13182.7263</td>
<td>17413.9552</td>
<td>23270.2385</td>
<td>24680.0431</td>
<td>25315.8531</td>
<td>25607.8739</td>
<td>26453.1529</td>
<td>26855.8442</td>
</tr>
<tr class="odd">
<td>9</td>
<td>705.3407</td>
<td>2695.1525</td>
<td>4093.6863</td>
<td>5407.6272</td>
<td>7226.2030</td>
<td>7663.9954</td>
<td>7861.4361</td>
<td>7952.1185</td>
<td>8214.6065</td>
<td>8339.6559</td>
</tr>
<tr class="even">
<td>10</td>
<td>2081.9985</td>
<td>7378.7321</td>
<td>11207.6084</td>
<td>14804.8883</td>
<td>19783.7469</td>
<td>20982.3259</td>
<td>21522.8749</td>
<td>21771.1433</td>
<td>22489.7774</td>
<td>22832.1349</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>So far we’ve accounted for parameter variance, but not process variance. In order to obtain the full prediction error, we need to incorporate process variance into our estimates. This is accomplished by simulating incremental projected losses from a gamma distribution. For each cell in the lower right of the completed triangle, we randomly sample from a gamma distribution with mean equal to the projected incremental loss in that cell, and variance equal to the value in that cell times <img src="https://latex.codecogs.com/png.latex?%5Cphi">. For example, consider the following squared incremental triangle:</p>
<pre><code>      1  2  3  4  5  6  7  8  9  10
1991  84 27  6  6  3  0  2 -1 -0  2
1992 109 33  7  2  4  4  1 -1  1  2
1993  86 28  8  4  3  2 -0  1  0  2
1994 113 32  1  4  3  2 -1 -0  0  2
1995  86 26  6  3  2  2  0 -0  0  2
1996 107 39  7  4  4  2  1 -0  0  2
1997  72 26  2  3  2  2  0 -0  0  1
1998  77 21  3  3  2  2  0 -0  0  1
1999  74 28  4  3  2  2  0 -0  0  1
2000  54 17  3  2  2  1  0 -0  0  1</code></pre>
<p><br></p>
<p>Values to the right of the main diagonal represent projected future losses. For the loss at origin = 2000 and development period = 2, the projected incremental loss is 17. We would therefore sample from a gamma distribution parameterized as follows:</p>
<div class="sourceCode" id="cb37" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb37-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> numpy.random <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> gamma</span>
<span id="cb37-2"></span>
<span id="cb37-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Computed above. </span></span>
<span id="cb37-4">phi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.798</span> </span>
<span id="cb37-5"></span>
<span id="cb37-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Value at intersection of origin=2000 and development period = 2.</span></span>
<span id="cb37-7">mu <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">17</span></span>
<span id="cb37-8"></span>
<span id="cb37-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Determine shape and scale from mean and variance.</span></span>
<span id="cb37-10">shape <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> mu<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (phi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> mu)</span>
<span id="cb37-11">scale <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (phi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> mu) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> mu</span>
<span id="cb37-12"></span>
<span id="cb37-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Generate sample from gamma distribution.</span></span>
<span id="cb37-14">rng.gamma(shape<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>shape, scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>scale, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb37-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># array([19.29149])</span></span></code></pre></div>
<p><br></p>
<p>We take advantage of the fact that for the gamma distribution, the shape parameter <img src="https://latex.codecogs.com/png.latex?%5Calpha%20=%20E%5BX%5D%5E%7B2%7D%20/%20%5Cmathrm%7BVar%7D%5BX%5D"> and scale <img src="https://latex.codecogs.com/png.latex?%5Ctheta%20=%20%5Cmathrm%7BVar%7D%5BX%5D%20/%20E%5BX%5D">. In essence, we are simulating future incremental losses from a series a gamma distributions, each with parameterization based on the chain ladder-derived future incremental losses. To handle cases in which a projected incremental loss might be negative, we take the absolute value of the projected loss when determining <img src="https://latex.codecogs.com/png.latex?%5Calpha_%7Bij%7D"> and <img src="https://latex.codecogs.com/png.latex?%5Ctheta_%7Bij%7D"> for origin period <img src="https://latex.codecogs.com/png.latex?i">, development period <img src="https://latex.codecogs.com/png.latex?j">, where <img src="https://latex.codecogs.com/png.latex?2%20%5Cleq%20i%20%5Cleq%20n"> and <img src="https://latex.codecogs.com/png.latex?j%20%5Cgeq%20n%20-%20i%20+%202">.</p>
<div id="cell-36" class="cell" data-execution_count="18">
<div class="sourceCode cell-code" id="cb38" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb38-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb38-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">Incorporation of process variance. </span></span>
<span id="cb38-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb38-4"></span>
<span id="cb38-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> numpy.random <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> gamma</span>
<span id="cb38-6"></span>
<span id="cb38-7"></span>
<span id="cb38-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get sampled squared incremental triangle.</span></span>
<span id="cb38-9">tri_ii_sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_incr(to_table(ctri_ii_sqrd), as_tri<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>).drop(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>)</span>
<span id="cb38-10"></span>
<span id="cb38-11"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> r_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(nbr_devps):</span>
<span id="cb38-12"></span>
<span id="cb38-13">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> c_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> r_idx, nbr_devps):</span>
<span id="cb38-14">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get mean and variance using incremental loss value.</span></span>
<span id="cb38-15">        m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">abs</span>(tri_ii_sqrd[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(c_idx)])</span>
<span id="cb38-16">        v <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> phi</span>
<span id="cb38-17"></span>
<span id="cb38-18">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Determine shape and scale parameters. </span></span>
<span id="cb38-19">        shape <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> m<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> v</span>
<span id="cb38-20">        scale <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> v <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> m</span>
<span id="cb38-21"></span>
<span id="cb38-22">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Update value at [r_idx, c_idx] with sample from gamma distribution.</span></span>
<span id="cb38-23">        tri_ii_sqrd[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(c_idx)] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rng.gamma(shape<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>shape, scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>scale, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>).item()</span>
<span id="cb38-24"></span>
<span id="cb38-25"></span>
<span id="cb38-26"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Sampled incremental triangle w/ process variance:"</span>)</span>
<span id="cb38-27"></span>
<span id="cb38-28">tri_ii_sqrd</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Sampled incremental triangle w/ process variance:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="18">
<div><style>
.dataframe > thead > tr,
.dataframe > tbody > tr {
  text-align: right;
  white-space: pre-wrap;
}
</style>
<small>shape: (10, 10)</small>
<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
<tr class="odd">
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
<th>f64</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>-203.7452</td>
<td>3358.0144</td>
<td>4399.5047</td>
<td>4396.7778</td>
<td>3516.3502</td>
<td>971.4887</td>
<td>-847.5257</td>
<td>1393.7759</td>
<td>495.7340</td>
<td>266.1004</td>
</tr>
<tr class="even">
<td>1450.8774</td>
<td>4285.8909</td>
<td>1941.7709</td>
<td>2513.7873</td>
<td>5504.0870</td>
<td>-749.6490</td>
<td>1622.3472</td>
<td>-168.4248</td>
<td>5.6818</td>
<td>258.8936</td>
</tr>
<tr class="odd">
<td>1270.8943</td>
<td>8251.9128</td>
<td>896.8769</td>
<td>3183.4392</td>
<td>3252.6902</td>
<td>924.0302</td>
<td>926.6758</td>
<td>261.2162</td>
<td>45.4568</td>
<td>284.1233</td>
</tr>
<tr class="even">
<td>710.5888</td>
<td>7079.3951</td>
<td>3070.2582</td>
<td>2452.8309</td>
<td>5689.8317</td>
<td>1319.5115</td>
<td>0.0000</td>
<td>1187.7049</td>
<td>138.5052</td>
<td>324.6723</td>
</tr>
<tr class="odd">
<td>4326.5491</td>
<td>6165.8502</td>
<td>3978.4635</td>
<td>4086.2513</td>
<td>5727.7564</td>
<td>2287.3879</td>
<td>375.7417</td>
<td>20.5246</td>
<td>624.2870</td>
<td>446.2756</td>
</tr>
<tr class="even">
<td>3615.4212</td>
<td>2552.7444</td>
<td>5807.3180</td>
<td>3327.0288</td>
<td>3960.9182</td>
<td>218.8131</td>
<td>10.1640</td>
<td>14.2730</td>
<td>306.6162</td>
<td>337.3991</td>
</tr>
<tr class="odd">
<td>218.8165</td>
<td>2855.8569</td>
<td>2602.0332</td>
<td>1195.7353</td>
<td>962.9821</td>
<td>160.2781</td>
<td>418.3009</td>
<td>0.0000</td>
<td>14.9545</td>
<td>179.1303</td>
</tr>
<tr class="even">
<td>3864.7765</td>
<td>4062.5315</td>
<td>8917.8595</td>
<td>1226.2463</td>
<td>3936.2469</td>
<td>2824.7474</td>
<td>827.3206</td>
<td>4.3581</td>
<td>84.7208</td>
<td>402.6913</td>
</tr>
<tr class="odd">
<td>705.3407</td>
<td>1146.8776</td>
<td>1215.0414</td>
<td>619.7826</td>
<td>3797.3911</td>
<td>796.3057</td>
<td>8.3274</td>
<td>2.0791</td>
<td>0.2504</td>
<td>125.0494</td>
</tr>
<tr class="even">
<td>2713.2565</td>
<td>3260.8427</td>
<td>1892.6994</td>
<td>2777.3152</td>
<td>1124.3156</td>
<td>720.6907</td>
<td>10.0764</td>
<td>7.8274</td>
<td>299.7176</td>
<td>342.3576</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<p><br></p>
<p>From this point, we proceed exactly as if performing a standard chain ladder analysis: Cumulate incremental losses, then compute the total needed reserve as the ultimate projected value minus the latest cumulative loss amount by origin period. In the next cell we convert <code>latest_values</code> to a numpy array to simplify differencing with ultimates, but this can also be computed element-wise in a list comprehension:</p>
<div id="cell-38" class="cell" data-execution_count="19">
<div class="sourceCode cell-code" id="cb40" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb40-1"></span>
<span id="cb40-2">tri_ii_sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri_ii_sqrd.with_row_index(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, offset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb40-3">ctri_ii_sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_cum(to_table(tri_ii_sqrd), as_tri<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb40-4">latest_origin, latest_values <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>get_latest(ctri_ii_sqrd))</span>
<span id="cb40-5">latest_values <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.asarray(latest_values)</span>
<span id="cb40-6">ultimates <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ctri_ii_sqrd[:, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].to_numpy().flatten()</span>
<span id="cb40-7">ibnr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (ultimates <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> latest_values).tolist()</span>
<span id="cb40-8"></span>
<span id="cb40-9"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"IBNR:"</span>)</span>
<span id="cb40-10"></span>
<span id="cb40-11">ibnr</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>IBNR:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="19">
<pre><code>[0.0,
 258.89359253426665,
 329.5800615108092,
 1650.8823904054043,
 1466.8288652047886,
 887.2653700652991,
 1735.6459265833819,
 9306.331478679494,
 6564.227039438123,
 10435.842507396274]</code></pre>
</div>
</div>
<p>The preceding steps are repeated for the desired number of bootstrap samples, resulting in the predictive distribution of total needed reserve by origin period and in aggregate.</p>
<p><br></p>
<section id="bringing-it-all-together" class="level3">
<h3 class="anchored" data-anchor-id="bringing-it-all-together">Bringing it All Together</h3>
<p>The steps outlined above are combined in the next cell to run 1000 bootstrap iterations, generating the predictive distribution of reserves. We also present code to visualize the predictive distribution by origin period and in aggregate.</p>
<div id="cell-40" class="cell" data-execution_count="20">
<div class="sourceCode cell-code" id="cb43" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb43-1"></span>
<span id="cb43-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb43-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb43-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> numpy.random <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> gamma</span>
<span id="cb43-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> polars <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pl</span>
<span id="cb43-6"></span>
<span id="cb43-7">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb43-8">pl.Config(tbl_rows<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">30</span>)</span>
<span id="cb43-9">pl.Config(float_precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>)</span>
<span id="cb43-10">pl.Config(tbl_cols<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb43-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set random seed for reproducibility.</span></span>
<span id="cb43-12">rng <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.random.default_rng(seed<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">516</span>)</span>
<span id="cb43-13"></span>
<span id="cb43-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Number of bootstrap samples.</span></span>
<span id="cb43-15">nbr_samples <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span></span>
<span id="cb43-16"></span>
<span id="cb43-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Load tabular incremental losses. Convert to incremental triangle. </span></span>
<span id="cb43-18">dfraa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pl.read_csv(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"https://gist.githubusercontent.com/jtrive84/976c80786a6e97cce7483e306562f85b/raw/06a5c8b1f823fbe2b6da15f90a672517fa5b4571/RAA.csv"</span>)</span>
<span id="cb43-19">dfraa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfraa.sort(by<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DEV"</span>])</span>
<span id="cb43-20">dfraa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfraa.with_columns(pl.col(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>).sub(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1980</span>).alias(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>))</span>
<span id="cb43-21">tri0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_tri(dfraa)</span>
<span id="cb43-22">nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.width <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span></span>
<span id="cb43-23">mask <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>np.isnan(tri0[:,<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:])</span>
<span id="cb43-24"></span>
<span id="cb43-25"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create cumulative triangle from original losses.</span></span>
<span id="cb43-26">ctri0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_cum(dfraa, as_tri<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb43-27"></span>
<span id="cb43-28"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># All-year volume-weighted age-to-age factors.</span></span>
<span id="cb43-29">a2a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_a2a_factors(ctri0)</span>
<span id="cb43-30"></span>
<span id="cb43-31"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cumulative fitted triangle via backwards recursion.</span></span>
<span id="cb43-32">a2a_headers, a2a_values <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>a2a)</span>
<span id="cb43-33"></span>
<span id="cb43-34"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create empty triangle with same shape as ctri0. </span></span>
<span id="cb43-35">ctri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pl.DataFrame(</span>
<span id="cb43-36">    {<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>i<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>: [np.nan] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> nbr_devps <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> i <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)}</span>
<span id="cb43-37">).with_row_index(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, offset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb43-38"></span>
<span id="cb43-39"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> r_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(ctri[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>].shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]):</span>
<span id="cb43-40"></span>
<span id="cb43-41">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Determine latest development period.</span></span>
<span id="cb43-42">    latest_devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> r_idx</span>
<span id="cb43-43"></span>
<span id="cb43-44">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set latest diagonal of tri to same value as in tri0.</span></span>
<span id="cb43-45">    ctri[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(latest_devp)] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ctri0[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(latest_devp)] </span>
<span id="cb43-46"></span>
<span id="cb43-47">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Use backward recursion to un-develop triangle using a2a_values. </span></span>
<span id="cb43-48">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> devp <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(latest_devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>):</span>
<span id="cb43-49">        ctri[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(devp)] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (ctri[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> a2a_values[devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>])</span>
<span id="cb43-50"></span>
<span id="cb43-51"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Incremental fitted triangle.</span></span>
<span id="cb43-52">tri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_incr(to_table(ctri), as_tri<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb43-53"></span>
<span id="cb43-54"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Unscaled Pearson residuals.</span></span>
<span id="cb43-55">numer <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.select(tri0.columns[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:]) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> tri.select(tri.columns[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:]) </span>
<span id="cb43-56">denom <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.select(pl.col(tri0.columns[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:]).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">abs</span>().sqrt())</span>
<span id="cb43-57">r_us <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> numer <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> denom</span>
<span id="cb43-58"></span>
<span id="cb43-59"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Degrees of freedom.</span></span>
<span id="cb43-60">n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.count().<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().to_numpy().flatten()[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().item()</span>
<span id="cb43-61">p <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.height <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> tri0.width <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb43-62">DF <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> p</span>
<span id="cb43-63"></span>
<span id="cb43-64"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Scale parameter.</span></span>
<span id="cb43-65">phi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> r_us.with_columns(pl.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">all</span>().<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">pow</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().to_numpy().flatten().<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().item() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> DF</span>
<span id="cb43-66"></span>
<span id="cb43-67"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Adjusted Pearson residuals.</span></span>
<span id="cb43-68">r_adj <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.sqrt(n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> DF).item() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> r_us  </span>
<span id="cb43-69"></span>
<span id="cb43-70"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create sampling distribution from adjusted Pearson residuals. Remove</span></span>
<span id="cb43-71"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># nans and 0s. </span></span>
<span id="cb43-72">r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> r_adj[:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, :<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].to_numpy().flatten()</span>
<span id="cb43-73">r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> r[np.logical_and(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>np.isnan(r), r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)] </span>
<span id="cb43-74"></span>
<span id="cb43-75"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sample tri0.width * tri0.height values at each iteration, but only</span></span>
<span id="cb43-76"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># keep values in upper left portion of triangle. Use mask to determine </span></span>
<span id="cb43-77"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># which values to retain.</span></span>
<span id="cb43-78">sqrd_ctris <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb43-79"></span>
<span id="cb43-80"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(nbr_samples):</span>
<span id="cb43-81"></span>
<span id="cb43-82">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sample with replacement from adjusted residuals. </span></span>
<span id="cb43-83">    s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rng.choice(r, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>mask.shape, replace<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb43-84">    s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> mask <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> s_r</span>
<span id="cb43-85">    s_r[s_r<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.nan</span>
<span id="cb43-86">    s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pl.from_numpy(s_r, schema<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(i) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> i <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)])</span>
<span id="cb43-87"></span>
<span id="cb43-88">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sampled incremental triangle.</span></span>
<span id="cb43-89">    tri_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri[:,<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> tri.select(pl.col(tri.columns[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:]).sqrt())</span>
<span id="cb43-90">    tri_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri_ii.with_row_index(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, offset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb43-91"></span>
<span id="cb43-92">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sampled cumulative triangle.</span></span>
<span id="cb43-93">    ctri_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_cum(to_table(tri_ii), as_tri<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb43-94"></span>
<span id="cb43-95">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Age-to-age factors for sampled cumulative triangle.</span></span>
<span id="cb43-96">    a2a_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_a2a_factors(ctri_ii)</span>
<span id="cb43-97"></span>
<span id="cb43-98">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sampled squared cumulative triangle.</span></span>
<span id="cb43-99">    ctri_ii_sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> square_tri(ctri_ii, a2a_ii)</span>
<span id="cb43-100"></span>
<span id="cb43-101">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sampled squared incremental triangle.</span></span>
<span id="cb43-102">    tri_ii_sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_incr(to_table(ctri_ii_sqrd), as_tri<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb43-103"></span>
<span id="cb43-104">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Incorporate process variance.</span></span>
<span id="cb43-105">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> r_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(nbr_devps):</span>
<span id="cb43-106">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> c_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> r_idx, nbr_devps):</span>
<span id="cb43-107">            <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get mean and variance using incremental loss value.</span></span>
<span id="cb43-108">            m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">abs</span>(tri_ii_sqrd[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(c_idx)])</span>
<span id="cb43-109">            v <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> phi</span>
<span id="cb43-110"></span>
<span id="cb43-111">            <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Determine shape and scale parameters. </span></span>
<span id="cb43-112">            shape <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> m<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> v</span>
<span id="cb43-113">            scale <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> v <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> m</span>
<span id="cb43-114"></span>
<span id="cb43-115">            <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Update value at [r_idx, c_idx] with sample from gamma distribution.</span></span>
<span id="cb43-116">            tri_ii_sqrd[r_idx, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(c_idx)] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rng.gamma(shape<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>shape, scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>scale, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>).item()</span>
<span id="cb43-117"></span>
<span id="cb43-118">    ctri_ii_sqrd2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_cum(to_table(tri_ii_sqrd), as_tri<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb43-119"></span>
<span id="cb43-120">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Keep Sampled squared triangle.</span></span>
<span id="cb43-121">    sqrd_ctris.append(ctri_ii_sqrd2)</span></code></pre></div>
</div>
<p><br></p>
<p>Obtain the predictive distribution of reserves and ultimates from <code>sqrd_ctris</code>. Each triangle in <code>sqrd_ctris</code> is converted to a Pandas DataFrame to keep the visualization code consistent with the prior post:</p>
<div id="cell-42" class="cell" data-execution_count="21">
<div class="sourceCode cell-code" id="cb44" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb44-1"></span>
<span id="cb44-2">ultimates, reserves <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [], []</span>
<span id="cb44-3"></span>
<span id="cb44-4"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii, ctri <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">enumerate</span>(sqrd_ctris):</span>
<span id="cb44-5"></span>
<span id="cb44-6">    latest_origin, latest_values <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>get_latest(ctri))</span>
<span id="cb44-7">    ctri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ctri.to_pandas().set_index(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>)</span>
<span id="cb44-8">    latest <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.Series(</span>
<span id="cb44-9">        data<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>latest_values, index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>(ii) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> latest_origin]</span>
<span id="cb44-10">    )</span>
<span id="cb44-11"></span>
<span id="cb44-12">    ult <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb44-13">        ctri.iloc[:, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb44-14">        .to_frame()</span>
<span id="cb44-15">        .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb44-16">        .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"10"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb44-17">    )</span>
<span id="cb44-18"></span>
<span id="cb44-19">    ult[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ii</span>
<span id="cb44-20">    ultimates.append(ult)</span>
<span id="cb44-21"></span>
<span id="cb44-22">    ibnr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb44-23">        (ctri.iloc[:, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> latest).astype(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb44-24">        .to_frame()</span>
<span id="cb44-25">        .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb44-26">        .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb44-27">    )</span>
<span id="cb44-28"></span>
<span id="cb44-29">    ibnr[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ii</span>
<span id="cb44-30">    reserves.append(ibnr)</span>
<span id="cb44-31"></span>
<span id="cb44-32">dfults <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.concat(ultimates).reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb44-33">dfibnr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.concat(reserves).reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb44-34"></span></code></pre></div>
</div>
<p><br></p>
<p>Using <code>dfults</code> and <code>dfibnr</code>, we create a summary of mean ultimate, mean IBNR, standard error of IBNR as well as 75th and 95th percentiles of the predictive distribution of reserves:</p>
<div id="cell-44" class="cell" data-execution_count="22">
<div class="sourceCode cell-code" id="cb45" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb45-1"></span>
<span id="cb45-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> functools <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">reduce</span></span>
<span id="cb45-3"></span>
<span id="cb45-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Latest cumulative loss amount by origin.</span></span>
<span id="cb45-5">latest_origin, latest_values <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>get_latest(ctri0))</span>
<span id="cb45-6">latest <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb45-7">    pd.Series(data<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>latest_values, index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>(ii) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> latest_origin])</span>
<span id="cb45-8">    .to_frame()</span>
<span id="cb45-9">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb45-10">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"index"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"latest"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb45-11">)</span>
<span id="cb45-12"></span>
<span id="cb45-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Mean ultimate by origin.</span></span>
<span id="cb45-14">ult_mean <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb45-15">    dfults.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult"</span>].mean()</span>
<span id="cb45-16">    .to_frame()</span>
<span id="cb45-17">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb45-18">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult_mean"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb45-19">)</span>
<span id="cb45-20"></span>
<span id="cb45-21">ibnr_mean <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>  (</span>
<span id="cb45-22">    dfibnr.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].mean()</span>
<span id="cb45-23">    .to_frame()</span>
<span id="cb45-24">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb45-25">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_mean"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb45-26">)</span>
<span id="cb45-27"></span>
<span id="cb45-28"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Standard error of reserve distribution by origin. </span></span>
<span id="cb45-29">ibnr_se <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb45-30">    dfibnr.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].std(ddof<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb45-31">    .to_frame()</span>
<span id="cb45-32">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb45-33">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_se"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb45-34">)</span>
<span id="cb45-35"></span>
<span id="cb45-36"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 75th percentile of reserve distribution by origin. </span></span>
<span id="cb45-37">ibnr_75 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb45-38">    dfibnr.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].quantile(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.75</span>)</span>
<span id="cb45-39">    .to_frame()</span>
<span id="cb45-40">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb45-41">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_75th"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb45-42">)</span>
<span id="cb45-43"></span>
<span id="cb45-44"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 95th percentile of reserve distribution by origin. </span></span>
<span id="cb45-45">ibnr_95 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb45-46">    dfibnr.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].quantile(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.95</span>)</span>
<span id="cb45-47">    .to_frame()</span>
<span id="cb45-48">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb45-49">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_95th"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb45-50">)</span>
<span id="cb45-51"></span>
<span id="cb45-52"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Combine into a single DataFrame.</span></span>
<span id="cb45-53">bcl_summary <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">reduce</span>(</span>
<span id="cb45-54">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> df1, df2: df1.merge(df2, on<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, how<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"left"</span>),</span>
<span id="cb45-55">    (latest, ult_mean, ibnr_mean, ibnr_se, ibnr_75, ibnr_95)</span>
<span id="cb45-56">)</span>
<span id="cb45-57"></span>
<span id="cb45-58"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set ult_mean for earliest origin period to latest.</span></span>
<span id="cb45-59">bcl_summary.at[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult_mean"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bcl_summary.at[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"latest"</span>]</span>
<span id="cb45-60"></span>
<span id="cb45-61"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Boostrap chain ladder summary by origin:"</span>)</span>
<span id="cb45-62"></span>
<span id="cb45-63"></span>
<span id="cb45-64">bcl_summary.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">round</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Boostrap chain ladder summary by origin:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="22">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">origin</th>
<th data-quarto-table-cell-role="th">latest</th>
<th data-quarto-table-cell-role="th">ult_mean</th>
<th data-quarto-table-cell-role="th">ibnr_mean</th>
<th data-quarto-table-cell-role="th">ibnr_se</th>
<th data-quarto-table-cell-role="th">ibnr_75th</th>
<th data-quarto-table-cell-role="th">ibnr_95th</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>1</td>
<td>18834</td>
<td>18834.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>2</td>
<td>16704</td>
<td>17002.0</td>
<td>165.0</td>
<td>430.0</td>
<td>385.0</td>
<td>940.0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>3</td>
<td>23466</td>
<td>24436.0</td>
<td>753.0</td>
<td>1056.0</td>
<td>1228.0</td>
<td>2719.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>4</td>
<td>27067</td>
<td>29034.0</td>
<td>1916.0</td>
<td>1714.0</td>
<td>2824.0</td>
<td>5079.0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>5</td>
<td>26180</td>
<td>29014.0</td>
<td>2915.0</td>
<td>2085.0</td>
<td>4023.0</td>
<td>6865.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>6</td>
<td>15852</td>
<td>19656.0</td>
<td>3896.0</td>
<td>2452.0</td>
<td>5218.0</td>
<td>8692.0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>7</td>
<td>12314</td>
<td>18031.0</td>
<td>5681.0</td>
<td>3066.0</td>
<td>7513.0</td>
<td>11501.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">7</td>
<td>8</td>
<td>13112</td>
<td>24818.0</td>
<td>11551.0</td>
<td>5142.0</td>
<td>14783.0</td>
<td>21143.0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">8</td>
<td>9</td>
<td>5395</td>
<td>16291.0</td>
<td>10951.0</td>
<td>6283.0</td>
<td>14557.0</td>
<td>22634.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">9</td>
<td>10</td>
<td>2063</td>
<td>20003.0</td>
<td>17958.0</td>
<td>13786.0</td>
<td>25409.0</td>
<td>43653.0</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>While results by origin can be useful, typically actuaries are more interested in the aggregate view. To get aggregate results, we first group by simulation number, then proceed as in the prior cell:</p>
<div id="cell-46" class="cell" data-execution_count="23">
<div class="sourceCode cell-code" id="cb47" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb47-1"></span>
<span id="cb47-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Aggregate bootstrap chain ladder results.</span></span>
<span id="cb47-3"></span>
<span id="cb47-4">agg_ults <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfults.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>()</span>
<span id="cb47-5">agg_ibnr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfibnr.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>()</span>
<span id="cb47-6"></span>
<span id="cb47-7">dsumm <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {</span>
<span id="cb47-8">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"latest"</span>: [latest[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"latest"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().item()],</span>
<span id="cb47-9">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult_mean"</span>: [agg_ults.mean().item()],</span>
<span id="cb47-10">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_mean"</span>: [agg_ibnr.mean().item()],</span>
<span id="cb47-11">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_se"</span>: [agg_ibnr.std(ddof<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>).item()],</span>
<span id="cb47-12">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_75th"</span>: [agg_ibnr.quantile(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.75</span>).item()],</span>
<span id="cb47-13">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_95th"</span>: [agg_ibnr.quantile(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.95</span>).item()]</span>
<span id="cb47-14">}</span>
<span id="cb47-15"></span>
<span id="cb47-16">bcl_summary_total <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame().from_dict(dsumm, orient<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"columns"</span>)</span>
<span id="cb47-17">bcl_summary_total.index <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"total"</span>]</span>
<span id="cb47-18"></span>
<span id="cb47-19"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Boostrap chain ladder summary in total:"</span>)</span>
<span id="cb47-20"></span>
<span id="cb47-21">bcl_summary_total.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">round</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Boostrap chain ladder summary in total:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="23">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">latest</th>
<th data-quarto-table-cell-role="th">ult_mean</th>
<th data-quarto-table-cell-role="th">ibnr_mean</th>
<th data-quarto-table-cell-role="th">ibnr_se</th>
<th data-quarto-table-cell-role="th">ibnr_75th</th>
<th data-quarto-table-cell-role="th">ibnr_95th</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">total</td>
<td>160987</td>
<td>217184.0</td>
<td>55787.0</td>
<td>18960.0</td>
<td>66239.0</td>
<td>88935.0</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
</section>
<section id="visualizing-bootstrap-chain-ladder-results" class="level2">
<h2 class="anchored" data-anchor-id="visualizing-bootstrap-chain-ladder-results">Visualizing Bootstrap Chain Ladder Results</h2>
<p>We can visualize actuals and predictions together by origin out to ultimate with 90% prediction intervals for each forecast period. Starting with <code>sqrd_tris</code>, we transform the data to make it easier for plotting:</p>
<div id="cell-48" class="cell" data-execution_count="24">
<div class="sourceCode cell-code" id="cb49" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb49-1"></span>
<span id="cb49-2"></span>
<span id="cb49-3">dflist <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb49-4"></span>
<span id="cb49-5"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> tri <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> sqrd_ctris:</span>
<span id="cb49-6"></span>
<span id="cb49-7">    dftri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb49-8">        tri.to_pandas().set_index(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>)</span>
<span id="cb49-9">        .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb49-10">        .rename_axis(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb49-11">        .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb49-12">        .melt(id_vars<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, var_name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>, value_name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bcl_value"</span>)</span>
<span id="cb49-13">    )</span>
<span id="cb49-14"></span>
<span id="cb49-15">    dflist.append(dftri)</span>
<span id="cb49-16"></span>
<span id="cb49-17"></span>
<span id="cb49-18"></span>
<span id="cb49-19">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.concat(dflist)</span>
<span id="cb49-20">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>].astype(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>)</span>
<span id="cb49-21">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.sort_values([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>]).reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb49-22"></span>
<span id="cb49-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute mean, 5th and 95th percentile of prediction interval for each forecast period.</span></span>
<span id="cb49-24">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb49-25">    df</span>
<span id="cb49-26">    .groupby([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>], as_index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bcl_value"</span>]</span>
<span id="cb49-27">    .agg({</span>
<span id="cb49-28">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bcl_mean"</span>: <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> v: v.mean(), </span>
<span id="cb49-29">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bcl_95th"</span>: <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> v: v.quantile(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.95</span>),</span>
<span id="cb49-30">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bcl_5th"</span>: <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> v: v.quantile(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.05</span>)</span>
<span id="cb49-31">    })</span>
<span id="cb49-32">)</span>
<span id="cb49-33"></span>
<span id="cb49-34"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Attach actual values from original cumulative triangle.</span></span>
<span id="cb49-35">dfctri0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb49-36">    ctri0.to_pandas().set_index(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>)</span>
<span id="cb49-37">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb49-38">    .rename_axis(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb49-39">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb49-40">    .melt(id_vars<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, var_name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>, value_name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"actual_value"</span>)</span>
<span id="cb49-41">)</span>
<span id="cb49-42">dfctri0[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfctri0[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>].astype(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>)</span>
<span id="cb49-43"></span>
<span id="cb49-44">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.merge(dfctri0, on<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>], how<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"left"</span>)</span>
<span id="cb49-45"></span>
<span id="cb49-46"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># If actual_value is nan, then dev is a prediction for that origin. Otherwise</span></span>
<span id="cb49-47"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># it is an actual value. </span></span>
<span id="cb49-48">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"actual_devp_ind"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"actual_value"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>(<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> v: <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> np.isnan(v) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb49-49">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"value"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">apply</span>(<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> r: r.bcl_mean <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> r.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span> r.actual_value, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb49-50"></span>
<span id="cb49-51">df.tail(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="24">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">origin</th>
<th data-quarto-table-cell-role="th">dev</th>
<th data-quarto-table-cell-role="th">bcl_mean</th>
<th data-quarto-table-cell-role="th">bcl_95th</th>
<th data-quarto-table-cell-role="th">bcl_5th</th>
<th data-quarto-table-cell-role="th">actual_value</th>
<th data-quarto-table-cell-role="th">actual_devp_ind</th>
<th data-quarto-table-cell-role="th">value</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">90</td>
<td>10</td>
<td>1</td>
<td>2044.92690</td>
<td>5819.41104</td>
<td>2.74973</td>
<td>2063.0</td>
<td>1</td>
<td>2063.00000</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">91</td>
<td>10</td>
<td>2</td>
<td>6523.89949</td>
<td>16103.08545</td>
<td>101.75998</td>
<td>NaN</td>
<td>0</td>
<td>6523.89949</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">92</td>
<td>10</td>
<td>3</td>
<td>10661.43665</td>
<td>25982.44515</td>
<td>319.20599</td>
<td>NaN</td>
<td>0</td>
<td>10661.43665</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">93</td>
<td>10</td>
<td>4</td>
<td>13682.08149</td>
<td>32977.99907</td>
<td>611.55764</td>
<td>NaN</td>
<td>0</td>
<td>13682.08149</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">94</td>
<td>10</td>
<td>5</td>
<td>16092.90839</td>
<td>38453.69231</td>
<td>799.41542</td>
<td>NaN</td>
<td>0</td>
<td>16092.90839</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">95</td>
<td>10</td>
<td>6</td>
<td>17973.94826</td>
<td>42833.83253</td>
<td>934.59346</td>
<td>NaN</td>
<td>0</td>
<td>17973.94826</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">96</td>
<td>10</td>
<td>7</td>
<td>18718.07392</td>
<td>45366.39099</td>
<td>1007.06181</td>
<td>NaN</td>
<td>0</td>
<td>18718.07392</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">97</td>
<td>10</td>
<td>8</td>
<td>19360.64161</td>
<td>46870.52200</td>
<td>1052.26676</td>
<td>NaN</td>
<td>0</td>
<td>19360.64161</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">98</td>
<td>10</td>
<td>9</td>
<td>19813.97172</td>
<td>47265.73702</td>
<td>1067.22772</td>
<td>NaN</td>
<td>0</td>
<td>19813.97172</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">99</td>
<td>10</td>
<td>10</td>
<td>20003.07058</td>
<td>47960.10396</td>
<td>1225.34543</td>
<td>NaN</td>
<td>0</td>
<td>20003.07058</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Actuals with forecasts by origin year with 90% prediction intervals:</p>
<div id="cell-50" class="cell" data-execution_count="25">
<div class="sourceCode cell-code" id="cb50" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb50-1"></span>
<span id="cb50-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> mpl</span>
<span id="cb50-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> matplotlib.ticker <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> MaxNLocator</span>
<span id="cb50-4"></span>
<span id="cb50-5"></span>
<span id="cb50-6">fill_color <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#FFC04C"</span></span>
<span id="cb50-7"></span>
<span id="cb50-8"></span>
<span id="cb50-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Assume 9 origin periods (no distribution of fully-developed oldest origin period)</span></span>
<span id="cb50-10">indices <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)]</span>
<span id="cb50-11">origin_periods <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>]</span>
<span id="cb50-12"></span>
<span id="cb50-13">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, sharex<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb50-14"></span>
<span id="cb50-15"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> (ii, jj), origin <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(indices, origin_periods):</span>
<span id="cb50-16"></span>
<span id="cb50-17">    dforigin <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[df.origin<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span>origin]</span>
<span id="cb50-18"></span>
<span id="cb50-19">    ax[ii, jj].set_title(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>origin<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb50-20"></span>
<span id="cb50-21">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get last actual development period for origin.</span></span>
<span id="cb50-22">    last_actual_devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].dev.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>()</span>
<span id="cb50-23"></span>
<span id="cb50-24">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Actual values.</span></span>
<span id="cb50-25">    act_dev <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].dev.tolist()</span>
<span id="cb50-26">    act_val <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].value.tolist()</span>
<span id="cb50-27"></span>
<span id="cb50-28">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Predicted values.</span></span>
<span id="cb50-29">    pred_dev <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [last_actual_devp] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].dev.tolist()</span>
<span id="cb50-30">    pred_val <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [act_val[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].value.tolist()</span>
<span id="cb50-31"></span>
<span id="cb50-32">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 5th and 95th percentiles.</span></span>
<span id="cb50-33">    pred_5th <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [act_val[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span>  dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].bcl_5th.tolist()</span>
<span id="cb50-34">    pred_95th <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [act_val[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].bcl_95th.tolist()</span>
<span id="cb50-35"></span>
<span id="cb50-36">    ax[ii, jj].plot(</span>
<span id="cb50-37">        pred_dev, pred_val, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"o"</span>, markersize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#1d2951"</span>, markerfacecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#FFFFFF"</span>, </span>
<span id="cb50-38">        markeredgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#1d2951"</span>, markeredgewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.35</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"--"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"predicted"</span></span>
<span id="cb50-39">    )</span>
<span id="cb50-40"></span>
<span id="cb50-41">    ax[ii, jj].plot(</span>
<span id="cb50-42">        act_dev, act_val, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"o"</span>, markersize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#1d2951"</span>, markerfacecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#1d2951"</span>, </span>
<span id="cb50-43">         markeredgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#1d2951"</span>, markeredgewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.35</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"-"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"actual"</span></span>
<span id="cb50-44">    )</span>
<span id="cb50-45"></span>
<span id="cb50-46">    ax[ii, jj].plot(</span>
<span id="cb50-47">        pred_dev, pred_95th, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">":"</span>,  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># color="#FFFFB2",</span></span>
<span id="cb50-48">        linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.75</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"95th percentile"</span></span>
<span id="cb50-49">    )</span>
<span id="cb50-50"></span>
<span id="cb50-51">    ax[ii, jj].plot(</span>
<span id="cb50-52">        pred_dev, pred_5th, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"-."</span>,  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># color="#FFFFB2",</span></span>
<span id="cb50-53">        linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.75</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"5th percentile"</span></span>
<span id="cb50-54">    )</span>
<span id="cb50-55"></span>
<span id="cb50-56">    ax[ii, jj].fill_between(pred_dev, pred_5th, pred_95th, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>fill_color, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.50</span>)</span>
<span id="cb50-57">    ax[ii, jj].xaxis.set_major_formatter(mpl.ticker.StrMethodFormatter(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{x:,.0f}</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>))</span>
<span id="cb50-58">    ax[ii, jj].get_yaxis().set_major_formatter(mpl.ticker.FuncFormatter(<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> x, p: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">format</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>(x), <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">','</span>)))</span>
<span id="cb50-59">    ax[ii, jj].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>)</span>
<span id="cb50-60">    ax[ii, jj].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"y"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>)</span>
<span id="cb50-61">    ax[ii, jj].xaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb50-62">    ax[ii, jj].yaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb50-63">    ax[ii, jj].grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)   </span>
<span id="cb50-64">    ax[ii, jj].set_axisbelow(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb50-65">    ax[ii, jj].legend(loc<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"upper left"</span>, fancybox<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, framealpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x-small"</span>)</span>
<span id="cb50-66"></span>
<span id="cb50-67">plt.suptitle(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Bootstrap chain ladder forecasts with 90% prediction interval"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>)</span>
<span id="cb50-68"></span>
<span id="cb50-69">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/boostrap-chainladder-polars/bootstrap-chainladder-polars_files/figure-html/cell-26-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>As expected, the prediction intervals grow wider for origin periods with fewer development periods of actual data to account for the greater uncertainty in ultimate projections.</p>
<p>Second, an exhibit with a separate histogram per facet can be used to visualize the distribution of IBNR generated by the bootstrap chain ladder:</p>
<div id="cell-52" class="cell" data-execution_count="26">
<div class="sourceCode cell-code" id="cb51" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb51-1"></span>
<span id="cb51-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> mpl</span>
<span id="cb51-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb51-4"></span>
<span id="cb51-5"></span>
<span id="cb51-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Color for each histogram.</span></span>
<span id="cb51-7">hist_color <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#5473ff"</span></span>
<span id="cb51-8"></span>
<span id="cb51-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Assume 9 origin periods (no distribution of fully-developed oldest origin period)</span></span>
<span id="cb51-10">indices <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)]</span>
<span id="cb51-11">origin_periods <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>]</span>
<span id="cb51-12"></span>
<span id="cb51-13">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb51-14"></span>
<span id="cb51-15"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> (ii, jj), origin <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(indices, origin_periods):</span>
<span id="cb51-16">    ax[ii, jj].set_title(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(origin), fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"normal"</span>)</span>
<span id="cb51-17">    ax[ii, jj].hist(</span>
<span id="cb51-18">        dfibnr[dfibnr.origin<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span>origin].ibnr, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>, density<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, </span>
<span id="cb51-19">        color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>hist_color, edgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#FFFFFF"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.0</span></span>
<span id="cb51-20">        )</span>
<span id="cb51-21">    </span>
<span id="cb51-22">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># ax[ii, jj].yaxis.set_major_formatter(mpl.ticker.StrMethodFormatter("{x:,.0f}"))</span></span>
<span id="cb51-23">    ax[ii, jj].set_yticklabels([])</span>
<span id="cb51-24">    ax[ii, jj].xaxis.set_major_formatter(mpl.ticker.StrMethodFormatter(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{x:,.0f}</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>))</span>
<span id="cb51-25">    ax[ii, jj].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb51-26">    ax[ii, jj].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"minor"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb51-27">    ax[ii, jj].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"y"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb51-28">    ax[ii, jj].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"y"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"minor"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb51-29">    ax[ii, jj].xaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb51-30">    ax[ii, jj].yaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb51-31">    ax[ii, jj].grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)   </span>
<span id="cb51-32">    ax[ii, jj].set_axisbelow(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb51-33"></span>
<span id="cb51-34">plt.suptitle(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Boostrap chain ladder: IBNR by origin"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>)</span>
<span id="cb51-35">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/boostrap-chainladder-polars/bootstrap-chainladder-polars_files/figure-html/cell-27-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>Finally, we can create a similar exhibit for the aggregate distribution of IBNR, with vertical lines added at the 50th, 75th, 95th and 99th percentile of total needed reserve:</p>
<div id="cell-54" class="cell" data-execution_count="27">
<div class="sourceCode cell-code" id="cb52" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb52-1"></span>
<span id="cb52-2">hist_color <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#5473ff"</span></span>
<span id="cb52-3"></span>
<span id="cb52-4">dfibnr_total <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfibnr.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>, as_index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>()</span>
<span id="cb52-5">ibnr_total <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfibnr_total[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].values</span>
<span id="cb52-6">ibnr_50 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.quantile(ibnr_total, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.50</span>).item()</span>
<span id="cb52-7">ibnr_75 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.quantile(ibnr_total, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.75</span>).item()</span>
<span id="cb52-8">ibnr_95 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.quantile(ibnr_total, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.95</span>).item()</span>
<span id="cb52-9">ibnr_99 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.quantile(ibnr_total, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.99</span>).item()</span>
<span id="cb52-10"></span>
<span id="cb52-11">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">7.5</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">5.25</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb52-12"></span>
<span id="cb52-13">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Bootstrap chain ladder: total IBNR"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>)</span>
<span id="cb52-14"></span>
<span id="cb52-15">ax.hist(</span>
<span id="cb52-16">    ibnr_total, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">27</span>, density<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>hist_color, </span>
<span id="cb52-17">    edgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#FFFFFF"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.0</span></span>
<span id="cb52-18">    )</span>
<span id="cb52-19"></span>
<span id="cb52-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 50th percentile.</span></span>
<span id="cb52-21">ax.axvline(ibnr_50, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.25</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"--"</span>)</span>
<span id="cb52-22">ax.annotate(</span>
<span id="cb52-23">    <span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">r"$p_</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{{</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">50</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;"> = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{:,.0f}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">$"</span>.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">format</span>(ibnr_50), xycoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>, xy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(ibnr_50, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2e-5</span>),</span>
<span id="cb52-24">    fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>, rotation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">90</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"normal"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, xytext<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), </span>
<span id="cb52-25">    textcoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"offset pixels"</span></span>
<span id="cb52-26">)</span>
<span id="cb52-27"></span>
<span id="cb52-28"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 75th percentile.</span></span>
<span id="cb52-29">ax.axvline(ibnr_75, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.25</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"--"</span>)</span>
<span id="cb52-30">ax.annotate(</span>
<span id="cb52-31">    <span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">r"$p_</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{{</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">75</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;"> = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{:,.0f}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">$"</span>.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">format</span>(ibnr_75), xycoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>, xy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(ibnr_75, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2e-5</span>),</span>
<span id="cb52-32">    fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>, rotation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">90</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"normal"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, xytext<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), </span>
<span id="cb52-33">    textcoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"offset pixels"</span></span>
<span id="cb52-34">)</span>
<span id="cb52-35"></span>
<span id="cb52-36"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 95th percentile.</span></span>
<span id="cb52-37">ax.axvline(ibnr_95, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.25</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"--"</span>)</span>
<span id="cb52-38">ax.annotate(</span>
<span id="cb52-39">    <span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">r"$p_</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{{</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">95</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;"> = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{:,.0f}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">$"</span>.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">format</span>(ibnr_95), xycoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>, xy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(ibnr_95, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2e-5</span>),</span>
<span id="cb52-40">    fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>, rotation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">90</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"normal"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, xytext<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), </span>
<span id="cb52-41">    textcoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"offset pixels"</span></span>
<span id="cb52-42">)</span>
<span id="cb52-43"></span>
<span id="cb52-44"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 99th percentile.</span></span>
<span id="cb52-45">ax.axvline(ibnr_99, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.25</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"--"</span>)</span>
<span id="cb52-46">ax.annotate(</span>
<span id="cb52-47">    <span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">r"$p_</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{{</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">99</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;"> = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{:,.0f}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">$"</span>.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">format</span>(ibnr_99), xycoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>, xy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(ibnr_99, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2e-5</span>),</span>
<span id="cb52-48">    fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>, rotation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">90</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"normal"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, xytext<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), </span>
<span id="cb52-49">    textcoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"offset pixels"</span></span>
<span id="cb52-50">)</span>
<span id="cb52-51"></span>
<span id="cb52-52"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># ax[ii, jj].yaxis.set_major_formatter(mpl.ticker.StrMethodFormatter("{x:,.0f}"))</span></span>
<span id="cb52-53">ax.set_yticklabels([])</span>
<span id="cb52-54">ax.xaxis.set_major_formatter(mpl.ticker.StrMethodFormatter(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{x:,.0f}</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>))</span>
<span id="cb52-55">ax.tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb52-56"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># ax.tick_params(axis="x", which="minor", direction='in', labelsize=8)</span></span>
<span id="cb52-57">ax.tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"y"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb52-58"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># ax.tick_params(axis="y", which="minor", direction='in', labelsize=8)</span></span>
<span id="cb52-59">ax.xaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb52-60">ax.yaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb52-61">ax.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)   </span>
<span id="cb52-62">ax.set_axisbelow(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb52-63">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/boostrap-chainladder-polars/bootstrap-chainladder-polars_files/figure-html/cell-28-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>


</section>

 ]]></description>
  <category>Python</category>
  <category>Actuarial</category>
  <guid>https://www.jtrive.com/posts/boostrap-chainladder-polars/bootstrap-chainladder-polars.html</guid>
  <pubDate>Sat, 25 Jan 2025 06:00:00 GMT</pubDate>
</item>
<item>
  <title>Standing Up Ad-hoc Compute Clusters with Dask</title>
  <link>https://www.jtrive.com/posts/adhoc-compute-cluster-with-dask/adhoc-compute-cluster-with-dask.html</link>
  <description><![CDATA[ 





<p>Dask is an open-source parallel computing library for Python that enables the processing of large datasets and complex computations across multiple cores and distributed systems. It provides a flexible and dynamic task scheduling system that allows users to build complex workflows and handle large-scale data processing.</p>
<p>Dask is a compelling alternative to PySpark for distributed computing, particularly for those who work primarily within the Python ecosystem. Dask doesn’t require a Java runtime, and can be imported like any other third-party package. It is much lighter weight because it doesn’t require the heavy infrastructure needed to support Spark computing environments. PySpark typically needs a full Spark cluster setup with distributed resource management and coordination (e.g., YARN or Kubernetes), which involves significant overhead. In contrast, Dask operates within a Python environment and can scale from a single machine to a cluster as needed, without requiring the setup of a full distributed system.</p>
<p>In particular, I was interested in setting up a Dask cluster to leverage my own computing resources rather than rely on cloud resources or deployment software such as <a href="https://docs.coiled.io/user_guide/index.html">colied</a>, which I would almost certainly opt for if creating a cloud-based cluster in a real-world setting.</p>
<p>There were a number of laptops at my disposal in various states of underutilization and disrepair, and figured setting up a compute cluster would be a great way to gain familiarity with Dask, as well as give new life to these otherwise unused machines. In particular, my cluster consists of:</p>
<ol type="1">
<li>Lenovo Slim 7 Pro X (Ubuntu 22.04, 20GB RAM, 1TB SSD, 16 CPU): <strong>client/scheduler</strong></li>
<li>Sony VAIO (Ubuntu 22.04, 16GB RAM, 512GB SSD, 4 CPU): <strong>worker</strong></li>
<li>Raspberry Pi 5 (Debian 12.7, 4GB RAM, 128GB SSD, 4 CPU): <strong>worker</strong></li>
</ol>
<p>It is straightforward to extend the cluster to additional workers. The only requirements are 1) the machine be accessible from the client via ssh, and 2) the availability of a Python environment consistent with the other worker nodes in terms of install location and package versions.</p>
<p>I attempted including an additional worker using a Windows client running the same dask conda environment via WSL, but couldn’t get it to work. I’m sure it’s possible, I just didn’t spend the time to configue it properly. I’ll pick this up again down the road and will publish an update.</p>
<p>In order to ensure a consistent environment across workers, I installed Miniforge to the same location on client and worker nodes, and used an environment file save to a GitHub Gist which was referenced at the time of environment creation:</p>
<pre><code>(base) $ conda env create --file=https://gist.githubusercontent.com/jtrive84/f0d23fcf22bb590caefca1e10243aba2/raw/53328d955a4f543581448c6b6033da94058eb245/dask.yaml</code></pre>
<p>The dask environment contains:</p>
<pre><code>name: dask
channels:
- conda-forge
- defaults
dependencies:
- python=3.12
- dask=2024.12.0
- dask-labextension=7.0.0
- numpy=2.2.1
- asyncssh=2.19.0
- pyarrow=18.1.0
- matplotlib=3.9.4
- ipykernel
- watermark
- jupyterlab</code></pre>
<p>The dask-labextension is a JupyterLab extension that provides a user-friendly interface for monitoring Dask clusters from JupyterLab. It provides real-time visualizations of cluster performance and displays worker status, memory usage, and task progress, and offers a high degree of configurability. I highly recommend utilizing the Dask lab extension if managing Dask clusters from JupyterLab.</p>
<p><img src="https://www.jtrive.com/posts/adhoc-compute-cluster-with-dask/dasklab.png" class="img-fluid"> <em>DaskLab extension</em></p>
<p><br></p>
<p>All nodes run within the dask conda environment located at:</p>
<pre><code>~/miniforge3/envs/dask/bin/python</code></pre>
<p>To demonstrate my cluster, I’ll use the <a href="https://www.kaggle.com/datasets/dilwong/flightprices">Flight Prices</a> dataset available on Kaggle. This is a 31GB dataset containing one-way flight itineraries found on Expedia between 2022-04-16 and 2022-10-05 for airport codes ATL, DFW, DEN, ORD, LAX, CLT, MIA, JFK, EWR, SFO, DTW, BOS, PHL, LGA, IAD and OAK. The file is larger than the client’s available memory, so it couldn’t be analyzed using Pandas which requires the entire dataset to be loaded into RAM. Dask can spill intermediate results to disk for datasets too large to fit into memory, giving us the ability to work with much larger datasets than would otherwise be possible.</p>
<p>To get an idea of what the data looks like, we can read the first 100 records using Pandas:</p>
<div id="34bf4b21-9da5-4190-bfa6-9953d4b051c6" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb4-1"></span>
<span id="cb4-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb4-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb4-4"></span>
<span id="cb4-5">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.max_columns'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb4-6">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.width'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb4-7">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb4-8">pd.options.mode.chained_assignment <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb4-9"></span>
<span id="cb4-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Obtained from from https://www.kaggle.com/datasets/dilwong/flightprices</span></span>
<span id="cb4-11">data_path <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"~/shared/data/airlines/itineraries.csv"</span></span>
<span id="cb4-12"></span>
<span id="cb4-13">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_csv(data_path, nrows<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>)</span>
<span id="cb4-14"></span>
<span id="cb4-15">df.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>)</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="1">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">legId</th>
<th data-quarto-table-cell-role="th">searchDate</th>
<th data-quarto-table-cell-role="th">flightDate</th>
<th data-quarto-table-cell-role="th">startingAirport</th>
<th data-quarto-table-cell-role="th">destinationAirport</th>
<th data-quarto-table-cell-role="th">fareBasisCode</th>
<th data-quarto-table-cell-role="th">travelDuration</th>
<th data-quarto-table-cell-role="th">elapsedDays</th>
<th data-quarto-table-cell-role="th">isBasicEconomy</th>
<th data-quarto-table-cell-role="th">isRefundable</th>
<th data-quarto-table-cell-role="th">isNonStop</th>
<th data-quarto-table-cell-role="th">baseFare</th>
<th data-quarto-table-cell-role="th">totalFare</th>
<th data-quarto-table-cell-role="th">seatsRemaining</th>
<th data-quarto-table-cell-role="th">totalTravelDistance</th>
<th data-quarto-table-cell-role="th">segmentsDepartureTimeEpochSeconds</th>
<th data-quarto-table-cell-role="th">segmentsDepartureTimeRaw</th>
<th data-quarto-table-cell-role="th">segmentsArrivalTimeEpochSeconds</th>
<th data-quarto-table-cell-role="th">segmentsArrivalTimeRaw</th>
<th data-quarto-table-cell-role="th">segmentsArrivalAirportCode</th>
<th data-quarto-table-cell-role="th">segmentsDepartureAirportCode</th>
<th data-quarto-table-cell-role="th">segmentsAirlineName</th>
<th data-quarto-table-cell-role="th">segmentsAirlineCode</th>
<th data-quarto-table-cell-role="th">segmentsEquipmentDescription</th>
<th data-quarto-table-cell-role="th">segmentsDurationInSeconds</th>
<th data-quarto-table-cell-role="th">segmentsDistance</th>
<th data-quarto-table-cell-role="th">segmentsCabinCode</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>9ca0e81111c683bec1012473feefd28f</td>
<td>2022-04-16</td>
<td>2022-04-17</td>
<td>ATL</td>
<td>BOS</td>
<td>LA0NX0MC</td>
<td>PT2H29M</td>
<td>0</td>
<td>False</td>
<td>False</td>
<td>True</td>
<td>217.67</td>
<td>248.6</td>
<td>9</td>
<td>947.0</td>
<td>1650214620</td>
<td>2022-04-17T12:57:00.000-04:00</td>
<td>1650223560</td>
<td>2022-04-17T15:26:00.000-04:00</td>
<td>BOS</td>
<td>ATL</td>
<td>Delta</td>
<td>DL</td>
<td>Airbus A321</td>
<td>8940</td>
<td>947</td>
<td>coach</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>98685953630e772a098941b71906592b</td>
<td>2022-04-16</td>
<td>2022-04-17</td>
<td>ATL</td>
<td>BOS</td>
<td>LA0NX0MC</td>
<td>PT2H30M</td>
<td>0</td>
<td>False</td>
<td>False</td>
<td>True</td>
<td>217.67</td>
<td>248.6</td>
<td>4</td>
<td>947.0</td>
<td>1650191400</td>
<td>2022-04-17T06:30:00.000-04:00</td>
<td>1650200400</td>
<td>2022-04-17T09:00:00.000-04:00</td>
<td>BOS</td>
<td>ATL</td>
<td>Delta</td>
<td>DL</td>
<td>Airbus A321</td>
<td>9000</td>
<td>947</td>
<td>coach</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>98d90cbc32bfbb05c2fc32897c7c1087</td>
<td>2022-04-16</td>
<td>2022-04-17</td>
<td>ATL</td>
<td>BOS</td>
<td>LA0NX0MC</td>
<td>PT2H30M</td>
<td>0</td>
<td>False</td>
<td>False</td>
<td>True</td>
<td>217.67</td>
<td>248.6</td>
<td>9</td>
<td>947.0</td>
<td>1650209700</td>
<td>2022-04-17T11:35:00.000-04:00</td>
<td>1650218700</td>
<td>2022-04-17T14:05:00.000-04:00</td>
<td>BOS</td>
<td>ATL</td>
<td>Delta</td>
<td>DL</td>
<td>Boeing 757-200</td>
<td>9000</td>
<td>947</td>
<td>coach</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>969a269d38eae583f455486fa90877b4</td>
<td>2022-04-16</td>
<td>2022-04-17</td>
<td>ATL</td>
<td>BOS</td>
<td>LA0NX0MC</td>
<td>PT2H32M</td>
<td>0</td>
<td>False</td>
<td>False</td>
<td>True</td>
<td>217.67</td>
<td>248.6</td>
<td>8</td>
<td>947.0</td>
<td>1650218340</td>
<td>2022-04-17T13:59:00.000-04:00</td>
<td>1650227460</td>
<td>2022-04-17T16:31:00.000-04:00</td>
<td>BOS</td>
<td>ATL</td>
<td>Delta</td>
<td>DL</td>
<td>Airbus A321</td>
<td>9120</td>
<td>947</td>
<td>coach</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>980370cf27c89b40d2833a1d5afc9751</td>
<td>2022-04-16</td>
<td>2022-04-17</td>
<td>ATL</td>
<td>BOS</td>
<td>LA0NX0MC</td>
<td>PT2H34M</td>
<td>0</td>
<td>False</td>
<td>False</td>
<td>True</td>
<td>217.67</td>
<td>248.6</td>
<td>9</td>
<td>947.0</td>
<td>1650203940</td>
<td>2022-04-17T09:59:00.000-04:00</td>
<td>1650213180</td>
<td>2022-04-17T12:33:00.000-04:00</td>
<td>BOS</td>
<td>ATL</td>
<td>Delta</td>
<td>DL</td>
<td>Airbus A321</td>
<td>9240</td>
<td>947</td>
<td>coach</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>79eda9f841e226a1e2121d74211e595c</td>
<td>2022-04-16</td>
<td>2022-04-17</td>
<td>ATL</td>
<td>BOS</td>
<td>VH0AUEL1</td>
<td>PT2H38M</td>
<td>0</td>
<td>False</td>
<td>False</td>
<td>True</td>
<td>217.67</td>
<td>248.6</td>
<td>7</td>
<td>947.0</td>
<td>1650206700</td>
<td>2022-04-17T10:45:00.000-04:00</td>
<td>1650216180</td>
<td>2022-04-17T13:23:00.000-04:00</td>
<td>BOS</td>
<td>ATL</td>
<td>JetBlue Airways</td>
<td>B6</td>
<td>NaN</td>
<td>9480</td>
<td>947</td>
<td>coach</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>9335fae376c38bb61263281779f469ec</td>
<td>2022-04-16</td>
<td>2022-04-17</td>
<td>ATL</td>
<td>BOS</td>
<td>V0AJZNN1</td>
<td>PT4H12M</td>
<td>0</td>
<td>False</td>
<td>False</td>
<td>False</td>
<td>213.02</td>
<td>251.1</td>
<td>3</td>
<td>956.0</td>
<td>1650198000||1650205620</td>
<td>2022-04-17T08:20:00.000-04:00||2022-04-17T10:2...</td>
<td>1650203400||1650213120</td>
<td>2022-04-17T09:50:00.000-04:00||2022-04-17T12:3...</td>
<td>CLT||BOS</td>
<td>ATL||CLT</td>
<td>American Airlines||American Airlines</td>
<td>AA||AA</td>
<td>Airbus A320||Airbus A320</td>
<td>5400||7500</td>
<td>228||728</td>
<td>coach||coach</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<section id="using-localcluster" class="level3">
<h3 class="anchored" data-anchor-id="using-localcluster">Using <code>LocalCluster</code></h3>
<p>Before demonstrating the use of <code>SSHCluster</code>, we’ll look at <code>LocalCLuster</code>, which allows us to create a local multi-core cluster for parallel computing on a single machine. It helps to distribute tasks across multiple CPUs or threads on your local machine, giving us the ability to scale computations beyond a single core:</p>
<div id="f2f6840c-01be-4a59-9192-88faebe1d434" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"></span>
<span id="cb5-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Creating LocalCluster instance.</span></span>
<span id="cb5-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> dask.distributed <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> LocalCluster</span>
<span id="cb5-4"></span>
<span id="cb5-5">cluster <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> LocalCluster(n_workers<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, threads_per_worker<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>) </span>
<span id="cb5-6">client <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> cluster.get_client()</span>
<span id="cb5-7"></span>
<span id="cb5-8">client</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="2">
<div>
    <div style="width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;"> </div>
    <div style="margin-left: 48px;">
        <h3 style="margin-bottom: 0px;" class="anchored">Client</h3>
        <p style="color: #9D9D9D; margin-bottom: 0px;">Client-a5ec0bd6-c9fe-11ef-8e58-3003c82ce6ed</p>
        
<table class="caption-top table table-sm table-striped small" data-quarto-postprocess="true">
<tbody>
<tr class="odd">
<td style="text-align: left;"><strong>Connection method:</strong> Cluster object</td>
<td style="text-align: left;"><strong>Cluster type:</strong> distributed.LocalCluster</td>
</tr>
<tr class="even">
<td style="text-align: left;"><strong>Dashboard:</strong> <a href="http://127.0.0.1:8787/status" target="_blank">http://127.0.0.1:8787/status</a></td>
<td style="text-align: left;"></td>
</tr>
</tbody>
</table>


        
            <button style="margin-bottom: 12px;" data-commandlinker-command="dask:populate-and-launch-layout" data-commandlinker-args="{&quot;url&quot;: &quot;http://127.0.0.1:8787/status&quot; }">
                Launch dashboard in JupyterLab
            </button>
        

        
            <details>
            <summary style="margin-bottom: 20px;"><h3 style="display: inline;" class="anchored">Cluster Info</h3></summary>
            <div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-mod-trusted jp-OutputArea-output">
    <div style="width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;">
    </div>
    <div style="margin-left: 48px;">
        <h3 style="margin-bottom: 0px; margin-top: 0px;" class="anchored">LocalCluster</h3>
        <p style="color: #9D9D9D; margin-bottom: 0px;">e965c2ed</p>
        
<table class="caption-top table table-sm table-striped small" data-quarto-postprocess="true">
<tbody>
<tr class="odd">
<td style="text-align: left;"><strong>Dashboard:</strong> <a href="http://127.0.0.1:8787/status" target="_blank">http://127.0.0.1:8787/status</a></td>
<td style="text-align: left;"><strong>Workers:</strong> 2</td>
</tr>
<tr class="even">
<td style="text-align: left;"><strong>Total threads:</strong> 8</td>
<td style="text-align: left;"><strong>Total memory:</strong> 27.09 GiB</td>
</tr>
<tr class="odd">
<td style="text-align: left;"><strong>Status:</strong> running</td>
<td style="text-align: left;"><strong>Using processes:</strong> True</td>
</tr>
</tbody>
</table>


        <details>
            <summary style="margin-bottom: 20px;">
                <h3 style="display: inline;" class="anchored">Scheduler Info</h3>
            </summary>

            <div style="">
    <div>
        <div style="width: 24px; height: 24px; background-color: #FFF7E5; border: 3px solid #FF6132; border-radius: 5px; position: absolute;"> </div>
        <div style="margin-left: 48px;">
            <h3 style="margin-bottom: 0px;" class="anchored">Scheduler</h3>
            <p style="color: #9D9D9D; margin-bottom: 0px;">Scheduler-65021379-9cf0-472f-af9f-c744d27ff689</p>
            
<table class="caption-top table table-sm table-striped small" data-quarto-postprocess="true">
<tbody>
<tr class="odd">
<td style="text-align: left;"><strong>Comm:</strong> tcp://127.0.0.1:36097</td>
<td style="text-align: left;"><strong>Workers:</strong> 2</td>
</tr>
<tr class="even">
<td style="text-align: left;"><strong>Dashboard:</strong> <a href="http://127.0.0.1:8787/status" target="_blank">http://127.0.0.1:8787/status</a></td>
<td style="text-align: left;"><strong>Total threads:</strong> 8</td>
</tr>
<tr class="odd">
<td style="text-align: left;"><strong>Started:</strong> Just now</td>
<td style="text-align: left;"><strong>Total memory:</strong> 27.09 GiB</td>
</tr>
</tbody>
</table>

        </div>
    </div>

    <details style="margin-left: 48px;">
        <summary style="margin-bottom: 20px;">
            <h3 style="display: inline;" class="anchored">Workers</h3>
        </summary>

        
        <div style="margin-bottom: 20px;">
            <div style="width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;"> </div>
            <div style="margin-left: 48px;">
            <details>
                <summary>
                    <h4 style="margin-bottom: 0px; display: inline;" class="anchored">Worker: 0</h4>
                </summary>
                
<table class="caption-top table table-sm table-striped small" data-quarto-postprocess="true">
<tbody>
<tr class="odd">
<td style="text-align: left;"><strong>Comm:</strong> tcp://127.0.0.1:33431</td>
<td style="text-align: left;"><strong>Total threads:</strong> 4</td>
</tr>
<tr class="even">
<td style="text-align: left;"><strong>Dashboard:</strong> <a href="http://127.0.0.1:39027/status" target="_blank">http://127.0.0.1:39027/status</a></td>
<td style="text-align: left;"><strong>Memory:</strong> 13.55 GiB</td>
</tr>
<tr class="odd">
<td style="text-align: left;"><strong>Nanny:</strong> tcp://127.0.0.1:46835</td>
<td style="text-align: left;"></td>
</tr>
<tr class="even">
<td colspan="2" style="text-align: left;"><strong>Local directory:</strong> /tmp/dask-scratch-space/worker-s4dyz9pk</td>
</tr>
</tbody>
</table>

            </details>
            </div>
        </div>
        
        <div style="margin-bottom: 20px;">
            <div style="width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;"> </div>
            <div style="margin-left: 48px;">
            <details>
                <summary>
                    <h4 style="margin-bottom: 0px; display: inline;" class="anchored">Worker: 1</h4>
                </summary>
                
<table class="caption-top table table-sm table-striped small" data-quarto-postprocess="true">
<tbody>
<tr class="odd">
<td style="text-align: left;"><strong>Comm:</strong> tcp://127.0.0.1:36301</td>
<td style="text-align: left;"><strong>Total threads:</strong> 4</td>
</tr>
<tr class="even">
<td style="text-align: left;"><strong>Dashboard:</strong> <a href="http://127.0.0.1:35767/status" target="_blank">http://127.0.0.1:35767/status</a></td>
<td style="text-align: left;"><strong>Memory:</strong> 13.55 GiB</td>
</tr>
<tr class="odd">
<td style="text-align: left;"><strong>Nanny:</strong> tcp://127.0.0.1:36265</td>
<td style="text-align: left;"></td>
</tr>
<tr class="even">
<td colspan="2" style="text-align: left;"><strong>Local directory:</strong> /tmp/dask-scratch-space/worker-9t1r0nti</td>
</tr>
</tbody>
</table>

            </details>
            </div>
        </div>
        

    </details>
</div>

        </details>
    </div>
</div>
            </details>
        

    </div>
</div>
</div>
<div class="cell-output cell-output-stderr">
<pre><code>2025-01-03 12:16:44,335 - distributed.shuffle._scheduler_plugin - WARNING - Shuffle 8b04cd7a3e831297147d5c00d79f8bb9 initialized by task ('shuffle-transfer-8b04cd7a3e831297147d5c00d79f8bb9', 295) executed on worker tcp://127.0.0.1:33431
2025-01-03 12:18:07,698 - distributed.shuffle._scheduler_plugin - WARNING - Shuffle 8b04cd7a3e831297147d5c00d79f8bb9 deactivated due to stimulus 'task-finished-1735928287.6946151'
2025-01-03 12:19:33,219 - distributed.shuffle._scheduler_plugin - WARNING - Shuffle b7f5ce97ecf82f18ee01140b59d55007 initialized by task ('shuffle-transfer-b7f5ce97ecf82f18ee01140b59d55007', 99) executed on worker tcp://127.0.0.1:33431
2025-01-03 12:20:26,159 - distributed.shuffle._scheduler_plugin - WARNING - Shuffle b7f5ce97ecf82f18ee01140b59d55007 deactivated due to stimulus 'task-finished-1735928426.1586232'
2025-01-03 12:20:35,652 - distributed.shuffle._scheduler_plugin - WARNING - Shuffle 8b04cd7a3e831297147d5c00d79f8bb9 initialized by task ('shuffle-transfer-8b04cd7a3e831297147d5c00d79f8bb9', 405) executed on worker tcp://127.0.0.1:36301
2025-01-03 12:21:36,894 - distributed.shuffle._scheduler_plugin - WARNING - Shuffle 8b04cd7a3e831297147d5c00d79f8bb9 deactivated due to stimulus 'task-finished-1735928496.8918214'</code></pre>
</div>
</div>
<p>Then we can read in the itineraries dataset and perform an aggregation. First we get the number of records by starting airport:</p>
<div id="b4c97c81-059a-454e-bddc-83eca19f45d7" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"></span>
<span id="cb7-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> dask</span>
<span id="cb7-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> dask.dataframe <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> ddf</span>
<span id="cb7-4"></span>
<span id="cb7-5">data_path <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"~/shared/data/airlines/itineraries.csv"</span></span>
<span id="cb7-6"></span>
<span id="cb7-7">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ddf.read_csv(</span>
<span id="cb7-8">    data_path, </span>
<span id="cb7-9">    usecols<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"startingAirport"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"destinationAirport"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"baseFare"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"totalFare"</span>],</span>
<span id="cb7-10">    assume_missing<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span></span>
<span id="cb7-11">)</span>
<span id="cb7-12"></span>
<span id="cb7-13">dfstart <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"startingAirport"</span>).startingAirport.count()</span>
<span id="cb7-14"></span>
<span id="cb7-15">dfstart.compute()</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="4">
<pre><code>startingAirport
CLT    5494510
MIA    4930213
OAK    3809884
DFW    5674959
ATL    5312028
IAD    3464378
JFK    4425164
DTW    4547052
DEN    4697143
LGA    5919323
BOS    5883876
ORD    5503476
PHL    4726187
EWR    3970797
LAX    8073281
SFO    5706482
Name: startingAirport, dtype: int64</code></pre>
</div>
</div>
<p><br></p>
<p>Next we compute the average total fare by starting airport:</p>
<div id="11090e95-a64e-4858-878c-78b20509a96c" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"></span>
<span id="cb9-2">dffare <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"startingAirport"</span>).totalFare.mean()</span>
<span id="cb9-3">dffare.compute()</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="5">
<pre><code>startingAirport
CLT    321.456261
MIA    299.955595
OAK    534.211396
DFW    294.077856
ATL    303.774077
IAD    370.046151
JFK    375.406488
DTW    330.940539
DEN    335.077884
LGA    299.220774
BOS    285.865775
ORD    281.691875
PHL    344.088743
EWR    302.986457
LAX    379.254937
SFO    434.504077
Name: totalFare, dtype: float64</code></pre>
</div>
</div>
<div id="28e231ed-a68a-478c-9054-c3c8a8104480" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1"></span>
<span id="cb11-2">client.shutdown()</span></code></pre></div>
</div>
<p><br></p>
</section>
<section id="using-sshcluster" class="level3">
<h3 class="anchored" data-anchor-id="using-sshcluster">Using <code>SSHCluster</code></h3>
<p><code>SSHCluster</code> is used to create our distributed cluster on the local network. It accepts a list of hostnames, the first of which will be used for the scheduler and the rest as workers. We can repeat the name of the first host to have it also serve as a worker.</p>
<p>The full list of worker options can be found <a href="https://distributed.dask.org/en/stable/worker.html">here</a>. Note that in when using <code>LocalCluster</code>, <code>n_workers</code> specifies the total number of workers. When using <code>SSHCluster</code>, <code>n_workers</code> is the number of workers <em>per host</em>. In the next cell, we’ve create a cluster with two nodes, 1 worker each, with 4 threads per worker:</p>
<div id="80664db1-8c51-4cee-b10e-1c9c02b0629a" class="cell" data-execution_count="7">
<div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb12-1"></span>
<span id="cb12-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> dask.distributed <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> Client, SSHCluster</span>
<span id="cb12-3"></span>
<span id="cb12-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Path to dask environment executable for all nodes. </span></span>
<span id="cb12-5">remote_python <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"~/miniforge3/envs/dask/bin/python"</span></span>
<span id="cb12-6"></span>
<span id="cb12-7">hosts <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"localhost"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"192.168.86.138"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"192.168.86.147"</span>]</span>
<span id="cb12-8"></span>
<span id="cb12-9">worker_opts <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n_workers"</span>: <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"nthreads"</span>: <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>} <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#"memory_limit": "8GB"</span></span>
<span id="cb12-10"></span>
<span id="cb12-11">connect_opts <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {</span>
<span id="cb12-12">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"known_hosts"</span>: <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>, </span>
<span id="cb12-13">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"username"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"jtriz"</span>, </span>
<span id="cb12-14">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"password"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"xxxxx"</span>,</span>
<span id="cb12-15">}</span>
<span id="cb12-16"></span>
<span id="cb12-17">cluster <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> SSHCluster(</span>
<span id="cb12-18">    hosts<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>hosts,</span>
<span id="cb12-19">    worker_options<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>worker_opts,</span>
<span id="cb12-20">    connect_options<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>connect_opts,</span>
<span id="cb12-21">    remote_python<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>remote_python</span>
<span id="cb12-22">)</span>
<span id="cb12-23"></span>
<span id="cb12-24">client <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Client(cluster)</span>
<span id="cb12-25"></span>
<span id="cb12-26">client</span></code></pre></div>
<div class="cell-output cell-output-stderr">
<pre><code>2025-01-03 12:24:23,300 - distributed.deploy.ssh - INFO - 2025-01-03 12:24:23,299 - distributed.scheduler - INFO - State start
2025-01-03 12:24:23,304 - distributed.deploy.ssh - INFO - 2025-01-03 12:24:23,303 - distributed.scheduler - INFO -   Scheduler at: tcp://192.168.86.154:46219
2025-01-03 12:24:24,150 - distributed.deploy.ssh - INFO - 2025-01-03 12:24:24,149 - distributed.nanny - INFO -         Start Nanny at: 'tcp://192.168.86.154:35955'
2025-01-03 12:24:24,161 - distributed.deploy.ssh - INFO - 2025-01-03 12:24:24,160 - distributed.nanny - INFO -         Start Nanny at: 'tcp://192.168.86.154:45391'
2025-01-03 12:24:24,538 - distributed.deploy.ssh - INFO - 2025-01-03 12:24:24,536 - distributed.worker - INFO -       Start worker at: tcp://192.168.86.154:40165
2025-01-03 12:24:24,553 - distributed.deploy.ssh - INFO - 2025-01-03 12:24:24,551 - distributed.worker - INFO -       Start worker at: tcp://192.168.86.154:39183</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="7">
<div>
    <div style="width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;"> </div>
    <div style="margin-left: 48px;">
        <h3 style="margin-bottom: 0px;" class="anchored">Client</h3>
        <p style="color: #9D9D9D; margin-bottom: 0px;">Client-f59132cc-c9ff-11ef-8e58-3003c82ce6ed</p>
        
<table class="caption-top table table-sm table-striped small" data-quarto-postprocess="true">
<tbody>
<tr class="odd">
<td style="text-align: left;"><strong>Connection method:</strong> Cluster object</td>
<td style="text-align: left;"><strong>Cluster type:</strong> distributed.SpecCluster</td>
</tr>
<tr class="even">
<td style="text-align: left;"><strong>Dashboard:</strong> <a href="http://192.168.86.154:8787/status" target="_blank">http://192.168.86.154:8787/status</a></td>
<td style="text-align: left;"></td>
</tr>
</tbody>
</table>


        
            <button style="margin-bottom: 12px;" data-commandlinker-command="dask:populate-and-launch-layout" data-commandlinker-args="{&quot;url&quot;: &quot;http://192.168.86.154:8787/status&quot; }">
                Launch dashboard in JupyterLab
            </button>
        

        
            <details>
            <summary style="margin-bottom: 20px;"><h3 style="display: inline;" class="anchored">Cluster Info</h3></summary>
            <div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-mod-trusted jp-OutputArea-output">
    <div style="width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;">
    </div>
    <div style="margin-left: 48px;">
        <h3 style="margin-bottom: 0px; margin-top: 0px;" class="anchored">SpecCluster</h3>
        <p style="color: #9D9D9D; margin-bottom: 0px;">SSHCluster</p>
        
<table class="caption-top table table-sm table-striped small" data-quarto-postprocess="true">
<tbody>
<tr class="odd">
<td style="text-align: left;"><strong>Dashboard:</strong> <a href="http://192.168.86.154:8787/status" target="_blank">http://192.168.86.154:8787/status</a></td>
<td style="text-align: left;"><strong>Workers:</strong> 2</td>
</tr>
<tr class="even">
<td style="text-align: left;"><strong>Total threads:</strong> 8</td>
<td style="text-align: left;"><strong>Total memory:</strong> 13.55 GiB</td>
</tr>
</tbody>
</table>


        <details>
            <summary style="margin-bottom: 20px;">
                <h3 style="display: inline;" class="anchored">Scheduler Info</h3>
            </summary>

            <div style="">
    <div>
        <div style="width: 24px; height: 24px; background-color: #FFF7E5; border: 3px solid #FF6132; border-radius: 5px; position: absolute;"> </div>
        <div style="margin-left: 48px;">
            <h3 style="margin-bottom: 0px;" class="anchored">Scheduler</h3>
            <p style="color: #9D9D9D; margin-bottom: 0px;">Scheduler-04823e11-b8e4-4127-9552-fea45137927a</p>
            
<table class="caption-top table table-sm table-striped small" data-quarto-postprocess="true">
<tbody>
<tr class="odd">
<td style="text-align: left;"><strong>Comm:</strong> tcp://192.168.86.154:46219</td>
<td style="text-align: left;"><strong>Workers:</strong> 2</td>
</tr>
<tr class="even">
<td style="text-align: left;"><strong>Dashboard:</strong> <a href="http://192.168.86.154:8787/status" target="_blank">http://192.168.86.154:8787/status</a></td>
<td style="text-align: left;"><strong>Total threads:</strong> 8</td>
</tr>
<tr class="odd">
<td style="text-align: left;"><strong>Started:</strong> Just now</td>
<td style="text-align: left;"><strong>Total memory:</strong> 13.55 GiB</td>
</tr>
</tbody>
</table>

        </div>
    </div>

    <details style="margin-left: 48px;">
        <summary style="margin-bottom: 20px;">
            <h3 style="display: inline;" class="anchored">Workers</h3>
        </summary>

        
        <div style="margin-bottom: 20px;">
            <div style="width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;"> </div>
            <div style="margin-left: 48px;">
            <details>
                <summary>
                    <h4 style="margin-bottom: 0px; display: inline;" class="anchored">Worker: tcp://192.168.86.154:39183</h4>
                </summary>
                
<table class="caption-top table table-sm table-striped small" data-quarto-postprocess="true">
<tbody>
<tr class="odd">
<td style="text-align: left;"><strong>Comm:</strong> tcp://192.168.86.154:39183</td>
<td style="text-align: left;"><strong>Total threads:</strong> 4</td>
</tr>
<tr class="even">
<td style="text-align: left;"><strong>Dashboard:</strong> <a href="http://192.168.86.154:35959/status" target="_blank">http://192.168.86.154:35959/status</a></td>
<td style="text-align: left;"><strong>Memory:</strong> 6.77 GiB</td>
</tr>
<tr class="odd">
<td style="text-align: left;"><strong>Nanny:</strong> tcp://192.168.86.154:35955</td>
<td style="text-align: left;"></td>
</tr>
<tr class="even">
<td colspan="2" style="text-align: left;"><strong>Local directory:</strong> /tmp/dask-scratch-space/worker-b7o381g5</td>
</tr>
</tbody>
</table>

            </details>
            </div>
        </div>
        
        <div style="margin-bottom: 20px;">
            <div style="width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;"> </div>
            <div style="margin-left: 48px;">
            <details>
                <summary>
                    <h4 style="margin-bottom: 0px; display: inline;" class="anchored">Worker: tcp://192.168.86.154:40165</h4>
                </summary>
                
<table class="caption-top table table-sm table-striped small" data-quarto-postprocess="true">
<tbody>
<tr class="odd">
<td style="text-align: left;"><strong>Comm:</strong> tcp://192.168.86.154:40165</td>
<td style="text-align: left;"><strong>Total threads:</strong> 4</td>
</tr>
<tr class="even">
<td style="text-align: left;"><strong>Dashboard:</strong> <a href="http://192.168.86.154:43629/status" target="_blank">http://192.168.86.154:43629/status</a></td>
<td style="text-align: left;"><strong>Memory:</strong> 6.77 GiB</td>
</tr>
<tr class="odd">
<td style="text-align: left;"><strong>Nanny:</strong> tcp://192.168.86.154:45391</td>
<td style="text-align: left;"></td>
</tr>
<tr class="even">
<td colspan="2" style="text-align: left;"><strong>Local directory:</strong> /tmp/dask-scratch-space/worker-lh5cekag</td>
</tr>
</tbody>
</table>

            </details>
            </div>
        </div>
        

    </details>
</div>

        </details>
    </div>
</div>
            </details>
        

    </div>
</div>
</div>
</div>
<p><br></p>
<p>Getting a count of the number of records by starting airport:</p>
<div id="d688cfb5-9d5f-4518-929a-b433cbd85500" class="cell" data-execution_count="8">
<div class="sourceCode cell-code" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb14-1"></span>
<span id="cb14-2">data_path <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"~/shared/data/airlines/itineraries.csv"</span></span>
<span id="cb14-3"></span>
<span id="cb14-4">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ddf.read_csv(</span>
<span id="cb14-5">    data_path, </span>
<span id="cb14-6">    usecols<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"startingAirport"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"destinationAirport"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"baseFare"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"totalFare"</span>],</span>
<span id="cb14-7">    assume_missing<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span></span>
<span id="cb14-8">)</span>
<span id="cb14-9"></span>
<span id="cb14-10">dfstart <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"startingAirport"</span>).startingAirport.count()</span>
<span id="cb14-11"></span>
<span id="cb14-12">dfstart.compute()</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="8">
<pre><code>startingAirport
CLT    5494510
MIA    4930213
OAK    3809884
DFW    5674959
ATL    5312028
IAD    3464378
JFK    4425164
DTW    4547052
DEN    4697143
LGA    5919323
BOS    5883876
ORD    5503476
PHL    4726187
EWR    3970797
LAX    8073281
SFO    5706482
Name: startingAirport, dtype: int64</code></pre>
</div>
</div>
<p><br></p>
<p>As before, computing the average total fare by starting airport:</p>
<div id="1bac1ddf-0c16-4ecf-88ab-ffd701647c3c" class="cell" data-execution_count="9">
<div class="sourceCode cell-code" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb16-1"></span>
<span id="cb16-2">dffare <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"startingAirport"</span>).totalFare.mean()</span>
<span id="cb16-3">dffare.compute()</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="9">
<pre><code>startingAirport
CLT    321.456261
MIA    299.955595
OAK    534.211396
DFW    294.077856
ATL    303.774077
IAD    370.046151
JFK    375.406488
DTW    330.940539
DEN    335.077884
LGA    299.220774
BOS    285.865775
ORD    281.691875
PHL    344.088743
EWR    302.986457
LAX    379.254937
SFO    434.504077
Name: totalFare, dtype: float64</code></pre>
</div>
</div>
<div id="f7152581-201c-4080-a663-a942414974ca" class="cell">
<div class="sourceCode cell-code" id="cb18" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb18-1"></span>
<span id="cb18-2">client.shutdown()</span></code></pre></div>
</div>
<p><br></p>
<p>The Dask Lab extention didn’t seem to work when using <code>SSHCluster</code>. This probably has more to do with my setup than any issue with the extention itself, but even after tinkering with it for a while, I couldn’t get it to display usage metrics.</p>
<p>While I was able to get <code>SSHCluster</code> setup and running on my local network, I’ll probably opt for <code>LocalCLuster</code> for my distributed computing needs, first because my data processing needs aren’t that significant and this was intended as a proof of concept, and second not having access to the dash lab extention when using <code>SSHCluter</code> is limiting. In addition, at times I noticed a mismatch between the actual number of workers and number of workers displayed by the <code>SSHCluster</code> client, so it was difficult to determine if the cluster was properly configured without diagnostic tooling.</p>
<p>I plan on researching how to go about setting up an additional worker on WSL within an <code>SSHCluster</code>, but that will be a future post.</p>


</section>

 ]]></description>
  <category>Python</category>
  <guid>https://www.jtrive.com/posts/adhoc-compute-cluster-with-dask/adhoc-compute-cluster-with-dask.html</guid>
  <pubDate>Thu, 02 Jan 2025 06:00:00 GMT</pubDate>
</item>
<item>
  <title>Multimodal Neural Networks for Risk Classification</title>
  <link>https://www.jtrive.com/posts/mulitmodal-neural-networks/multimodal-neural-networks.html</link>
  <description><![CDATA[ 





<p>Multimodal neural networks are a type of model designed to integrate data from multiple modalities, such as text, images, audio, video, or other data types. Multimodal networks aim to learn complex relationships between different kinds of inputs, with the hope of achieving better performance than a model focusing on a single modality.</p>
<p>For example, in applications like video captioning, a multimodal network combines visual features from video frames with linguistic models to generate descriptive text. In tasks like audio-visual speech recognition, it can integrate auditory and visual data for more robust performance. By leveraging diverse types of data, multimodal neural networks improve the accuracy and context-awareness of machine learning systems, allowing for potentially deeper insights.</p>
<p>This post documents how to create a multimodal network for the purpose of quantifying roadway risk using traditional tabular features along with images of the surrounding region. The tabular features may describe the underlying network topology, or the number of traffic citations issued as a function of daily traffic volume, etc. Here a synthetic dataset will be used, but would be replaced with meaningful variables for real-world usage.</p>
<p>For the purposes of demonstration, a small set of images are used: The Des Moines, Iowa metro region is partitioned into 16 equally sized tiles laid out in a 4x4 grid pattern:</p>
<div id="cell-2" class="cell">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create a grid of sample images.</span></span>
<span id="cb1-2"></span>
<span id="cb1-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> os</span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> pathlib <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> Path</span>
<span id="cb1-5"></span>
<span id="cb1-6"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> cv2</span>
<span id="cb1-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb1-8"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> mpl_toolkits.axes_grid1 <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> ImageGrid</span>
<span id="cb1-9"></span>
<span id="cb1-10">image_dir <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Path(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"images"</span>)</span>
<span id="cb1-11">image_paths <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [image_dir.joinpath(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(ii)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>zfill(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">.png"</span>) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">16</span>)]</span>
<span id="cb1-12"></span>
<span id="cb1-13"></span>
<span id="cb1-14">fig <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.figure(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">12.</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">12.</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb1-15"></span>
<span id="cb1-16">grid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ImageGrid(fig, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">111</span>, nrows_ncols<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>), axes_pad<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.20</span>)</span>
<span id="cb1-17"></span>
<span id="cb1-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Load images.</span></span>
<span id="cb1-19">images <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [cv2.cvtColor(cv2.imread(ii), cv2.COLOR_BGR2RGB)  <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> image_paths]</span>
<span id="cb1-20"></span>
<span id="cb1-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Resize to 196 x 196.</span></span>
<span id="cb1-22">images <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [cv2.resize(ii, (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">196</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">196</span>), interpolation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>cv2.INTER_AREA) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> images]</span>
<span id="cb1-23"></span>
<span id="cb1-24"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ax, path, img <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(grid, image_paths, images):</span>
<span id="cb1-25">    ax.imshow(img)</span>
<span id="cb1-26">    ax.axis(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"off"</span>)</span>
<span id="cb1-27">    ax.set_title(path.name, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb1-28"></span>
<span id="cb1-29">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-stderr">
<pre><code>c:\Users\jtriv\miniforge3\envs\torch\Lib\site-packages\IPython\core\pylabtools.py:170: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.
  fig.canvas.print_figure(bytes_io, **kw)</code></pre>
</div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/mulitmodal-neural-networks/multimodal-neural-networks_files/figure-html/cell-2-output-2.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>In practice, a much larger dataset with tens or hundreds of thousands of images would be used, but this small sample will suffice to demonstrate the approach. The setup used here can be specialized for different but similar task.</p>
<p>A synthetic dataset is created to represent tabular features and label along with the path to the corresponding image file. Each row corresponds to one of the images shown in the grid above. For the label, <em>1</em> represents a region of high risk and <em>0</em> a region of low risk based on an auxiliary analysis:</p>
<div id="cell-4" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"></span>
<span id="cb3-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb3-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb3-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torch</span>
<span id="cb3-5"></span>
<span id="cb3-6">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb3-7">pd.options.mode.chained_assignment <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb3-8">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.max_columns'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb3-9">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.width'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb3-10">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"display.precision"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb3-11"></span>
<span id="cb3-12">torch.manual_seed(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">516</span>)</span>
<span id="cb3-13">rng <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.random.default_rng(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">516</span>)</span>
<span id="cb3-14"></span>
<span id="cb3-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create 20 random tabular features. df has the same number of rows as the</span></span>
<span id="cb3-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># number of images (16).</span></span>
<span id="cb3-17">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame(rng.normal(size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">16</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>)))</span>
<span id="cb3-18"></span>
<span id="cb3-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Add label.</span></span>
<span id="cb3-20">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"label"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rng.integers(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, high<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">16</span>)</span>
<span id="cb3-21"></span>
<span id="cb3-22"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Add path to corresponding image file.</span></span>
<span id="cb3-23">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"image_path"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [image_dir.joinpath(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(ii)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>zfill(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">.png"</span>) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">16</span>)]</span>
<span id="cb3-24"></span>
<span id="cb3-25">df.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>)</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="2">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">0</th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
<th data-quarto-table-cell-role="th">11</th>
<th data-quarto-table-cell-role="th">12</th>
<th data-quarto-table-cell-role="th">13</th>
<th data-quarto-table-cell-role="th">14</th>
<th data-quarto-table-cell-role="th">15</th>
<th data-quarto-table-cell-role="th">16</th>
<th data-quarto-table-cell-role="th">17</th>
<th data-quarto-table-cell-role="th">18</th>
<th data-quarto-table-cell-role="th">19</th>
<th data-quarto-table-cell-role="th">label</th>
<th data-quarto-table-cell-role="th">image_path</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>1.28963</td>
<td>0.48410</td>
<td>0.24857</td>
<td>0.73372</td>
<td>-0.98589</td>
<td>-0.32993</td>
<td>0.14570</td>
<td>-1.27563</td>
<td>0.33370</td>
<td>-1.23056</td>
<td>-0.54767</td>
<td>-0.42706</td>
<td>1.92863</td>
<td>0.82478</td>
<td>0.78189</td>
<td>-0.68096</td>
<td>1.84075</td>
<td>-0.58315</td>
<td>1.39984</td>
<td>1.98030</td>
<td>0</td>
<td>c:\Users\jtriv\repos\blog-posts-in-progress\mu...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>-1.20795</td>
<td>0.30504</td>
<td>-0.62360</td>
<td>0.59993</td>
<td>0.12950</td>
<td>2.13616</td>
<td>0.24374</td>
<td>-0.68748</td>
<td>-2.42601</td>
<td>-0.10827</td>
<td>-3.08048</td>
<td>0.81488</td>
<td>1.87151</td>
<td>-1.50928</td>
<td>-0.93552</td>
<td>0.40171</td>
<td>-0.42437</td>
<td>-0.82750</td>
<td>-0.49901</td>
<td>0.69287</td>
<td>1</td>
<td>c:\Users\jtriv\repos\blog-posts-in-progress\mu...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>0.29436</td>
<td>0.91876</td>
<td>-0.76522</td>
<td>0.34283</td>
<td>2.13044</td>
<td>-2.04926</td>
<td>1.72924</td>
<td>-0.08234</td>
<td>0.66696</td>
<td>-0.96648</td>
<td>-0.54479</td>
<td>-0.93761</td>
<td>0.46527</td>
<td>-0.81374</td>
<td>-0.45954</td>
<td>-0.46045</td>
<td>0.83743</td>
<td>0.33436</td>
<td>-0.10157</td>
<td>-1.33409</td>
<td>1</td>
<td>c:\Users\jtriv\repos\blog-posts-in-progress\mu...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>-0.29149</td>
<td>0.40605</td>
<td>2.30611</td>
<td>-0.19939</td>
<td>1.56295</td>
<td>1.48744</td>
<td>0.99899</td>
<td>-0.05705</td>
<td>0.53843</td>
<td>1.20204</td>
<td>-1.36381</td>
<td>-0.78851</td>
<td>0.04786</td>
<td>-0.87854</td>
<td>-1.01904</td>
<td>-0.52666</td>
<td>-0.96457</td>
<td>-0.04617</td>
<td>1.71839</td>
<td>1.36298</td>
<td>0</td>
<td>c:\Users\jtriv\repos\blog-posts-in-progress\mu...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>-1.04513</td>
<td>-2.56570</td>
<td>-0.52784</td>
<td>1.27892</td>
<td>-0.47038</td>
<td>-0.24379</td>
<td>-1.13843</td>
<td>-0.48612</td>
<td>1.41375</td>
<td>1.29564</td>
<td>-0.49210</td>
<td>-0.86928</td>
<td>2.09184</td>
<td>0.90340</td>
<td>0.38600</td>
<td>-0.63851</td>
<td>-1.43843</td>
<td>-0.79458</td>
<td>0.89424</td>
<td>-0.73609</td>
<td>0</td>
<td>c:\Users\jtriv\repos\blog-posts-in-progress\mu...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>1.46810</td>
<td>-2.06851</td>
<td>-1.91358</td>
<td>-1.55112</td>
<td>-0.76136</td>
<td>0.25340</td>
<td>1.18610</td>
<td>-0.80685</td>
<td>-1.51704</td>
<td>-1.29806</td>
<td>-0.75313</td>
<td>-0.02666</td>
<td>1.32913</td>
<td>0.30397</td>
<td>-1.81921</td>
<td>-0.98140</td>
<td>-0.45354</td>
<td>-1.29872</td>
<td>0.13481</td>
<td>0.87467</td>
<td>0</td>
<td>c:\Users\jtriv\repos\blog-posts-in-progress\mu...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>-0.43073</td>
<td>-0.81238</td>
<td>1.35071</td>
<td>-0.62312</td>
<td>-0.74979</td>
<td>0.53097</td>
<td>-0.13714</td>
<td>0.01988</td>
<td>-0.65419</td>
<td>-0.41824</td>
<td>-1.15486</td>
<td>0.37681</td>
<td>0.62695</td>
<td>0.75203</td>
<td>-0.88323</td>
<td>-0.44607</td>
<td>-1.04912</td>
<td>-0.49071</td>
<td>-0.28945</td>
<td>-0.66037</td>
<td>0</td>
<td>c:\Users\jtriv\repos\blog-posts-in-progress\mu...</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>In order to supply the model with training data, a custom <code>Dataset</code> object is created. It accepts the DataFrame created in the previous cell along with the desired image dimension. The <code>__getitem__</code> method is overridden to return a dictionary consisting of the image, tabular features and label for a single training sample:</p>
<div id="cell-6" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb4-1"></span>
<span id="cb4-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> PIL <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> Image</span>
<span id="cb4-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torchvision</span>
<span id="cb4-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> torch.utils.data <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> DataLoader, Dataset</span>
<span id="cb4-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> torchvision <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> transforms, utils</span>
<span id="cb4-6">torchvision.disable_beta_transforms_warning()</span>
<span id="cb4-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> torchvision.transforms <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> v2</span>
<span id="cb4-8"></span>
<span id="cb4-9"></span>
<span id="cb4-10"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">class</span> MultiModalDataset(Dataset):</span>
<span id="cb4-11">    </span>
<span id="cb4-12">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__init__</span>(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, df, image_dim):</span>
<span id="cb4-13">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb4-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Parameters</span></span>
<span id="cb4-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        ----------</span></span>
<span id="cb4-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        df: pd.DataFrame</span></span>
<span id="cb4-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">            Contains image path, predictors and label.</span></span>
<span id="cb4-18"></span>
<span id="cb4-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        image_dim: int</span></span>
<span id="cb4-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">            Shape of images used for training. </span></span>
<span id="cb4-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        """</span></span>
<span id="cb4-22">        img_transform <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb4-23">            v2.CenterCrop(image_dim),</span>
<span id="cb4-24">            v2.ToImage(),</span>
<span id="cb4-25">            v2.ToDtype(torch.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>, scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb4-26">        ]</span>
<span id="cb4-27"></span>
<span id="cb4-28">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.img_transform <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> v2.Compose(img_transform)</span>
<span id="cb4-29">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.img_paths <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"image_path"</span>].tolist()</span>
<span id="cb4-30">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.labels <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"label"</span>].tolist()</span>
<span id="cb4-31">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.features <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> torch.from_numpy(df.drop([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"image_path"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"label"</span>], axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>).values).to(torch.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb4-32"></span>
<span id="cb4-33">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__len__</span>(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>):</span>
<span id="cb4-34">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.labels)</span>
<span id="cb4-35"></span>
<span id="cb4-36">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__getitem__</span>(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, index):</span>
<span id="cb4-37">        img_path <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.img_paths[index])</span>
<span id="cb4-38">        img <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Image.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">open</span>(img_path).convert(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"RGB"</span>)</span>
<span id="cb4-39">        img <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.img_transform(img)</span>
<span id="cb4-40">        label <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.labels[index]</span>
<span id="cb4-41">        predictors <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.features[index, :]</span>
<span id="cb4-42">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"image"</span>: img, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"predictors"</span>: predictors, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"label"</span>: label}</span>
<span id="cb4-43"></span></code></pre></div>
</div>
<p><br></p>
<p>In total, three separate models need to be created:</p>
<ol type="1">
<li>A convolutional neural network (CNN) to be trained on image data</li>
<li>A fully-connected network to be trained on tabular features</li>
<li>A combined network which concatenates activations from 1 and 2 and generates a prediction</li>
</ol>
<p>A simple CNN is shown below, but any model can be used in its place. PyTorch’s pre-trained weights and associated models are worth exploring, available <a href="https://pytorch.org/vision/main/models.html">here</a>.</p>
<div id="cell-8" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Simple CNN for image data. </span></span>
<span id="cb5-2"></span>
<span id="cb5-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torch.nn <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> nn</span>
<span id="cb5-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torch.nn.functional <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> F</span>
<span id="cb5-5"></span>
<span id="cb5-6"></span>
<span id="cb5-7"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">class</span> BasicCNN(nn.Module):</span>
<span id="cb5-8">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__init__</span>(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, dropout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>):</span>
<span id="cb5-9">        <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">super</span>().<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__init__</span>()</span>
<span id="cb5-10">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.conv1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nn.Conv2d(in_channels<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, out_channels<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, kernel_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb5-11">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.pool <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nn.MaxPool2d(kernel_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, stride<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb5-12">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.conv2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nn.Conv2d(in_channels<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, out_channels<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>, kernel_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb5-13">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.fc1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nn.Linear(in_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">529</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>, out_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">120</span>)</span>
<span id="cb5-14">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.fc2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nn.Linear(in_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">120</span>, out_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">64</span>)</span>
<span id="cb5-15">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.drp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nn.Dropout(p<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>dropout)</span>
<span id="cb5-16">        </span>
<span id="cb5-17">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> forward(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, X):</span>
<span id="cb5-18">        output <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.pool(F.relu(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.conv1(X)))</span>
<span id="cb5-19">        output <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.pool(F.relu(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.conv2(output)))</span>
<span id="cb5-20">        output <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> torch.flatten(output, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb5-21">        output <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> F.relu(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.drp(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.fc1(output)))</span>
<span id="cb5-22">        output <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> F.relu(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.drp(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.fc2(output)))</span>
<span id="cb5-23">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> output</span>
<span id="cb5-24"></span>
<span id="cb5-25"></span>
<span id="cb5-26"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Print number of trainable parameters.</span></span>
<span id="cb5-27">nbr_params <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(p.numel() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> p <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> BasicCNN().parameters())</span>
<span id="cb5-28"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"BasicCNN number of parameters: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>nbr_params<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>BasicCNN number of parameters: 1,024,604</code></pre>
</div>
</div>
<p><br></p>
<p>Within <code>self.fc1</code>, <code>in_features</code> is set to 529 * 4 * 4 = 8,464, which is the flattened shape coming out of <code>self.conv2</code> after the application of max pooling.</p>
<p>To use a pre-trained model, a different architecture is required. For example, to use ResNet34 trained on ImageNet data, a <code>PretrainedCNN</code> model is created:</p>
<div id="cell-10" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Pretrained CNN (ResNet34) for image data. </span></span>
<span id="cb7-2"></span>
<span id="cb7-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> torch.nn <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> nn</span>
<span id="cb7-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> torchvision <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> models</span>
<span id="cb7-5"></span>
<span id="cb7-6"></span>
<span id="cb7-7"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">class</span> PretrainedCNN(nn.Module):</span>
<span id="cb7-8">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__init__</span>(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, dropout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>):</span>
<span id="cb7-9">        <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">super</span>().<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__init__</span>()</span>
<span id="cb7-10">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.model <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> models.resnet34()</span>
<span id="cb7-11"></span>
<span id="cb7-12">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set requires_grad to False for pretrained model. </span></span>
<span id="cb7-13">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> param <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.model.parameters():</span>
<span id="cb7-14">            param.requires_grad <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span></span>
<span id="cb7-15"></span>
<span id="cb7-16">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get dimension of last layer input. </span></span>
<span id="cb7-17">        pt_num_features <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.model.fc.in_features</span>
<span id="cb7-18">        </span>
<span id="cb7-19">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.model.fc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nn.Sequential(</span>
<span id="cb7-20">             nn.Linear(in_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>pt_num_features, out_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">64</span>),</span>
<span id="cb7-21">             nn.Dropout(p<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>dropout),</span>
<span id="cb7-22">             nn.ReLU(),</span>
<span id="cb7-23">        )</span>
<span id="cb7-24">        </span>
<span id="cb7-25">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> forward(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">input</span>):</span>
<span id="cb7-26">        output <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.model(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">input</span>)</span>
<span id="cb7-27">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> output</span>
<span id="cb7-28"></span>
<span id="cb7-29"></span>
<span id="cb7-30"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Print number of trainable parameters.</span></span>
<span id="cb7-31">nbr_params <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(p.numel() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> p <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> PretrainedCNN().parameters())</span>
<span id="cb7-32"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"PretrainedCNN number of parameters: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>nbr_params<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>PretrainedCNN number of parameters: 21,317,504</code></pre>
</div>
</div>
<p><br></p>
<p><code>PretrainedCNN</code> has many more parameters than <code>BasicCNN</code>, but only weights associated with <code>self.model.fc</code> will be updated during backpropagation. All other weights have been frozen in the call to <code>param.requires_grad = False</code>. The actual number of trainable parameters for <code>PretrainedCNN</code> is closer to 30,000.</p>
<p>Within the forward pass, both <code>BasicCNN</code> and <code>PretrainedCNN</code> return an activation tensor having dimension BATCH_SIZE x 64.</p>
<p>The model to process tabular features is a simple fully-connected network with two hidden layers:</p>
<div id="cell-12" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Model to process tabular features.</span></span>
<span id="cb9-2"></span>
<span id="cb9-3"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">class</span> TabularNN(nn.Module):</span>
<span id="cb9-4">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__init__</span>(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, num_features, dropout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>):</span>
<span id="cb9-5">        <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">super</span>().<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__init__</span>()</span>
<span id="cb9-6">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.model <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nn.Sequential(</span>
<span id="cb9-7">            nn.Linear(in_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>num_features, out_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">64</span>),</span>
<span id="cb9-8">            nn.ReLU(),</span>
<span id="cb9-9">            nn.Dropout(p<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>dropout),</span>
<span id="cb9-10">            nn.Linear(in_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">64</span>, out_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">128</span>),</span>
<span id="cb9-11">            nn.ReLU(),</span>
<span id="cb9-12">            nn.Dropout(p<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>dropout),</span>
<span id="cb9-13">            nn.Linear(in_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">128</span>, out_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">32</span>)</span>
<span id="cb9-14">        )</span>
<span id="cb9-15">        </span>
<span id="cb9-16">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> forward(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">input</span>):</span>
<span id="cb9-17">        output <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.model(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">input</span>)</span>
<span id="cb9-18">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> output</span>
<span id="cb9-19">    </span>
<span id="cb9-20"></span>
<span id="cb9-21">nbr_params <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(p.numel() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> p <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> TabularNN(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>).parameters())</span>
<span id="cb9-22"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"TabularNN number of parameters: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>nbr_params<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>TabularNN number of parameters: 13,792</code></pre>
</div>
</div>
<p><br></p>
<p><code>num_features</code> is the number of predictors in the tabular dataset (we used 20 for the synthetic data created earlier). Within the forward pass, <code>TabularNN</code> returns an activation tensor of dimension BATCH_SIZE x 32.</p>
<p>In the next cell, <code>MultiModalNN</code> accepts an image model and a tabular model, along with the dimension of the activation output for each. The activations are concatenated row-wise, then passed through the sigmoid to generate an output between 0 and 1, where values closer to 1 represent higher risk regions. <code>MultiModalNN</code> consists only of a single linear layer which reduces the dimensionality of the concatenated activations down to an output dimension BATCH_SIZE x 1. The <code>forward</code> method accepts both a batch of images and a batch of tabular features.</p>
<div id="cell-14" class="cell" data-execution_count="7">
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Multi-modal network. </span></span>
<span id="cb11-2"></span>
<span id="cb11-3"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">class</span> MultiModalNN(nn.Module):</span>
<span id="cb11-4">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__init__</span>(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, image_model, tabular_model, image_act_dim, tabular_act_dim, dropout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>):</span>
<span id="cb11-5">        <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">super</span>().<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">__init__</span>()</span>
<span id="cb11-6">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.image_model <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> image_model</span>
<span id="cb11-7">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.tabular_model <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tabular_model</span>
<span id="cb11-8">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.sigmoid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nn.Sigmoid()</span>
<span id="cb11-9">        <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.mm_model <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nn.Sequential(</span>
<span id="cb11-10">            nn.Linear(in_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>image_act_dim <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> tabular_act_dim, out_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">32</span>),</span>
<span id="cb11-11">            nn.ReLU(),</span>
<span id="cb11-12">            nn.Dropout(p<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>dropout),</span>
<span id="cb11-13">            nn.Linear(in_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">32</span>, out_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb11-14">        )</span>
<span id="cb11-15"></span>
<span id="cb11-16">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> forward(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>, images, predictors):</span>
<span id="cb11-17">        image_activations <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.image_model(images)</span>
<span id="cb11-18">        tabular_activations <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.tabular_model(predictors)</span>
<span id="cb11-19">        output <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> torch.cat((image_activations, tabular_activations), dim<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb11-20">        output <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.sigmoid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">self</span>.mm_model(output))</span>
<span id="cb11-21">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> output</span>
<span id="cb11-22">    </span></code></pre></div>
</div>
<section id="bringing-it-all-together" class="level3">
<h3 class="anchored" data-anchor-id="bringing-it-all-together">Bringing it All Together</h3>
<p>We first create a <code>MultiModalDataset</code> instance which gets passed into <code>DataLoader</code>. We use a batch size of 4 (8 samples for training, 4 for validation):</p>
<div id="cell-16" class="cell" data-execution_count="8">
<div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb12-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Initialize DataLoaders.</span></span>
<span id="cb12-2"></span>
<span id="cb12-3">batch_size <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span></span>
<span id="cb12-4">image_dim <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">196</span></span>
<span id="cb12-5"></span>
<span id="cb12-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Use GPU if available. </span></span>
<span id="cb12-7">device <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> torch.device(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cuda:0"</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> torch.cuda.is_available() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cpu"</span>)</span>
<span id="cb12-8"></span>
<span id="cb12-9">ds_train <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> MultiModalDataset(df[:<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>], image_dim<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>image_dim)</span>
<span id="cb12-10">train_loader <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> DataLoader(ds_train, batch_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>batch_size, shuffle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb12-11"></span>
<span id="cb12-12">ds_valid <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> MultiModalDataset(df[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>:], image_dim<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>image_dim)</span>
<span id="cb12-13">valid_loader <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> DataLoader(ds_valid, batch_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>batch_size, shuffle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb12-14"></span>
<span id="cb12-15"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"device: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>device<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">."</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>device: cpu.</code></pre>
</div>
</div>
<p>We can inspect a batch of training data and get the dimensions of the concatenated images and tabular features:</p>
<div id="cell-18" class="cell" data-execution_count="9">
<div class="sourceCode cell-code" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb14-1"></span>
<span id="cb14-2">d <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">next</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">iter</span>(train_loader))</span>
<span id="cb14-3"></span>
<span id="cb14-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"d.keys()              : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">list</span>(d.keys())<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb14-5"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"d['image'].shape      : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>d[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'image'</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb14-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"d['predictors'].shape : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>d[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'predictors'</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb14-7"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"d['label'].shape      : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>d[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'label'</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>d.keys()              : ['image', 'predictors', 'label']
d['image'].shape      : torch.Size([4, 3, 196, 196])
d['predictors'].shape : torch.Size([4, 20])
d['label'].shape      : torch.Size([4])</code></pre>
</div>
</div>
<p><br></p>
<p>To create a <code>MutliModalNN</code> instance, we first initialize the component models. Recall that for <code>BasicCNN</code>, the output will be BATCH_SIZE x 64 and for <code>TabularNN</code> BATCH_SIZE x 32. The optimizer is initialized, the loss function specified and code is added to train on multiple GPUs in parallel if available:</p>
<div id="cell-20" class="cell" data-execution_count="10">
<div class="sourceCode cell-code" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb16-1"></span>
<span id="cb16-2">dropout <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.10</span>    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Dropout</span></span>
<span id="cb16-3">ngpu <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>         <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Number of GPUs </span></span>
<span id="cb16-4"></span>
<span id="cb16-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create model instances.</span></span>
<span id="cb16-6">cnn_model <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> BasicCNN(dropout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>dropout)</span>
<span id="cb16-7">tab_model <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> TabularNN(num_features<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>, dropout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>dropout)</span>
<span id="cb16-8">mm_model <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> MultiModalNN(cnn_model, tab_model, image_act_dim<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">64</span>, tabular_act_dim<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">32</span>, dropout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>dropout)</span>
<span id="cb16-9"></span>
<span id="cb16-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Specify loss criteria and optimizer.</span></span>
<span id="cb16-11">criterion <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nn.BCELoss()</span>
<span id="cb16-12">optim <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> torch.optim.Adam(mm_model.parameters(), lr<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.0002</span>, betas<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.50</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.999</span>))</span>
<span id="cb16-13"></span>
<span id="cb16-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Distribute model across multiple gpus if available.</span></span>
<span id="cb16-15"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> (device.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">type</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cuda"</span>) <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">and</span> (ngpu <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>):</span>
<span id="cb16-16">    model <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nn.DataParallel(mm_model, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">list</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(ngpu)))</span></code></pre></div>
</div>
<p><br></p>
<p>As a quick verification, a batch of training data is passed into <code>mm_model</code> to ensure the correct output dimensionality:</p>
<div id="cell-22" class="cell" data-execution_count="11">
<div class="sourceCode cell-code" id="cb17" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb17-1"></span>
<span id="cb17-2">images, predictors <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> d[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"image"</span>], d[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"predictors"</span>]</span>
<span id="cb17-3">predictors <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> predictors.to(device<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>device, dtype<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>torch.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb17-4">images <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> images.to(device<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>device, dtype<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>torch.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb17-5">y <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> mm_model(images, predictors).squeeze()</span>
<span id="cb17-6"></span>
<span id="cb17-7"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"y.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>y<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb17-8"></span>
<span id="cb17-9">y</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>y.shape: torch.Size([4])</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="11">
<pre><code>tensor([0.5056, 0.5047, 0.5080, 0.5011], grad_fn=&lt;SqueezeBackward0&gt;)</code></pre>
</div>
</div>
<p><br></p>
<p>The training loop executes the following steps:</p>
<ul>
<li>Load a batch of training data from the DataLoader.</li>
<li>Zero out the optimizer’s gradients.</li>
<li>Get predictions from the model for current batch.</li>
<li>Calculate the loss for current batch predictions vs.&nbsp;labels.</li>
<li>Calculate backward gradients over the weights.</li>
<li>Calculate the loss on a set of data that was not used for training.</li>
</ul>
<p><code>trainer</code> and <code>validator</code> are defined to handle the training and validation of a single epoch:</p>
<div id="cell-24" class="cell" data-execution_count="12">
<div class="sourceCode cell-code" id="cb20" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb20-1"></span>
<span id="cb20-2"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> trainer(epoch, model, train_loader, criterion, optim):</span>
<span id="cb20-3">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb20-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Train single epoch.</span></span>
<span id="cb20-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb20-6">    nbr_batches <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(train_loader)</span>
<span id="cb20-7"></span>
<span id="cb20-8">    running_loss, checkpoint_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.</span></span>
<span id="cb20-9"></span>
<span id="cb20-10">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii, dinputs <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">enumerate</span>(train_loader):</span>
<span id="cb20-11"></span>
<span id="cb20-12">        images, predictors, yactual <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dinputs[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"image"</span>], dinputs[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"predictors"</span>], dinputs[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"label"</span>]</span>
<span id="cb20-13">        predictors <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> predictors.to(device<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>device, dtype<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>torch.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb20-14">        images <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> images.to(device<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>device, dtype<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>torch.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb20-15">        yactual <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> yactual.to(device<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>device, dtype<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>torch.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb20-16"></span>
<span id="cb20-17">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Zero out gradients.</span></span>
<span id="cb20-18">        optim.zero_grad()</span>
<span id="cb20-19"></span>
<span id="cb20-20">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Forward pass.</span></span>
<span id="cb20-21">        ypred <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> model(images, predictors).squeeze()</span>
<span id="cb20-22"></span>
<span id="cb20-23">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute loss and gradients.</span></span>
<span id="cb20-24">        loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> criterion(ypred, yactual)</span>
<span id="cb20-25">        loss.backward()</span>
<span id="cb20-26"></span>
<span id="cb20-27">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Update weights.</span></span>
<span id="cb20-28">        optim.step()</span>
<span id="cb20-29"></span>
<span id="cb20-30">        running_loss<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+=</span>loss.item()</span>
<span id="cb20-31"></span>
<span id="cb20-32">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>:</span>
<span id="cb20-33">            checkpoint_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> running_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span></span>
<span id="cb20-34">            <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\t</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">+ [train][epoch=</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>epoch<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">, batch=</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>ii<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">] loss = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>checkpoint_loss<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,.5f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">."</span>)</span>
<span id="cb20-35">            running_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.0</span></span>
<span id="cb20-36"></span>
<span id="cb20-37">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> checkpoint_loss</span>
<span id="cb20-38">       </span>
<span id="cb20-39"></span>
<span id="cb20-40"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> validator(epoch, model, valid_loader, criterion):</span>
<span id="cb20-41">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb20-42"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Validate single epoch.</span></span>
<span id="cb20-43"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb20-44">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">with</span> torch.no_grad():</span>
<span id="cb20-45">        </span>
<span id="cb20-46">        running_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.0</span></span>
<span id="cb20-47"></span>
<span id="cb20-48">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii, dinputs <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">enumerate</span>(valid_loader, start<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>):</span>
<span id="cb20-49">            images, predictors, yactual <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dinputs[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"image"</span>], dinputs[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"predictors"</span>], dinputs[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"label"</span>]</span>
<span id="cb20-50">            predictors <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> predictors.to(device<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>device, dtype<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>torch.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb20-51">            images <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> images.to(device<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>device, dtype<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>torch.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb20-52">            yactual <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> yactual.to(device<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>device, dtype<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>torch.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb20-53">            ypred <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> model(images, predictors).squeeze()</span>
<span id="cb20-54">            loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> criterion(ypred, yactual)</span>
<span id="cb20-55">            running_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+=</span> loss.item()</span>
<span id="cb20-56">        avg_valid_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> running_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> ii</span>
<span id="cb20-57"></span>
<span id="cb20-58">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> avg_valid_loss</span></code></pre></div>
</div>
<p>Then construct the training loop:</p>
<div id="cell-26" class="cell" data-execution_count="13">
<div class="sourceCode cell-code" id="cb21" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb21-1"></span>
<span id="cb21-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> datetime <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> datetime</span>
<span id="cb21-3"></span>
<span id="cb21-4">epochs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span></span>
<span id="cb21-5">best_valid_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1e15</span></span>
<span id="cb21-6"></span>
<span id="cb21-7"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> epoch <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, epochs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>):</span>
<span id="cb21-8"></span>
<span id="cb21-9">    mm_model.train()</span>
<span id="cb21-10"></span>
<span id="cb21-11">    train_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> trainer(epoch, mm_model, train_loader, criterion, optim)</span>
<span id="cb21-12"></span>
<span id="cb21-13">    mm_model.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">eval</span>()</span>
<span id="cb21-14"></span>
<span id="cb21-15">    valid_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> validator(epoch, mm_model, valid_loader, criterion)</span>
<span id="cb21-16"></span>
<span id="cb21-17">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> valid_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&lt;</span> best_valid_loss:</span>
<span id="cb21-18">        model_path <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"epoch-</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>epoch<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">.pth"</span></span>
<span id="cb21-19">        torch.save(mm_model, model_path)</span>
<span id="cb21-20">        best_valid_loss <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> valid_loss</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>    + [train][epoch=1, batch=0] loss = 0.00696.
    + [train][epoch=2, batch=0] loss = 0.00690.
    + [train][epoch=3, batch=0] loss = 0.00676.
    + [train][epoch=4, batch=0] loss = 0.00658.
    + [train][epoch=5, batch=0] loss = 0.00668.
    + [train][epoch=6, batch=0] loss = 0.00648.
    + [train][epoch=7, batch=0] loss = 0.00812.
    + [train][epoch=8, batch=0] loss = 0.00723.
    + [train][epoch=9, batch=0] loss = 0.00835.
    + [train][epoch=10, batch=0] loss = 0.00585.</code></pre>
</div>
</div>
<p><br></p>
</section>
<section id="enhancements" class="level3">
<h3 class="anchored" data-anchor-id="enhancements">Enhancements</h3>
<p>As presented above, the map images have a lot of detail that may not be of particular interest for the task at hand. It may be desirable to create binary images that represent roadways in white and everything else black. This can be accomplished using a segmentation model such as U-Net. The multimodal architecture can also be expanded to incorporate multiple images per training sample, or even facilitate additional modalities.</p>


</section>

 ]]></description>
  <category>Machine Learning</category>
  <category>Python</category>
  <guid>https://www.jtrive.com/posts/mulitmodal-neural-networks/multimodal-neural-networks.html</guid>
  <pubDate>Sat, 14 Dec 2024 06:00:00 GMT</pubDate>
</item>
<item>
  <title>Geohashing for Fun and Profit</title>
  <link>https://www.jtrive.com/posts/geohash-python/geohash-python.html</link>
  <description><![CDATA[ 





<p>I recently became interested in geohashing and wanted to develop an understanding of the algorithm with the aim of implementing it myself. I was surprised to find it to be quite simple and intuitive. In this article, I’ll demonstrate how to generate geohashes for a given latitude and longitude and compare results against <code>pygeohash</code>, a Python library for all things geohash-related. I’ll also walkthrough an approach that can be used to find neighboring cells of a given geohash, and render them on a map using folium.</p>
<p>A geohash is a unique identifier of a specific region on the Earth. The basic idea is the Earth gets divided into rectangular regions of user-defined size, and each region is assigned a unique id which is called its geohash. For a given location on earth, the algorithm converts an arbitrary precision latitude and longitude into a string, the idea being that regions with a similar string prefix will be closer together. Conceptually, geohashing reduces proximity search to string prefix matching. As each character encodes additional precision, shared prefixes denote geographic proximity. But the converse is not true: Two points may be close in terms of relative proximity, but have no common geohash characters (think of two points on opposite sides of the prime meridian).</p>
<p>Geohashes offer a level of anonymity by avoiding the need to share precise GPS coordinates. Instead, they represent a location within a specific bounding box at a chosen level of precision.</p>
<p>Before we begin, it is important to note that geohash libraries in the wild use a more efficient generating mechanism than what is presented here. My goal is to demonstrate the concept with maximum clarity as opposed to maximum efficiency. If you decide to use geohashing in a real-world application, use an existing library.</p>
<p><br></p>
<section id="algorithm" class="level3">
<h3 class="anchored" data-anchor-id="algorithm">Algorithm</h3>
<p>A geohash is a hierarchical spatial index: In order to represent a point, the world is recursively divided into smaller and smaller grid cells with each additional bit until the desired precision is reached. Functionally, the algorithm works by storing the intermediate results of two binary searches. In the resulting bit string, even-indexed bits represent longitude, while odd-indexed bits represent latitude. The user specifies a level of precision, usually between 1 and 12, and a geohash of that length is returned. The table below gives the dimensions of geohashes at each level of precision (taken from <a href="https://www.movable-type.co.uk/scripts/geohash.html">here</a>):</p>
<pre class="text"><code>Precision          Dimension     
        1: 5,000km x 5,000km
        2:   1,250km x 625km
        3:     156km x 156km
        4:   31.9km x 19.5km
        5:   4.89km x 4.89km
        6:   1.22km x 0.61km
        7:       153m x 153m
        8:     38.2m x 19.1m
        9:     4.77m x 4.77m
       10:    1.19m x 0.596m 
       11:     149mm x 149mm
       12:   37.2mm x 18.6mm</code></pre>
<p>The values in the table represent the maximum dimension at each level of precision: As locations move away from the equator, the dimensions of each cell get smaller.</p>
<p>For a geohash of length 12, the coordinate can be found in a cell having dimension 37.2mm x 18.6mm, which is an impressive level of precision for a 12 character string!</p>
<p>The geohash symbol map consists of 32 characters:</p>
<pre><code>base32 = "0123456789bcdefghjkmnpqrstuvwxyz"</code></pre>
<p><code>base32</code> consists of digits 0 thru 9 plus all lowercase letters excluding <code>a, i, l, o</code>. As the search space is recursively partitioned, each group of 5 bits, when converted to a decimal integer, maps to one of the values in <code>base32</code>.</p>
<p>I’ll present the algorithm first then walkthrough it step-by-step. What follows is a basic implementation of geohashing, which takes as input the latitude and longitude for a point of interest and returns the geohash and bounding box to the specified level of precision:</p>
<div id="cell-2" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb3-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">Very inefficient geohashing subroutine. For demonstration purposes only. </span></span>
<span id="cb3-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb3-4"></span>
<span id="cb3-5"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> get_geohash(lat, lon, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>):</span>
<span id="cb3-6">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb3-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Generate geohash of lat/lon at specified precision.</span></span>
<span id="cb3-8"></span>
<span id="cb3-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb3-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb3-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    lat: float</span></span>
<span id="cb3-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Latitude of point of interest.</span></span>
<span id="cb3-13"></span>
<span id="cb3-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    lon: float</span></span>
<span id="cb3-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Longitude of point of interest</span></span>
<span id="cb3-16"></span>
<span id="cb3-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    precision: int</span></span>
<span id="cb3-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Precision of geohash. Higher values result in </span></span>
<span id="cb3-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        smaller bounding regions.</span></span>
<span id="cb3-20"></span>
<span id="cb3-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb3-22"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb3-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    geohash, bbox as list</span></span>
<span id="cb3-24"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb3-25">    base32 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"0123456789bcdefghjkmnpqrstuvwxyz"</span></span>
<span id="cb3-26">    bits <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb3-27"></span>
<span id="cb3-28">    min_lat, max_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">90</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">90</span></span>
<span id="cb3-29">    min_lon, max_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">180</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">180</span></span>
<span id="cb3-30"></span>
<span id="cb3-31">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> precision):</span>
<span id="cb3-32"></span>
<span id="cb3-33">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>:</span>
<span id="cb3-34">            <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Bisect longitude (E-W).</span></span>
<span id="cb3-35">            mid_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lon) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb3-36">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> mid_lon:</span>
<span id="cb3-37">                bits.append(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb3-38">                min_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> mid_lon</span>
<span id="cb3-39">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb3-40">                bits.append(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb3-41">                max_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> mid_lon</span>
<span id="cb3-42"></span>
<span id="cb3-43">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb3-44">            <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Bisect latitude (N-S).</span></span>
<span id="cb3-45">            mid_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lat) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb3-46">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> mid_lat:</span>
<span id="cb3-47">                bits.append(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb3-48">                min_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> mid_lat</span>
<span id="cb3-49">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb3-50">                bits.append(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb3-51">                max_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> mid_lat</span>
<span id="cb3-52"></span>
<span id="cb3-53">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create single bit string from list of 0/1s. </span></span>
<span id="cb3-54">    bitstr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">""</span>.join([<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(ii) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> bits])</span>
<span id="cb3-55"></span>
<span id="cb3-56">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Partition bitstr into groups of 5 bits. </span></span>
<span id="cb3-57">    quints <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [bitstr[(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> ii):(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>))] <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(precision)]</span>
<span id="cb3-58"></span>
<span id="cb3-59">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert binary digits to decimal digits to get indices into base32. </span></span>
<span id="cb3-60">    indices <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>(ii, base<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> quints]</span>
<span id="cb3-61"></span>
<span id="cb3-62">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Lookup characters associated with each index and concatenate.</span></span>
<span id="cb3-63">    geohash <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">""</span>.join([base32[ii] <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> indices]) </span>
<span id="cb3-64"></span>
<span id="cb3-65">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># geohash bounding box is just the final, min_lat, min_lon, max_lat, max_lon.</span></span>
<span id="cb3-66">    bbox <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [min_lat, min_lon, max_lat, max_lon]</span>
<span id="cb3-67"></span>
<span id="cb3-68">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> geohash, bbox</span></code></pre></div>
</div>
<p><br></p>
<p>Within <code>get_geohash</code>, <code>base32</code> represents the 32 character map and <code>bits</code> gets set to an empty list to hold 0s and 1s. The initial minimum and maximum latitudes and longitudes define the bounds of the search space.</p>
<p>The range of iteration is specified as <code>range(5 * precision)</code>. For a geohash having precision=6, the <code>bits</code> list will contain 5 * 6 = 30 values. We multiply by 5 since the <code>base32</code> character map has length 32, and 2^5 bit arrangements cover each of the 32 indices.</p>
<p>If <code>ii</code> is even, we bisect longitude. If <code>lon &gt;= mid_lon</code> we append 1 to <code>bits</code> and update <code>min_lat</code>. Otherwise we append 0 and update <code>max_lon</code>. If <code>ii</code> is odd, we execute the same logic but for latitude. In this way, the final bit string represents interleaved longitude and latitude bits.</p>
<p>Once iteration completes, the individual elements of <code>bits</code> are concatenated into a single bit string <code>bitstr</code>. Next, we partition <code>bitstr</code> into groups of 5 bits (<code>quints</code>), which are converted to decimal integers, which are then used as indices to lookup elements from <code>base32</code>. These characters are concatenated into a single string representing the geohash.</p>
<p>Let’s use <code>get_geohash</code> to determine the level 6 geohash for The Mutual Group home office in West Des Moines, IA (41.58538, -93.71946). <code>bits</code> will consist of 30 1s and 0s:</p>
<pre><code>[0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0]</code></pre>
<p>Which get combined into a single bit string:</p>
<pre><code>'010011111110011100100110100110'</code></pre>
<p>Partitioned into groups of 5 bits:</p>
<pre><code>['01001', '11111', '10011', '10010', '01101', '00110']</code></pre>
<p>Converted to decimal integers:</p>
<pre><code>[9, 31, 19, 18, 13, 6]</code></pre>
<p>Which serve as indices into <code>base32</code>, whose corresponding elements and are concatenated into the geohash:</p>
<pre><code>'9zmke6'</code></pre>
<p><code>get_geohash</code> also returns the bounding box of the precision = 6 geohash:</p>
<pre><code>[41.583251953125, -93.724365234375, 41.5887451171875, -93.71337890625]</code></pre>
<p><br></p>
<p>Let’s compare the results of our implementation against pygeohash to ensure consistency:</p>
<div id="cell-4" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb10-1"></span>
<span id="cb10-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pygeohash</span>
<span id="cb10-3"></span>
<span id="cb10-4">lat, lon, precision <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.58538</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">93.71946</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span></span>
<span id="cb10-5">gh1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_geohash(lat, lon, precision)[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span>
<span id="cb10-6">gh2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pygeohash.encode(latitude<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>lat, longitude<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>lon, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span>
<span id="cb10-7"></span>
<span id="cb10-8"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"get_geohash level-6 geohash : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>gh1<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb10-9"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"pygeohash level-6 geohash   : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>gh2<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>get_geohash level-6 geohash : 9zmke6
pygeohash level-6 geohash   : 9zmke6</code></pre>
</div>
</div>
<p><br></p>
<p>We can visualize the precision = 6 geohash using folium:</p>
<div id="cell-6" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb12-1"></span>
<span id="cb12-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> folium </span>
<span id="cb12-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> folium.features <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> DivIcon</span>
<span id="cb12-4"></span>
<span id="cb12-5"></span>
<span id="cb12-6">lat, lon, precision <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.58538</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">93.71946</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span></span>
<span id="cb12-7"></span>
<span id="cb12-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Use our subroutine to get geohash and bounding box. </span></span>
<span id="cb12-9">geohash, bbox <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_geohash(lat, lon, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span>
<span id="cb12-10"></span>
<span id="cb12-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Unpack bbox.</span></span>
<span id="cb12-12">min_lat, min_lon, max_lat, max_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bbox</span>
<span id="cb12-13"></span>
<span id="cb12-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get mid_lat and mid_lon for geohash id placement. </span></span>
<span id="cb12-15">mid_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lat) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb12-16">mid_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lon) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb12-17"></span>
<span id="cb12-18">m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Map(</span>
<span id="cb12-19">    location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[lat, lon], </span>
<span id="cb12-20">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#width=900, </span></span>
<span id="cb12-21">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#height=600, </span></span>
<span id="cb12-22">    zoom_start<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">15</span>, </span>
<span id="cb12-23">    zoom_control<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, </span>
<span id="cb12-24">    no_touch<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb12-25">    tiles<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"OpenStreetMap"</span></span>
<span id="cb12-26">    )</span>
<span id="cb12-27"></span>
<span id="cb12-28"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># precision = 6 geohash bounding box. </span></span>
<span id="cb12-29">folium.Rectangle(</span>
<span id="cb12-30">    [(min_lat, min_lon), (max_lat, max_lon)], </span>
<span id="cb12-31">    fill_color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>, fill_opacity<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.15</span></span>
<span id="cb12-32">    ).add_to(m)</span>
<span id="cb12-33"></span>
<span id="cb12-34"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Red dot at Merchandise Mart. </span></span>
<span id="cb12-35">folium.CircleMarker(</span>
<span id="cb12-36">    location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[lat, lon], radius<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, fill_color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, </span>
<span id="cb12-37">    fill_opacity<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span></span>
<span id="cb12-38">    ).add_to(m)</span>
<span id="cb12-39"></span>
<span id="cb12-40"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># precision = 6 geohash id.</span></span>
<span id="cb12-41">folium.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>.Marker(</span>
<span id="cb12-42">    [mid_lat, mid_lon],</span>
<span id="cb12-43">    icon<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>DivIcon(</span>
<span id="cb12-44">        icon_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">250</span>,<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">36</span>),</span>
<span id="cb12-45">        icon_anchor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>,<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">50</span>),</span>
<span id="cb12-46">        html<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'&lt;div style="font-size: 40pt"&gt;</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>geohash<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">&lt;/div&gt;'</span>,</span>
<span id="cb12-47">        )</span>
<span id="cb12-48">    ).add_to(m)</span>
<span id="cb12-49"></span>
<span id="cb12-50">m</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="3">
<div style="width:100%;"><div style="position:relative;width:100%;height:0;padding-bottom:60%;"><span style="color:#565656">Make this Notebook Trusted to load map: File -&gt; Trust Notebook</span><iframe srcdoc="<!DOCTYPE html>
<html>
<head>
    
    <meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot; />
    
        <script>
            L_NO_TOUCH = true;
            L_DISABLE_3D = false;
        </script>
    
    <style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>
    <style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>
    <script src=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js&quot;></script>
    <script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js&quot;></script>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css&quot;/>
    
            <meta name=&quot;viewport&quot; content=&quot;width=device-width,
                initial-scale=1.0, maximum-scale=1.0, user-scalable=no&quot; />
            <style>
                #map_1723606a2a68b8dda75030a21465026a {
                    position: relative;
                    width: 100.0%;
                    height: 100.0%;
                    left: 0.0%;
                    top: 0.0%;
                }
                .leaflet-container { font-size: 1rem; }
            </style>
        
</head>
<body>
    
    
            <div class=&quot;folium-map&quot; id=&quot;map_1723606a2a68b8dda75030a21465026a&quot; ></div>
        
</body>
<script>
    
    
            var map_1723606a2a68b8dda75030a21465026a = L.map(
                &quot;map_1723606a2a68b8dda75030a21465026a&quot;,
                {
                    center: [41.58538, -93.71946],
                    crs: L.CRS.EPSG3857,
                    zoom: 15,
                    zoomControl: true,
                    preferCanvas: false,
                }
            );

            

        
    
            var tile_layer_b408470fe7956aed4ead3726576ce38e = L.tileLayer(
                &quot;https://tile.openstreetmap.org/{z}/{x}/{y}.png&quot;,
                {&quot;attribution&quot;: &quot;\u0026copy; \u003ca href=\&quot;https://www.openstreetmap.org/copyright\&quot;\u003eOpenStreetMap\u003c/a\u003e contributors&quot;, &quot;detectRetina&quot;: false, &quot;maxNativeZoom&quot;: 19, &quot;maxZoom&quot;: 19, &quot;minZoom&quot;: 0, &quot;noWrap&quot;: false, &quot;opacity&quot;: 1, &quot;subdomains&quot;: &quot;abc&quot;, &quot;tms&quot;: false}
            );
        
    
            tile_layer_b408470fe7956aed4ead3726576ce38e.addTo(map_1723606a2a68b8dda75030a21465026a);
        
    
            var rectangle_988d6c89ee773a4eb8aa31092cc999bf = L.rectangle(
                [[41.583251953125, -93.724365234375], [41.5887451171875, -93.71337890625]],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#3388ff&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;blue&quot;, &quot;fillOpacity&quot;: 0.15, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;noClip&quot;: false, &quot;opacity&quot;: 1.0, &quot;smoothFactor&quot;: 1.0, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_1723606a2a68b8dda75030a21465026a);
        
    
            var circle_marker_6a9a646ea218648c4d32e3c3ae4a018c = L.circleMarker(
                [41.58538, -93.71946],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_1723606a2a68b8dda75030a21465026a);
        
    
            var marker_64882f5e3848da7a72426c2234469af8 = L.marker(
                [41.58599853515625, -93.7188720703125],
                {}
            ).addTo(map_1723606a2a68b8dda75030a21465026a);
        
    
            var div_icon_53dccdd8c168ef17d28c71a0bac848db = L.divIcon({&quot;className&quot;: &quot;empty&quot;, &quot;html&quot;: &quot;\u003cdiv style=\&quot;font-size: 40pt\&quot;\u003e9zmke6\u003c/div\u003e&quot;, &quot;iconAnchor&quot;: [100, 50], &quot;iconSize&quot;: [250, 36]});
            marker_64882f5e3848da7a72426c2234469af8.setIcon(div_icon_53dccdd8c168ef17d28c71a0bac848db);
        
</script>
</html>" style="position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;" allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen=""></iframe></div></div>
</div>
</div>
<p><br></p>
</section>
<section id="identify-neighboring-cells" class="level3">
<h3 class="anchored" data-anchor-id="identify-neighboring-cells">Identify Neighboring Cells</h3>
<p><code>get_geohash</code> can be used to help identify cells that neighbor a given geohash. Once the bounding box for the target geohash is known we simply increment those coordinates by a small amount, then lookup the geohash and bounding box associated with the new coordinate:</p>
<div id="cell-8" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb13" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb13-1"></span>
<span id="cb13-2">lat, lon, precision <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.58538</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">93.71946</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span></span>
<span id="cb13-3"></span>
<span id="cb13-4">eps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1e-10</span></span>
<span id="cb13-5"></span>
<span id="cb13-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Center geohash id and bounding box.</span></span>
<span id="cb13-7">geohash, bbox <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_geohash(lat, lon, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span>
<span id="cb13-8"></span>
<span id="cb13-9">min_lat, min_lon, max_lat, max_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bbox</span>
<span id="cb13-10"></span>
<span id="cb13-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get geohash id and bounding box for Northwest cell.</span></span>
<span id="cb13-12">gh_nw, bb_nw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_geohash(max_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> eps, min_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> eps, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span>
<span id="cb13-13"></span>
<span id="cb13-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get geohash id and bounding box for Northeast cell.</span></span>
<span id="cb13-15">gh_ne, bb_ne <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_geohash(max_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> eps, max_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> eps, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span>
<span id="cb13-16"></span>
<span id="cb13-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get geohash id and bounding box for Southeast cell.</span></span>
<span id="cb13-18">gh_se, bb_se <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_geohash(min_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> eps, max_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> eps, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span>
<span id="cb13-19"></span>
<span id="cb13-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get geohash id and bounding box for Southwest cell.</span></span>
<span id="cb13-21">gh_sw, bb_sw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_geohash(min_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> eps, min_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> eps, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span></code></pre></div>
</div>
<p><br></p>
<p>Using the results from the NW, NE, SE and SW directions, we obtain the geohashes in the N, S, E and W directions:</p>
<div id="cell-10" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb14-1"></span>
<span id="cb14-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># For N, get mid point between NE and NW cells.</span></span>
<span id="cb14-3">min_lat_nw, min_lon_nw, max_lat_nw, max_lon_nw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bb_nw</span>
<span id="cb14-4">min_lat_ne, min_lon_ne, max_lat_ne, max_lon_ne <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bb_ne</span>
<span id="cb14-5">n_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lat_nw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lat_nw) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb14-6">n_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lon_nw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lon_ne) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb14-7"></span>
<span id="cb14-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># For S, get mid point between SE and SW cells.</span></span>
<span id="cb14-9">min_lat_sw, min_lon_sw, max_lat_sw, max_lon_sw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bb_sw</span>
<span id="cb14-10">min_lat_se, min_lon_se, max_lat_se, max_lon_se <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bb_se</span>
<span id="cb14-11">s_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lat_sw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lat_sw) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb14-12">s_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lon_sw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lon_se) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb14-13"></span>
<span id="cb14-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># For E, get mid point between SE and NE cells.</span></span>
<span id="cb14-15">min_lat_ne, min_lon_ne, max_lat_ne, max_lon_ne <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bb_ne</span>
<span id="cb14-16">min_lat_se, min_lon_se, max_lat_se, max_lon_se <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bb_se</span>
<span id="cb14-17">e_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (max_lat_ne <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> min_lat_se) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb14-18">e_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lon_se <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lon_se) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb14-19"></span>
<span id="cb14-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># For W, get mid point between SW and NW cells.</span></span>
<span id="cb14-21">min_lat_nw, min_lon_nw, max_lat_nw, max_lon_nw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bb_nw</span>
<span id="cb14-22">min_lat_sw, min_lon_sw, max_lat_sw, max_lon_sw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bb_sw</span>
<span id="cb14-23">w_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (max_lat_nw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> min_lat_sw) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb14-24">w_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lon_sw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lon_sw) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span></code></pre></div>
</div>
<p><img src="https://www.jtrive.com/posts/geohash-python/image01.png" class="img-fluid"></p>
<p><br></p>
<p>This logic can be encapsulated within a function identified as <code>get_neighbors</code>:</p>
<div id="cell-13" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb15" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb15-1"></span>
<span id="cb15-2"></span>
<span id="cb15-3"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> get_neighbors(lat, lon, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>):</span>
<span id="cb15-4">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb15-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Find 8 adjacent neighbors to geohash associated</span></span>
<span id="cb15-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    with (lat, lon) at specified precision.</span></span>
<span id="cb15-7"></span>
<span id="cb15-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb15-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb15-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    lat: float</span></span>
<span id="cb15-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Latitude of point of interest.</span></span>
<span id="cb15-12"></span>
<span id="cb15-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    lon: float</span></span>
<span id="cb15-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Longitude of point of interest</span></span>
<span id="cb15-15"></span>
<span id="cb15-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    precision: int</span></span>
<span id="cb15-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Precision of geohash. Higher values result in </span></span>
<span id="cb15-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        smaller bounding regions.</span></span>
<span id="cb15-19"></span>
<span id="cb15-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb15-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb15-22"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    dict</span></span>
<span id="cb15-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb15-24">    dneighbors <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {}</span>
<span id="cb15-25">    eps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1e-10</span></span>
<span id="cb15-26"></span>
<span id="cb15-27">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Center geohash id and bounding box.</span></span>
<span id="cb15-28">    geohash, bbox <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_geohash(lat, lon, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span>
<span id="cb15-29">    min_lat, min_lon, max_lat, max_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bbox</span>
<span id="cb15-30"></span>
<span id="cb15-31">    dneighbors[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"center"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geohash"</span>: geohash, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>: bbox}</span>
<span id="cb15-32"></span>
<span id="cb15-33">    dcorners <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {</span>
<span id="cb15-34">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"nw"</span>: {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>: max_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> eps, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>: min_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> eps},</span>
<span id="cb15-35">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ne"</span>: {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>: max_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> eps, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>: max_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> eps},</span>
<span id="cb15-36">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"sw"</span>: {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>: min_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> eps, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>: min_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> eps},</span>
<span id="cb15-37">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"se"</span>: {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>: min_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> eps, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>: max_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> eps},</span>
<span id="cb15-38">        }</span>
<span id="cb15-39"></span>
<span id="cb15-40">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> kk <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> dcorners:</span>
<span id="cb15-41">        lat_, lon_ <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dcorners[kk][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>], dcorners[kk][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>]</span>
<span id="cb15-42">        gh, bb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_geohash(lat_, lon_, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span>
<span id="cb15-43">        dneighbors[kk] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geohash"</span>: gh, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>: bb}</span>
<span id="cb15-44"></span>
<span id="cb15-45">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Find geohash for N, S, E and W directions.</span></span>
<span id="cb15-46">    min_lat_nw, min_lon_nw, max_lat_nw, max_lon_nw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dneighbors[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"nw"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>]</span>
<span id="cb15-47">    min_lat_ne, min_lon_ne, max_lat_ne, max_lon_ne <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dneighbors[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ne"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>]</span>
<span id="cb15-48">    n_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lat_nw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lat_nw) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb15-49">    n_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lon_nw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lon_ne) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb15-50">    n_gh, n_bb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_geohash(n_lat, n_lon, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span>
<span id="cb15-51">    dneighbors[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geohash"</span>: n_gh, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>: n_bb}</span>
<span id="cb15-52"></span>
<span id="cb15-53">    min_lat_sw, min_lon_sw, max_lat_sw, max_lon_sw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dneighbors[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"sw"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>]</span>
<span id="cb15-54">    min_lat_se, min_lon_se, max_lat_se, max_lon_se <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dneighbors[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"se"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>]</span>
<span id="cb15-55">    s_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lat_sw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lat_sw) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb15-56">    s_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lon_sw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lon_se) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb15-57">    s_gh, s_bb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_geohash(s_lat, s_lon, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span>
<span id="cb15-58">    dneighbors[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"s"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geohash"</span>: s_gh, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>: s_bb}</span>
<span id="cb15-59"></span>
<span id="cb15-60">    min_lat_ne, min_lon_ne, max_lat_ne, max_lon_ne <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dneighbors[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ne"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>]</span>
<span id="cb15-61">    min_lat_se, min_lon_se, max_lat_se, max_lon_se <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dneighbors[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"se"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>]</span>
<span id="cb15-62">    e_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (max_lat_ne <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> min_lat_se) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb15-63">    e_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lon_se <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lon_se) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb15-64">    e_gh, e_bb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_geohash(e_lat, e_lon, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span>
<span id="cb15-65">    dneighbors[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"e"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geohash"</span>: e_gh, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>: e_bb}</span>
<span id="cb15-66"></span>
<span id="cb15-67">    min_lat_nw, min_lon_nw, max_lat_nw, max_lon_nw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dneighbors[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"nw"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>]</span>
<span id="cb15-68">    min_lat_sw, min_lon_sw, max_lat_sw, max_lon_sw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dneighbors[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"sw"</span>][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>]</span>
<span id="cb15-69">    w_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (max_lat_nw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> min_lat_sw) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb15-70">    w_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lon_sw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lon_sw) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb15-71">    w_gh, w_bb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_geohash(w_lat, w_lon, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span>
<span id="cb15-72">    dneighbors[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"w"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geohash"</span>: w_gh, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>: w_bb}</span>
<span id="cb15-73"></span>
<span id="cb15-74">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> dneighbors</span></code></pre></div>
</div>
<p>Running <code>get_neighbors</code> and iterating over the results yields:</p>
<div id="cell-15" class="cell" data-execution_count="7">
<div class="sourceCode cell-code" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb16-1"></span>
<span id="cb16-2">lat, lon, precision <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.58538</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">93.71946</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span></span>
<span id="cb16-3"></span>
<span id="cb16-4">dn <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_neighbors(lat, lon, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>precision)</span>
<span id="cb16-5"></span>
<span id="cb16-6"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> kk <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> dn:</span>
<span id="cb16-7">    gh, bb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dn[kk][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geohash"</span>], dn[kk][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>]</span>
<span id="cb16-8">    <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>[kk]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">: geohash=</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>gh<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">, bbox=</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>bb<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb16-9">    </span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>['center']: geohash=9zmke6, bbox=[41.583251953125, -93.724365234375, 41.5887451171875, -93.71337890625]
['nw']: geohash=9zmke5, bbox=[41.5887451171875, -93.7353515625, 41.59423828125, -93.724365234375]
['ne']: geohash=9zmkee, bbox=[41.5887451171875, -93.71337890625, 41.59423828125, -93.702392578125]
['sw']: geohash=9zmke1, bbox=[41.5777587890625, -93.7353515625, 41.583251953125, -93.724365234375]
['se']: geohash=9zmke9, bbox=[41.5777587890625, -93.71337890625, 41.583251953125, -93.702392578125]
['n']: geohash=9zmke7, bbox=[41.5887451171875, -93.724365234375, 41.59423828125, -93.71337890625]
['s']: geohash=9zmke3, bbox=[41.5777587890625, -93.724365234375, 41.583251953125, -93.71337890625]
['e']: geohash=9zmked, bbox=[41.583251953125, -93.71337890625, 41.5887451171875, -93.702392578125]
['w']: geohash=9zmke4, bbox=[41.583251953125, -93.7353515625, 41.5887451171875, -93.724365234375]</code></pre>
</div>
</div>
<p><br></p>
<p>Finally, we can visualize a geohash with its 8 surrounding neighbors:</p>
<div id="cell-17" class="cell" data-execution_count="9">
<div class="sourceCode cell-code" id="cb18" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb18-1"></span>
<span id="cb18-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> folium </span>
<span id="cb18-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> folium.features <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> DivIcon</span>
<span id="cb18-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> mpl</span>
<span id="cb18-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb18-6"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb18-7"></span>
<span id="cb18-8"></span>
<span id="cb18-9">lat, lon, precision <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.58538</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">93.71946</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span></span>
<span id="cb18-10"></span>
<span id="cb18-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get  geohashes and bounding boxes. </span></span>
<span id="cb18-12">dn <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_neighbors(lat, lon, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb18-13"></span>
<span id="cb18-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Separate color for each cell.</span></span>
<span id="cb18-15">fcolors <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> mpl.colormaps[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gist_rainbow"</span>]</span>
<span id="cb18-16">colors_rgba <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [fcolors(ii) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> np.linspace(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(dn))]</span>
<span id="cb18-17">colors_hex <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [mpl.colors.to_hex(ii, keep_alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> colors_rgba]</span>
<span id="cb18-18"></span>
<span id="cb18-19"></span>
<span id="cb18-20">m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Map(</span>
<span id="cb18-21">    location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[lat, lon], </span>
<span id="cb18-22">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># width=900, </span></span>
<span id="cb18-23">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># height=600, </span></span>
<span id="cb18-24">    zoom_start<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">15</span>, </span>
<span id="cb18-25">    zoom_control<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, </span>
<span id="cb18-26">    no_touch<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb18-27">    tiles<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"OpenStreetMap"</span></span>
<span id="cb18-28">    )</span>
<span id="cb18-29"></span>
<span id="cb18-30"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii, kk <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">enumerate</span>(dn.keys()):</span>
<span id="cb18-31">    color <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> colors_hex[ii]</span>
<span id="cb18-32">    geohash, bbox <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dn[kk][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geohash"</span>], dn[kk][<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>]</span>
<span id="cb18-33">    min_lat, min_lon, max_lat, max_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bbox</span>
<span id="cb18-34">    mid_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lat) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb18-35">    mid_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (min_lon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> max_lon) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb18-36">    </span>
<span id="cb18-37">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># geohash bounding box. </span></span>
<span id="cb18-38">    folium.Rectangle(</span>
<span id="cb18-39">        [(min_lat, min_lon), (max_lat, max_lon)], </span>
<span id="cb18-40">        fill_color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>color, fill_opacity<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.25</span></span>
<span id="cb18-41">        ).add_to(m)</span>
<span id="cb18-42">    </span>
<span id="cb18-43">    folium.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>.Marker(</span>
<span id="cb18-44">        [mid_lat, mid_lon],</span>
<span id="cb18-45">        icon<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>DivIcon(</span>
<span id="cb18-46">            icon_size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">250</span>,<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">36</span>),</span>
<span id="cb18-47">            icon_anchor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">75</span>,<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">25</span>),</span>
<span id="cb18-48">            html<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'&lt;div style="font-size: 30pt"&gt;</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>geohash<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">&lt;/div&gt;'</span>,</span>
<span id="cb18-49">            )</span>
<span id="cb18-50">        ).add_to(m)</span>
<span id="cb18-51"></span>
<span id="cb18-52">m</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="9">
<div style="width:100%;"><div style="position:relative;width:100%;height:0;padding-bottom:60%;"><span style="color:#565656">Make this Notebook Trusted to load map: File -&gt; Trust Notebook</span><iframe srcdoc="<!DOCTYPE html>
<html>
<head>
    
    <meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot; />
    
        <script>
            L_NO_TOUCH = true;
            L_DISABLE_3D = false;
        </script>
    
    <style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>
    <style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>
    <script src=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js&quot;></script>
    <script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js&quot;></script>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css&quot;/>
    
            <meta name=&quot;viewport&quot; content=&quot;width=device-width,
                initial-scale=1.0, maximum-scale=1.0, user-scalable=no&quot; />
            <style>
                #map_f8fb5a97424b241040995d41e8a6e427 {
                    position: relative;
                    width: 100.0%;
                    height: 100.0%;
                    left: 0.0%;
                    top: 0.0%;
                }
                .leaflet-container { font-size: 1rem; }
            </style>
        
</head>
<body>
    
    
            <div class=&quot;folium-map&quot; id=&quot;map_f8fb5a97424b241040995d41e8a6e427&quot; ></div>
        
</body>
<script>
    
    
            var map_f8fb5a97424b241040995d41e8a6e427 = L.map(
                &quot;map_f8fb5a97424b241040995d41e8a6e427&quot;,
                {
                    center: [41.58538, -93.71946],
                    crs: L.CRS.EPSG3857,
                    zoom: 15,
                    zoomControl: true,
                    preferCanvas: false,
                }
            );

            

        
    
            var tile_layer_3fef21eabb61d706ffbde836d81c0130 = L.tileLayer(
                &quot;https://tile.openstreetmap.org/{z}/{x}/{y}.png&quot;,
                {&quot;attribution&quot;: &quot;\u0026copy; \u003ca href=\&quot;https://www.openstreetmap.org/copyright\&quot;\u003eOpenStreetMap\u003c/a\u003e contributors&quot;, &quot;detectRetina&quot;: false, &quot;maxNativeZoom&quot;: 19, &quot;maxZoom&quot;: 19, &quot;minZoom&quot;: 0, &quot;noWrap&quot;: false, &quot;opacity&quot;: 1, &quot;subdomains&quot;: &quot;abc&quot;, &quot;tms&quot;: false}
            );
        
    
            tile_layer_3fef21eabb61d706ffbde836d81c0130.addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var rectangle_31d58377817bb867e3371d8e3a03a8b0 = L.rectangle(
                [[41.583251953125, -93.724365234375], [41.5887451171875, -93.71337890625]],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#3388ff&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff0029&quot;, &quot;fillOpacity&quot;: 0.25, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;noClip&quot;: false, &quot;opacity&quot;: 1.0, &quot;smoothFactor&quot;: 1.0, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var marker_57f3c603961c89d2a8f99f28df4457de = L.marker(
                [41.58599853515625, -93.7188720703125],
                {}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var div_icon_15485c038cf2114f540a146af3bc50fb = L.divIcon({&quot;className&quot;: &quot;empty&quot;, &quot;html&quot;: &quot;\u003cdiv style=\&quot;font-size: 30pt\&quot;\u003e9zmke6\u003c/div\u003e&quot;, &quot;iconAnchor&quot;: [75, 25], &quot;iconSize&quot;: [250, 36]});
            marker_57f3c603961c89d2a8f99f28df4457de.setIcon(div_icon_15485c038cf2114f540a146af3bc50fb);
        
    
            var rectangle_c48f5140b16fd215159d5dbcf4a7bd14 = L.rectangle(
                [[41.5887451171875, -93.7353515625], [41.59423828125, -93.724365234375]],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#3388ff&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff8400&quot;, &quot;fillOpacity&quot;: 0.25, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;noClip&quot;: false, &quot;opacity&quot;: 1.0, &quot;smoothFactor&quot;: 1.0, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var marker_c4f7107b8182386b852a765a4e8451cc = L.marker(
                [41.59149169921875, -93.7298583984375],
                {}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var div_icon_a29326a4bc63088a642d3d2f304cd13f = L.divIcon({&quot;className&quot;: &quot;empty&quot;, &quot;html&quot;: &quot;\u003cdiv style=\&quot;font-size: 30pt\&quot;\u003e9zmke5\u003c/div\u003e&quot;, &quot;iconAnchor&quot;: [75, 25], &quot;iconSize&quot;: [250, 36]});
            marker_c4f7107b8182386b852a765a4e8451cc.setIcon(div_icon_a29326a4bc63088a642d3d2f304cd13f);
        
    
            var rectangle_14c8de7e469c7ed87f8af988ff25ae97 = L.rectangle(
                [[41.5887451171875, -93.71337890625], [41.59423828125, -93.702392578125]],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#3388ff&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#cdff00&quot;, &quot;fillOpacity&quot;: 0.25, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;noClip&quot;: false, &quot;opacity&quot;: 1.0, &quot;smoothFactor&quot;: 1.0, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var marker_098086474863e7baee0a7ad9339f0091 = L.marker(
                [41.59149169921875, -93.7078857421875],
                {}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var div_icon_b918a6f13877540d0b53d3497cc88e5e = L.divIcon({&quot;className&quot;: &quot;empty&quot;, &quot;html&quot;: &quot;\u003cdiv style=\&quot;font-size: 30pt\&quot;\u003e9zmkee\u003c/div\u003e&quot;, &quot;iconAnchor&quot;: [75, 25], &quot;iconSize&quot;: [250, 36]});
            marker_098086474863e7baee0a7ad9339f0091.setIcon(div_icon_b918a6f13877540d0b53d3497cc88e5e);
        
    
            var rectangle_ee99db82cfed962f0f64a8ca97b6cee6 = L.rectangle(
                [[41.5777587890625, -93.7353515625], [41.583251953125, -93.724365234375]],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#3388ff&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#20ff00&quot;, &quot;fillOpacity&quot;: 0.25, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;noClip&quot;: false, &quot;opacity&quot;: 1.0, &quot;smoothFactor&quot;: 1.0, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var marker_bd32acf064cf22cfc123b97253d86659 = L.marker(
                [41.58050537109375, -93.7298583984375],
                {}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var div_icon_4df6bfbe655c80d7353db04a491c40e6 = L.divIcon({&quot;className&quot;: &quot;empty&quot;, &quot;html&quot;: &quot;\u003cdiv style=\&quot;font-size: 30pt\&quot;\u003e9zmke1\u003c/div\u003e&quot;, &quot;iconAnchor&quot;: [75, 25], &quot;iconSize&quot;: [250, 36]});
            marker_bd32acf064cf22cfc123b97253d86659.setIcon(div_icon_4df6bfbe655c80d7353db04a491c40e6);
        
    
            var rectangle_a0e466eb8595ce6556103c7cf7ce371f = L.rectangle(
                [[41.5777587890625, -93.71337890625], [41.583251953125, -93.702392578125]],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#3388ff&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#00ff8c&quot;, &quot;fillOpacity&quot;: 0.25, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;noClip&quot;: false, &quot;opacity&quot;: 1.0, &quot;smoothFactor&quot;: 1.0, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var marker_cfb530d6520f78808cf7a27afad59a5f = L.marker(
                [41.58050537109375, -93.7078857421875],
                {}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var div_icon_ba3beb3418ba40b33e31955d9e8bdf03 = L.divIcon({&quot;className&quot;: &quot;empty&quot;, &quot;html&quot;: &quot;\u003cdiv style=\&quot;font-size: 30pt\&quot;\u003e9zmke9\u003c/div\u003e&quot;, &quot;iconAnchor&quot;: [75, 25], &quot;iconSize&quot;: [250, 36]});
            marker_cfb530d6520f78808cf7a27afad59a5f.setIcon(div_icon_ba3beb3418ba40b33e31955d9e8bdf03);
        
    
            var rectangle_5a7d7280781d3abf44b022572258557c = L.rectangle(
                [[41.5887451171875, -93.724365234375], [41.59423828125, -93.71337890625]],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#3388ff&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#00c6ff&quot;, &quot;fillOpacity&quot;: 0.25, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;noClip&quot;: false, &quot;opacity&quot;: 1.0, &quot;smoothFactor&quot;: 1.0, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var marker_954e6740890bb6f873f58bcba5f25552 = L.marker(
                [41.59149169921875, -93.7188720703125],
                {}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var div_icon_10713f695521a133b034b7e1a935219d = L.divIcon({&quot;className&quot;: &quot;empty&quot;, &quot;html&quot;: &quot;\u003cdiv style=\&quot;font-size: 30pt\&quot;\u003e9zmke7\u003c/div\u003e&quot;, &quot;iconAnchor&quot;: [75, 25], &quot;iconSize&quot;: [250, 36]});
            marker_954e6740890bb6f873f58bcba5f25552.setIcon(div_icon_10713f695521a133b034b7e1a935219d);
        
    
            var rectangle_8fac6ead9d8f27c8bcd00fa4255fedc5 = L.rectangle(
                [[41.5777587890625, -93.724365234375], [41.583251953125, -93.71337890625]],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#3388ff&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#0018ff&quot;, &quot;fillOpacity&quot;: 0.25, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;noClip&quot;: false, &quot;opacity&quot;: 1.0, &quot;smoothFactor&quot;: 1.0, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var marker_2a41c2b15f590dfb871e5223965bf65c = L.marker(
                [41.58050537109375, -93.7188720703125],
                {}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var div_icon_3694dad7fb144f9cc970f4b63a9afe40 = L.divIcon({&quot;className&quot;: &quot;empty&quot;, &quot;html&quot;: &quot;\u003cdiv style=\&quot;font-size: 30pt\&quot;\u003e9zmke3\u003c/div\u003e&quot;, &quot;iconAnchor&quot;: [75, 25], &quot;iconSize&quot;: [250, 36]});
            marker_2a41c2b15f590dfb871e5223965bf65c.setIcon(div_icon_3694dad7fb144f9cc970f4b63a9afe40);
        
    
            var rectangle_380c45b4d2882b3932ab75ba3eb7fb4a = L.rectangle(
                [[41.583251953125, -93.71337890625], [41.5887451171875, -93.702392578125]],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#3388ff&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#9600ff&quot;, &quot;fillOpacity&quot;: 0.25, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;noClip&quot;: false, &quot;opacity&quot;: 1.0, &quot;smoothFactor&quot;: 1.0, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var marker_9316c9fe8891caaf523ef4af7c6458a8 = L.marker(
                [41.58599853515625, -93.7078857421875],
                {}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var div_icon_d7c34fd89aecaccbec520df4442069bb = L.divIcon({&quot;className&quot;: &quot;empty&quot;, &quot;html&quot;: &quot;\u003cdiv style=\&quot;font-size: 30pt\&quot;\u003e9zmked\u003c/div\u003e&quot;, &quot;iconAnchor&quot;: [75, 25], &quot;iconSize&quot;: [250, 36]});
            marker_9316c9fe8891caaf523ef4af7c6458a8.setIcon(div_icon_d7c34fd89aecaccbec520df4442069bb);
        
    
            var rectangle_5e1dc083272b898fe575d32f4468b63e = L.rectangle(
                [[41.583251953125, -93.7353515625], [41.5887451171875, -93.724365234375]],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#3388ff&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff00bf&quot;, &quot;fillOpacity&quot;: 0.25, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;noClip&quot;: false, &quot;opacity&quot;: 1.0, &quot;smoothFactor&quot;: 1.0, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var marker_5d1392b9afca153520a2fb641f8d3aa4 = L.marker(
                [41.58599853515625, -93.7298583984375],
                {}
            ).addTo(map_f8fb5a97424b241040995d41e8a6e427);
        
    
            var div_icon_02e98006b9ce518bb3cd9fc527c7f781 = L.divIcon({&quot;className&quot;: &quot;empty&quot;, &quot;html&quot;: &quot;\u003cdiv style=\&quot;font-size: 30pt\&quot;\u003e9zmke4\u003c/div\u003e&quot;, &quot;iconAnchor&quot;: [75, 25], &quot;iconSize&quot;: [250, 36]});
            marker_5d1392b9afca153520a2fb641f8d3aa4.setIcon(div_icon_02e98006b9ce518bb3cd9fc527c7f781);
        
</script>
</html>" style="position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;" allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen=""></iframe></div></div>
</div>
</div>
<p><br></p>
<p>As we’ve demonstrated, geohashes are useful because they compactly encode geographic coordinates into strings, enabling efficient location-based indexing and searches. This is useful for data aggregation and protects privacy by providing only approximate locations without revealing exact coordinates.</p>


</section>

 ]]></description>
  <category>Python</category>
  <category>Geospatial</category>
  <guid>https://www.jtrive.com/posts/geohash-python/geohash-python.html</guid>
  <pubDate>Wed, 04 Dec 2024 06:00:00 GMT</pubDate>
</item>
<item>
  <title>GIS Algorithms in Python, Part I - Point-to-Point and Point-to-Line Distances</title>
  <link>https://www.jtrive.com/posts/gis-algorithms-in-python-1/gis-algorithms-in-python-1.html</link>
  <description><![CDATA[ 





<p>I’ve been spending time exploring Ningchuan Xiao’s excellent book, <em>GIS Algorithms</em>. This text offers a comprehensive dive into fundamental geospatial concepts including geometric algorithms, spatial indexing, and spatial analysis. The author thoroughly explains the theoretical foundations of each concept and provides practical Python implementations as examples.</p>
<p>In a series of upcoming posts, I’ll break down and share insights on these concepts one-by-one. In this post, we’ll focus on two straightforward geometric algorithms: calculating point-to-point and point-to-line distances. The accompanying code leverages the Shapely library to handle geometric primitives such as points and lines and to validate our custom implementations of each algorithm.</p>
<section id="point-to-point-distance" class="level2">
<h2 class="anchored" data-anchor-id="point-to-point-distance">Point-to-Point Distance</h2>
<p>We begin by computing the distance between two points in a rectilinear coordinate system. This can be accomplished using the Pythagorean theorem. For <img src="https://latex.codecogs.com/png.latex?p_%7B0%7D%20=%20(x_%7B0%7D,%20y_%7B0%7D)"> and <img src="https://latex.codecogs.com/png.latex?p_%7B1%7D%20=%20(x_%7B1%7D,%20y_%7B1%7D)">, the straight line distance <img src="https://latex.codecogs.com/png.latex?D"> between <img src="https://latex.codecogs.com/png.latex?p_%7B0%7D"> and <img src="https://latex.codecogs.com/png.latex?p_%7B2%7D"> is given by:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0AD%20=%20%5Csqrt%7B(x_%7B1%7D%20-%20x_%7B0%7D)%5E%7B2%7D%20+%20(y_%7B1%7D%20-%20y_%7B0%7D)%5E%7B2%7D%7D.%0A"></p>
<p>In the next cell, <code>point2point</code> computes the distance between two points using the Pythagorean theorem:</p>
<div id="cell-3" class="cell">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"></span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> math <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> sqrt</span>
<span id="cb1-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> shapely.geometry <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> Point</span>
<span id="cb1-4"></span>
<span id="cb1-5"></span>
<span id="cb1-6"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> point2point(p0, p1):</span>
<span id="cb1-7">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb1-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Return the distance between p1 and p2. </span></span>
<span id="cb1-9"></span>
<span id="cb1-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb1-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb1-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    p0: shapely.geometry.point.Point</span></span>
<span id="cb1-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        First point.</span></span>
<span id="cb1-14"></span>
<span id="cb1-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    p1: shapely.geometry.point.Point</span></span>
<span id="cb1-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Second point.</span></span>
<span id="cb1-17"></span>
<span id="cb1-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb1-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb1-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    float</span></span>
<span id="cb1-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Straight-line distance between p0 and p1. </span></span>
<span id="cb1-22"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb1-23">    x0: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p0.x</span>
<span id="cb1-24">    y0: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p0.y</span>
<span id="cb1-25">    x1: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p1.x</span>
<span id="cb1-26">    y1: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p1.y</span>
<span id="cb1-27">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> sqrt((x1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> x0)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> (y1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> y0)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb1-28"></span>
<span id="cb1-29"></span>
<span id="cb1-30"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Define two points.</span></span>
<span id="cb1-31">p0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Point(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2.</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">3.</span>)</span>
<span id="cb1-32">p1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Point(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">4.</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">7.</span>)</span>
<span id="cb1-33"></span>
<span id="cb1-34"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute distances using point2point and shapely. </span></span>
<span id="cb1-35">p2p <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> point2point(p0, p1)</span>
<span id="cb1-36">shp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p0.distance(p1)</span>
<span id="cb1-37"></span>
<span id="cb1-38"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Distance using point2point: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>p2p<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.5f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb1-39"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Distance using shapely    : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>shp<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.5f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Distance using point2point: 4.47214
Distance using shapely    : 4.47214</code></pre>
</div>
</div>
<p><br></p>
<p>If it is necessary to compute distance between two points on a sphere separated by a large extent, using <code>point2point</code> will not be accurate. We can instead opt for the haversine formula, which calculates the great-circle distance between two points on the Earth’s surface. It is especially suited for applications where accuracy over large distances is critical. The <code>haversine</code> function in the next cell accepts two points, with <code>x</code> representing longitude and <code>y</code> latitude, and returns the great circle distance between them. To use the haversine formula, it is necessary to specify a value for the radius of the Earth. We use 6,371 km, a generally accepted value for the Earth’s mean radius (see <a href="https://www.movable-type.co.uk/scripts/latlong.html">here</a>):</p>
<div id="cell-5" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"></span>
<span id="cb3-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> math <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> asin, cos, sin, radians</span>
<span id="cb3-3"></span>
<span id="cb3-4"></span>
<span id="cb3-5"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> get_haversine(p0, p1):</span>
<span id="cb3-6">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb3-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Calculate the great circle distance between two points on the earth </span></span>
<span id="cb3-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    (specified in decimal degrees).</span></span>
<span id="cb3-9"></span>
<span id="cb3-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb3-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb3-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        p0: shapely.geometry.point.Point</span></span>
<span id="cb3-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        First point with x = longitude and y = latitude.</span></span>
<span id="cb3-14"></span>
<span id="cb3-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    p1: shapely.geometry.point.Point</span></span>
<span id="cb3-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Second point with x = longitude and y = latitude.</span></span>
<span id="cb3-17"></span>
<span id="cb3-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb3-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb3-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    float</span></span>
<span id="cb3-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Great circle distance between p0 and p1 in km.</span></span>
<span id="cb3-22"></span>
<span id="cb3-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    References</span></span>
<span id="cb3-24"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb3-25"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    http://www.movable-type.co.uk/scripts/latlong.html</span></span>
<span id="cb3-26"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb3-27">    R: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">6371.</span></span>
<span id="cb3-28">    lon0: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p0.x</span>
<span id="cb3-29">    lat0: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p0.y</span>
<span id="cb3-30">    lon1: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p1.x</span>
<span id="cb3-31">    lat1: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p1.y</span>
<span id="cb3-32">    </span>
<span id="cb3-33">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert lat and lon degrees to radians.</span></span>
<span id="cb3-34">    rlon0, rlat0, rlon1, rlat1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>(radians, (lon0, lat0, lon1, lat1))</span>
<span id="cb3-35">    dlon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rlon1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> rlon0</span>
<span id="cb3-36">    dlat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rlat1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> rlat0</span>
<span id="cb3-37">    a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> sin(dlat <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> cos(rlat0) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> cos(rlat1) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> sin(dlon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb3-38">    c <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> asin(sqrt(a))</span>
<span id="cb3-39">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> R <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> c</span></code></pre></div>
</div>
<p><br></p>
<p>The pyproj library can be used to validate our haversine distance calculation. <code>p0</code> represents Chicago, Illinois and <code>p1</code> Burlington, Vermont. <code>pyproj.inv</code> returns the distance in meters, so we divide by 1000 to covert to km:</p>
<div id="cell-7" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb4-1"></span>
<span id="cb4-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pyproj</span>
<span id="cb4-3"></span>
<span id="cb4-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># p0 = Chicago, IL, p1 = Burlington, VT. </span></span>
<span id="cb4-5">p0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Point(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">87.6298</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">41.8781</span>)</span>
<span id="cb4-6">p1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Point(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">73.2121</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">44.4759</span>) </span>
<span id="cb4-7"></span>
<span id="cb4-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute distances using get_haversine and geopy. </span></span>
<span id="cb4-9">get_haversine_dist <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_haversine(p0, p1)</span>
<span id="cb4-10">geodesic <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pyproj.Geod(ellps<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"WGS84"</span>)</span>
<span id="cb4-11">_, _, pyproj_dist <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> geodesic.inv(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>p0.coords[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>], <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>p1.coords[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>])</span>
<span id="cb4-12"></span>
<span id="cb4-13"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Distance (km) via get_haversine: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>get_haversine_dist<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb4-14"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Distance (km) via pyproj       : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>pyproj_dist <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:,.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Distance (km) via get_haversine: 1,203
Distance (km) via pyproj       : 1,205</code></pre>
</div>
</div>
<p>The results are very close. We could get them to match exactly by tweaking the value used for the Earth’s radius.</p>
<p><br></p>
</section>
<section id="point-to-line-distance" class="level2">
<h2 class="anchored" data-anchor-id="point-to-line-distance">Point-to-Line Distance</h2>
<p>In Chapter 2 of <em>GIS Algorithms</em>, a general expression for the distance from a point to a line in rectilinear coordinates is presented. The distance <img src="https://latex.codecogs.com/png.latex?D"> is defined as</p>
<p><img src="https://latex.codecogs.com/png.latex?%0AD%20=%20%5Cfrac%7B%7Cax_%7B0%7D%20+%20by_%7B0%7D%20+%20c%7C%7D%7B%5Csqrt%7Ba%5E%7B2%7D%20+%20b%5E%7B2%7D%7D%7D,%0A"></p>
<p>where <img src="https://latex.codecogs.com/png.latex?ax_%7B0%7D%20+%20by_%7B0%7D%20+%20c"> is a line on the 2-D plane where <img src="https://latex.codecogs.com/png.latex?a,%20b"> and <img src="https://latex.codecogs.com/png.latex?c"> are constants. To obtain this expression, we calculate the distance from the point to the intersection point <img src="https://latex.codecogs.com/png.latex?(x_%7B1%7D,%20y_%7B1%7D)"> between the line and a perpendicular line passing through <img src="https://latex.codecogs.com/png.latex?(x_%7B0%7D,%20y_%7B0%7D)">.</p>
<p>Let <img src="https://latex.codecogs.com/png.latex?L%20=%20ax_%7B0%7D%20+%20by_%7B0%7D%20+%20c">. The slope of the line perpendicular to <img src="https://latex.codecogs.com/png.latex?L"> is <img src="https://latex.codecogs.com/png.latex?b%20/%20a">, therefore</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A%5Cfrac%7By_%7B1%7D%20-%20y_%7B0%7D%7D%7Bx_%7B1%7D%20-%20x_%7B0%7D%7D%20=%20%5Cfrac%7Bb%7D%7Ba%7D,%0A"></p>
<p>resulting in</p>
<p><img src="https://latex.codecogs.com/png.latex?%0Aa(y_%7B1%7D%20-%20y_%7B0%7D)%20-%20b(x_%7B1%7D%20-%20x_%7B0%7D)%20=%200.%0A"></p>
<p>Squaring both sides and rearranging yields</p>
<p><img src="https://latex.codecogs.com/png.latex?%0Aa%5E%7B2%7D(y_%7B1%7D%20-%20y_%7B0%7D)%5E%7B2%7D%20+%20b%5E%7B2%7D(x_%7B1%7D%20-%20x_%7B0%7D)%5E%7B2%7D%20=%202ab(x_%7B1%7D%20-%20x_%7B0%7D)(y_%7B1%7D%20-%20y_%7B0%7D).%0A"></p>
<p>After adding <img src="https://latex.codecogs.com/png.latex?a%5E%7B2%7D(x_%7B1%7D%20-%20x_%7B0%7D)%5E%7B2%7D%20+%20b%5E%7B2%7D(y_%7B1%7D%20-%20y_%7B0%7D)%5E%7B2%7D"> to both sides, the L.H.S. can be rewritten as</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A(a%5E%7B2%7D%20+%20b%5E%7B2%7D)%5Cbig((y_%7B1%7D%20-%20y_%7B0%7D)%5E%7B2%7D%20+%20(x_%7B1%7D%20-%20x_%7B0%7D)%5E%7B2%7D%5Cbig),%0A"></p>
<p>and the R.H.S. as</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A(ax_%7B1%7D%20+%20by_%7B1%7D%20-%20ax_%7B0%7D%20-%20by_%7B0%7D)%5E%7B2%7D.%0A"></p>
<p>Since the intersection point <img src="https://latex.codecogs.com/png.latex?(x_%7B1%7D,%20y_%7B1%7D)"> also falls on the original line <img src="https://latex.codecogs.com/png.latex?L">, <img src="https://latex.codecogs.com/png.latex?ax_%7B1%7D%20+%20by_%7B1%7D%20=%20-c">. Substituting this result within the R.H.S expression above gives us</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A(a%5E%7B2%7D%20+%20b%5E%7B2%7D)%5Cbig((y_%7B1%7D%20-%20y_%7B0%7D)%5E%7B2%7D%20+%20(x_%7B1%7D%20-%20x_%7B0%7D)%5E%7B2%7D%5Cbig)%20=%20(ax_%7B0%7D%20+%20by_%7B0%7D%20+%20c)%5E%7B2%7D.%0A"></p>
<p><img src="https://latex.codecogs.com/png.latex?(y_%7B1%7D%20-%20y_%7B0%7D)%5E%7B2%7D%20+%20(x_%7B1%7D%20-%20x_%7B0%7D)%5E%7B2%7D"> is the square of the distance between <img src="https://latex.codecogs.com/png.latex?(x_%7B0%7D,%20y_%7B0%7D)"> and <img src="https://latex.codecogs.com/png.latex?L">. Rearranging, we obtain the original expression for <img src="https://latex.codecogs.com/png.latex?D">:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0AD%20=%20%5Cfrac%7B%7Cax_%7B0%7D%20+%20by_%7B0%7D%20+%20c%7C%7D%7B%5Csqrt%7Ba%5E%7B2%7D%20+%20b%5E%7B2%7D%7D%7D.%0A"></p>
<p><br></p>
<p>In order to obtain the values for <img src="https://latex.codecogs.com/png.latex?a,%20b"> and <img src="https://latex.codecogs.com/png.latex?c">, we assume two endpoints that define a line segment <img src="https://latex.codecogs.com/png.latex?(x_%7B1%7D,%20y_%7B1%7D)"> and <img src="https://latex.codecogs.com/png.latex?(x_%7B2%7D,%20y_%7B2%7D)">. Let</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A%5Cbegin%7Balign*%7D%0Adx%20&amp;=%20x_%7B1%7D%20-%20x_%7B2%7D%5C%5C%0Ady%20&amp;=%20y_%7B1%7D%20-%20y_%7B2%7D%5C%5C%0Ay%20&amp;=%20%5Cfrac%7Bdy%7D%7Bdx%7Dx%20+%20n,%0A%5Cend%7Balign*%7D%0A"></p>
<p>where <img src="https://latex.codecogs.com/png.latex?n"> is a constant we need to compute. Plugging <img src="https://latex.codecogs.com/png.latex?(x_%7B1%7D,%20y_%7B1%7D)"> into the last equation and solving for <img src="https://latex.codecogs.com/png.latex?n"> yields</p>
<p><img src="https://latex.codecogs.com/png.latex?%0An%20=%20y_%7B1%7D%20-%20%5Cfrac%7Bdy%7D%7Bdx%7Dx_%7B1%7D.%0A"></p>
<p>Thus, a general form for the line can be expressed as</p>
<p><img src="https://latex.codecogs.com/png.latex?%0Ay%20=%20%5Cfrac%7Bdy%7D%7Bdx%7Dx%20+%20y_%7B1%7D%20-%20%5Cfrac%7Bdy%7D%7Bdx%7Dx_%7B1%7D.%0A"></p>
<p>Multiplying through by <img src="https://latex.codecogs.com/png.latex?dx"> and rearranging results in</p>
<p><img src="https://latex.codecogs.com/png.latex?%0Axdy%20-%20ydx%20+%20y_%7B1%7Ddx%20-x_%7B1%7Ddy%20=%200.%0A"></p>
<p>Referring back to our original expression for <img src="https://latex.codecogs.com/png.latex?L">, it is easy to see that</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A%5Cbegin%7Balign*%7D%0Aa%20&amp;=%20dy%5C%5C%0Ab%20&amp;=%20-dx%5C%5C%0Ac%20&amp;=%20y_%7B1%7Ddx%20-%20x_%7B1%7Ddy.%0A%5Cend%7Balign*%7D%0A"></p>
<p><br></p>
<p>Given a point <img src="https://latex.codecogs.com/png.latex?(x_%7B0%7D,%20y_%7B0%7D)"> and a line segment <img src="https://latex.codecogs.com/png.latex?L"> defined by two endpoints <img src="https://latex.codecogs.com/png.latex?(x_%7B1%7D,%20y_%7B1%7D)"> and <img src="https://latex.codecogs.com/png.latex?(x_%7B2%7D,%20y_%7B2%7D)">, we can now determine the distance from <img src="https://latex.codecogs.com/png.latex?(x_%7B0%7D,%20y_%7B0%7D)"> to the intersection point between <img src="https://latex.codecogs.com/png.latex?L"> and the perpendicular line passing through <img src="https://latex.codecogs.com/png.latex?(x_%7B0%7D,%20y_%7B0%7D)">:</p>
<div id="cell-9" class="cell">
<div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb6-1"></span>
<span id="cb6-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> shapely.geometry <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> LineString</span>
<span id="cb6-3"></span>
<span id="cb6-4"></span>
<span id="cb6-5"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> point2line(p, l):</span>
<span id="cb6-6">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb6-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Compute distance between point p and line l.</span></span>
<span id="cb6-8"></span>
<span id="cb6-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb6-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb6-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    p: shapely.geometry.point.Point</span></span>
<span id="cb6-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Point of interest.</span></span>
<span id="cb6-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    l: shapely.geometry.linestring.LineString</span></span>
<span id="cb6-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Line defined by two end points. </span></span>
<span id="cb6-15"></span>
<span id="cb6-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb6-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb6-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    float</span></span>
<span id="cb6-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Distance from p to l. </span></span>
<span id="cb6-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb6-21">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get endpoints from l. </span></span>
<span id="cb6-22">    p1, p2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> l.coords[:<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>]</span>
<span id="cb6-23">    x0: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p.x</span>
<span id="cb6-24">    y0: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p.y</span>
<span id="cb6-25">    x1: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p1[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span>
<span id="cb6-26">    y1: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p1[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb6-27">    x2: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p2[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span>
<span id="cb6-28">    y2: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p2[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb6-29">    dx <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> x1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> x2</span>
<span id="cb6-30">    dy <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> y1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> y2</span>
<span id="cb6-31">    a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dy</span>
<span id="cb6-32">    b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>dx</span>
<span id="cb6-33">    c <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> y1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> dx <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> x1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> dy</span>
<span id="cb6-34">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">abs</span>(a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> x0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> y0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> c) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> sqrt(a<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> b<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span></code></pre></div>
</div>
<p><br></p>
<p>We create a line and point and use <code>point2line</code> to calculate the distance. The distance is also calculated using shapely for verification:</p>
<div id="cell-11" class="cell" data-execution_count="28">
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"></span>
<span id="cb7-2">p <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Point(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">8.</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">3.</span>)</span>
<span id="cb7-3">l <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> LineString([[<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.</span>], [<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">5.</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">10.</span>]])</span>
<span id="cb7-4"></span>
<span id="cb7-5">point2line_dist <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> point2line(p, l)</span>
<span id="cb7-6">shapely_dist <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p.distance(l)</span>
<span id="cb7-7"></span>
<span id="cb7-8"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"point2line distance: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>point2line_dist<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.5f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb7-9"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"shapely distance   : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>shapely_dist<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.5f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>point2line distance: 5.58440
shapely distance   : 5.58440</code></pre>
</div>
</div>
<p><br></p>
<p>Let’s visualize <code>p</code> and <code>l</code>, along with the line perpendicular to <code>l</code> passing through <code>p</code>:</p>
<div id="cell-13" class="cell" data-execution_count="61">
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"></span>
<span id="cb9-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb9-3"></span>
<span id="cb9-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Determine slope and intercept of line perpendicular to l passing through p.</span></span>
<span id="cb9-5">x0, y0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p.coords[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span>
<span id="cb9-6">(x1, y1), (x2, y2) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> l.coords[:<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>]</span>
<span id="cb9-7"></span>
<span id="cb9-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get slope and intercept of l.</span></span>
<span id="cb9-9">m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (y2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> y1) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (x2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> x1)</span>
<span id="cb9-10">b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> y1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> x1</span>
<span id="cb9-11"></span>
<span id="cb9-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get slope of line perpendicular to l.</span></span>
<span id="cb9-13">mp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> m</span>
<span id="cb9-14"></span>
<span id="cb9-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get intercept of line perpendicular to l that passes through (x0, y0).</span></span>
<span id="cb9-16">bp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> y0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> mp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> x0</span>
<span id="cb9-17"></span>
<span id="cb9-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Determine x and y where l and line perpendicular to l intersect. </span></span>
<span id="cb9-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># The two points that define the line perpendicular to l are (x0, y0) </span></span>
<span id="cb9-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># and (x_intersect, y_intersect).</span></span>
<span id="cb9-21">x_intersect <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (bp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> b) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> mp)</span>
<span id="cb9-22">y_intersect <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> x_intersect <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> b</span>
<span id="cb9-23"></span>
<span id="cb9-24"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Group coordinates for plotting.</span></span>
<span id="cb9-25">xx, yy <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [x1, x2], [y1, y2]</span>
<span id="cb9-26">xxp, yyp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [x0, x_intersect], [y0, y_intersect]</span>
<span id="cb9-27"></span>
<span id="cb9-28"></span>
<span id="cb9-29">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">7.5</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">5.</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb9-30"></span>
<span id="cb9-31"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Plot point p.</span></span>
<span id="cb9-32">ax.plot(x0, y0, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"o"</span>, markersize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"original point"</span>)</span>
<span id="cb9-33"></span>
<span id="cb9-34"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Plot line segment l.</span></span>
<span id="cb9-35">ax.plot(xx, yy, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2.0</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"original line"</span>)</span>
<span id="cb9-36"></span>
<span id="cb9-37"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Plot line segment perpendicular to l.</span></span>
<span id="cb9-38">ax.plot(xxp, yyp, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2.0</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"green"</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"--"</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"perpendicular line"</span>)</span>
<span id="cb9-39"></span>
<span id="cb9-40"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Plot intersection point.</span></span>
<span id="cb9-41">ax.plot(x_intersect, y_intersect, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"o"</span>, markersize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"green"</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"intersection point"</span>)</span>
<span id="cb9-42"></span>
<span id="cb9-43">ax.annotate(</span>
<span id="cb9-44">    <span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"(</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>x0<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">, </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>y0<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">)"</span>, xy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(x0, y0), xycoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>, ha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"left"</span>, va<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bottom"</span>, </span>
<span id="cb9-45">    textcoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"offset points"</span>, xytext<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>), fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, rotation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"normal"</span>, </span>
<span id="cb9-46">    color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span></span>
<span id="cb9-47">) </span>
<span id="cb9-48"></span>
<span id="cb9-49">ax.annotate(</span>
<span id="cb9-50">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"p"</span>, xy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(x0, y0), xycoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>, ha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"left"</span>, va<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bottom"</span>, textcoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"offset points"</span>, </span>
<span id="cb9-51">    xytext<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>), fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, rotation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"normal"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span></span>
<span id="cb9-52">) </span>
<span id="cb9-53"></span>
<span id="cb9-54">ax.annotate(</span>
<span id="cb9-55">    <span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"(</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>x_intersect<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">, </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>y_intersect<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">)"</span>, xy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(x_intersect, y_intersect), </span>
<span id="cb9-56">    xycoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>, ha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"left"</span>, va<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bottom"</span>, textcoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"offset points"</span>, </span>
<span id="cb9-57">    xytext<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>), fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, rotation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"normal"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span></span>
<span id="cb9-58">) </span>
<span id="cb9-59"></span>
<span id="cb9-60">ax.axis(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'equal'</span>)</span>
<span id="cb9-61">ax.tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>)</span>
<span id="cb9-62">ax.tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"y"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>)</span>
<span id="cb9-63">ax.xaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb9-64">ax.yaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb9-65">ax.legend(loc<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"upper right"</span>, fancybox<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, framealpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"small"</span>)</span>
<span id="cb9-66">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/gis-algorithms-in-python-1/gis-algorithms-in-python-1_files/figure-html/cell-7-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>Since we have the endpoints of the line perpendicular to <code>l</code> passing through <code>p</code>, we can show that <code>point2point</code> returns the same distance as <code>point2line</code>:</p>
<div id="cell-15" class="cell">
<div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb10-1"></span>
<span id="cb10-2">p1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Point(x0, y0)</span>
<span id="cb10-3">p2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Point(x_intersect, y_intersect)</span>
<span id="cb10-4"></span>
<span id="cb10-5">point2point(p1, p2)</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="60">
<pre><code>5.584403908234904</code></pre>
</div>
</div>


</section>

 ]]></description>
  <category>Geospatial</category>
  <category>Python</category>
  <guid>https://www.jtrive.com/posts/gis-algorithms-in-python-1/gis-algorithms-in-python-1.html</guid>
  <pubDate>Fri, 22 Nov 2024 06:00:00 GMT</pubDate>
</item>
<item>
  <title>The Bootstrap Chain Ladder from Scratch using Pandas</title>
  <link>https://www.jtrive.com/posts/boostrap-chainladder-pandas/bootstrap-chainladder-pandas.html</link>
  <description><![CDATA[ 





<p>The bootstrap chain ladder is a statistical technique used in actuarial reserving to project future claim liabilities based on historical data. It builds upon the chain ladder method, but the chain ladder method by itself does not provide a measure of the uncertainty in its projections, which is where the bootstrap technique comes in. The bootstrap chain ladder provides an empirical distribution of reserve estimates, which can be used to quantify the uncertainty and variability around the estimates generated by the chain ladder.</p>
<p>The bootstrap chain ladder works by repeatedly resampling residuals from the original chain ladder model and creating a series of simulated datasets, each of which mimics the original data in its pattern of claims development. The most commonly used approach was originally outlined by England and Verrall in <a href="https://www.actuaries.org.uk/system/files/documents/pdf/sm0201.pdf"><em>Stochastic Claims Reserving in General Insurance</em></a>, which notably described a technique that can be used to incorporate process variance, allowing for the quantification of the full prediction error of the total needed reserve.</p>
<p>The bootstrap chain ladder is simple from a technical standpoint, but it is worth highlighting the DataFrame operations required to implement the full algorithm. The code used here leverages the Pandas library, but a future post will reproduce the full estimator pipeline using Polars.</p>
<p>Much of what follows is a direct implementation of Appendix 3 from <em>Two Approaches to Calculating Correlated Reserve Indications Across Multiple Lines of Business</em>, Kirshner, et. al.&nbsp;Also, many of the DataFrame operations exhibited here can be implemented more efficiently, but the goal of this article was to present the bootstrap chain ladder with maximal clarity rather than focusing on optimal performance.</p>
<p>The steps to perform the bootstrap chain ladder:</p>
<ol type="1">
<li><p>Transform loss data into cumulative triangle representation.</p></li>
<li><p>Calculate all-year volume weighted age-to-age factors.</p></li>
<li><p>Calculate the cumulative fitted triangle by applying backwards recursion, beginning with the observed cumulative losses from the latest diagonal.</p></li>
<li><p>Calculate the unscaled Pearson residuals, <img src="https://latex.codecogs.com/png.latex?r_%7Bp%7D">, degrees of freedom <img src="https://latex.codecogs.com/png.latex?DF"> and scale parameter <img src="https://latex.codecogs.com/png.latex?%5Cphi">.</p></li>
<li><p>Calculate the adjusted Pearson residuals, defined as <img src="https://latex.codecogs.com/png.latex?r_%7Bp%7D%5E%7B%7Badj%7D%7D%20=%20%5Csqrt%7B%5Cfrac%7Bn%7D%7BDF%7D%7D%20%5Ctimes%20r_%7Bp%7D">.</p></li>
<li><p>For each bootstrap sample (1…1000):</p>
<ol type="i">
<li><p>Generate a sample from the adjusted Pearson residuals <img src="https://latex.codecogs.com/png.latex?r_%7Bp%7D%5E%7B%7Badj%7D%7D"> with replacement.</p></li>
<li><p>Using the sampled adjusted Pearson residuals and fitted incremental triangle <img src="https://latex.codecogs.com/png.latex?m">, construct the triangle of sampled incremental losses <img src="https://latex.codecogs.com/png.latex?I_%7Bi%7D%20=%20m%20+%20%5Chat%7Br%7D_%7Bp%7D%5E%7Badj%7D%20%5Csqrt%7Bm%7D">, where <img src="https://latex.codecogs.com/png.latex?%5Chat%7Br%7D_%7Bp%7D%5E%7Badj%7D"> represents a sample with replacement from the adjusted Pearson residuals and <img src="https://latex.codecogs.com/png.latex?m"> the fitted incremental triangle.</p></li>
<li><p>Create a cumulative triangle using the result from ii., and project future losses using the chain ladder method.</p></li>
<li><p>Incorporate process variance by simulating each future projected incremental loss from a gamma distribution parameterized with mean equal to the projected loss value and variance the loss value times <img src="https://latex.codecogs.com/png.latex?%5Cphi">.</p></li>
<li><p>Cumulate the incremental losses, then compute the total needed reserve as the ultimate projected value minus the latest cumulative loss amount by origin period.</p></li>
</ol></li>
<li><p>Compute desired quantiles of interest from predictive distribution of bootstrap samples.</p></li>
</ol>
<p><br></p>
<p>In what follows each step is demonstrated, along with exhibits to visually assess the distribution of future losses.</p>
<div id="cell-2" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"></span>
<span id="cb1-2"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span>load_ext watermark</span>
<span id="cb1-3"></span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> warnings</span>
<span id="cb1-5"></span>
<span id="cb1-6"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb1-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb1-8"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-9"></span>
<span id="cb1-10">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb1-11">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"display.precision"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb1-12">pd.options.mode.chained_assignment <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb1-13">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.max_columns'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-14">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.width'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-15">warnings.simplefilter(action<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ignore"</span>, category<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="pp" style="color: #AD0000;
background-color: null;
font-style: inherit;">FutureWarning</span>)</span>
<span id="cb1-16"></span>
<span id="cb1-17"><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%</span>watermark <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>python <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>conda <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>hostname <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>machine <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">--</span>iversions</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Python implementation: CPython
Python version       : 3.11.10
IPython version      : 8.28.0

conda environment: py311

Compiler    : MSC v.1941 64 bit (AMD64)
OS          : Windows
Release     : 10
Machine     : AMD64
Processor   : Intel64 Family 6 Model 170 Stepping 4, GenuineIntel
CPU cores   : 22
Architecture: 64bit

Hostname: JTRIZPC11

numpy     : 2.1.0
pandas    : 2.2.2
matplotlib: 3.9.2
</code></pre>
</div>
</div>
<p>Begin by loading the data from GitHub and transforming it into an incremental triangle:</p>
<div id="cell-4" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"></span>
<span id="cb3-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Load RAA dataset. </span></span>
<span id="cb3-3">dfraa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_csv(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"https://gist.githubusercontent.com/jtrive84/976c80786a6e97cce7483e306562f85b/raw/06a5c8b1f823fbe2b6da15f90a672517fa5b4571/RAA.csv"</span>)</span>
<span id="cb3-4">dfraa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfraa.sort_values(by<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DEV"</span>])</span>
<span id="cb3-5">tri0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfraa.pivot(index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, columns<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DEV"</span>).rename_axis(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb3-6">tri0.columns <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.columns.droplevel(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb3-7">tri0.columns.name <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb3-8"></span>
<span id="cb3-9"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Original incremental loss triangle:"</span>)</span>
<span id="cb3-10"></span>
<span id="cb3-11">tri0</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Original incremental loss triangle:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="2">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">1981</td>
<td>5012.0</td>
<td>3257.0</td>
<td>2638.0</td>
<td>898.0</td>
<td>1734.0</td>
<td>2642.0</td>
<td>1828.0</td>
<td>599.0</td>
<td>54.0</td>
<td>172.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1982</td>
<td>106.0</td>
<td>4179.0</td>
<td>1111.0</td>
<td>5270.0</td>
<td>3116.0</td>
<td>1817.0</td>
<td>-103.0</td>
<td>673.0</td>
<td>535.0</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1983</td>
<td>3410.0</td>
<td>5582.0</td>
<td>4881.0</td>
<td>2268.0</td>
<td>2594.0</td>
<td>3479.0</td>
<td>649.0</td>
<td>603.0</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1984</td>
<td>5655.0</td>
<td>5900.0</td>
<td>4211.0</td>
<td>5500.0</td>
<td>2159.0</td>
<td>2658.0</td>
<td>984.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1985</td>
<td>1092.0</td>
<td>8473.0</td>
<td>6271.0</td>
<td>6333.0</td>
<td>3786.0</td>
<td>225.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1986</td>
<td>1513.0</td>
<td>4932.0</td>
<td>5257.0</td>
<td>1233.0</td>
<td>2917.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1987</td>
<td>557.0</td>
<td>3463.0</td>
<td>6926.0</td>
<td>1368.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1988</td>
<td>1351.0</td>
<td>5596.0</td>
<td>6165.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1989</td>
<td>3133.0</td>
<td>2262.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1990</td>
<td>2063.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>A number of functions are defined that will be used throughout the remainder of the article:</p>
<ul>
<li><p><code>to_cum</code>: Accepts an incremental triangle and returns a cumulative triangle.</p></li>
<li><p><code>to_incr</code>: Accepts a cumulative triangle and returns an incremental triangle.</p></li>
<li><p><code>get_a2a_factors</code>: Accepts a cumulative triangle and returns the all-year volume weighted age-to-age factors.</p></li>
<li><p><code>get_latest</code>: Accepts a triangle and returns the value at the latest development period by origin.</p></li>
<li><p><code>square_tri</code>: Accepts a cumulative triangle and set of age-to-age factors and projects future losses, populating the lower-right of the original cumulative triangle.</p></li>
</ul>
<p><br></p>
<p>For <code>get_a2a_factors</code>, <code>get_latest</code> and <code>square_tri</code>, a few simplifying assumptions have been made:</p>
<ol type="1">
<li>The triangles under consideration have an equal number of development and origin periods.</li>
<li>Development periods are sequential starting with 1.</li>
<li>No tail factor is included.</li>
</ol>
<div id="cell-6" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"></span>
<span id="cb5-2"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> to_cum(tri: pd.DataFrame) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-&gt;</span> pd.DataFrame:</span>
<span id="cb5-3">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb5-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Accepts a DataFrame structured as an incremental triangle and </span></span>
<span id="cb5-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    returns a cumulative triangle.</span></span>
<span id="cb5-6"></span>
<span id="cb5-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb5-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb5-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    tri : pd.DataFrame</span></span>
<span id="cb5-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Incremental triangle.</span></span>
<span id="cb5-11"></span>
<span id="cb5-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb5-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb5-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    pd.DataFrame</span></span>
<span id="cb5-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Cumulative triangle</span></span>
<span id="cb5-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb5-17">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> tri.cumsum(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb5-18"></span>
<span id="cb5-19"></span>
<span id="cb5-20"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> to_incr(tri: pd.DataFrame) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-&gt;</span> pd.DataFrame:</span>
<span id="cb5-21">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb5-22"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Accepts a DataFrame structured as an cumulative triangle and </span></span>
<span id="cb5-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    returns an incremental triangle.</span></span>
<span id="cb5-24"></span>
<span id="cb5-25"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb5-26"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb5-27"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    tri : pd.DataFrame</span></span>
<span id="cb5-28"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Cumulative triangle.</span></span>
<span id="cb5-29"></span>
<span id="cb5-30"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb5-31"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb5-32"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    pd.DataFrame</span></span>
<span id="cb5-33"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Incremental triangle.       </span></span>
<span id="cb5-34"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb5-35">    tri_incr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.diff(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb5-36">    tri_incr.iloc[:, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.iloc[:, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span>
<span id="cb5-37">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> tri_incr</span>
<span id="cb5-38"></span>
<span id="cb5-39"></span>
<span id="cb5-40"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> get_a2a_factors(tri: pd.DataFrame) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-&gt;</span> pd.Series:</span>
<span id="cb5-41">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb5-42"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Calculate all-year volume weighted age-to-age factors. </span></span>
<span id="cb5-43"></span>
<span id="cb5-44"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb5-45"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb5-46"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    tri : pd.DataFrame</span></span>
<span id="cb5-47"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Cumulative triangle.</span></span>
<span id="cb5-48"></span>
<span id="cb5-49"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb5-50"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb5-51"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    pd.Series</span></span>
<span id="cb5-52"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        All-year volume weighted age-to-age factors.</span></span>
<span id="cb5-53"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb5-54">    all_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.columns.tolist()</span>
<span id="cb5-55">    min_origin, max_origin <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.index.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">min</span>(), tri.index.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>()</span>
<span id="cb5-56">    dps0, dps1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> all_devps[:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>], all_devps[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:]  </span>
<span id="cb5-57">    a2a_headers <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>ii<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">-</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>jj<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii, jj <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(dps0, dps1)]</span>
<span id="cb5-58">    a2a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb5-59"></span>
<span id="cb5-60">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> dp1, dp0 <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(dps1[::<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>], dps0[::<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]):</span>
<span id="cb5-61">        vals1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.loc[min_origin:(max_origin <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> dp0), dp1].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>()</span>
<span id="cb5-62">        vals0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.loc[min_origin:(max_origin <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> dp0), dp0].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>()</span>
<span id="cb5-63">        a2a.append((vals1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> vals0).item())</span>
<span id="cb5-64"></span>
<span id="cb5-65">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> pd.Series(data<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>a2a[::<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>], index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>a2a_headers)</span>
<span id="cb5-66">    </span>
<span id="cb5-67"></span>
<span id="cb5-68"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> get_latest(tri: pd.DataFrame) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-&gt;</span> pd.Series:</span>
<span id="cb5-69">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb5-70"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Return the value at the latest development period by origin. </span></span>
<span id="cb5-71"></span>
<span id="cb5-72"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb5-73"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb5-74"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    tri : pd.DataFrame</span></span>
<span id="cb5-75"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Cumulative or incremental triangle.</span></span>
<span id="cb5-76"></span>
<span id="cb5-77"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb5-78"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb5-79"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    pd.Series</span></span>
<span id="cb5-80"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb5-81">    nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb5-82">    latest <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [tri.iat[ii, nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].item() <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(nbr_devps)]</span>
<span id="cb5-83">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> pd.Series(data<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>latest, index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>tri.index, name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"latest"</span>)</span>
<span id="cb5-84"></span>
<span id="cb5-85"></span>
<span id="cb5-86"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> square_tri(tri: pd.DataFrame, a2a: pd.Series) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-&gt;</span> pd.DataFrame:</span>
<span id="cb5-87">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb5-88"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Project future losses for `tri` using `a2a`.</span></span>
<span id="cb5-89"></span>
<span id="cb5-90"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Parameters</span></span>
<span id="cb5-91"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    ----------</span></span>
<span id="cb5-92"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    tri : pd.DataFrame</span></span>
<span id="cb5-93"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Cumulative triangle.</span></span>
<span id="cb5-94"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    </span></span>
<span id="cb5-95"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    a2a: pd.Series</span></span>
<span id="cb5-96"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Age-to-age factors.</span></span>
<span id="cb5-97"></span>
<span id="cb5-98"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    Returns</span></span>
<span id="cb5-99"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    -------</span></span>
<span id="cb5-100"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    pd.DataFrame</span></span>
<span id="cb5-101"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">        Original triangle with projected future losses. </span></span>
<span id="cb5-102"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">    """</span></span>
<span id="cb5-103">    nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb5-104">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> r_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, nbr_devps):</span>
<span id="cb5-105">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> c_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> r_idx, nbr_devps):</span>
<span id="cb5-106">            tri.iat[r_idx, c_idx] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri.iat[r_idx, c_idx <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]  <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> a2a.iat[c_idx <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb5-107">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> tri</span></code></pre></div>
</div>
<p><br></p>
<p>Use <code>to_cum</code> to get a cumulative triangle:</p>
<div id="cell-8" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb6-1"></span>
<span id="cb6-2">ctri0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_cum(tri0)</span>
<span id="cb6-3"></span>
<span id="cb6-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Original cumulative triangle:"</span>)</span>
<span id="cb6-5"></span>
<span id="cb6-6">ctri0</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Original cumulative triangle:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="4">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">1981</td>
<td>5012.0</td>
<td>8269.0</td>
<td>10907.0</td>
<td>11805.0</td>
<td>13539.0</td>
<td>16181.0</td>
<td>18009.0</td>
<td>18608.0</td>
<td>18662.0</td>
<td>18834.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1982</td>
<td>106.0</td>
<td>4285.0</td>
<td>5396.0</td>
<td>10666.0</td>
<td>13782.0</td>
<td>15599.0</td>
<td>15496.0</td>
<td>16169.0</td>
<td>16704.0</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1983</td>
<td>3410.0</td>
<td>8992.0</td>
<td>13873.0</td>
<td>16141.0</td>
<td>18735.0</td>
<td>22214.0</td>
<td>22863.0</td>
<td>23466.0</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1984</td>
<td>5655.0</td>
<td>11555.0</td>
<td>15766.0</td>
<td>21266.0</td>
<td>23425.0</td>
<td>26083.0</td>
<td>27067.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1985</td>
<td>1092.0</td>
<td>9565.0</td>
<td>15836.0</td>
<td>22169.0</td>
<td>25955.0</td>
<td>26180.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1986</td>
<td>1513.0</td>
<td>6445.0</td>
<td>11702.0</td>
<td>12935.0</td>
<td>15852.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1987</td>
<td>557.0</td>
<td>4020.0</td>
<td>10946.0</td>
<td>12314.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1988</td>
<td>1351.0</td>
<td>6947.0</td>
<td>13112.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1989</td>
<td>3133.0</td>
<td>5395.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1990</td>
<td>2063.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Calculate the all-year volume weighted age-to-age factors</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A%5Cbegin%7Baligned%7D%0A%20%20f_%7Bk%7D%20&amp;=%20%5Cfrac%7B%5Csum_%7Bi=1%7D%5E%7Bn-k%7D%0AC_%7Bi,k+1%7D%7D%7B%5Csum_%7Bi=1%7D%5E%7Bn-k%7DC_%7Bi,k%7D%7D%0A%5Cend%7Baligned%7D,%0A"></p>
<p>for development period <img src="https://latex.codecogs.com/png.latex?i">.</p>
<div id="cell-10" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb8" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb8-1"></span>
<span id="cb8-2">a2a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_a2a_factors(ctri0)</span>
<span id="cb8-3"></span>
<span id="cb8-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"All-year volume weighted age-to-age factors:"</span>)</span>
<span id="cb8-5"></span>
<span id="cb8-6">a2a</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>All-year volume weighted age-to-age factors:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="5">
<pre><code>1-2     2.99936
2-3     1.62352
3-4     1.27089
4-5     1.17167
5-6     1.11338
6-7     1.04193
7-8     1.03326
8-9     1.01694
9-10    1.00922
dtype: float64</code></pre>
</div>
</div>
<p><br></p>
<p>Although not required here, age-to-ultimate factors can be obtained as follows:</p>
<div id="cell-12" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1"></span>
<span id="cb11-2">a2u <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.cumprod(a2a[::<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>])[::<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb11-3"></span>
<span id="cb11-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Age-to-ultimate factors:"</span>)</span>
<span id="cb11-5"></span>
<span id="cb11-6">a2u</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Age-to-ultimate factors:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="6">
<pre><code>1-2     8.92023
2-3     2.97405
3-4     1.83185
4-5     1.44139
5-6     1.23020
6-7     1.10492
7-8     1.06045
8-9     1.02631
9-10    1.00922
dtype: float64</code></pre>
</div>
</div>
<p><br></p>
<p>Calculate the cumulative fitted triangle by applying backwards recursion, beginning with the observed cumulative losses from the latest diagonal.</p>
<div id="cell-14" class="cell" data-execution_count="7">
<div class="sourceCode cell-code" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb14-1"></span>
<span id="cb14-2">nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ctri0.shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb14-3"></span>
<span id="cb14-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create empty triangle with same shape as tri0. </span></span>
<span id="cb14-5">ctri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame(columns<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>tri0.columns, index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>tri0.index, dtype<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb14-6"></span>
<span id="cb14-7"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> idx, origin <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">enumerate</span>(ctri0.index):</span>
<span id="cb14-8"></span>
<span id="cb14-9">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Determine latest development period.</span></span>
<span id="cb14-10">    latest_devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> idx</span>
<span id="cb14-11"></span>
<span id="cb14-12">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set latest diagonal of tri to same value as in tri0.</span></span>
<span id="cb14-13">    ctri.at[origin, latest_devp] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ctri0.at[origin, latest_devp]</span>
<span id="cb14-14"></span>
<span id="cb14-15">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Use backward recursion to un-develop triangle using a2a. </span></span>
<span id="cb14-16">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> devp <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(latest_devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>):</span>
<span id="cb14-17">        ctri.at[origin, devp] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (ctri.at[origin, devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> a2a.iloc[devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]).astype(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb14-18"></span>
<span id="cb14-19"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fitted cumulative triangle:"</span>)</span>
<span id="cb14-20"></span>
<span id="cb14-21">ctri</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Fitted cumulative triangle:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="7">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">1981</td>
<td>2111.37961</td>
<td>6332.78471</td>
<td>10281.42007</td>
<td>13066.53458</td>
<td>15309.72711</td>
<td>17045.61877</td>
<td>17760.42062</td>
<td>18351.19533</td>
<td>18662.0</td>
<td>18834.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1982</td>
<td>1889.85559</td>
<td>5668.35472</td>
<td>9202.70287</td>
<td>11695.60570</td>
<td>13703.44452</td>
<td>15257.20801</td>
<td>15897.01351</td>
<td>16425.80467</td>
<td>16704.0</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1983</td>
<td>2699.85868</td>
<td>8097.84449</td>
<td>13147.03479</td>
<td>16708.41026</td>
<td>19576.82046</td>
<td>21796.53602</td>
<td>22710.56587</td>
<td>23466.00000</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1984</td>
<td>3217.75667</td>
<td>9651.20632</td>
<td>15668.95306</td>
<td>19913.48622</td>
<td>23332.12666</td>
<td>25977.63719</td>
<td>27067.00000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1985</td>
<td>3242.82263</td>
<td>9726.38811</td>
<td>15791.01241</td>
<td>20068.60999</td>
<td>23513.88125</td>
<td>26180.00000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1986</td>
<td>2186.16501</td>
<td>6557.09292</td>
<td>10645.58956</td>
<td>13529.35325</td>
<td>15852.00000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1987</td>
<td>1989.77995</td>
<td>5968.06372</td>
<td>9689.28724</td>
<td>12314.00000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1988</td>
<td>2692.66398</td>
<td>8076.26500</td>
<td>13112.00000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1989</td>
<td>1798.71787</td>
<td>5395.00000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1990</td>
<td>2063.00000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Calculate the unscaled Pearson residuals, <img src="https://latex.codecogs.com/png.latex?r_%7Bp%7D">, degrees of freedom <img src="https://latex.codecogs.com/png.latex?DF"> and scale parameter <img src="https://latex.codecogs.com/png.latex?%5Cphi">.</p>
<p>The unscaled Pearson residuals are defined as</p>
<p><img src="https://latex.codecogs.com/png.latex?%0Ar_%7Bp%7D%20=%20%5Cfrac%7BI%20-%20m%7D%7B%5Csqrt%7Bm%7D%7D,%0A"></p>
<p>where <img src="https://latex.codecogs.com/png.latex?I"> represents actual incremental losses and <img src="https://latex.codecogs.com/png.latex?m"> fitted incremental losses.</p>
<p>To get incremental representations of <code>ctri0</code> and <code>ctri</code>, do:</p>
<div id="cell-16" class="cell" data-execution_count="8">
<div class="sourceCode cell-code" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb16-1"></span>
<span id="cb16-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Actual incremental triangle.</span></span>
<span id="cb16-3">tri0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_incr(ctri0)</span>
<span id="cb16-4"></span>
<span id="cb16-5"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Actual incremental triangle tri0:"</span>)</span>
<span id="cb16-6"></span>
<span id="cb16-7">tri0</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Actual incremental triangle tri0:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="8">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">1981</td>
<td>5012.0</td>
<td>3257.0</td>
<td>2638.0</td>
<td>898.0</td>
<td>1734.0</td>
<td>2642.0</td>
<td>1828.0</td>
<td>599.0</td>
<td>54.0</td>
<td>172.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1982</td>
<td>106.0</td>
<td>4179.0</td>
<td>1111.0</td>
<td>5270.0</td>
<td>3116.0</td>
<td>1817.0</td>
<td>-103.0</td>
<td>673.0</td>
<td>535.0</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1983</td>
<td>3410.0</td>
<td>5582.0</td>
<td>4881.0</td>
<td>2268.0</td>
<td>2594.0</td>
<td>3479.0</td>
<td>649.0</td>
<td>603.0</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1984</td>
<td>5655.0</td>
<td>5900.0</td>
<td>4211.0</td>
<td>5500.0</td>
<td>2159.0</td>
<td>2658.0</td>
<td>984.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1985</td>
<td>1092.0</td>
<td>8473.0</td>
<td>6271.0</td>
<td>6333.0</td>
<td>3786.0</td>
<td>225.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1986</td>
<td>1513.0</td>
<td>4932.0</td>
<td>5257.0</td>
<td>1233.0</td>
<td>2917.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1987</td>
<td>557.0</td>
<td>3463.0</td>
<td>6926.0</td>
<td>1368.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1988</td>
<td>1351.0</td>
<td>5596.0</td>
<td>6165.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1989</td>
<td>3133.0</td>
<td>2262.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1990</td>
<td>2063.0</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<div id="cell-17" class="cell" data-execution_count="9">
<div class="sourceCode cell-code" id="cb18" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb18-1"></span>
<span id="cb18-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Fitted incremental triangle.</span></span>
<span id="cb18-3">tri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_incr(ctri)</span>
<span id="cb18-4"></span>
<span id="cb18-5"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fitted incremental triangle tri:"</span>)</span>
<span id="cb18-6"></span>
<span id="cb18-7">tri</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Fitted incremental triangle tri:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="9">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">1981</td>
<td>2111.37961</td>
<td>4221.40510</td>
<td>3948.63536</td>
<td>2785.11450</td>
<td>2243.19253</td>
<td>1735.89167</td>
<td>714.80185</td>
<td>590.77471</td>
<td>310.80467</td>
<td>172.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1982</td>
<td>1889.85559</td>
<td>3778.49913</td>
<td>3534.34815</td>
<td>2492.90283</td>
<td>2007.83882</td>
<td>1553.76350</td>
<td>639.80549</td>
<td>528.79116</td>
<td>278.19533</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1983</td>
<td>2699.85868</td>
<td>5397.98581</td>
<td>5049.19030</td>
<td>3561.37547</td>
<td>2868.41020</td>
<td>2219.71556</td>
<td>914.02985</td>
<td>755.43413</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1984</td>
<td>3217.75667</td>
<td>6433.44965</td>
<td>6017.74674</td>
<td>4244.53316</td>
<td>3418.64044</td>
<td>2645.51053</td>
<td>1089.36281</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1985</td>
<td>3242.82263</td>
<td>6483.56548</td>
<td>6064.62430</td>
<td>4277.59759</td>
<td>3445.27126</td>
<td>2666.11875</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1986</td>
<td>2186.16501</td>
<td>4370.92792</td>
<td>4088.49664</td>
<td>2883.76369</td>
<td>2322.64675</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1987</td>
<td>1989.77995</td>
<td>3978.28376</td>
<td>3721.22352</td>
<td>2624.71276</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1988</td>
<td>2692.66398</td>
<td>5383.60102</td>
<td>5035.73500</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1989</td>
<td>1798.71787</td>
<td>3596.28213</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1990</td>
<td>2063.00000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>The unscaled Pearson residuals are then calculated element-wise:</p>
<div id="cell-19" class="cell" data-execution_count="10">
<div class="sourceCode cell-code" id="cb20" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb20-1"></span>
<span id="cb20-2">r_us <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (tri0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> tri) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> tri.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">abs</span>().<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>(np.sqrt)</span>
<span id="cb20-3"></span>
<span id="cb20-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Unscaled Pearson residuals:"</span>)</span>
<span id="cb20-5"></span>
<span id="cb20-6">r_us</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Unscaled Pearson residuals:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="10">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">1981</td>
<td>63.12592</td>
<td>-14.84332</td>
<td>-20.85731</td>
<td>-35.75829</td>
<td>-10.75100</td>
<td>21.74797</td>
<td>41.63702</td>
<td>0.33841</td>
<td>-14.56663</td>
<td>0.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1982</td>
<td>-41.03414</td>
<td>6.51544</td>
<td>-40.76253</td>
<td>55.62095</td>
<td>24.73082</td>
<td>6.67811</td>
<td>-29.36643</td>
<td>6.27119</td>
<td>15.39671</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1983</td>
<td>13.66703</td>
<td>2.50458</td>
<td>-2.36696</td>
<td>-21.67284</td>
<td>-5.12365</td>
<td>26.72854</td>
<td>-8.76627</td>
<td>-5.54605</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1984</td>
<td>42.96574</td>
<td>-6.65076</td>
<td>-23.29058</td>
<td>19.27038</td>
<td>-21.54368</td>
<td>0.24282</td>
<td>-3.19228</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1985</td>
<td>-37.76965</td>
<td>24.70715</td>
<td>2.65007</td>
<td>31.42656</td>
<td>5.80493</td>
<td>-47.27692</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1986</td>
<td>-14.39727</td>
<td>8.48656</td>
<td>18.27461</td>
<td>-30.74009</td>
<td>12.33255</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1987</td>
<td>-32.12011</td>
<td>-8.16956</td>
<td>52.53574</td>
<td>-24.52986</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1988</td>
<td>-25.85548</td>
<td>2.89478</td>
<td>15.91345</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1989</td>
<td>31.46054</td>
<td>-22.24953</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1990</td>
<td>0.00000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p><img src="https://latex.codecogs.com/png.latex?DF%20=%20n%20-%20p">, where <img src="https://latex.codecogs.com/png.latex?n"> is the number of populated cells in the original triangle and <img src="https://latex.codecogs.com/png.latex?p"> the number of parameters in the chain ladder model (10 for origin period and 9 for development period):</p>
<div id="cell-21" class="cell" data-execution_count="11">
<div class="sourceCode cell-code" id="cb22" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb22-1"></span>
<span id="cb22-2">n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.count().<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().item()</span>
<span id="cb22-3">p <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.index.shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> tri0.columns.shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span></span>
<span id="cb22-4">DF <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> p</span>
<span id="cb22-5"></span>
<span id="cb22-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Degrees of freedom: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>DF<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">."</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Degrees of freedom: 36.</code></pre>
</div>
</div>
<p><br></p>
<p>The scale parameter <img src="https://latex.codecogs.com/png.latex?%5Cphi"> is the sum of the squared unscaled Pearson residuals over the degrees of freedom:</p>
<div id="cell-23" class="cell" data-execution_count="12">
<div class="sourceCode cell-code" id="cb24" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb24-1"></span>
<span id="cb24-2">phi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ((r_us<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> DF).item()</span>
<span id="cb24-3"></span>
<span id="cb24-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Scale parameter: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>phi<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.3f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">."</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Scale parameter: 983.635.</code></pre>
</div>
</div>
<p><br></p>
<p>Calculate the adjusted Pearson residuals, <img src="https://latex.codecogs.com/png.latex?r_%7Bp%7D%5E%7B%7Badj%7D%7D">, defined as:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0Ar_%7Bp%7D%5E%7B%7Badj%7D%7D%20=%20%5Csqrt%7B%5Cfrac%7Bn%7D%7BDF%7D%7D%20%5Ctimes%20r_%7Bp%7D%0A"></p>
<div id="cell-25" class="cell" data-execution_count="13">
<div class="sourceCode cell-code" id="cb26" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb26-1"></span>
<span id="cb26-2">r_adj <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.sqrt(n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> DF) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> r_us </span>
<span id="cb26-3"></span>
<span id="cb26-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Adjusted Pearson residuals:"</span>)</span>
<span id="cb26-5"></span>
<span id="cb26-6">r_adj</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Adjusted Pearson residuals:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="13">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">1981</td>
<td>78.02573</td>
<td>-18.34683</td>
<td>-25.78033</td>
<td>-44.19843</td>
<td>-13.28859</td>
<td>26.88122</td>
<td>51.46473</td>
<td>0.41828</td>
<td>-18.00484</td>
<td>0.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1982</td>
<td>-50.71956</td>
<td>8.05330</td>
<td>-50.38384</td>
<td>68.74933</td>
<td>30.56811</td>
<td>8.25437</td>
<td>-36.29788</td>
<td>7.75140</td>
<td>19.03085</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1983</td>
<td>16.89291</td>
<td>3.09575</td>
<td>-2.92564</td>
<td>-26.78834</td>
<td>-6.33300</td>
<td>33.03735</td>
<td>-10.83539</td>
<td>-6.85510</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1984</td>
<td>53.10708</td>
<td>-8.22056</td>
<td>-28.78793</td>
<td>23.81883</td>
<td>-26.62870</td>
<td>0.30014</td>
<td>-3.94576</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1985</td>
<td>-46.68454</td>
<td>30.53886</td>
<td>3.27557</td>
<td>38.84427</td>
<td>7.17509</td>
<td>-58.43584</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1986</td>
<td>-17.79550</td>
<td>10.48967</td>
<td>22.58802</td>
<td>-37.99576</td>
<td>15.24345</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1987</td>
<td>-39.70151</td>
<td>-10.09784</td>
<td>64.93591</td>
<td>-30.31972</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1988</td>
<td>-31.95823</td>
<td>3.57805</td>
<td>19.66955</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1989</td>
<td>38.88627</td>
<td>-27.50115</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1990</td>
<td>0.00000</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>(From this point each subsequent step is repeated up to the desired number of bootstrap samples.)</p>
<p>Generate a sample from the adjusted Pearson residuals with replacement:</p>
<div id="cell-27" class="cell" data-execution_count="14">
<div class="sourceCode cell-code" id="cb28" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb28-1"></span>
<span id="cb28-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set random seed for reproducibility.</span></span>
<span id="cb28-3">rng <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.random.default_rng(seed<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">516</span>)</span>
<span id="cb28-4"></span>
<span id="cb28-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Represent adjusted residuals as Numpy array with nans and 0s removed.</span></span>
<span id="cb28-6">r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> r_adj.iloc[:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, :<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].astype(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>).values.flatten()</span>
<span id="cb28-7">r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> r[np.logical_and(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>np.isnan(r), r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)]</span>
<span id="cb28-8"></span>
<span id="cb28-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sample tri0.shape[0] * tri0.shape[1] values at each iteration, but only</span></span>
<span id="cb28-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># keep values in upper left portion of triangle. Use mask to determine </span></span>
<span id="cb28-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># which values to retain.</span></span>
<span id="cb28-12">mask <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>np.isnan(tri0)</span>
<span id="cb28-13"></span>
<span id="cb28-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sample with replacement from adjusted residuals. </span></span>
<span id="cb28-15">s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rng.choice(r, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>mask.shape, replace<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb28-16"></span>
<span id="cb28-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Replace 0s with nans.</span></span>
<span id="cb28-18">s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (mask <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> s_r).replace(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, np.nan)</span>
<span id="cb28-19"></span>
<span id="cb28-20"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Sample with replacement from adjusted Pearson residuals:"</span>)</span>
<span id="cb28-21"></span>
<span id="cb28-22">s_r</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Sample with replacement from adjusted Pearson residuals:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="14">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">1981</td>
<td>-50.38384</td>
<td>-13.28859</td>
<td>7.17509</td>
<td>30.53886</td>
<td>26.88122</td>
<td>-18.34683</td>
<td>-58.43584</td>
<td>33.03735</td>
<td>10.48967</td>
<td>7.17509</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1982</td>
<td>-10.09784</td>
<td>8.25437</td>
<td>-26.78834</td>
<td>0.41828</td>
<td>78.02573</td>
<td>-58.43584</td>
<td>38.84427</td>
<td>-30.31972</td>
<td>19.66955</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1983</td>
<td>-27.50115</td>
<td>38.84427</td>
<td>-58.43584</td>
<td>-6.33300</td>
<td>7.17509</td>
<td>-27.50115</td>
<td>0.41828</td>
<td>-50.71956</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1984</td>
<td>-44.19843</td>
<td>8.05330</td>
<td>-37.99576</td>
<td>-27.50115</td>
<td>38.84427</td>
<td>-25.78033</td>
<td>-30.31972</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1985</td>
<td>19.03085</td>
<td>-3.94576</td>
<td>-26.78834</td>
<td>-2.92564</td>
<td>38.88627</td>
<td>7.75140</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1986</td>
<td>30.56811</td>
<td>-27.50115</td>
<td>26.88122</td>
<td>8.25437</td>
<td>38.84427</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1987</td>
<td>-39.70151</td>
<td>-17.79550</td>
<td>-18.34683</td>
<td>-10.83539</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1988</td>
<td>22.58802</td>
<td>-18.00484</td>
<td>3.09575</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1989</td>
<td>-25.78033</td>
<td>-26.78834</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1990</td>
<td>0.41828</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Using the sampled adjusted Pearson residuals and fitted incremental triangle <img src="https://latex.codecogs.com/png.latex?m">, construct the triangle of sampled incremental losses <img src="https://latex.codecogs.com/png.latex?%7BI_%7Bi%7D%7D">:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0AI_%7Bi%7D%20=%20m%20+%20%5Chat%7Br%7D_%7Bp%7D%5E%7Badj%7D%20%5Csqrt%7Bm%7D,%0A"></p>
<p>where <img src="https://latex.codecogs.com/png.latex?%5Chat%7Br%7D_%7Bp%7D%5E%7Badj%7D"> represents a sample with replacement from the adjusted Pearson residuals and <img src="https://latex.codecogs.com/png.latex?m"> the fitted incremental triangle:</p>
<div id="cell-29" class="cell" data-execution_count="15">
<div class="sourceCode cell-code" id="cb30" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb30-1"></span>
<span id="cb30-2">tri_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> tri.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>(np.sqrt)</span>
<span id="cb30-3"></span>
<span id="cb30-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Triangle of sampled incremental loss tri_ii:"</span>)</span>
<span id="cb30-5"></span>
<span id="cb30-6">tri_ii</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Triangle of sampled incremental loss tri_ii:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="15">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">1981</td>
<td>-203.74517</td>
<td>3358.01441</td>
<td>4399.50467</td>
<td>4396.77782</td>
<td>3516.35018</td>
<td>971.48866</td>
<td>-847.52570</td>
<td>1393.77594</td>
<td>495.73396</td>
<td>266.10038</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1982</td>
<td>1450.87736</td>
<td>4285.89089</td>
<td>1941.77093</td>
<td>2513.78729</td>
<td>5504.08697</td>
<td>-749.64897</td>
<td>1622.34716</td>
<td>-168.42480</td>
<td>606.26754</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1983</td>
<td>1270.89430</td>
<td>8251.91283</td>
<td>896.87689</td>
<td>3183.43918</td>
<td>3252.69020</td>
<td>924.03021</td>
<td>926.67577</td>
<td>-638.60120</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1984</td>
<td>710.58877</td>
<td>7079.39510</td>
<td>3070.25824</td>
<td>2452.83086</td>
<td>5689.83169</td>
<td>1319.51149</td>
<td>88.64530</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1985</td>
<td>4326.54913</td>
<td>6165.85019</td>
<td>3978.46348</td>
<td>4086.25126</td>
<td>5727.75635</td>
<td>3066.35794</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1986</td>
<td>3615.42117</td>
<td>2552.74443</td>
<td>5807.31796</td>
<td>3327.02883</td>
<td>4194.70163</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1987</td>
<td>218.81653</td>
<td>2855.85695</td>
<td>2602.03318</td>
<td>2069.59441</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1988</td>
<td>3864.77654</td>
<td>4062.53149</td>
<td>5255.41826</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1989</td>
<td>705.34074</td>
<td>1989.81179</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1990</td>
<td>2081.99854</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
<td>NaN</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Create a cumulative triangle, and project future losses using the chain ladder method:</p>
<div id="cell-31" class="cell" data-execution_count="16">
<div class="sourceCode cell-code" id="cb32" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb32-1"></span>
<span id="cb32-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create cumulative triangle from sampled incremental losses.</span></span>
<span id="cb32-3">ctri_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_cum(tri_ii)</span>
<span id="cb32-4"></span>
<span id="cb32-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># # Get age-to-age factors for sampled cumulative triangle.</span></span>
<span id="cb32-6">a2a_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_a2a_factors(ctri_ii)</span>
<span id="cb32-7"></span>
<span id="cb32-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># # Square ctri_ii, populating the lower-right side using a2a_ii.</span></span>
<span id="cb32-9">ctri_ii_sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> square_tri(ctri_ii, a2a_ii)</span>
<span id="cb32-10"></span>
<span id="cb32-11"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Completed sampled triangle ctri_ii_sqrd:"</span>)</span>
<span id="cb32-12"></span>
<span id="cb32-13">ctri_ii_sqrd</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Completed sampled triangle ctri_ii_sqrd:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="16">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">1981</td>
<td>-203.74517</td>
<td>3154.26925</td>
<td>7553.77392</td>
<td>11950.55173</td>
<td>15466.90192</td>
<td>16438.39058</td>
<td>15590.86488</td>
<td>16984.64083</td>
<td>17480.37479</td>
<td>17746.47517</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1982</td>
<td>1450.87736</td>
<td>5736.76825</td>
<td>7678.53919</td>
<td>10192.32648</td>
<td>15696.41345</td>
<td>14946.76448</td>
<td>16569.11164</td>
<td>16400.68684</td>
<td>17006.95438</td>
<td>17265.84797</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1983</td>
<td>1270.89430</td>
<td>9522.80713</td>
<td>10419.68402</td>
<td>13603.12320</td>
<td>16855.81340</td>
<td>17779.84361</td>
<td>18706.51938</td>
<td>18067.91819</td>
<td>18664.31410</td>
<td>18948.43736</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1984</td>
<td>710.58877</td>
<td>7789.98388</td>
<td>10860.24211</td>
<td>13313.07297</td>
<td>19002.90466</td>
<td>20322.41615</td>
<td>20411.06145</td>
<td>20646.50502</td>
<td>21328.01636</td>
<td>21652.68865</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1985</td>
<td>4326.54913</td>
<td>10492.39932</td>
<td>14470.86280</td>
<td>18557.11406</td>
<td>24284.87042</td>
<td>27351.22836</td>
<td>28055.85376</td>
<td>28379.48074</td>
<td>29316.24646</td>
<td>29762.52204</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1986</td>
<td>3615.42117</td>
<td>6168.16560</td>
<td>11975.48356</td>
<td>15302.51239</td>
<td>19497.21402</td>
<td>20678.43364</td>
<td>21211.15375</td>
<td>21455.82646</td>
<td>22164.05234</td>
<td>22501.45144</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1987</td>
<td>218.81653</td>
<td>3074.67348</td>
<td>5676.70666</td>
<td>7746.30107</td>
<td>10351.36885</td>
<td>10978.49639</td>
<td>11261.32564</td>
<td>11391.22612</td>
<td>11767.23406</td>
<td>11946.36440</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1988</td>
<td>3864.77654</td>
<td>7927.30803</td>
<td>13182.72628</td>
<td>17413.95519</td>
<td>23270.23849</td>
<td>24680.04309</td>
<td>25315.85312</td>
<td>25607.87393</td>
<td>26453.15290</td>
<td>26855.84416</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1989</td>
<td>705.34074</td>
<td>2695.15253</td>
<td>4093.68628</td>
<td>5407.62721</td>
<td>7226.20298</td>
<td>7663.99541</td>
<td>7861.43612</td>
<td>7952.11854</td>
<td>8214.60650</td>
<td>8339.65588</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1990</td>
<td>2081.99854</td>
<td>7378.73207</td>
<td>11207.60842</td>
<td>14804.88834</td>
<td>19783.74693</td>
<td>20982.32586</td>
<td>21522.87488</td>
<td>21771.14332</td>
<td>22489.77736</td>
<td>22832.13491</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>So far we’ve accounted for parameter variance, but not process variance. In order to obtain the full prediction error, we need to incorporate process variance into our estimates. This is accomplished by simulating incremental projected losses from a gamma distribution. For each cell in the lower right of the completed triangle, we randomly sample from a gamma distribution with mean equal to the projected incremental loss in that cell, and variance equal to the value in that cell times <img src="https://latex.codecogs.com/png.latex?%5Cphi">. For example, consider the following squared incremental triangle:</p>
<pre><code>      1  2  3  4  5  6  7  8  9  10
1991  84 27  6  6  3  0  2 -1 -0  2
1992 109 33  7  2  4  4  1 -1  1  2
1993  86 28  8  4  3  2 -0  1  0  2
1994 113 32  1  4  3  2 -1 -0  0  2
1995  86 26  6  3  2  2  0 -0  0  2
1996 107 39  7  4  4  2  1 -0  0  2
1997  72 26  2  3  2  2  0 -0  0  1
1998  77 21  3  3  2  2  0 -0  0  1
1999  74 28  4  3  2  2  0 -0  0  1
2000  54 17  3  2  2  1  0 -0  0  1</code></pre>
<p><br></p>
<p>Values to the right of the main diagonal represent projected future losses. For the loss at origin = 2000 and development period = 2, the projected incremental loss is 17. We would therefore sample from a gamma distribution parameterized as follows:</p>
<div class="sourceCode" id="cb35" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb35-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> numpy.random <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> gamma</span>
<span id="cb35-2"></span>
<span id="cb35-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Computed above. </span></span>
<span id="cb35-4">phi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.798</span> </span>
<span id="cb35-5"></span>
<span id="cb35-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Value at intersection of origin=2000 and development period = 2.</span></span>
<span id="cb35-7">mu <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">17</span></span>
<span id="cb35-8"></span>
<span id="cb35-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Determine shape and scale from mean and variance.</span></span>
<span id="cb35-10">shape <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> mu<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (phi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> mu)</span>
<span id="cb35-11">scale <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (phi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> mu) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> mu</span>
<span id="cb35-12"></span>
<span id="cb35-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Generate sample from gamma distribution.</span></span>
<span id="cb35-14">rng.gamma(shape<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>shape, scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>scale, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb35-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># array([19.29149])</span></span></code></pre></div>
<p><br></p>
<p>We take advantage of the fact that for the gamma distribution, the shape parameter <img src="https://latex.codecogs.com/png.latex?%5Calpha%20=%20E%5BX%5D%5E%7B2%7D%20/%20%5Cmathrm%7BVar%7D%5BX%5D"> and scale <img src="https://latex.codecogs.com/png.latex?%5Ctheta%20=%20%5Cmathrm%7BVar%7D%5BX%5D%20/%20E%5BX%5D">. In essence, we are simulating future incremental losses from a series a gamma distributions, each with parameterization based on the chain ladder-derived future incremental losses. To handle cases in which a projected incremental loss might be negative, we take the absolute value of the projected loss when determining <img src="https://latex.codecogs.com/png.latex?%5Calpha_%7Bij%7D"> and <img src="https://latex.codecogs.com/png.latex?%5Ctheta_%7Bij%7D"> for origin period <img src="https://latex.codecogs.com/png.latex?i">, development period <img src="https://latex.codecogs.com/png.latex?j">, where <img src="https://latex.codecogs.com/png.latex?2%20%5Cleq%20i%20%5Cleq%20n"> and <img src="https://latex.codecogs.com/png.latex?j%20%5Cgeq%20n%20-%20i%20+%202">.</p>
<div id="cell-33" class="cell" data-execution_count="17">
<div class="sourceCode cell-code" id="cb36" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb36-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb36-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">Incorporation of process variance. </span></span>
<span id="cb36-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""</span></span>
<span id="cb36-4"></span>
<span id="cb36-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># pd.set_option('display.float_format', '{:.2f}'.format)</span></span>
<span id="cb36-6"></span>
<span id="cb36-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> numpy.random <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> gamma</span>
<span id="cb36-8"></span>
<span id="cb36-9"></span>
<span id="cb36-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get sampled squared incremental triangle.</span></span>
<span id="cb36-11">tri_ii_sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_incr(ctri_ii_sqrd)</span>
<span id="cb36-12"></span>
<span id="cb36-13"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> r_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, nbr_devps):</span>
<span id="cb36-14"></span>
<span id="cb36-15">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> c_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> r_idx, nbr_devps):</span>
<span id="cb36-16">        </span>
<span id="cb36-17">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get mean and variance from incremental loss value.</span></span>
<span id="cb36-18">        m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">abs</span>(tri_ii_sqrd.iat[r_idx, c_idx].item())</span>
<span id="cb36-19">        v <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> phi</span>
<span id="cb36-20"></span>
<span id="cb36-21">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Determine shape and scale parameters. </span></span>
<span id="cb36-22">        shape <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> m<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> v</span>
<span id="cb36-23">        scale <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> v <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> m</span>
<span id="cb36-24"></span>
<span id="cb36-25">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Update value at [r_idx, c_idx] with sample from gamma distribution.</span></span>
<span id="cb36-26">        tri_ii_sqrd.iat[r_idx, c_idx] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rng.gamma(shape<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>shape, scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>scale, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>).item()</span>
<span id="cb36-27"></span>
<span id="cb36-28"></span>
<span id="cb36-29"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Sampled incremental triangle w/ process variance:"</span>)</span>
<span id="cb36-30"></span>
<span id="cb36-31">tri_ii_sqrd</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Sampled incremental triangle w/ process variance:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="17">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">1981</td>
<td>-203.74517</td>
<td>3358.01441</td>
<td>4399.50467</td>
<td>4396.77782</td>
<td>3516.35018</td>
<td>971.48866</td>
<td>-847.52570</td>
<td>1393.77594</td>
<td>495.73396</td>
<td>266.10038</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1982</td>
<td>1450.87736</td>
<td>4285.89089</td>
<td>1941.77093</td>
<td>2513.78729</td>
<td>5504.08697</td>
<td>-749.64897</td>
<td>1622.34716</td>
<td>-168.42480</td>
<td>606.26754</td>
<td>0.00564</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1983</td>
<td>1270.89430</td>
<td>8251.91283</td>
<td>896.87689</td>
<td>3183.43918</td>
<td>3252.69020</td>
<td>924.03021</td>
<td>926.67577</td>
<td>-638.60120</td>
<td>234.75693</td>
<td>1.54909</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1984</td>
<td>710.58877</td>
<td>7079.39510</td>
<td>3070.25824</td>
<td>2452.83086</td>
<td>5689.83169</td>
<td>1319.51149</td>
<td>88.64530</td>
<td>0.81938</td>
<td>138.50517</td>
<td>140.97113</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1985</td>
<td>4326.54913</td>
<td>6165.85019</td>
<td>3978.46348</td>
<td>4086.25126</td>
<td>5727.75635</td>
<td>3066.35794</td>
<td>375.74168</td>
<td>20.52462</td>
<td>624.28700</td>
<td>115.89744</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1986</td>
<td>3615.42117</td>
<td>2552.74443</td>
<td>5807.31796</td>
<td>3327.02883</td>
<td>4194.70163</td>
<td>218.81315</td>
<td>10.16396</td>
<td>14.27299</td>
<td>306.61617</td>
<td>371.23650</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1987</td>
<td>218.81653</td>
<td>2855.85695</td>
<td>2602.03318</td>
<td>2069.59441</td>
<td>5116.03482</td>
<td>160.27811</td>
<td>418.30086</td>
<td>0.00003</td>
<td>14.95452</td>
<td>1.75255</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1988</td>
<td>3864.77654</td>
<td>4062.53149</td>
<td>5255.41826</td>
<td>1226.24633</td>
<td>3936.24691</td>
<td>2824.74743</td>
<td>827.32061</td>
<td>4.35813</td>
<td>84.72082</td>
<td>387.91986</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">1989</td>
<td>705.34074</td>
<td>1989.81179</td>
<td>1215.04136</td>
<td>619.78260</td>
<td>3797.39110</td>
<td>796.30572</td>
<td>8.32738</td>
<td>2.07908</td>
<td>0.25043</td>
<td>83.89140</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1990</td>
<td>2081.99854</td>
<td>3260.84269</td>
<td>1892.69935</td>
<td>2777.31515</td>
<td>1124.31564</td>
<td>720.69074</td>
<td>10.07638</td>
<td>7.82743</td>
<td>299.71757</td>
<td>0.78279</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>From this point, we proceed exactly as if performing a standard chain ladder analysis: Cumulate incremental losses, then compute the total needed reserve as the ultimate projected value minus the latest cumulative loss amount by origin period:</p>
<div id="cell-35" class="cell" data-execution_count="18">
<div class="sourceCode cell-code" id="cb38" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb38-1"></span>
<span id="cb38-2">ctri_ii_sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_cum(tri_ii_sqrd)</span>
<span id="cb38-3"></span>
<span id="cb38-4">latest <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_latest(ctri_ii_sqrd)</span>
<span id="cb38-5"></span>
<span id="cb38-6">ibnr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ctri_ii_sqrd.iloc[:, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> latest</span>
<span id="cb38-7"></span>
<span id="cb38-8"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"IBNR for sampled triangle:"</span>)</span>
<span id="cb38-9"></span>
<span id="cb38-10">ibnr</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>IBNR for sampled triangle:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="18">
<pre><code>1981        0.00000
1982        0.00564
1983      236.30602
1984      280.29567
1985     1136.45073
1986      921.10277
1987     5711.32089
1988     9291.56009
1989     6523.06907
1990    10094.26775
dtype: float64</code></pre>
</div>
</div>
<p>The preceding steps are repeated for the desired number of bootstrap samples, resulting in the predictive distribution of total needed reserve by origin period and in aggregate.</p>
<p><br></p>
<section id="bringing-it-all-together" class="level3">
<h3 class="anchored" data-anchor-id="bringing-it-all-together">Bringing it All Together</h3>
<p>The steps outlined above are combined in the next cell to run 1000 bootstrap samples, generating the predictive distribution of reserves. We also present code to visualize the predictive distribution by origin period and in aggregate.</p>
<div id="cell-37" class="cell" data-execution_count="19">
<div class="sourceCode cell-code" id="cb41" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb41-1"></span>
<span id="cb41-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb41-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb41-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> numpy.random <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> gamma</span>
<span id="cb41-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb41-6"></span>
<span id="cb41-7"></span>
<span id="cb41-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set random seed for reproducibility.</span></span>
<span id="cb41-9">rng <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.random.default_rng(seed<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">516</span>)</span>
<span id="cb41-10"></span>
<span id="cb41-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Number of bootstrap samples.</span></span>
<span id="cb41-12">nbr_samples <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span></span>
<span id="cb41-13"></span>
<span id="cb41-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Load tabular incremental losses. Convert to incremental triangle. </span></span>
<span id="cb41-15">dfraa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_csv(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"https://gist.githubusercontent.com/jtrive84/976c80786a6e97cce7483e306562f85b/raw/06a5c8b1f823fbe2b6da15f90a672517fa5b4571/RAA.csv"</span>)</span>
<span id="cb41-16">dfraa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfraa.sort_values(by<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DEV"</span>])</span>
<span id="cb41-17">tri0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfraa.pivot(index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ORIGIN"</span>, columns<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DEV"</span>).rename_axis(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb41-18">tri0.columns <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.columns.droplevel(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb41-19">nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb41-20">mask <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>np.isnan(tri0)</span>
<span id="cb41-21"></span>
<span id="cb41-22"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create cumulative triangle from original losses.</span></span>
<span id="cb41-23">ctri0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_cum(tri0)</span>
<span id="cb41-24"></span>
<span id="cb41-25"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># All-year volume-weighted age-to-age factors.</span></span>
<span id="cb41-26">a2a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_a2a_factors(ctri0)</span>
<span id="cb41-27"></span>
<span id="cb41-28"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cumulative fitted triangle via backwards recursion.</span></span>
<span id="cb41-29">ctri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame(columns<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>tri0.columns, index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>tri0.index, dtype<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb41-30"></span>
<span id="cb41-31"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> idx, origin <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">enumerate</span>(ctri0.index):</span>
<span id="cb41-32"></span>
<span id="cb41-33">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Determine latest development period.</span></span>
<span id="cb41-34">    latest_devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> idx</span>
<span id="cb41-35"></span>
<span id="cb41-36">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set latest diagonal of tri to same value as in tri0.</span></span>
<span id="cb41-37">    ctri.at[origin, latest_devp] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ctri0.at[origin, latest_devp]</span>
<span id="cb41-38"></span>
<span id="cb41-39">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Use backward recursion to un-develop triangle using a2a. </span></span>
<span id="cb41-40">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> devp <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(latest_devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>):</span>
<span id="cb41-41">        ctri.at[origin, devp] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ctri.at[origin, devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> a2a.iloc[devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb41-42"></span>
<span id="cb41-43"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Incremental fitted triangle.</span></span>
<span id="cb41-44">tri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_incr(ctri)</span>
<span id="cb41-45"></span>
<span id="cb41-46"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Unscaled Pearson residuals.</span></span>
<span id="cb41-47">r_us <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (tri0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> tri) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> tri.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">abs</span>().<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>(np.sqrt)</span>
<span id="cb41-48"></span>
<span id="cb41-49"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Degrees of freedom.</span></span>
<span id="cb41-50">n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.count().<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().item()</span>
<span id="cb41-51">p <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.index.shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> tri0.columns.shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span></span>
<span id="cb41-52">DF <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> p</span>
<span id="cb41-53"></span>
<span id="cb41-54"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Scale parameter.</span></span>
<span id="cb41-55">phi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ((r_us<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>).<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>() <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> DF).item()</span>
<span id="cb41-56"></span>
<span id="cb41-57"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Adjusted Pearson residuals.</span></span>
<span id="cb41-58">r_adj <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.sqrt(n <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> DF) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> r_us </span>
<span id="cb41-59"></span>
<span id="cb41-60"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create sampling distribution from adjusted Pearson residuals. Remove</span></span>
<span id="cb41-61"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># nans and 0s. </span></span>
<span id="cb41-62">r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> r_adj.iloc[:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, :<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].astype(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>).values.flatten()</span>
<span id="cb41-63">r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> r[np.logical_and(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>np.isnan(r), r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)]</span>
<span id="cb41-64"></span>
<span id="cb41-65"></span>
<span id="cb41-66"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sample tri0.shape[0] * tri0.shape[1] values at each iteration, but only</span></span>
<span id="cb41-67"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># keep values in upper left portion of triangle. Use mask to determine </span></span>
<span id="cb41-68"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># which values to retain.</span></span>
<span id="cb41-69">sqrd_ctris <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb41-70"></span>
<span id="cb41-71"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(nbr_samples):</span>
<span id="cb41-72"></span>
<span id="cb41-73">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sample with replacement from adjusted residuals. </span></span>
<span id="cb41-74">    s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rng.choice(r, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>mask.shape, replace<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb41-75"></span>
<span id="cb41-76">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Replace 0s with nans.</span></span>
<span id="cb41-77">    s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (mask <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> s_r).replace(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, np.nan)</span>
<span id="cb41-78"></span>
<span id="cb41-79">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sampled incremental triangle.</span></span>
<span id="cb41-80">    tri_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> s_r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> tri.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>(np.sqrt)</span>
<span id="cb41-81"></span>
<span id="cb41-82">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sampled cumulative triangle.</span></span>
<span id="cb41-83">    ctri_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_cum(tri_ii)</span>
<span id="cb41-84"></span>
<span id="cb41-85">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Age-to-age factors for sampled cumulative triangle.</span></span>
<span id="cb41-86">    a2a_ii <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_a2a_factors(ctri_ii)</span>
<span id="cb41-87"></span>
<span id="cb41-88">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sampled squared cumulative triangle.</span></span>
<span id="cb41-89">    ctri_ii_sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> square_tri(ctri_ii, a2a_ii)</span>
<span id="cb41-90"></span>
<span id="cb41-91">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sampled squared incremental triangle.</span></span>
<span id="cb41-92">    tri_ii_sqrd <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_incr(ctri_ii_sqrd)</span>
<span id="cb41-93"></span>
<span id="cb41-94">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Incorporate process variance.</span></span>
<span id="cb41-95">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> r_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, nbr_devps):</span>
<span id="cb41-96"></span>
<span id="cb41-97">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> c_idx <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(nbr_devps <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> r_idx, nbr_devps):</span>
<span id="cb41-98">            </span>
<span id="cb41-99">            <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get mean and variance from incremental loss value.</span></span>
<span id="cb41-100">            m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">abs</span>(tri_ii_sqrd.iat[r_idx, c_idx].item())</span>
<span id="cb41-101">            v <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> phi</span>
<span id="cb41-102"></span>
<span id="cb41-103">            <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Determine shape and scale parameters. </span></span>
<span id="cb41-104">            shape <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> m<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> v</span>
<span id="cb41-105">            scale <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> v <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> m</span>
<span id="cb41-106"></span>
<span id="cb41-107">            <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Update value at [r_idx, c_idx] with sample from gamma distribution.</span></span>
<span id="cb41-108">            tri_ii_sqrd.iat[r_idx, c_idx] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rng.gamma(shape<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>shape, scale<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>scale, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>).item()</span>
<span id="cb41-109"></span>
<span id="cb41-110">    ctri_ii_sqrd2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> to_cum(tri_ii_sqrd)</span>
<span id="cb41-111"></span>
<span id="cb41-112">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Keep Sampled squared triangle.</span></span>
<span id="cb41-113">    sqrd_ctris.append(ctri_ii_sqrd2)</span>
<span id="cb41-114"></span></code></pre></div>
</div>
<p><br></p>
<p>Obtaining predictive distribution of reserves and ultimates from <code>sqrd_ctris</code>.</p>
<div id="cell-39" class="cell" data-execution_count="20">
<div class="sourceCode cell-code" id="cb42" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb42-1"></span>
<span id="cb42-2">ultimates, reserves <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [], []</span>
<span id="cb42-3"></span>
<span id="cb42-4"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii, ctri <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">enumerate</span>(sqrd_ctris):</span>
<span id="cb42-5"></span>
<span id="cb42-6">    ult <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb42-7">        ctri.iloc[:, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb42-8">        .to_frame()</span>
<span id="cb42-9">        .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb42-10">        .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"index"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb42-11">    )</span>
<span id="cb42-12"></span>
<span id="cb42-13">    ult[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ii</span>
<span id="cb42-14">    ultimates.append(ult)</span>
<span id="cb42-15"></span>
<span id="cb42-16">    latest <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> get_latest(ctri)</span>
<span id="cb42-17">    ibnr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb42-18">        (ctri.iloc[:, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> latest).astype(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb42-19">        .to_frame()</span>
<span id="cb42-20">        .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb42-21">        .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"index"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb42-22">    )</span>
<span id="cb42-23">    ibnr[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ii</span>
<span id="cb42-24">    reserves.append(ibnr)</span>
<span id="cb42-25"></span>
<span id="cb42-26"></span>
<span id="cb42-27">dfults <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.concat(ultimates).reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb42-28">dfibnr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.concat(reserves).reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span></code></pre></div>
</div>
<p><br></p>
<p>Using <code>dfults</code> and <code>dfibnr</code>, we create a summary of mean ultimate, mean IBNR, standard error of IBNR as well as 75th and 95th percentiles of the predictive distribution of reserves:</p>
<div id="cell-41" class="cell" data-execution_count="21">
<div class="sourceCode cell-code" id="cb43" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb43-1"></span>
<span id="cb43-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> functools <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">reduce</span></span>
<span id="cb43-3"></span>
<span id="cb43-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Latest cumulative loss amount by origin.</span></span>
<span id="cb43-5">latest <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb43-6">    get_latest(ctri0)</span>
<span id="cb43-7">    .to_frame()</span>
<span id="cb43-8">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb43-9">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"index"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb43-10">)</span>
<span id="cb43-11"></span>
<span id="cb43-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Mean ultimate by origin.</span></span>
<span id="cb43-13">ult_mean <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb43-14">    dfults.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult"</span>].mean()</span>
<span id="cb43-15">    .to_frame()</span>
<span id="cb43-16">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb43-17">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult_mean"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb43-18">)</span>
<span id="cb43-19"></span>
<span id="cb43-20">ibnr_mean <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>  (</span>
<span id="cb43-21">    dfibnr.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].mean()</span>
<span id="cb43-22">    .to_frame()</span>
<span id="cb43-23">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb43-24">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_mean"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb43-25">)</span>
<span id="cb43-26"></span>
<span id="cb43-27"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Standard error of reserve distribution by origin. </span></span>
<span id="cb43-28">ibnr_se <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb43-29">    dfibnr.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].std(ddof<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb43-30">    .to_frame()</span>
<span id="cb43-31">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb43-32">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_se"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb43-33">)</span>
<span id="cb43-34"></span>
<span id="cb43-35"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 75th percentile of reserve distribution by origin. </span></span>
<span id="cb43-36">ibnr_75 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb43-37">    dfibnr.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].quantile(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.75</span>)</span>
<span id="cb43-38">    .to_frame()</span>
<span id="cb43-39">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb43-40">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_75th"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb43-41">)</span>
<span id="cb43-42"></span>
<span id="cb43-43"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 95th percentile of reserve distribution by origin. </span></span>
<span id="cb43-44">ibnr_95 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb43-45">    dfibnr.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].quantile(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.95</span>)</span>
<span id="cb43-46">    .to_frame()</span>
<span id="cb43-47">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb43-48">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_95th"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb43-49">)</span>
<span id="cb43-50"></span>
<span id="cb43-51"></span>
<span id="cb43-52"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Combine into a single DataFrame.</span></span>
<span id="cb43-53">bcl_summary <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">reduce</span>(</span>
<span id="cb43-54">    <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> df1, df2: df1.merge(df2, on<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, how<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"left"</span>),</span>
<span id="cb43-55">    (latest, ult_mean, ibnr_mean, ibnr_se, ibnr_75, ibnr_95)</span>
<span id="cb43-56">)</span>
<span id="cb43-57"></span>
<span id="cb43-58"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Set ult_mean for earliest origin period to latest.</span></span>
<span id="cb43-59">bcl_summary.at[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult_mean"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> bcl_summary.at[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"latest"</span>]</span>
<span id="cb43-60"></span>
<span id="cb43-61"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Boostrap chain ladder summary by origin:"</span>)</span>
<span id="cb43-62"></span>
<span id="cb43-63"></span>
<span id="cb43-64">bcl_summary.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">round</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Boostrap chain ladder summary by origin:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="21">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">origin</th>
<th data-quarto-table-cell-role="th">latest</th>
<th data-quarto-table-cell-role="th">ult_mean</th>
<th data-quarto-table-cell-role="th">ibnr_mean</th>
<th data-quarto-table-cell-role="th">ibnr_se</th>
<th data-quarto-table-cell-role="th">ibnr_75th</th>
<th data-quarto-table-cell-role="th">ibnr_95th</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>1981</td>
<td>18834.0</td>
<td>18834.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
<td>0.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>1982</td>
<td>16704.0</td>
<td>16656.0</td>
<td>317.0</td>
<td>625.0</td>
<td>344.0</td>
<td>1511.0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>1983</td>
<td>23466.0</td>
<td>24708.0</td>
<td>1032.0</td>
<td>1182.0</td>
<td>1489.0</td>
<td>3412.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>1984</td>
<td>27067.0</td>
<td>29353.0</td>
<td>2297.0</td>
<td>1881.0</td>
<td>3089.0</td>
<td>6149.0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>1985</td>
<td>26180.0</td>
<td>29833.0</td>
<td>3414.0</td>
<td>2300.0</td>
<td>4627.0</td>
<td>7669.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>1986</td>
<td>15852.0</td>
<td>20111.0</td>
<td>4056.0</td>
<td>2354.0</td>
<td>5471.0</td>
<td>8261.0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>1987</td>
<td>12314.0</td>
<td>18474.0</td>
<td>5997.0</td>
<td>3381.0</td>
<td>7956.0</td>
<td>11957.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">7</td>
<td>1988</td>
<td>13112.0</td>
<td>24511.0</td>
<td>11401.0</td>
<td>4810.0</td>
<td>14397.0</td>
<td>20429.0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">8</td>
<td>1989</td>
<td>5395.0</td>
<td>16590.0</td>
<td>11195.0</td>
<td>6314.0</td>
<td>14628.0</td>
<td>22886.0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">9</td>
<td>1990</td>
<td>2063.0</td>
<td>19705.0</td>
<td>17697.0</td>
<td>13470.0</td>
<td>25418.0</td>
<td>43102.0</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>While results by origin can be useful, typically actuaries are more interested in the aggregate view. To get aggregate results, we first group by simulation number, then proceed as in the prior cell:</p>
<div id="cell-43" class="cell" data-execution_count="22">
<div class="sourceCode cell-code" id="cb45" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb45-1"></span>
<span id="cb45-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Aggregate bootstrap chain ladder results.</span></span>
<span id="cb45-3"></span>
<span id="cb45-4">agg_ults <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfults.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>()</span>
<span id="cb45-5">agg_ibnr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfibnr.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>()</span>
<span id="cb45-6"></span>
<span id="cb45-7">dsumm <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {</span>
<span id="cb45-8">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"latest"</span>: [latest[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"latest"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().item()],</span>
<span id="cb45-9">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ult_mean"</span>: [agg_ults.mean().item()],</span>
<span id="cb45-10">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_mean"</span>: [agg_ibnr.mean().item()],</span>
<span id="cb45-11">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_se"</span>: [agg_ibnr.std(ddof<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>).item()],</span>
<span id="cb45-12">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_75th"</span>: [agg_ibnr.quantile(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.75</span>).item()],</span>
<span id="cb45-13">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr_95th"</span>: [agg_ibnr.quantile(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.95</span>).item()]</span>
<span id="cb45-14">}</span>
<span id="cb45-15"></span>
<span id="cb45-16">bcl_summary_total <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame().from_dict(dsumm, orient<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"columns"</span>)</span>
<span id="cb45-17">bcl_summary_total.index <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"total"</span>]</span>
<span id="cb45-18"></span>
<span id="cb45-19"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Boostrap chain ladder summary in total:"</span>)</span>
<span id="cb45-20"></span>
<span id="cb45-21">bcl_summary_total.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">round</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Boostrap chain ladder summary in total:</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="22">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">latest</th>
<th data-quarto-table-cell-role="th">ult_mean</th>
<th data-quarto-table-cell-role="th">ibnr_mean</th>
<th data-quarto-table-cell-role="th">ibnr_se</th>
<th data-quarto-table-cell-role="th">ibnr_75th</th>
<th data-quarto-table-cell-role="th">ibnr_95th</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">total</td>
<td>160987.0</td>
<td>218945.0</td>
<td>57408.0</td>
<td>19025.0</td>
<td>69557.0</td>
<td>91763.0</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
</section>
<section id="visualizing-bootstrap-chain-ladder-results" class="level2">
<h2 class="anchored" data-anchor-id="visualizing-bootstrap-chain-ladder-results">Visualizing Bootstrap Chain Ladder Results</h2>
<p>We can visualize actuals and predictions together by origin out to ultimate with 90% prediction intervals for each forecast period. Starting with <code>sqrd_tris</code>, we transform the data to make it easier for plotting:</p>
<div id="cell-45" class="cell" data-execution_count="23">
<div class="sourceCode cell-code" id="cb47" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb47-1"></span>
<span id="cb47-2"></span>
<span id="cb47-3">dflist <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> []</span>
<span id="cb47-4"></span>
<span id="cb47-5"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> tri <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> sqrd_ctris:</span>
<span id="cb47-6"></span>
<span id="cb47-7">    dftri <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb47-8">        tri</span>
<span id="cb47-9">        .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb47-10">        .rename_axis(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb47-11">        .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"index"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb47-12">        .melt(id_vars<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, var_name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>, value_name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bcl_value"</span>)</span>
<span id="cb47-13">    )</span>
<span id="cb47-14"></span>
<span id="cb47-15">    dflist.append(dftri)</span>
<span id="cb47-16"></span>
<span id="cb47-17"></span>
<span id="cb47-18">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb47-19">    pd.concat(dflist)</span>
<span id="cb47-20">    .sort_values([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>])</span>
<span id="cb47-21">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb47-22">)</span>
<span id="cb47-23"></span>
<span id="cb47-24"></span>
<span id="cb47-25"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute mean, 5th and 95th percentile of prediction interval for each forecast period.</span></span>
<span id="cb47-26">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb47-27">    df</span>
<span id="cb47-28">    .groupby([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>], as_index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bcl_value"</span>]</span>
<span id="cb47-29">    .agg({</span>
<span id="cb47-30">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bcl_mean"</span>: <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> v: v.mean(), </span>
<span id="cb47-31">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bcl_95th"</span>: <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> v: v.quantile(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.95</span>),</span>
<span id="cb47-32">        <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bcl_5th"</span>: <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> v: v.quantile(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.05</span>)</span>
<span id="cb47-33">    })</span>
<span id="cb47-34">)</span>
<span id="cb47-35"></span>
<span id="cb47-36"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Attach actual values from original cumulative triangle.</span></span>
<span id="cb47-37">dfctri0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb47-38">    ctri0</span>
<span id="cb47-39">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb47-40">    .rename_axis(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb47-41">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"index"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb47-42">    .melt(id_vars<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, var_name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>, value_name<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"actual_value"</span>)</span>
<span id="cb47-43">)</span>
<span id="cb47-44"></span>
<span id="cb47-45">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.merge(dfctri0, on<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"origin"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dev"</span>], how<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"left"</span>)</span>
<span id="cb47-46"></span>
<span id="cb47-47"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># If actual_value is nan, then dev is a prediction for that origin. Otherwise</span></span>
<span id="cb47-48"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># it is an actual value. </span></span>
<span id="cb47-49">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"actual_devp_ind"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"actual_value"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>(<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> v: <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> np.isnan(v) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb47-50">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"value"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">apply</span>(<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> r: r.bcl_mean <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> r.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span> r.actual_value, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb47-51"></span>
<span id="cb47-52">df.tail(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="23">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">origin</th>
<th data-quarto-table-cell-role="th">dev</th>
<th data-quarto-table-cell-role="th">bcl_mean</th>
<th data-quarto-table-cell-role="th">bcl_95th</th>
<th data-quarto-table-cell-role="th">bcl_5th</th>
<th data-quarto-table-cell-role="th">actual_value</th>
<th data-quarto-table-cell-role="th">actual_devp_ind</th>
<th data-quarto-table-cell-role="th">value</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">90</td>
<td>1990</td>
<td>1</td>
<td>2007.64245</td>
<td>4475.13715</td>
<td>-225.44698</td>
<td>2063.0</td>
<td>1</td>
<td>2063.00000</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">91</td>
<td>1990</td>
<td>2</td>
<td>6411.97786</td>
<td>16077.09339</td>
<td>55.49594</td>
<td>NaN</td>
<td>0</td>
<td>6411.97786</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">92</td>
<td>1990</td>
<td>3</td>
<td>10426.91522</td>
<td>25457.57282</td>
<td>480.91586</td>
<td>NaN</td>
<td>0</td>
<td>10426.91522</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">93</td>
<td>1990</td>
<td>4</td>
<td>13338.07408</td>
<td>32439.26914</td>
<td>760.56725</td>
<td>NaN</td>
<td>0</td>
<td>13338.07408</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">94</td>
<td>1990</td>
<td>5</td>
<td>15634.70194</td>
<td>37986.93978</td>
<td>916.68155</td>
<td>NaN</td>
<td>0</td>
<td>15634.70194</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">95</td>
<td>1990</td>
<td>6</td>
<td>17448.74348</td>
<td>41542.91512</td>
<td>1175.72687</td>
<td>NaN</td>
<td>0</td>
<td>17448.74348</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">96</td>
<td>1990</td>
<td>7</td>
<td>18163.22153</td>
<td>43856.27381</td>
<td>1217.23798</td>
<td>NaN</td>
<td>0</td>
<td>18163.22153</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">97</td>
<td>1990</td>
<td>8</td>
<td>18840.41438</td>
<td>45536.31744</td>
<td>1285.16070</td>
<td>NaN</td>
<td>0</td>
<td>18840.41438</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">98</td>
<td>1990</td>
<td>9</td>
<td>19316.41732</td>
<td>46515.62726</td>
<td>1348.81827</td>
<td>NaN</td>
<td>0</td>
<td>19316.41732</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">99</td>
<td>1990</td>
<td>10</td>
<td>19705.03950</td>
<td>47359.46502</td>
<td>1398.32997</td>
<td>NaN</td>
<td>0</td>
<td>19705.03950</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Actuals with forecasts by origin year with 90% prediction intervals:</p>
<div id="cell-47" class="cell" data-execution_count="24">
<div class="sourceCode cell-code" id="cb48" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb48-1"></span>
<span id="cb48-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> mpl</span>
<span id="cb48-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> matplotlib.ticker <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> MaxNLocator</span>
<span id="cb48-4"></span>
<span id="cb48-5"></span>
<span id="cb48-6">fill_color <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#FFC04C"</span></span>
<span id="cb48-7"></span>
<span id="cb48-8"></span>
<span id="cb48-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Assume 9 origin periods (no distribution of fully-developed oldest origin period)</span></span>
<span id="cb48-10">indices <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)]</span>
<span id="cb48-11">origin_periods <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.index[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:].tolist()</span>
<span id="cb48-12"></span>
<span id="cb48-13">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, sharex<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb48-14"></span>
<span id="cb48-15"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> (ii, jj), origin <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(indices, origin_periods):</span>
<span id="cb48-16"></span>
<span id="cb48-17">    dforigin <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[df.origin<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span>origin]</span>
<span id="cb48-18"></span>
<span id="cb48-19">    ax[ii, jj].set_title(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>origin<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb48-20"></span>
<span id="cb48-21">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get last actual development period for origin.</span></span>
<span id="cb48-22">    last_actual_devp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].dev.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>()</span>
<span id="cb48-23"></span>
<span id="cb48-24">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Actual values.</span></span>
<span id="cb48-25">    act_dev <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].dev.tolist()</span>
<span id="cb48-26">    act_val <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].value.tolist()</span>
<span id="cb48-27"></span>
<span id="cb48-28">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Predicted values.</span></span>
<span id="cb48-29">    pred_dev <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [last_actual_devp] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].dev.tolist()</span>
<span id="cb48-30">    pred_val <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [act_val[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].value.tolist()</span>
<span id="cb48-31"></span>
<span id="cb48-32">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 5th and 95th percentiles.</span></span>
<span id="cb48-33">    pred_5th <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [act_val[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span>  dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].bcl_5th.tolist()</span>
<span id="cb48-34">    pred_95th <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [act_val[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> dforigin[dforigin.actual_devp_ind<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].bcl_95th.tolist()</span>
<span id="cb48-35"></span>
<span id="cb48-36">    ax[ii, jj].plot(</span>
<span id="cb48-37">        pred_dev, pred_val, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"o"</span>, markersize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#1d2951"</span>, markerfacecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#FFFFFF"</span>, </span>
<span id="cb48-38">        markeredgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#1d2951"</span>, markeredgewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.35</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"--"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"predicted"</span></span>
<span id="cb48-39">    )</span>
<span id="cb48-40"></span>
<span id="cb48-41">    ax[ii, jj].plot(</span>
<span id="cb48-42">        act_dev, act_val, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"o"</span>, markersize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#1d2951"</span>, markerfacecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#1d2951"</span>, </span>
<span id="cb48-43">         markeredgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#1d2951"</span>, markeredgewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.35</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"-"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"actual"</span></span>
<span id="cb48-44">    )</span>
<span id="cb48-45"></span>
<span id="cb48-46">    ax[ii, jj].plot(</span>
<span id="cb48-47">        pred_dev, pred_95th, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">":"</span>,  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># color="#FFFFB2",</span></span>
<span id="cb48-48">        linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.75</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"95th percentile"</span></span>
<span id="cb48-49">    )</span>
<span id="cb48-50"></span>
<span id="cb48-51">    ax[ii, jj].plot(</span>
<span id="cb48-52">        pred_dev, pred_5th, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"-."</span>,  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># color="#FFFFB2",</span></span>
<span id="cb48-53">        linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.75</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"5th percentile"</span></span>
<span id="cb48-54">    )</span>
<span id="cb48-55"></span>
<span id="cb48-56">    ax[ii, jj].fill_between(pred_dev, pred_5th, pred_95th, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>fill_color, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.50</span>)</span>
<span id="cb48-57">    ax[ii, jj].xaxis.set_major_formatter(mpl.ticker.StrMethodFormatter(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{x:,.0f}</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>))</span>
<span id="cb48-58">    ax[ii, jj].get_yaxis().set_major_formatter(mpl.ticker.FuncFormatter(<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> x, p: <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">format</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>(x), <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">','</span>)))</span>
<span id="cb48-59">    ax[ii, jj].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>)</span>
<span id="cb48-60">    ax[ii, jj].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"y"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>)</span>
<span id="cb48-61">    ax[ii, jj].xaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb48-62">    ax[ii, jj].yaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb48-63">    ax[ii, jj].grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)   </span>
<span id="cb48-64">    ax[ii, jj].set_axisbelow(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb48-65">    ax[ii, jj].legend(loc<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"upper left"</span>, fancybox<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, framealpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x-small"</span>)</span>
<span id="cb48-66"></span>
<span id="cb48-67">plt.suptitle(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Bootstrap chain ladder forecasts with 90% prediction interval"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>)</span>
<span id="cb48-68"></span>
<span id="cb48-69">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/boostrap-chainladder-pandas/bootstrap-chainladder-pandas_files/figure-html/cell-25-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>As expected, the prediction intervals grow wider for origin periods with fewer development periods of actual data to account for the greater uncertainty in ultimate projections.</p>
<p>Second, an exhibit with a separate histogram per facet can be used to visualize the distribution of IBNR generated by the bootstrap chain ladder:</p>
<div id="cell-49" class="cell" data-execution_count="25">
<div class="sourceCode cell-code" id="cb49" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb49-1"></span>
<span id="cb49-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> mpl</span>
<span id="cb49-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb49-4"></span>
<span id="cb49-5"></span>
<span id="cb49-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Color for each histogram.</span></span>
<span id="cb49-7">hist_color <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#5473ff"</span></span>
<span id="cb49-8"></span>
<span id="cb49-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Assume 9 origin periods (no distribution of fully-developed oldest origin period)</span></span>
<span id="cb49-10">indices <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>), (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)]</span>
<span id="cb49-11">origin_periods <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tri0.index[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>:].tolist()</span>
<span id="cb49-12"></span>
<span id="cb49-13">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb49-14"></span>
<span id="cb49-15"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> (ii, jj), origin <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(indices, origin_periods):</span>
<span id="cb49-16">    ax[ii, jj].set_title(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(origin), fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"normal"</span>)</span>
<span id="cb49-17">    ax[ii, jj].hist(</span>
<span id="cb49-18">        dfibnr[dfibnr.origin<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span>origin].ibnr, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>, density<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, </span>
<span id="cb49-19">        color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>hist_color, edgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#FFFFFF"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.0</span></span>
<span id="cb49-20">        )</span>
<span id="cb49-21">    </span>
<span id="cb49-22">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># ax[ii, jj].yaxis.set_major_formatter(mpl.ticker.StrMethodFormatter("{x:,.0f}"))</span></span>
<span id="cb49-23">    ax[ii, jj].set_yticklabels([])</span>
<span id="cb49-24">    ax[ii, jj].xaxis.set_major_formatter(mpl.ticker.StrMethodFormatter(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{x:,.0f}</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>))</span>
<span id="cb49-25">    ax[ii, jj].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb49-26">    ax[ii, jj].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"minor"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb49-27">    ax[ii, jj].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"y"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb49-28">    ax[ii, jj].tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"y"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"minor"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb49-29">    ax[ii, jj].xaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb49-30">    ax[ii, jj].yaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb49-31">    ax[ii, jj].grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)   </span>
<span id="cb49-32">    ax[ii, jj].set_axisbelow(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb49-33"></span>
<span id="cb49-34">plt.suptitle(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Boostrap chain ladder: IBNR by origin"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>)</span>
<span id="cb49-35">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/boostrap-chainladder-pandas/bootstrap-chainladder-pandas_files/figure-html/cell-26-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>Finally, we can create a similar exhibit for the aggregate distribution of IBNR, with vertical lines added at the 50th, 75th, 95th and 99th percentile of total needed reserve:</p>
<div id="cell-51" class="cell" data-execution_count="26">
<div class="sourceCode cell-code" id="cb50" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb50-1"></span>
<span id="cb50-2">hist_color <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#5473ff"</span></span>
<span id="cb50-3"></span>
<span id="cb50-4">dfibnr_total <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfibnr.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>, as_index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>()</span>
<span id="cb50-5">ibnr_total <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfibnr_total[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ibnr"</span>].values</span>
<span id="cb50-6">ibnr_50 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.quantile(ibnr_total, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.50</span>).item()</span>
<span id="cb50-7">ibnr_75 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.quantile(ibnr_total, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.75</span>).item()</span>
<span id="cb50-8">ibnr_95 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.quantile(ibnr_total, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.95</span>).item()</span>
<span id="cb50-9">ibnr_99 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.quantile(ibnr_total, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.99</span>).item()</span>
<span id="cb50-10"></span>
<span id="cb50-11">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">7.5</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">5.25</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb50-12"></span>
<span id="cb50-13">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Bootstrap chain ladder: total IBNR"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>)</span>
<span id="cb50-14"></span>
<span id="cb50-15">ax.hist(</span>
<span id="cb50-16">    ibnr_total, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">27</span>, density<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>hist_color, </span>
<span id="cb50-17">    edgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#FFFFFF"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.0</span></span>
<span id="cb50-18">    )</span>
<span id="cb50-19"></span>
<span id="cb50-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 50th percentile.</span></span>
<span id="cb50-21">ax.axvline(ibnr_50, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.25</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"--"</span>)</span>
<span id="cb50-22">ax.annotate(</span>
<span id="cb50-23">    <span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">r"$p_</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{{</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">50</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;"> = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{:,.0f}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">$"</span>.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">format</span>(ibnr_50), xycoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>, xy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(ibnr_50, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2e-5</span>),</span>
<span id="cb50-24">    fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>, rotation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">90</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"normal"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, xytext<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), </span>
<span id="cb50-25">    textcoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"offset pixels"</span></span>
<span id="cb50-26">)</span>
<span id="cb50-27"></span>
<span id="cb50-28"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 75th percentile.</span></span>
<span id="cb50-29">ax.axvline(ibnr_75, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.25</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"--"</span>)</span>
<span id="cb50-30">ax.annotate(</span>
<span id="cb50-31">    <span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">r"$p_</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{{</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">75</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;"> = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{:,.0f}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">$"</span>.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">format</span>(ibnr_75), xycoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>, xy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(ibnr_75, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2e-5</span>),</span>
<span id="cb50-32">    fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>, rotation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">90</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"normal"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, xytext<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), </span>
<span id="cb50-33">    textcoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"offset pixels"</span></span>
<span id="cb50-34">)</span>
<span id="cb50-35"></span>
<span id="cb50-36"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 95th percentile.</span></span>
<span id="cb50-37">ax.axvline(ibnr_95, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.25</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"--"</span>)</span>
<span id="cb50-38">ax.annotate(</span>
<span id="cb50-39">    <span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">r"$p_</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{{</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">95</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;"> = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{:,.0f}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">$"</span>.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">format</span>(ibnr_95), xycoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>, xy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(ibnr_95, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2e-5</span>),</span>
<span id="cb50-40">    fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>, rotation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">90</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"normal"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, xytext<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), </span>
<span id="cb50-41">    textcoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"offset pixels"</span></span>
<span id="cb50-42">)</span>
<span id="cb50-43"></span>
<span id="cb50-44"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># 99th percentile.</span></span>
<span id="cb50-45">ax.axvline(ibnr_99, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.25</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"--"</span>)</span>
<span id="cb50-46">ax.annotate(</span>
<span id="cb50-47">    <span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">r"$p_</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{{</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">99</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;"> = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{:,.0f}</span><span class="vs" style="color: #20794D;
background-color: null;
font-style: inherit;">$"</span>.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">format</span>(ibnr_99), xycoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data"</span>, xy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(ibnr_99, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2e-5</span>),</span>
<span id="cb50-48">    fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>, rotation<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">90</span>, weight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"normal"</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#000000"</span>, xytext<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>), </span>
<span id="cb50-49">    textcoords<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"offset pixels"</span></span>
<span id="cb50-50">)</span>
<span id="cb50-51"></span>
<span id="cb50-52"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># ax[ii, jj].yaxis.set_major_formatter(mpl.ticker.StrMethodFormatter("{x:,.0f}"))</span></span>
<span id="cb50-53">ax.set_yticklabels([])</span>
<span id="cb50-54">ax.xaxis.set_major_formatter(mpl.ticker.StrMethodFormatter(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{x:,.0f}</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>))</span>
<span id="cb50-55">ax.tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb50-56"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># ax.tick_params(axis="x", which="minor", direction='in', labelsize=8)</span></span>
<span id="cb50-57">ax.tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"y"</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"major"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'in'</span>, labelsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb50-58"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># ax.tick_params(axis="y", which="minor", direction='in', labelsize=8)</span></span>
<span id="cb50-59">ax.xaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb50-60">ax.yaxis.set_ticks_position(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"none"</span>)</span>
<span id="cb50-61">ax.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)   </span>
<span id="cb50-62">ax.set_axisbelow(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) </span>
<span id="cb50-63">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/boostrap-chainladder-pandas/bootstrap-chainladder-pandas_files/figure-html/cell-27-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>Existing third-party Python libraries such as <a href="https://trikit.github.io/trikit-docs/quickstart.html">trikit</a> expose a number of models that can be used to estimate outstanding claim liabilities, but it can be helpful to see in detail how these estimates are obtained. Other loss reserving techniques will be explored in future posts.</p>


</section>

 ]]></description>
  <category>Python</category>
  <category>Actuarial</category>
  <guid>https://www.jtrive.com/posts/boostrap-chainladder-pandas/bootstrap-chainladder-pandas.html</guid>
  <pubDate>Tue, 05 Nov 2024 06:00:00 GMT</pubDate>
</item>
<item>
  <title>Quantifying Spatial Autocorrelation with Moran’s I</title>
  <link>https://www.jtrive.com/posts/spatial-autocorrelation/spatial-autocorrelation.html</link>
  <description><![CDATA[ 





<p>Spatial autocorrelation is a statistical concept that measures how similar values of a variable are based on their proximity to each other on a map. Positive spatial autocorrelation means that geographically nearby values of a variable tend to be similar on a map: high values tend to be located near high values, and low values near low values. By analyzing the spatial distribution of potential hazards, insurers can identify patterns and trends that might not be apparent when looking at data in isolation. This allows for more accurate risk assessment and pricing, ensuring that premiums are set appropriately based on the actual risk in different geospatial cohorts. Additionally, understanding geospatial correlations can help insurers develop targeted strategies for risk mitigation and improve their overall portfolio management. This approach ultimately leads to better financial stability for the insurer and fairer pricing for policyholders.</p>
<p>It is well known that tornadoes frequently occur in “Tornado Alley”, a loosely defined location of states including Texas, Louisiana, Oklahoma, Kansas, South Dakota, Iowa and Nebraska. In what follows, we analyze tornado events from 2008-Present and estimate the global spatial autocorrelation for these events using Moran’s I, and determie if the results align with our prior assumptions of positive spatial autocorrelation.</p>
<p>The National Oceanic and Atmospheric Administration (NOAA) documents the occurrence of storms and other significant weather phenomena having sufficient intensity to cause loss of life, injuries, significant property damage, and/or disruption to commerce. The database for events going back to 1950 is available for download <a href="https://www.ncei.noaa.gov/pub/data/swdi/stormevents/csvfiles/">here</a>, and serves as the starting point for our analysis. U.S. state shapefiles are available <a href="https://www2.census.gov/geo/tiger/TIGER2024/STATE/">here</a>.</p>
<div id="cell-2" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"></span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb1-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> geopandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> gpd</span>
<span id="cb1-6"></span>
<span id="cb1-7">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb1-8">pd.options.mode.chained_assignment <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb1-9">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.max_columns'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-10">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.width'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-11"></span>
<span id="cb1-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Storm data. </span></span>
<span id="cb1-13">noaa_path <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"noaa-storm-data-1950-2024.csv.gz"</span></span>
<span id="cb1-14"></span>
<span id="cb1-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># US state shapefiles. </span></span>
<span id="cb1-16">state_shp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"tl_2024_us_state.zip"</span></span></code></pre></div>
</div>
<p><br></p>
<p>We begin by reading in the the NOAA storm event data and filter down to tornado events from 2008-present. We also remove lower severity tornado events based on the <a href="https://en.wikipedia.org/wiki/Enhanced_Fujita_scale">Enhanced Fujita Scale</a>:</p>
<p><strong>Enhanced Fujita scale</strong>:</p>
<ul>
<li><strong>EFU</strong>: Unknown</li>
<li><strong>EF0</strong>: 65-85 mph (Light)</li>
<li><strong>EF1</strong>: 86-110 mph (Moderate)</li>
<li><strong>EF2</strong>: 111-135 mph (Cosiderable)</li>
<li><strong>EF3</strong>: 136-165 mph (Severe)</li>
<li><strong>EF4</strong>: 166-200 mph (Devestating)</li>
<li><strong>EF5</strong>: &gt;200 mph (Incredible)</li>
</ul>
<p>Events with TOR_F_SCALE = “EFU”, “EF0”, “EF1” are excluded.</p>
<div id="cell-4" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1"></span>
<span id="cb2-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Obtained here: https://www.ncei.noaa.gov/pub/data/swdi/stormevents/csvfiles/</span></span>
<span id="cb2-3">dfstorms_all <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_csv(noaa_path, low_memory<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>)</span>
<span id="cb2-4"></span>
<span id="cb2-5">keep_events <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [</span>
<span id="cb2-6">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F2"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EF2"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F3"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F4"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F5"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EF3"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EF4"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EF5"</span></span>
<span id="cb2-7">]</span>
<span id="cb2-8"></span>
<span id="cb2-9">dfstorms <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> dfstorms_all[</span>
<span id="cb2-10">    (dfstorms_all.YEAR<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2008</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span> </span>
<span id="cb2-11">    (dfstorms_all.EVENT_TYPE<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tornado"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span></span>
<span id="cb2-12">    (dfstorms_all.TOR_F_SCALE.isin(keep_events))</span>
<span id="cb2-13">]</span>
<span id="cb2-14"></span>
<span id="cb2-15">dfstorms <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb2-16">    dfstorms</span>
<span id="cb2-17">    .dropna(subset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BEGIN_LAT"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BEGIN_LON"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"TOR_F_SCALE"</span>])</span>
<span id="cb2-18">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb2-19">)</span>
<span id="cb2-20"></span>
<span id="cb2-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Filter storms to lower 48 states.</span></span>
<span id="cb2-22">storms <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.GeoDataFrame(</span>
<span id="cb2-23">    dfstorms,</span>
<span id="cb2-24">    geometry<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>gpd.points_from_xy(dfstorms.BEGIN_LON, dfstorms.BEGIN_LAT),</span>
<span id="cb2-25">    crs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:4326"</span></span>
<span id="cb2-26">)</span>
<span id="cb2-27"></span>
<span id="cb2-28">storms <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> storms[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EVENT_ID"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"TOR_F_SCALE"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geometry"</span>]]</span>
<span id="cb2-29">storms <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> storms.cx[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">125</span>:<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">65</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">24.6</span>:<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">50</span>].reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb2-30"></span>
<span id="cb2-31"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Number of storms: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>storms<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb2-32"></span>
<span id="cb2-33">storms.head()</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Number of storms: (2917, 3)</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="2">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">EVENT_ID</th>
<th data-quarto-table-cell-role="th">TOR_F_SCALE</th>
<th data-quarto-table-cell-role="th">geometry</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>105611</td>
<td>EF2</td>
<td>POINT (-96.30000 43.14210)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>80215</td>
<td>EF2</td>
<td>POINT (-86.01250 37.66250)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>80216</td>
<td>EF2</td>
<td>POINT (-85.77590 37.69650)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>80218</td>
<td>EF2</td>
<td>POINT (-85.06490 37.68890)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>79065</td>
<td>EF2</td>
<td>POINT (-85.38120 37.81130)</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Reviewing the distribution EF events:</p>
<div id="cell-6" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb4-1"></span>
<span id="cb4-2">storms.TOR_F_SCALE.value_counts()</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="3">
<pre><code>TOR_F_SCALE
EF2    2197
EF3     579
EF4     128
EF5      13
Name: count, dtype: int64</code></pre>
</div>
</div>
<p><br></p>
<p>Load the state shapefile and overlay retained tornado events:</p>
<div id="cell-8" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb6-1"></span>
<span id="cb6-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> os</span>
<span id="cb6-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> sys</span>
<span id="cb6-4"></span>
<span id="cb6-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># This suppresses `Cannot find header.dxf (GDAL_DATA is not defined)` warning.</span></span>
<span id="cb6-6">os.environ[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'GDAL_DATA'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> os.path.join(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>os<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>sep<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">'</span>.join(sys.executable.split(os.sep)[:<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]), <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Library'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'share'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'gdal'</span>)</span>
<span id="cb6-7"></span>
<span id="cb6-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Filter to lower 48 states. </span></span>
<span id="cb6-9">states <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.read_file(state_shp).to_crs(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:4326"</span>)[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"NAME"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ALAND"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geometry"</span>]]</span>
<span id="cb6-10">states <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> states.cx[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">125</span>:<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">65</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">24.6</span>:<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">50</span>].reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb6-11"></span>
<span id="cb6-12">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb6-13">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"U.S. Tornadoes ex. EF0, EF1: 2008-Present"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span>
<span id="cb6-14">states.boundary.plot(ax<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>ax, edgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.35</span>)</span>
<span id="cb6-15">storms.plot(ax<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>ax, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>, marker<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"x"</span>, markersize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">25</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.35</span>)</span>
<span id="cb6-16">ax.axis(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"off"</span>)</span>
<span id="cb6-17">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/spatial-autocorrelation/spatial-autocorrelation_files/figure-html/cell-5-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>There are more tornadoes in the mid-south and southeast than expected. Nonetheless, there exists a clear spatial pattern to the events: Tornadoes do not appear randomly distributed over the lower 48 states. We can use Global Moran’s I to gauge the degree of spatial autocorrelation inherent in the data.</p>
<p>In order to assign each tornado to a state, a spatial join is performed where each event is assigned to the state polygon that encloses it:</p>
<div id="cell-10" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"></span>
<span id="cb7-2">dfn <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb7-3">    states</span>
<span id="cb7-4">    .sjoin(storms)</span>
<span id="cb7-5">    .groupby([<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"NAME"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ALAND"</span>], as_index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>).size()</span>
<span id="cb7-6">    .rename({<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"size"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>}, axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb7-7">)</span>
<span id="cb7-8"></span>
<span id="cb7-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Merge dfn with states to get back geometry associated with each state.</span></span>
<span id="cb7-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># gdf will be a GeoDataFrame.</span></span>
<span id="cb7-11">gdf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (</span>
<span id="cb7-12">    states</span>
<span id="cb7-13">    .merge(dfn, on<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"NAME"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ALAND"</span>], how<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"left"</span>)</span>
<span id="cb7-14">    .fillna(value<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>{<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>: <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>})[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"NAME"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ALAND"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geometry"</span>]]</span>
<span id="cb7-15">    .sort_values(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"NAME"</span>)</span>
<span id="cb7-16">    .reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb7-17">)</span>
<span id="cb7-18"></span>
<span id="cb7-19"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Total number of events: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'n'</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>()<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb7-20"></span>
<span id="cb7-21">gdf.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Total number of events: 2917.0</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="5">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">NAME</th>
<th data-quarto-table-cell-role="th">ALAND</th>
<th data-quarto-table-cell-role="th">n</th>
<th data-quarto-table-cell-role="th">geometry</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>Alabama</td>
<td>131185561946</td>
<td>253.0</td>
<td>POLYGON ((-85.12733 31.76256, -85.12753 31.762...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>Arizona</td>
<td>294366118294</td>
<td>7.0</td>
<td>POLYGON ((-110.75069 37.00301, -110.74193 37.0...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>Arkansas</td>
<td>134658517854</td>
<td>133.0</td>
<td>POLYGON ((-90.95577 34.11871, -90.95451 34.117...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>California</td>
<td>403673433805</td>
<td>3.0</td>
<td>MULTIPOLYGON (((-119.99987 41.18397, -119.9998...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>Colorado</td>
<td>268418973518</td>
<td>31.0</td>
<td>POLYGON ((-105.15504 36.99526, -105.15543 36.9...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>Connecticut</td>
<td>12541999507</td>
<td>0.0</td>
<td>POLYGON ((-72.52790 41.17777, -72.55156 41.173...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>Delaware</td>
<td>5046692239</td>
<td>4.0</td>
<td>POLYGON ((-75.50949 39.68652, -75.50942 39.686...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">7</td>
<td>District of Columbia</td>
<td>158316181</td>
<td>0.0</td>
<td>POLYGON ((-77.11975 38.93435, -77.11886 38.935...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">8</td>
<td>Florida</td>
<td>138965379385</td>
<td>40.0</td>
<td>MULTIPOLYGON (((-83.10874 24.62949, -83.10711 ...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">9</td>
<td>Georgia</td>
<td>149485762701</td>
<td>153.0</td>
<td>POLYGON ((-81.09538 31.52098, -81.09710 31.519...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">10</td>
<td>Idaho</td>
<td>214050504522</td>
<td>0.0</td>
<td>POLYGON ((-116.35844 49.00047, -116.34805 49.0...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">11</td>
<td>Illinois</td>
<td>143778206717</td>
<td>140.0</td>
<td>POLYGON ((-87.89243 38.28285, -87.89334 38.282...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">12</td>
<td>Indiana</td>
<td>92786694938</td>
<td>96.0</td>
<td>POLYGON ((-86.32960 38.18180, -86.33037 38.182...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">13</td>
<td>Iowa</td>
<td>144660344616</td>
<td>123.0</td>
<td>POLYGON ((-95.86095 43.50004, -95.85979 43.500...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">14</td>
<td>Kansas</td>
<td>211753821560</td>
<td>129.0</td>
<td>POLYGON ((-94.61764 37.76124, -94.61766 37.760...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">15</td>
<td>Kentucky</td>
<td>102266755818</td>
<td>118.0</td>
<td>MULTIPOLYGON (((-89.57120 36.55214, -89.57114 ...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">16</td>
<td>Louisiana</td>
<td>111920866908</td>
<td>122.0</td>
<td>POLYGON ((-92.72474 33.01439, -92.72365 33.014...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">17</td>
<td>Maine</td>
<td>79888396620</td>
<td>0.0</td>
<td>POLYGON ((-67.80569 45.68005, -67.80363 45.677...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">18</td>
<td>Maryland</td>
<td>25151223822</td>
<td>5.0</td>
<td>POLYGON ((-75.75600 39.24607, -75.75579 39.243...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">19</td>
<td>Massachusetts</td>
<td>20204400635</td>
<td>3.0</td>
<td>POLYGON ((-71.25515 42.73655, -71.25510 42.736...</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Visualizing the number of tornadoes by state:</p>
<div id="cell-12" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"></span>
<span id="cb9-2">cmap <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"turbo"</span></span>
<span id="cb9-3"></span>
<span id="cb9-4">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb9-5">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"U.S. Tornadoes by State ex. EF0, EF1: 2000-Present"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>)</span>
<span id="cb9-6">gdf.plot(</span>
<span id="cb9-7">    ax<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>ax, column<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>, edgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gray"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.50</span>, </span>
<span id="cb9-8">    cmap<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>cmap, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.750</span>, legend<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb9-9">    legend_kwds<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>{<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"label"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Nbr. Tornadoes"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"orientation"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"vertical"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"shrink"</span>: <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.35</span>}</span>
<span id="cb9-10">    )</span>
<span id="cb9-11">ax.axis(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"off"</span>)</span>
<span id="cb9-12">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/spatial-autocorrelation/spatial-autocorrelation_files/figure-html/cell-7-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>Texas appears to have a large number of events, but this may be due to the fact that Texas has the largest land area of any state in the lower 48. If tornadoes were randomly distributed, we wouldn’t expect to see clusters of similar values on the map. However, our attention is drawn to south central and south eastern states, where hues are brighter compared with coastal regions.</p>
<p>Let’s take a look at number of events divided by ALAND:</p>
<div id="cell-14" class="cell" data-execution_count="17">
<div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb10-1"></span>
<span id="cb10-2">cmap <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"turbo"</span></span>
<span id="cb10-3"></span>
<span id="cb10-4">gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n_div_ALAND"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ALAND"</span>]</span>
<span id="cb10-5"></span>
<span id="cb10-6">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb10-7">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"U.S. tornadoes by state / land area ex. F0, EF0, F1, EF1: 2000-Present"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>)</span>
<span id="cb10-8">gdf.plot(</span>
<span id="cb10-9">    ax<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>ax, column<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n_div_ALAND"</span>, edgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gray"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.50</span>, </span>
<span id="cb10-10">    cmap<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>cmap, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.750</span>, legend<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb10-11">    legend_kwds<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>{<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"label"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Nbr. Tornadoes"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"orientation"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"vertical"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"shrink"</span>: <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.35</span>}</span>
<span id="cb10-12">    )</span>
<span id="cb10-13">ax.axis(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"off"</span>)</span>
<span id="cb10-14">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/spatial-autocorrelation/spatial-autocorrelation_files/figure-html/cell-8-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p><br></p>
<p>Mississippi and Alabama are consistent with the raw counts choropleth, but Texas doesn’t stand out as much when normalized by total land area. Nonetheless, raw tornado counts are used for the subsequent analysis.</p>
<p><br></p>
<section id="spatial-weights" class="level3">
<h3 class="anchored" data-anchor-id="spatial-weights">Spatial Weights</h3>
<p>In order to quantify spatial autocorrelation, it is first necessary to define the idea of closeness or proximity between geospatial units. The spatial weights matrix <img src="https://latex.codecogs.com/png.latex?W"> encodes the spatial relationships between different locations in a dataset in much the same way as an adjacency matrix used in Graph Theory and Network Science. For a dataset with <img src="https://latex.codecogs.com/png.latex?N"> geospatial units, <img src="https://latex.codecogs.com/png.latex?W"> will have dimension <img src="https://latex.codecogs.com/png.latex?N%20%5Ctimes%20N">, with 0’s along the main diagonal. Each element <img src="https://latex.codecogs.com/png.latex?w_%7Bij%7D"> represents the spatial relationship between locations <img src="https://latex.codecogs.com/png.latex?i"> and <img src="https://latex.codecogs.com/png.latex?j">. The relationship can be based on distance, contiguity or some other criteria. More information of spatial weights matrices is available <a href="https://geographicdata.science/book/notebooks/04_spatial_weights.html">here</a>.</p>
<p>We use the Queen contiguity matrix, which is a row-standardized, symmetric matrix that indicates whether two areas are neighbors based on whether they share a vertex or edge. The value at cell <img src="https://latex.codecogs.com/png.latex?w_%7Bi,j%7D"> is 1 if <img src="https://latex.codecogs.com/png.latex?i"> and <img src="https://latex.codecogs.com/png.latex?j"> are neighbors and 0 otherwise. Using PySAL, the weights matrix with Queen contiguity can be created as follows:</p>
<div id="cell-17" class="cell" data-execution_count="20">
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1"></span>
<span id="cb11-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> pysal.lib <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> weights</span>
<span id="cb11-3"></span>
<span id="cb11-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Queen contiguity.</span></span>
<span id="cb11-5">wq <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> weights.contiguity.Queen.from_dataframe(gdf, use_index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb11-6"></span>
<span id="cb11-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert to dense matrix for viewing:</span></span>
<span id="cb11-8">W <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>wq.full()).astype(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">int</span>)</span>
<span id="cb11-9"></span>
<span id="cb11-10">W</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="20">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">0</th>
<th data-quarto-table-cell-role="th">1</th>
<th data-quarto-table-cell-role="th">2</th>
<th data-quarto-table-cell-role="th">3</th>
<th data-quarto-table-cell-role="th">4</th>
<th data-quarto-table-cell-role="th">5</th>
<th data-quarto-table-cell-role="th">6</th>
<th data-quarto-table-cell-role="th">7</th>
<th data-quarto-table-cell-role="th">8</th>
<th data-quarto-table-cell-role="th">9</th>
<th data-quarto-table-cell-role="th">10</th>
<th data-quarto-table-cell-role="th">11</th>
<th data-quarto-table-cell-role="th">12</th>
<th data-quarto-table-cell-role="th">13</th>
<th data-quarto-table-cell-role="th">14</th>
<th data-quarto-table-cell-role="th">15</th>
<th data-quarto-table-cell-role="th">16</th>
<th data-quarto-table-cell-role="th">17</th>
<th data-quarto-table-cell-role="th">18</th>
<th data-quarto-table-cell-role="th">19</th>
<th data-quarto-table-cell-role="th">20</th>
<th data-quarto-table-cell-role="th">21</th>
<th data-quarto-table-cell-role="th">22</th>
<th data-quarto-table-cell-role="th">23</th>
<th data-quarto-table-cell-role="th">24</th>
<th data-quarto-table-cell-role="th">25</th>
<th data-quarto-table-cell-role="th">26</th>
<th data-quarto-table-cell-role="th">27</th>
<th data-quarto-table-cell-role="th">28</th>
<th data-quarto-table-cell-role="th">29</th>
<th data-quarto-table-cell-role="th">30</th>
<th data-quarto-table-cell-role="th">31</th>
<th data-quarto-table-cell-role="th">32</th>
<th data-quarto-table-cell-role="th">33</th>
<th data-quarto-table-cell-role="th">34</th>
<th data-quarto-table-cell-role="th">35</th>
<th data-quarto-table-cell-role="th">36</th>
<th data-quarto-table-cell-role="th">37</th>
<th data-quarto-table-cell-role="th">38</th>
<th data-quarto-table-cell-role="th">39</th>
<th data-quarto-table-cell-role="th">40</th>
<th data-quarto-table-cell-role="th">41</th>
<th data-quarto-table-cell-role="th">42</th>
<th data-quarto-table-cell-role="th">43</th>
<th data-quarto-table-cell-role="th">44</th>
<th data-quarto-table-cell-role="th">45</th>
<th data-quarto-table-cell-role="th">46</th>
<th data-quarto-table-cell-role="th">47</th>
<th data-quarto-table-cell-role="th">48</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">7</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">8</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">9</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">10</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">11</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">12</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">13</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">14</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">15</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">16</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">17</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">18</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">19</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">20</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">21</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">22</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">23</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">24</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">25</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">26</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">27</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">28</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">29</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">30</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">31</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">32</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">33</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">34</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">35</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">36</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">37</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">38</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">39</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">40</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">41</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">42</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">43</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">44</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">45</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">46</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">47</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">48</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>The number of neighbors for each state is available in <code>wq</code>’s <code>cardinalities</code> attribute:</p>
<div id="cell-19" class="cell" data-execution_count="9">
<div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb12-1"></span>
<span id="cb12-2">wq.cardinalities</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="9">
<pre><code>{0: 4,
 1: 5,
 2: 6,
 3: 3,
 4: 7,
 5: 3,
 6: 3,
 7: 2,
 8: 2,
 9: 5,
 10: 6,
 11: 6,
 12: 4,
 13: 6,
 14: 4,
 15: 7,
 16: 3,
 17: 1,
 18: 5,
 19: 5,
 20: 5,
 21: 5,
 22: 4,
 23: 8,
 24: 4,
 25: 6,
 26: 5,
 27: 3,
 28: 3,
 29: 5,
 30: 6,
 31: 4,
 32: 3,
 33: 5,
 34: 6,
 35: 4,
 36: 6,
 37: 3,
 38: 2,
 39: 6,
 40: 8,
 41: 4,
 42: 6,
 43: 3,
 44: 6,
 45: 2,
 46: 5,
 47: 4,
 48: 6}</code></pre>
</div>
</div>
<p><br></p>
<p><code>gdf</code> is sorted by NAME, so index 0 represents Alabama, index 1 = Arizona, etc. Iowa is at index 13. The columns with value 1 for row index 13 represent Iowa’s neighbors in terms of Queen contiguity:</p>
<div id="cell-21" class="cell" data-execution_count="10">
<div class="sourceCode cell-code" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb14-1"></span>
<span id="cb14-2">iowa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> W.loc[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">13</span>]</span>
<span id="cb14-3"></span>
<span id="cb14-4">iowa_neighbor_indices <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> iowa[iowa<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].index</span>
<span id="cb14-5"></span>
<span id="cb14-6">iowa_neighbor_names <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf.loc[iowa_neighbor_indices, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"NAME"</span>]</span>
<span id="cb14-7"></span>
<span id="cb14-8">iowa_neighbor_names</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="10">
<pre><code>11        Illinois
21       Minnesota
23        Missouri
25        Nebraska
39    South Dakota
47       Wisconsin
Name: NAME, dtype: object</code></pre>
</div>
</div>
<p><br></p>
<p>Spatial lag calculates the average number of tornadoes for a given state’s neighbors, and assigns the result to the state:</p>
<div id="cell-23" class="cell" data-execution_count="21">
<div class="sourceCode cell-code" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb16-1"></span>
<span id="cb16-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Row standardized weights.</span></span>
<span id="cb16-3">wq.transform <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"r"</span></span>
<span id="cb16-4"></span>
<span id="cb16-5">lag <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> weights.lag_spatial(wq, gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>])</span>
<span id="cb16-6"></span>
<span id="cb16-7">gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lag"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> lag</span>
<span id="cb16-8"></span></code></pre></div>
</div>
<p><br></p>
<p>For Iowa, the spatial lag is 79.83. If we compute the average number of tornadoes from Illinois, Minnesota, Missouri, Nebraska, South Dakota and Wisconsin, we should get 79.83:</p>
<div id="cell-25" class="cell" data-execution_count="22">
<div class="sourceCode cell-code" id="cb17" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb17-1"></span>
<span id="cb17-2">actual <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf.loc[iowa_neighbor_indices, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>].mean()</span>
<span id="cb17-3"></span>
<span id="cb17-4"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Iowa spatial lag - actual / expected: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>actual<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> / 79.83"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Iowa spatial lag - actual / expected: 79.83 / 79.83</code></pre>
</div>
</div>
<p><br></p>
<p>Visualizing the spatial lag can provide further insight into the underlying process. It tends to smooth spatial data, making it easier to identify patterns and trends:</p>
<div id="cell-27" class="cell" data-execution_count="13">
<div class="sourceCode cell-code" id="cb19" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb19-1"></span>
<span id="cb19-2">cmap <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"turbo"</span></span>
<span id="cb19-3"></span>
<span id="cb19-4">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb19-5">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Spatial lag"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>)</span>
<span id="cb19-6">gdf.plot(</span>
<span id="cb19-7">    ax<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>ax, column<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lag"</span>, edgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gray"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.50</span>, </span>
<span id="cb19-8">    cmap<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>cmap, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.750</span>, legend<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb19-9">    legend_kwds<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>{<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"label"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Nbr. Tornadoes"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"orientation"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"vertical"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"shrink"</span>: <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.35</span>}</span>
<span id="cb19-10">    )</span>
<span id="cb19-11">ax.axis(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"off"</span>)</span>
<span id="cb19-12">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/spatial-autocorrelation/spatial-autocorrelation_files/figure-html/cell-14-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
</section>
<section id="global-morans-i" class="level2">
<h2 class="anchored" data-anchor-id="global-morans-i">Global Moran’s I</h2>
<p>Now that we’ve defined the spatial weights matrix, it is straightforward to quantify spatial autocorrelation. Global Moran’s I is a measure of the overall clustering of spatial data, defined as</p>
<p><img src="https://latex.codecogs.com/png.latex?%0AI%20=%20%5Cfrac%7BN%7D%7BW%7D%20%5Cfrac%7B%5Csum_%7Bi=1%7D%5E%7BN%7D%20%5Csum_%7Bj=1%7D%5E%7BN%7D%20w_%7Bij%7D(x_%7Bi%7D%20-%20%5Cbar%7Bx%7D)(x_%7Bj%7D%20-%20%5Cbar%7Bx%7D)%7D%7B%5Csum_%7Bi=1%7D%5E%7BN%7D%20(x_%7Bi%7D%20-%20%5Cbar%7Bx%7D)%5E%7B2%7D%7D,%0A"></p>
<p>where</p>
<ul>
<li><img src="https://latex.codecogs.com/png.latex?N">: The number of spatial units, 49 in our case (lower 48 + District of Columbia)</li>
<li><img src="https://latex.codecogs.com/png.latex?W">: The sum of values in the spatial weights matrix</li>
<li><img src="https://latex.codecogs.com/png.latex?x">: The variable of interest (tornadoes)</li>
<li><img src="https://latex.codecogs.com/png.latex?%5Cbar%7Bx%7D">: The global mean of <img src="https://latex.codecogs.com/png.latex?x"> over all spatial units</li>
<li><img src="https://latex.codecogs.com/png.latex?w_%7Bij%7D">: Elements of the spatial weights matrix which encodes spatial interaction</li>
</ul>
<p><br></p>
<p>We’ll again rely on Queen contiguity. We first compute Global Moran’s I using the formula above, then compare the result with the value returned by PySAL.</p>
<div id="cell-29" class="cell" data-execution_count="23">
<div class="sourceCode cell-code" id="cb20" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb20-1"></span>
<span id="cb20-2">wq <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> weights.contiguity.Queen.from_dataframe(gdf, use_index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb20-3">W <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>wq.full()).values</span>
<span id="cb20-4"></span>
<span id="cb20-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Computing Moran's I manually. </span></span>
<span id="cb20-6">N <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf.shape[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span>
<span id="cb20-7"></span>
<span id="cb20-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Average number tornadoes over all states.</span></span>
<span id="cb20-9">xbar <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>].mean()</span>
<span id="cb20-10"></span>
<span id="cb20-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Denominator of Moran's I.</span></span>
<span id="cb20-12">denom <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>((gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> xbar)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb20-13"></span>
<span id="cb20-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Update numerator at each iteration.</span></span>
<span id="cb20-15">numer <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span></span>
<span id="cb20-16"></span>
<span id="cb20-17"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> i <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(N):</span>
<span id="cb20-18">    x_i <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf.at[i, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>]</span>
<span id="cb20-19">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> j <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(N):</span>
<span id="cb20-20">        x_j <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf.at[j, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>]</span>
<span id="cb20-21">        w_ij <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> W[i, j]</span>
<span id="cb20-22">        numer<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+=</span>w_ij <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (x_i <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> xbar) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (x_j <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> xbar)</span>
<span id="cb20-23">        </span>
<span id="cb20-24"></span>
<span id="cb20-25"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Compute Global Moran's I.</span></span>
<span id="cb20-26">I1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (N <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> W.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>()) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> numer <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> denom</span>
<span id="cb20-27"></span>
<span id="cb20-28"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Manual calculation of Global Moran's I: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>I1<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">."</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>Manual calculation of Global Moran's I: 0.60.</code></pre>
</div>
</div>
<p><br></p>
<p>Using PySAL:</p>
<div id="cell-31" class="cell" data-execution_count="24">
<div class="sourceCode cell-code" id="cb22" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb22-1"></span>
<span id="cb22-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> esda.moran <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> Moran</span>
<span id="cb22-3"></span>
<span id="cb22-4">I2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Moran(gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"n"</span>].values,  wq)</span>
<span id="cb22-5"></span>
<span id="cb22-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"PySAL calculation of Global Moran's I: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>I2<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>I<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">."</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>PySAL calculation of Global Moran's I: 0.61.</code></pre>
</div>
</div>
<p>As a rule of thumb:</p>
<ul>
<li>If <img src="https://latex.codecogs.com/png.latex?I"> is above <img src="https://latex.codecogs.com/png.latex?%5Cfrac%7B-1%7D%7BN%20-%201%7D">, there exists positive spatial correlation (values are clustered)</li>
<li>If <img src="https://latex.codecogs.com/png.latex?I"> is below <img src="https://latex.codecogs.com/png.latex?%5Cfrac%7B-1%7D%7BN%20-%201%7D">, there exists negative spatial correlation (neighboring values are dissimilar)</li>
<li>If <img src="https://latex.codecogs.com/png.latex?I%20%5Capprox%20%5Cfrac%7B-1%7D%7BN-1%7D">, there exists no spatial correlation</li>
</ul>
<p><br></p>
<p>The significance of a correlation in Moran’s I is determined by the z-score and p-value, assuming an expected value of <img src="https://latex.codecogs.com/png.latex?-1%20/%20(N%20-%201)">. The null hypothesis states that tornadoes are spatially uncorrelated. PySAL returns the p-value of Global Moran’s I under the normality assumption:</p>
<div id="cell-33" class="cell" data-execution_count="25">
<div class="sourceCode cell-code" id="cb24" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb24-1"></span>
<span id="cb24-2"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"PySAL Global Moran's I p-value: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>I2<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>p_norm<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>PySAL Global Moran's I p-value: 3.106619400835348e-11</code></pre>
</div>
</div>
<p>Which suggests it is very unlikely that the observed degree of clustering of tornadoes arose by chance.</p>
<p>There are many other techniques that can be used to assess spatial autocorrelation. These will be explored in a future post.</p>


</section>

 ]]></description>
  <category>Python</category>
  <category>Geospatial</category>
  <guid>https://www.jtrive.com/posts/spatial-autocorrelation/spatial-autocorrelation.html</guid>
  <pubDate>Sun, 20 Oct 2024 05:00:00 GMT</pubDate>
</item>
<item>
  <title>Determining Distance to Coastline for Policy Locations Using GeoPandas</title>
  <link>https://www.jtrive.com/posts/distance-to-coastline/distance-to-coastline.html</link>
  <description><![CDATA[ 





<p>Knowing the distance to coastline for an exposure is crucial for insurance rating applications because it helps insurers assess the risk of hazards like hurricanes, storm surges, and flooding, which are much more prevalent in coastal areas. This information allows insurers to make informed decisions about pricing, underwriting and reinsurance. Properties closer to the coast are generally at higher risk, leading to higher premiums for these properties. Insurance rating plans may use distance to coastline directly as an explanatory variable, with factors inversely proportional to distance to coastline.</p>
<p>This article walks through how GeoPandas can be used to calculate distance to coastline for a collection of simulated latitude-longitude pairs in the Florida region, and how these exposure locations can be assigned to different risk levels based on the distance calculation.</p>
<p><br></p>
<section id="coastal-shapefiles" class="level3">
<h3 class="anchored" data-anchor-id="coastal-shapefiles">Coastal Shapefiles</h3>
<p>The United States Census Bureau provides shapefiles for state, county and ZCTA boundaries as well as roads, rails an coastlines (see full list <a href="https://www2.census.gov/geo/tiger/TIGER2024/2024_TL_Shapefiles_File_Name_Definitions.pdf">here</a>). Shapefiles are a widely-used geospatial vector data format that store the geometric location and attribute information of geographic features, which can be represented as points, lines, or polygons.</p>
<p>We being by downloading the COASTLINE zip archive available on the Census Bureau’s <a href="https://www2.census.gov/geo/tiger/TIGER2024/COASTLINE/">FTP site</a>. The COASTLINE shapefile is loaded into GeoPandas (the STATE shapefile is also loaded for later use). We limit our analysis to the continental United States and filter out the Great Lakes. Inspecting the first few records:</p>
<div id="cell-2" class="cell" data-execution_count="1">
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"></span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb1-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> geopandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> gpd</span>
<span id="cb1-5"></span>
<span id="cb1-6">np.set_printoptions(suppress<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, precision<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb1-7">pd.options.mode.chained_assignment <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb1-8">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.max_columns'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-9">pd.set_option(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'display.width'</span>, <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span>)</span>
<span id="cb1-10"></span>
<span id="cb1-11"></span>
<span id="cb1-12">coastline_shp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"tl_2024_us_coastline.zip"</span></span>
<span id="cb1-13">us_shp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"tl_2024_us_state.zip"</span></span>
<span id="cb1-14"></span>
<span id="cb1-15"></span>
<span id="cb1-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Bounding box of lower 48 states. Remove Great Lakes.</span></span>
<span id="cb1-17">xmin, ymin, xmax, ymax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">125</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">24.6</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">65</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">50</span></span>
<span id="cb1-18">coast <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.read_file(coastline_shp)</span>
<span id="cb1-19">coast <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> coast.cx[xmin:xmax, ymin:ymax]</span>
<span id="cb1-20">coast <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> coast[coast.NAME<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Great Lakes"</span>].reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb1-21"></span>
<span id="cb1-22"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># State boundaries.</span></span>
<span id="cb1-23">states <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.read_file(us_shp)[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"NAME"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"geometry"</span>]]</span>
<span id="cb1-24">states <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> states.cx[xmin:xmax, ymin:ymax].reset_index(drop<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb1-25"></span>
<span id="cb1-26"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"coast.shape : </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>coast<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb1-27"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"states.shape: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>states<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>shape<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb1-28"></span>
<span id="cb1-29">coast.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>coast.shape : (2916, 3)
states.shape: (49, 2)</code></pre>
</div>
<div class="cell-output cell-output-display" data-execution_count="1">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">NAME</th>
<th data-quarto-table-cell-role="th">MTFCC</th>
<th data-quarto-table-cell-role="th">geometry</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>Atlantic</td>
<td>L4150</td>
<td>LINESTRING (-80.88368 32.03912, -80.88365 32.0...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>Atlantic</td>
<td>L4150</td>
<td>LINESTRING (-70.66800 41.51199, -70.65663 41.5...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>Atlantic</td>
<td>L4150</td>
<td>LINESTRING (-76.58108 38.09572, -76.58184 38.0...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>Atlantic</td>
<td>L4150</td>
<td>LINESTRING (-73.75518 40.58565, -73.75517 40.5...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>Atlantic</td>
<td>L4150</td>
<td>LINESTRING (-76.15615 38.63324, -76.15070 38.6...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>Atlantic</td>
<td>L4150</td>
<td>LINESTRING (-76.53289 39.20776, -76.53298 39.2...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>Atlantic</td>
<td>L4150</td>
<td>LINESTRING (-73.93653 40.56644, -73.93594 40.5...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">7</td>
<td>Atlantic</td>
<td>L4150</td>
<td>LINESTRING (-81.10208 29.42706, -81.10215 29.4...</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">8</td>
<td>Atlantic</td>
<td>L4150</td>
<td>LINESTRING (-71.89236 41.32922, -71.89293 41.3...</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">9</td>
<td>Atlantic</td>
<td>L4150</td>
<td>LINESTRING (-75.31239 38.94595, -75.31239 38.9...</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>The coastline shapefile is comprised of ~3,000 LINESTRING objects. Let’s get a count of geometries by NAME:</p>
<div id="cell-4" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"></span>
<span id="cb3-2">coast[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"NAME"</span>].value_counts().sort_index()</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="2">
<pre><code>NAME
Atlantic     941
Gulf         647
Pacific     1328
Name: count, dtype: int64</code></pre>
</div>
</div>
<p><br></p>
<p><br></p>
<p>We can visualize the coastline by calling the <code>coast</code> GeoDataFrame’s <code>plot</code> method:</p>
<div id="cell-7" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"></span>
<span id="cb5-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb5-3"></span>
<span id="cb5-4">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb5-5">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Lower 48 Coastline"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>)</span>
<span id="cb5-6">coast.plot(ax<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>ax, edgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.0</span>)</span>
<span id="cb5-7">ax.axis(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"off"</span>)</span>
<span id="cb5-8">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/distance-to-coastline/distance-to-coastline_files/figure-html/cell-4-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>To overlay the coastline along with state boundaries, download the STATE shapefile from the Census Bureau’s FTP site and plot them together:</p>
<div id="cell-9" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb6-1"></span>
<span id="cb6-2">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>), tight_layout<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb6-3">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Lower 48 States with Coastline"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>)</span>
<span id="cb6-4">coast.plot(ax<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>ax, edgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.50</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"--"</span>)</span>
<span id="cb6-5">states.boundary.plot(ax<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>ax, edgecolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"black"</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.50</span>)</span>
<span id="cb6-6">ax.axis(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"off"</span>)</span>
<span id="cb6-7">plt.show()</span></code></pre></div>
<div class="cell-output cell-output-display">
<div>
<figure class="figure">
<p><img src="https://www.jtrive.com/posts/distance-to-coastline/distance-to-coastline_files/figure-html/cell-5-output-1.png" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p><br></p>
<p>Let’s next generate synthetic latitude-longitude pairs from within the Florida bounding envelope. The envelope bounds can be obtained from Florida’s geometry as follows:</p>
<div id="cell-11" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"></span>
<span id="cb7-2"></span>
<span id="cb7-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get bounding box for each state.</span></span>
<span id="cb7-4">states[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bbox"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> states.geometry.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>(<span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">lambda</span> gg: gg.envelope.bounds)</span>
<span id="cb7-5"></span>
<span id="cb7-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Put coordinates in separate columns.</span></span>
<span id="cb7-7">states[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon0"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat0"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon1"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat1"</span>]] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame(states.bbox.tolist(), index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>states.index)</span>
<span id="cb7-8"></span>
<span id="cb7-9">states.head()</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="5">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">NAME</th>
<th data-quarto-table-cell-role="th">geometry</th>
<th data-quarto-table-cell-role="th">bbox</th>
<th data-quarto-table-cell-role="th">lon0</th>
<th data-quarto-table-cell-role="th">lat0</th>
<th data-quarto-table-cell-role="th">lon1</th>
<th data-quarto-table-cell-role="th">lat1</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>West Virginia</td>
<td>POLYGON ((-77.75438 39.33346, -77.75422 39.333...</td>
<td>(-82.644591, 37.20154, -77.719519, 40.638801)</td>
<td>-82.644591</td>
<td>37.201540</td>
<td>-77.719519</td>
<td>40.638801</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>Florida</td>
<td>MULTIPOLYGON (((-83.10874 24.62949, -83.10711 ...</td>
<td>(-87.634896, 24.396308, -79.974306, 31.000968)</td>
<td>-87.634896</td>
<td>24.396308</td>
<td>-79.974306</td>
<td>31.000968</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>Illinois</td>
<td>POLYGON ((-87.89243 38.28285, -87.89334 38.282...</td>
<td>(-91.513079, 36.970298, -87.019935, 42.508481)</td>
<td>-91.513079</td>
<td>36.970298</td>
<td>-87.019935</td>
<td>42.508481</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>Minnesota</td>
<td>POLYGON ((-95.31991 48.99892, -95.31778 48.998...</td>
<td>(-97.239093, 43.499361, -89.483385, 49.384479)</td>
<td>-97.239093</td>
<td>43.499361</td>
<td>-89.483385</td>
<td>49.384479</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>Maryland</td>
<td>POLYGON ((-75.75600 39.24607, -75.75579 39.243...</td>
<td>(-79.487651, 37.886605, -74.986282, 39.723037)</td>
<td>-79.487651</td>
<td>37.886605</td>
<td>-74.986282</td>
<td>39.723037</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Let’s draw the bounding region using folium:</p>
<div id="cell-13" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb8" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb8-1"></span>
<span id="cb8-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> folium </span>
<span id="cb8-3"></span>
<span id="cb8-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Florida bounding box. </span></span>
<span id="cb8-5">lon0, lat0, lon1, lat1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> states[states.NAME<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Florida"</span>].bbox.item()</span>
<span id="cb8-6"></span>
<span id="cb8-7">mlat, mlon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (lat0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> lat1) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, (lon0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> lon1) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb8-8"></span>
<span id="cb8-9">m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Map(</span>
<span id="cb8-10">    location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[mlat, mlon], </span>
<span id="cb8-11">    zoom_start<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, </span>
<span id="cb8-12">    zoom_control<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, </span>
<span id="cb8-13">    no_touch<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb8-14">    tiles<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"OpenStreetMap"</span></span>
<span id="cb8-15">    )</span>
<span id="cb8-16"></span>
<span id="cb8-17">folium.Rectangle(</span>
<span id="cb8-18">    [(lat0, lon0), (lat1, lon1)], </span>
<span id="cb8-19">    fill_color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>, fill_opacity<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.05</span></span>
<span id="cb8-20">    ).add_to(m)</span>
<span id="cb8-21"></span>
<span id="cb8-22">m</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="6">
<div style="width:100%;"><div style="position:relative;width:100%;height:0;padding-bottom:60%;"><span style="color:#565656">Make this Notebook Trusted to load map: File -&gt; Trust Notebook</span><iframe srcdoc="<!DOCTYPE html>
<html>
<head>
    
    <meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot; />
    
        <script>
            L_NO_TOUCH = true;
            L_DISABLE_3D = false;
        </script>
    
    <style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>
    <style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>
    <script src=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js&quot;></script>
    <script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js&quot;></script>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css&quot;/>
    
            <meta name=&quot;viewport&quot; content=&quot;width=device-width,
                initial-scale=1.0, maximum-scale=1.0, user-scalable=no&quot; />
            <style>
                #map_b085548776e6f6d8e2de11ed5f5411e3 {
                    position: relative;
                    width: 100.0%;
                    height: 100.0%;
                    left: 0.0%;
                    top: 0.0%;
                }
                .leaflet-container { font-size: 1rem; }
            </style>
        
</head>
<body>
    
    
            <div class=&quot;folium-map&quot; id=&quot;map_b085548776e6f6d8e2de11ed5f5411e3&quot; ></div>
        
</body>
<script>
    
    
            var map_b085548776e6f6d8e2de11ed5f5411e3 = L.map(
                &quot;map_b085548776e6f6d8e2de11ed5f5411e3&quot;,
                {
                    center: [27.698638000000003, -83.80460099999999],
                    crs: L.CRS.EPSG3857,
                    zoom: 6,
                    zoomControl: true,
                    preferCanvas: false,
                }
            );

            

        
    
            var tile_layer_b29acd02bc54b8b41546f18283e121e3 = L.tileLayer(
                &quot;https://tile.openstreetmap.org/{z}/{x}/{y}.png&quot;,
                {&quot;attribution&quot;: &quot;\u0026copy; \u003ca href=\&quot;https://www.openstreetmap.org/copyright\&quot;\u003eOpenStreetMap\u003c/a\u003e contributors&quot;, &quot;detectRetina&quot;: false, &quot;maxNativeZoom&quot;: 19, &quot;maxZoom&quot;: 19, &quot;minZoom&quot;: 0, &quot;noWrap&quot;: false, &quot;opacity&quot;: 1, &quot;subdomains&quot;: &quot;abc&quot;, &quot;tms&quot;: false}
            );
        
    
            tile_layer_b29acd02bc54b8b41546f18283e121e3.addTo(map_b085548776e6f6d8e2de11ed5f5411e3);
        
    
            var rectangle_f2e7711307b0494239b6457cdced4d14 = L.rectangle(
                [[24.396308, -87.634896], [31.000968, -79.974306]],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#3388ff&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;blue&quot;, &quot;fillOpacity&quot;: 0.05, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;noClip&quot;: false, &quot;opacity&quot;: 1.0, &quot;smoothFactor&quot;: 1.0, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_b085548776e6f6d8e2de11ed5f5411e3);
        
</script>
</html>" style="position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;" allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen=""></iframe></div></div>
</div>
</div>
<p><br></p>
<p>Sampling from the bounding region highlighted above will result in many points in the Gulf. Let’s narrow the sampling space:</p>
<div id="cell-15" class="cell" data-execution_count="7">
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"></span>
<span id="cb9-2">lon0, lat0, lon1, lat1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">80.5</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">26</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">81.75</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">28</span>)</span>
<span id="cb9-3"></span>
<span id="cb9-4">mlat, mlon <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (lat0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> lat1) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, (lon0 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> lon1) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span></span>
<span id="cb9-5"></span>
<span id="cb9-6">m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Map(</span>
<span id="cb9-7">    location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[mlat, mlon], </span>
<span id="cb9-8">    zoom_start<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>, </span>
<span id="cb9-9">    zoom_control<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, </span>
<span id="cb9-10">    no_touch<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb9-11">    tiles<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"OpenStreetMap"</span></span>
<span id="cb9-12">    )</span>
<span id="cb9-13"></span>
<span id="cb9-14">folium.Rectangle(</span>
<span id="cb9-15">    [(lat0, lon0), (lat1, lon1)], </span>
<span id="cb9-16">    fill_color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>, fill_opacity<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">.05</span></span>
<span id="cb9-17">    ).add_to(m)</span>
<span id="cb9-18"></span>
<span id="cb9-19">m</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="7">
<div style="width:100%;"><div style="position:relative;width:100%;height:0;padding-bottom:60%;"><span style="color:#565656">Make this Notebook Trusted to load map: File -&gt; Trust Notebook</span><iframe srcdoc="<!DOCTYPE html>
<html>
<head>
    
    <meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot; />
    
        <script>
            L_NO_TOUCH = true;
            L_DISABLE_3D = false;
        </script>
    
    <style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>
    <style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>
    <script src=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js&quot;></script>
    <script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js&quot;></script>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css&quot;/>
    
            <meta name=&quot;viewport&quot; content=&quot;width=device-width,
                initial-scale=1.0, maximum-scale=1.0, user-scalable=no&quot; />
            <style>
                #map_41f22baf1f1ce21646580c8d02ec7364 {
                    position: relative;
                    width: 100.0%;
                    height: 100.0%;
                    left: 0.0%;
                    top: 0.0%;
                }
                .leaflet-container { font-size: 1rem; }
            </style>
        
</head>
<body>
    
    
            <div class=&quot;folium-map&quot; id=&quot;map_41f22baf1f1ce21646580c8d02ec7364&quot; ></div>
        
</body>
<script>
    
    
            var map_41f22baf1f1ce21646580c8d02ec7364 = L.map(
                &quot;map_41f22baf1f1ce21646580c8d02ec7364&quot;,
                {
                    center: [27.0, -81.125],
                    crs: L.CRS.EPSG3857,
                    zoom: 7,
                    zoomControl: true,
                    preferCanvas: false,
                }
            );

            

        
    
            var tile_layer_06409f2d352ee489d7800ff4b79d16bf = L.tileLayer(
                &quot;https://tile.openstreetmap.org/{z}/{x}/{y}.png&quot;,
                {&quot;attribution&quot;: &quot;\u0026copy; \u003ca href=\&quot;https://www.openstreetmap.org/copyright\&quot;\u003eOpenStreetMap\u003c/a\u003e contributors&quot;, &quot;detectRetina&quot;: false, &quot;maxNativeZoom&quot;: 19, &quot;maxZoom&quot;: 19, &quot;minZoom&quot;: 0, &quot;noWrap&quot;: false, &quot;opacity&quot;: 1, &quot;subdomains&quot;: &quot;abc&quot;, &quot;tms&quot;: false}
            );
        
    
            tile_layer_06409f2d352ee489d7800ff4b79d16bf.addTo(map_41f22baf1f1ce21646580c8d02ec7364);
        
    
            var rectangle_5f9d2b26e48876434c42b65607e54397 = L.rectangle(
                [[26.0, -80.5], [28.0, -81.75]],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#3388ff&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;blue&quot;, &quot;fillOpacity&quot;: 0.05, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;noClip&quot;: false, &quot;opacity&quot;: 1.0, &quot;smoothFactor&quot;: 1.0, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_41f22baf1f1ce21646580c8d02ec7364);
        
</script>
</html>" style="position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;" allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen=""></iframe></div></div>
</div>
</div>
<div id="cell-16" class="cell" data-execution_count="8">
<div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb10-1"></span>
<span id="cb10-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Sample within bounds defined by lat0, lon0, lat1, lon1. </span></span>
<span id="cb10-3"></span>
<span id="cb10-4">nbr_locations <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">50</span></span>
<span id="cb10-5"></span>
<span id="cb10-6">rng <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.random.default_rng(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">516</span>)</span>
<span id="cb10-7"></span>
<span id="cb10-8">rlats <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rng.uniform(low<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>lat0, high<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>lat1, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>nbr_locations)</span>
<span id="cb10-9">rlons <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> rng.uniform(low<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>lon1, high<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>lon0, size<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>nbr_locations)</span>
<span id="cb10-10">points <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">list</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(rlats, rlons))</span></code></pre></div>
</div>
<p><br></p>
<p>Visualizing the synthetic locations:</p>
<div id="cell-18" class="cell" data-execution_count="9">
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1"></span>
<span id="cb11-2">m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Map(location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[mlat, mlon], zoom_start<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb11-3"></span>
<span id="cb11-4"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> lat, lon <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> points:</span>
<span id="cb11-5"></span>
<span id="cb11-6">    folium.CircleMarker(</span>
<span id="cb11-7">        location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[lat, lon], </span>
<span id="cb11-8">        radius<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, </span>
<span id="cb11-9">        color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, </span>
<span id="cb11-10">        fill_color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, </span>
<span id="cb11-11">        fill<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb11-12">        fill_opacity<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span></span>
<span id="cb11-13">        ).add_to(m)</span>
<span id="cb11-14"></span>
<span id="cb11-15">m</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="9">
<div style="width:100%;"><div style="position:relative;width:100%;height:0;padding-bottom:60%;"><span style="color:#565656">Make this Notebook Trusted to load map: File -&gt; Trust Notebook</span><iframe srcdoc="<!DOCTYPE html>
<html>
<head>
    
    <meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot; />
    
        <script>
            L_NO_TOUCH = false;
            L_DISABLE_3D = false;
        </script>
    
    <style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>
    <style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>
    <script src=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js&quot;></script>
    <script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js&quot;></script>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css&quot;/>
    
            <meta name=&quot;viewport&quot; content=&quot;width=device-width,
                initial-scale=1.0, maximum-scale=1.0, user-scalable=no&quot; />
            <style>
                #map_348f00edc8bd0d742423a0d4215598b1 {
                    position: relative;
                    width: 100.0%;
                    height: 100.0%;
                    left: 0.0%;
                    top: 0.0%;
                }
                .leaflet-container { font-size: 1rem; }
            </style>
        
</head>
<body>
    
    
            <div class=&quot;folium-map&quot; id=&quot;map_348f00edc8bd0d742423a0d4215598b1&quot; ></div>
        
</body>
<script>
    
    
            var map_348f00edc8bd0d742423a0d4215598b1 = L.map(
                &quot;map_348f00edc8bd0d742423a0d4215598b1&quot;,
                {
                    center: [27.0, -81.125],
                    crs: L.CRS.EPSG3857,
                    zoom: 8,
                    zoomControl: true,
                    preferCanvas: false,
                }
            );

            

        
    
            var tile_layer_b1296c489438f70917d3cbc788e716f4 = L.tileLayer(
                &quot;https://tile.openstreetmap.org/{z}/{x}/{y}.png&quot;,
                {&quot;attribution&quot;: &quot;\u0026copy; \u003ca href=\&quot;https://www.openstreetmap.org/copyright\&quot;\u003eOpenStreetMap\u003c/a\u003e contributors&quot;, &quot;detectRetina&quot;: false, &quot;maxNativeZoom&quot;: 19, &quot;maxZoom&quot;: 19, &quot;minZoom&quot;: 0, &quot;noWrap&quot;: false, &quot;opacity&quot;: 1, &quot;subdomains&quot;: &quot;abc&quot;, &quot;tms&quot;: false}
            );
        
    
            tile_layer_b1296c489438f70917d3cbc788e716f4.addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_0260d5053589dbacf609e47c9c818529 = L.circleMarker(
                [26.15842498103677, -81.6978452754149],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_608f932af225bc26c5bf162741515b31 = L.circleMarker(
                [27.308367243835498, -80.74351022614646],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_4d2dc31b9d14167f30e3646ea655f981 = L.circleMarker(
                [26.050159830178664, -81.22629395965097],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_c66b99a826e6267b14bc8417496cafdd = L.circleMarker(
                [26.896432196124945, -80.6823476427752],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_d071cade3a70d18434f755e0ba40736b = L.circleMarker(
                [27.40773608152318, -81.55620947759367],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_d337768dd6086723dc42232b83288082 = L.circleMarker(
                [26.55187691648845, -80.90280316359555],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_0f4d0f6d4c3acac774b8aab63ef0f80e = L.circleMarker(
                [26.301071098731754, -81.52100045189212],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_881e6cafc8c4f6b6e0f1f032543c2fd3 = L.circleMarker(
                [27.435718092142665, -81.49914451288832],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_769cd3939738e5787928e0de6d1da388 = L.circleMarker(
                [27.784378345442054, -80.59076499724968],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_3a8eb7ef5392d2589547116cb02432fa = L.circleMarker(
                [27.635398626773437, -81.3898362844697],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_cff09513b6eb3391a9cd378834517646 = L.circleMarker(
                [27.37937557184798, -81.4286044623964],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_0d432798bf9841502364cf20079e3973 = L.circleMarker(
                [26.862971977202136, -80.54717925180627],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_14a083fb249caa095dba49b5cc6b61d3 = L.circleMarker(
                [27.98142795111799, -81.09169770076494],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_cb40c1e78b02fac8bf7b43d8a72ffacc = L.circleMarker(
                [26.365577838913776, -80.8990291114624],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_6f5a1c6cdfc715e3ab21ca62e3018624 = L.circleMarker(
                [26.131355757954836, -81.16027753441861],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_2c216915cba8f2ee19dcba38ad6631d4 = L.circleMarker(
                [26.382999780154904, -81.70903306152387],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_e5cf40f0822d79ec40f736e44a12593d = L.circleMarker(
                [27.972984413059, -80.50657443311286],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_7d00f2c23dcf6465efd328a05b4395ba = L.circleMarker(
                [26.086354128867725, -81.48977717606184],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_b5c9ca48f3b40e6887971267f98897c9 = L.circleMarker(
                [26.943671120744057, -80.51934697293223],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_19fbb5b077f4c17ecfa4acaa3e1773cc = L.circleMarker(
                [26.24664396062321, -81.43299865566368],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_68b836acb93d31ef85c8901a0408afc8 = L.circleMarker(
                [27.243754691593953, -81.40006512830422],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_8b85744d81a2b98c74093d7edd0db848 = L.circleMarker(
                [26.78781864252158, -80.66418638533959],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_93b35ab23f371b2801505b17250d4aa9 = L.circleMarker(
                [26.605717123010912, -81.13339074943397],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_f2fe59cd77cc1af1630d81dd8bae1746 = L.circleMarker(
                [27.82472127183081, -81.03218135189428],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_caa0a377e63c2f919c05dc5f7ac810f5 = L.circleMarker(
                [26.307063400374936, -81.27626966439352],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_fd3b4d1129b3e65dfdb77b021bb1dae4 = L.circleMarker(
                [27.991454895701796, -81.17887100872782],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_ac4fa0394c3457cf5545522e86a6b8ae = L.circleMarker(
                [26.544773024554832, -81.60667452193859],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_d5b3cb9a0633a2f54e6bad3c4d975b1b = L.circleMarker(
                [26.886457616788025, -80.91721728171257],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_d251a1ac31512d167e3cece18bda1aca = L.circleMarker(
                [27.714852856581068, -81.64493695441304],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_bcd903be1aba3aab6f9a8b287bfc6f43 = L.circleMarker(
                [27.2850774684598, -81.43364197265868],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_d0fec00eafb18b21413bd8a00be9c077 = L.circleMarker(
                [27.473269702793658, -80.50510790437552],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_e41954dfe2b1a83bf83f08a439b25685 = L.circleMarker(
                [26.9126301314854, -81.02473504499652],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_3c9e23c39f8b2dda81dd8003b06409f7 = L.circleMarker(
                [26.19773048060356, -81.31384553050141],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_fffaa85f3ecdb7058f2fcd502f39ff3a = L.circleMarker(
                [26.713303385914497, -80.69627570716136],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_814b1be232a7be39c34fa16db7c9d8d0 = L.circleMarker(
                [27.413800924899405, -81.22869767203825],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_b027bf45a9e8b482835174bdf7465e31 = L.circleMarker(
                [26.319682526771178, -80.52723729475458],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_9093299bbaad743ea0dd8cf75f986e56 = L.circleMarker(
                [26.076820898509965, -81.02010416275705],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_5080ec996f668540395c0aa93d9b9786 = L.circleMarker(
                [26.366453559477833, -81.66293509555179],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_443407e1de3b587b3822418dfe78b323 = L.circleMarker(
                [27.565561426877956, -80.86111841233041],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_fe8a9f61abbf8f1b05c8f9c379410b80 = L.circleMarker(
                [26.694221446702628, -81.53376936951858],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_28c69a091e392341aa91053a02f291ab = L.circleMarker(
                [26.81413637848975, -81.32644612584131],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_a89971244312113648480dc93e81a3de = L.circleMarker(
                [26.61547413746954, -81.33572363043359],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_467ac3e9c90a06d8b94249f2e92a7f3b = L.circleMarker(
                [26.343132637377927, -81.35686888035839],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_80435f2a1954b66de76609b887f739c2 = L.circleMarker(
                [26.311171111000064, -80.8179971956485],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_2c3d61f4f60f9eb3a51f338682cdb61c = L.circleMarker(
                [27.226452898410354, -80.50847148940952],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_2e148d2724cbaa5b74b28badb3674287 = L.circleMarker(
                [26.189330375816013, -81.6619851577331],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_71bc8b63551c04b51baf794313dfaa0a = L.circleMarker(
                [26.248784399318982, -80.7821785668828],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_1a504d726cb00560bfdd49e4c94ec5df = L.circleMarker(
                [27.189284967955047, -81.01943246870752],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_14e5cb854d6a9e62b6ade8055d1e79ce = L.circleMarker(
                [27.16418198699115, -81.62240296924504],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
    
            var circle_marker_cd943d4aa878a7e98c46ba3de17c4118 = L.circleMarker(
                [27.016995167468394, -81.61079237146735],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;red&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;red&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 5, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_348f00edc8bd0d742423a0d4215598b1);
        
</script>
</html>" style="position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;" allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen=""></iframe></div></div>
</div>
</div>
<p><br></p>
<p>Next the <code>points</code> list needs to be represented as a GeoDataFrame, using the generated points as the geometry. We set <code>"crs=EPSG:4326"</code> representing longitude-latitude pairs. A policy_id is included as an identifier for each point.</p>
<div id="cell-20" class="cell" data-execution_count="10">
<div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb12-1"></span>
<span id="cb12-2">dfpoints <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame({</span>
<span id="cb12-3">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"policy_id"</span>: [<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">str</span>(ii).zfill(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> ii <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">range</span>(<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(points))],</span>
<span id="cb12-4">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lat"</span>: rlats, </span>
<span id="cb12-5">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lon"</span>: rlons, </span>
<span id="cb12-6">})</span>
<span id="cb12-7"></span>
<span id="cb12-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create GeoDataFrame.</span></span>
<span id="cb12-9">points <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.GeoDataFrame(</span>
<span id="cb12-10">    dfpoints,</span>
<span id="cb12-11">    geometry<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>gpd.points_from_xy(dfpoints.lon, dfpoints.lat),</span>
<span id="cb12-12">    crs<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:4326"</span></span>
<span id="cb12-13">)</span>
<span id="cb12-14"></span>
<span id="cb12-15">points.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="10">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">policy_id</th>
<th data-quarto-table-cell-role="th">lat</th>
<th data-quarto-table-cell-role="th">lon</th>
<th data-quarto-table-cell-role="th">geometry</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>0000000</td>
<td>26.158425</td>
<td>-81.697845</td>
<td>POINT (-81.69785 26.15842)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>0000001</td>
<td>27.308367</td>
<td>-80.743510</td>
<td>POINT (-80.74351 27.30837)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>0000002</td>
<td>26.050160</td>
<td>-81.226294</td>
<td>POINT (-81.22629 26.05016)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>0000003</td>
<td>26.896432</td>
<td>-80.682348</td>
<td>POINT (-80.68235 26.89643)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>0000004</td>
<td>27.407736</td>
<td>-81.556209</td>
<td>POINT (-81.55621 27.40774)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>0000005</td>
<td>26.551877</td>
<td>-80.902803</td>
<td>POINT (-80.90280 26.55188)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>0000006</td>
<td>26.301071</td>
<td>-81.521000</td>
<td>POINT (-81.52100 26.30107)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">7</td>
<td>0000007</td>
<td>27.435718</td>
<td>-81.499145</td>
<td>POINT (-81.49914 27.43572)</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">8</td>
<td>0000008</td>
<td>27.784378</td>
<td>-80.590765</td>
<td>POINT (-80.59076 27.78438)</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">9</td>
<td>0000009</td>
<td>27.635399</td>
<td>-81.389836</td>
<td>POINT (-81.38984 27.63540)</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>With both the coastline shapefile and point data represented as GeoDataFrames, we execute the <code>sjoin_nearest</code> spatial join to get the distance from each point to the nearest coastline. First we need to set the crs to a projected coordinate system so the distances are returned in units of meters instead of degrees. Projected coordinate systems use linear units like meters or feet, which makes it easier to perform precise spatial measurements. Here we opt for the Conus Albers equal area conic projection (EPSG:5069).</p>
<p>In the call to <code>sjoin_nearest</code>, we specify “meters” for the <code>distance_col</code> argument. This column will hold the distance to the coastline for each point in <code>points</code> in units of meters. A miles column is added after the join.</p>
<div id="cell-22" class="cell" data-execution_count="11">
<div class="sourceCode cell-code" id="cb13" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb13-1"></span>
<span id="cb13-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convert from GPS to  Conus Albers. </span></span>
<span id="cb13-3">points <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> points.to_crs(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:5069"</span>)</span>
<span id="cb13-4">coast <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> coast.to_crs(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EPSG:5069"</span>)</span>
<span id="cb13-5"></span>
<span id="cb13-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Perform spatial join. Covert meters to miles. </span></span>
<span id="cb13-7">gdf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gpd.sjoin_nearest(points, coast, how<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"left"</span>, distance_col<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"meters"</span>)</span>
<span id="cb13-8">gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"miles"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"meters"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.000621371</span></span>
<span id="cb13-9"></span>
<span id="cb13-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Get min, max and average distance to coast line.</span></span>
<span id="cb13-11">min_dist <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf.miles.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">min</span>()</span>
<span id="cb13-12">max_dist <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf.miles.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>()</span>
<span id="cb13-13">avg_dist <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf.miles.mean()</span>
<span id="cb13-14"></span>
<span id="cb13-15"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"min. distance to coastline: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>min_dist<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb13-16"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"max. distance to coastline: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>max_dist<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb13-17"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"avg. distance to coastline: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>avg_dist<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>min. distance to coastline: 0.20197535859716287
max. distance to coastline: 65.35183791451661
avg. distance to coastline: 35.26215239057489</code></pre>
</div>
</div>
<p><br></p>
</section>
<section id="rate-group-based-on-distance-to-coastline" class="level3">
<h3 class="anchored" data-anchor-id="rate-group-based-on-distance-to-coastline">Rate Group Based on Distance to Coastline</h3>
<p>Let’s imagine a hypothetical rating plan that uses the following distances from the coastline to determine rates:</p>
<ul>
<li>0 - 5 miles: very high risk</li>
<li>5 - 25 miles: high risk</li>
<li>25 - 50 miles: medium risk</li>
<li>greater than 50 miles: low risk</li>
</ul>
<p><br></p>
<p>A rolling join via <code>merge_asof</code> can be used to select the last row in the right DataFrame (group thresholds) whose <code>on</code> key is less than or equal to <code>gdf</code>’s key, which will be “miles” in both DataFrames.</p>
<div id="cell-24" class="cell" data-execution_count="12">
<div class="sourceCode cell-code" id="cb15" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb15-1"></span>
<span id="cb15-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Create dfgroups DataFrame. </span></span>
<span id="cb15-3">dfgroups <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.DataFrame({</span>
<span id="cb15-4">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"risk"</span>: [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"very high"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"high"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"medium"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"low"</span>],</span>
<span id="cb15-5">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"miles"</span>: [<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">5.</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">25.</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">50.</span>]</span>
<span id="cb15-6">})</span>
<span id="cb15-7"></span>
<span id="cb15-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Assign risk group to each policy location.</span></span>
<span id="cb15-9">gdf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf.sort_values(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"miles"</span>, ascending<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb15-10">gdf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.merge_asof(gdf, dfgroups, on<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"miles"</span>, direction<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"backward"</span>)</span>
<span id="cb15-11"></span>
<span id="cb15-12">gdf.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="12">
<div>


<table class="dataframe caption-top table table-sm table-striped small" data-quarto-postprocess="true" data-border="1">
<thead>
<tr class="header">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">policy_id</th>
<th data-quarto-table-cell-role="th">lat</th>
<th data-quarto-table-cell-role="th">lon</th>
<th data-quarto-table-cell-role="th">geometry</th>
<th data-quarto-table-cell-role="th">index_right</th>
<th data-quarto-table-cell-role="th">NAME</th>
<th data-quarto-table-cell-role="th">MTFCC</th>
<th data-quarto-table-cell-role="th">meters</th>
<th data-quarto-table-cell-role="th">miles</th>
<th data-quarto-table-cell-role="th">risk</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td data-quarto-table-cell-role="th">0</td>
<td>0000016</td>
<td>27.972984</td>
<td>-80.506574</td>
<td>POINT (1523126.311 669355.565)</td>
<td>176</td>
<td>Atlantic</td>
<td>L4150</td>
<td>325.047932</td>
<td>0.201975</td>
<td>very high</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">1</td>
<td>0000000</td>
<td>26.158425</td>
<td>-81.697845</td>
<td>POINT (1436901.833 453402.683)</td>
<td>2813</td>
<td>Gulf</td>
<td>L4150</td>
<td>11201.767881</td>
<td>6.960454</td>
<td>high</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">2</td>
<td>0000015</td>
<td>26.383000</td>
<td>-81.709033</td>
<td>POINT (1432089.414 477631.030)</td>
<td>2817</td>
<td>Gulf</td>
<td>L4150</td>
<td>14922.894431</td>
<td>9.272654</td>
<td>high</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">3</td>
<td>0000045</td>
<td>26.189330</td>
<td>-81.661985</td>
<td>POINT (1439966.962 457301.849)</td>
<td>2813</td>
<td>Gulf</td>
<td>L4150</td>
<td>15292.789125</td>
<td>9.502496</td>
<td>high</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">4</td>
<td>0000008</td>
<td>27.784378</td>
<td>-80.590765</td>
<td>POINT (1518283.776 647462.840)</td>
<td>211</td>
<td>Atlantic</td>
<td>L4150</td>
<td>16412.307856</td>
<td>10.198132</td>
<td>high</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">5</td>
<td>0000037</td>
<td>26.366454</td>
<td>-81.662935</td>
<td>POINT (1436947.116 476528.844)</td>
<td>2813</td>
<td>Gulf</td>
<td>L4150</td>
<td>18665.871130</td>
<td>11.598431</td>
<td>high</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">6</td>
<td>0000030</td>
<td>27.473270</td>
<td>-80.505108</td>
<td>POINT (1532219.823 614970.878)</td>
<td>10</td>
<td>Atlantic</td>
<td>L4150</td>
<td>20055.344308</td>
<td>12.461809</td>
<td>high</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">7</td>
<td>0000017</td>
<td>26.086354</td>
<td>-81.489777</td>
<td>POINT (1458848.059 448748.018)</td>
<td>2813</td>
<td>Gulf</td>
<td>L4150</td>
<td>24280.862758</td>
<td>15.087424</td>
<td>high</td>
</tr>
<tr class="odd">
<td data-quarto-table-cell-role="th">8</td>
<td>0000044</td>
<td>27.226453</td>
<td>-80.508471</td>
<td>POINT (1536305.431 588071.282)</td>
<td>10</td>
<td>Atlantic</td>
<td>L4150</td>
<td>29966.032034</td>
<td>18.620023</td>
<td>high</td>
</tr>
<tr class="even">
<td data-quarto-table-cell-role="th">9</td>
<td>0000006</td>
<td>26.301071</td>
<td>-81.521000</td>
<td>POINT (1452153.395 471583.300)</td>
<td>2813</td>
<td>Gulf</td>
<td>L4150</td>
<td>30913.531896</td>
<td>19.208772</td>
<td>high</td>
</tr>
</tbody>
</table>

</div>
</div>
</div>
<p><br></p>
<p>Counting the number of policies per risk group:</p>
<div id="cell-26" class="cell" data-execution_count="13">
<div class="sourceCode cell-code" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb16-1"></span>
<span id="cb16-2">gdf.risk.value_counts().sort_index()</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="13">
<pre><code>risk
high         12
low          10
medium       27
very high     1
Name: count, dtype: int64</code></pre>
</div>
</div>
<p><br></p>
<p>Finally, we can assign each risk a different color and visualize the resulting risk groups with folium:</p>
<div id="cell-28" class="cell" data-execution_count="14">
<div class="sourceCode cell-code" id="cb18" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb18-1"></span>
<span id="cb18-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Colors for each group.</span></span>
<span id="cb18-3">dcolors <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> {</span>
<span id="cb18-4">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"very high"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#f40002"</span>,</span>
<span id="cb18-5">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"high"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#ff721f"</span>,</span>
<span id="cb18-6">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"medium"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#fafc15"</span>,</span>
<span id="cb18-7">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"low"</span>: <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#268a6d"</span></span>
<span id="cb18-8">}</span>
<span id="cb18-9"></span>
<span id="cb18-10">gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"color"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> gdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"risk"</span>].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">map</span>(dcolors)</span>
<span id="cb18-11"></span>
<span id="cb18-12">m <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Map(location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[mlat, mlon], zoom_start<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>)</span>
<span id="cb18-13"></span>
<span id="cb18-14"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> tt <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> gdf.itertuples():</span>
<span id="cb18-15">    lat, lon, color <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> tt.lat, tt.lon, tt.color</span>
<span id="cb18-16">    folium.CircleMarker(</span>
<span id="cb18-17">        location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[lat, lon],</span>
<span id="cb18-18">        radius<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, </span>
<span id="cb18-19">        color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>color, </span>
<span id="cb18-20">        fill_color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>color, </span>
<span id="cb18-21">        fill<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb18-22">        fill_opacity<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span></span>
<span id="cb18-23">        ).add_to(m)</span>
<span id="cb18-24"></span>
<span id="cb18-25">m</span></code></pre></div>
<div class="cell-output cell-output-display" data-execution_count="14">
<div style="width:100%;"><div style="position:relative;width:100%;height:0;padding-bottom:60%;"><span style="color:#565656">Make this Notebook Trusted to load map: File -&gt; Trust Notebook</span><iframe srcdoc="<!DOCTYPE html>
<html>
<head>
    
    <meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot; />
    
        <script>
            L_NO_TOUCH = false;
            L_DISABLE_3D = false;
        </script>
    
    <style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>
    <style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>
    <script src=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js&quot;></script>
    <script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;></script>
    <script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js&quot;></script>
    <script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js&quot;></script>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css&quot;/>
    <link rel=&quot;stylesheet&quot; href=&quot;https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css&quot;/>
    
            <meta name=&quot;viewport&quot; content=&quot;width=device-width,
                initial-scale=1.0, maximum-scale=1.0, user-scalable=no&quot; />
            <style>
                #map_f1774b86214832d08db672d3b1789192 {
                    position: relative;
                    width: 100.0%;
                    height: 100.0%;
                    left: 0.0%;
                    top: 0.0%;
                }
                .leaflet-container { font-size: 1rem; }
            </style>
        
</head>
<body>
    
    
            <div class=&quot;folium-map&quot; id=&quot;map_f1774b86214832d08db672d3b1789192&quot; ></div>
        
</body>
<script>
    
    
            var map_f1774b86214832d08db672d3b1789192 = L.map(
                &quot;map_f1774b86214832d08db672d3b1789192&quot;,
                {
                    center: [27.0, -81.125],
                    crs: L.CRS.EPSG3857,
                    zoom: 8,
                    zoomControl: true,
                    preferCanvas: false,
                }
            );

            

        
    
            var tile_layer_96681e1d2e28ab2185a27a69537d4b61 = L.tileLayer(
                &quot;https://tile.openstreetmap.org/{z}/{x}/{y}.png&quot;,
                {&quot;attribution&quot;: &quot;\u0026copy; \u003ca href=\&quot;https://www.openstreetmap.org/copyright\&quot;\u003eOpenStreetMap\u003c/a\u003e contributors&quot;, &quot;detectRetina&quot;: false, &quot;maxNativeZoom&quot;: 19, &quot;maxZoom&quot;: 19, &quot;minZoom&quot;: 0, &quot;noWrap&quot;: false, &quot;opacity&quot;: 1, &quot;subdomains&quot;: &quot;abc&quot;, &quot;tms&quot;: false}
            );
        
    
            tile_layer_96681e1d2e28ab2185a27a69537d4b61.addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_bb15e42b8ff9c5585d6d3ec9c2ad6740 = L.circleMarker(
                [27.972984413059, -80.50657443311286],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#f40002&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#f40002&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_0f8d4ce570a063ade653d5d66a452073 = L.circleMarker(
                [26.15842498103677, -81.6978452754149],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#ff721f&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff721f&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_bfeda87b591d95a4767a54f2c4124a31 = L.circleMarker(
                [26.382999780154904, -81.70903306152387],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#ff721f&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff721f&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_2f9b6991d131aa1dc99f09177760963d = L.circleMarker(
                [26.189330375816013, -81.6619851577331],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#ff721f&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff721f&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_dbd140e47ea6973b3327877786176a8d = L.circleMarker(
                [27.784378345442054, -80.59076499724968],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#ff721f&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff721f&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_f760b649f4894829887f7badc64cad92 = L.circleMarker(
                [26.366453559477833, -81.66293509555179],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#ff721f&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff721f&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_7e2a75fefd686100bc3c396aade6932f = L.circleMarker(
                [27.473269702793658, -80.50510790437552],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#ff721f&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff721f&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_dd1d265aed035c68ce7859e957966ad3 = L.circleMarker(
                [26.086354128867725, -81.48977717606184],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#ff721f&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff721f&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_0a718674836588e8ce0955b37d78211d = L.circleMarker(
                [27.226452898410354, -80.50847148940952],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#ff721f&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff721f&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_6e4a86ee36584662543ae9e48d8952d3 = L.circleMarker(
                [26.301071098731754, -81.52100045189212],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#ff721f&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff721f&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_8a0b2b1aed1142bdfe8fb3fe84bcee47 = L.circleMarker(
                [26.544773024554832, -81.60667452193859],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#ff721f&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff721f&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_9515c21cbdba6923fb7b5e055e52fd7b = L.circleMarker(
                [26.050159830178664, -81.22629395965097],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#ff721f&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff721f&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_ffab92331857aab1c3aeba685aaa1fdb = L.circleMarker(
                [26.24664396062321, -81.43299865566368],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#ff721f&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#ff721f&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_aa42f42ec72abd4873855d5ad72b12f6 = L.circleMarker(
                [26.943671120744057, -80.51934697293223],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_a3491691a7e54433d7b1a8a1c504ae70 = L.circleMarker(
                [26.19773048060356, -81.31384553050141],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_e36f8e77d987490256a1a400f8fbcef1 = L.circleMarker(
                [26.131355757954836, -81.16027753441861],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_d5c52c80418b3a117c3ce4bac4b89b7b = L.circleMarker(
                [26.319682526771178, -80.52723729475458],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_1e8db8e6899f377fbffb094bdfaca3d1 = L.circleMarker(
                [26.694221446702628, -81.53376936951858],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_47d926dda0301208e945d027fe62378b = L.circleMarker(
                [26.343132637377927, -81.35686888035839],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_9f817c0ff9aec3f3c6051326c9b13459 = L.circleMarker(
                [26.862971977202136, -80.54717925180627],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_4bec9897573a2cc528e9ab05ed1b2fa8 = L.circleMarker(
                [27.308367243835498, -80.74351022614646],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_b0d5bb2c91641126400188f31f78ef77 = L.circleMarker(
                [26.076820898509965, -81.02010416275705],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_f1345014cc9714328006916b195e794f = L.circleMarker(
                [27.565561426877956, -80.86111841233041],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_27d5ec133b8544d3bf70ea3503396fba = L.circleMarker(
                [27.98142795111799, -81.09169770076494],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_743ae6a56572c7901cff050d024407ee = L.circleMarker(
                [27.82472127183081, -81.03218135189428],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_2317fc1efb349cce5a29a569628134c9 = L.circleMarker(
                [26.307063400374936, -81.27626966439352],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_6b4df10b41843b09fe920354884d2b03 = L.circleMarker(
                [26.896432196124945, -80.6823476427752],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_063e2cd2ba57a05429741c90ee204e0b = L.circleMarker(
                [26.61547413746954, -81.33572363043359],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_2e9d706c6578967ae412e054042978d6 = L.circleMarker(
                [27.991454895701796, -81.17887100872782],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_3f78952fc129e5cc86cfccf0676e10a0 = L.circleMarker(
                [26.78781864252158, -80.66418638533959],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_1bd4a24f4bbb23ec294c0aabe90477b9 = L.circleMarker(
                [26.713303385914497, -80.69627570716136],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_8066874a2d0f58971bbc1ea7837d3cb3 = L.circleMarker(
                [27.016995167468394, -81.61079237146735],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_da159919ce1b47e99d572986d0db1944 = L.circleMarker(
                [26.248784399318982, -80.7821785668828],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_63529d89abba8ef94c6bce836bfb921e = L.circleMarker(
                [26.81413637848975, -81.32644612584131],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_6126d7917d1615a4f467655d9ce00b77 = L.circleMarker(
                [26.311171111000064, -80.8179971956485],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_fb3adb6a86288cc6ff73ebf0a73f6210 = L.circleMarker(
                [27.714852856581068, -81.64493695441304],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_a32f5263787739d61cc98254a39da1ae = L.circleMarker(
                [27.16418198699115, -81.62240296924504],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_bab2d2ab56804b6c8b5dc92f06150f8f = L.circleMarker(
                [26.605717123010912, -81.13339074943397],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_c18094b6b293055b05db02f467d61b23 = L.circleMarker(
                [27.189284967955047, -81.01943246870752],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_237341a485fed0bdbd5c61046acb5c28 = L.circleMarker(
                [26.365577838913776, -80.8990291114624],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#fafc15&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#fafc15&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_21cb4eac7e931ad29391917a03bb76c1 = L.circleMarker(
                [26.886457616788025, -80.91721728171257],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#268a6d&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#268a6d&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_1ce2b0a1544253002ea479bb8d339828 = L.circleMarker(
                [26.55187691648845, -80.90280316359555],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#268a6d&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#268a6d&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_458f8fd585dcf8d3bf7407e8ab534f91 = L.circleMarker(
                [27.413800924899405, -81.22869767203825],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#268a6d&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#268a6d&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_e4e6c8f5e622f96e03ff381db1e55b5b = L.circleMarker(
                [26.9126301314854, -81.02473504499652],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#268a6d&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#268a6d&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_d445978a602991b097f0c30ef5482177 = L.circleMarker(
                [27.635398626773437, -81.3898362844697],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#268a6d&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#268a6d&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_63524a78bdf3c3f11a3958c52c8f7405 = L.circleMarker(
                [27.40773608152318, -81.55620947759367],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#268a6d&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#268a6d&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_86efcbf661e1eb7bd77815364963c990 = L.circleMarker(
                [27.435718092142665, -81.49914451288832],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#268a6d&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#268a6d&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_ad8ad98797e6b3bc5c81bd0cffec6d10 = L.circleMarker(
                [27.2850774684598, -81.43364197265868],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#268a6d&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#268a6d&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_39de105a9f3ffe8a7c6cd823de8ec11b = L.circleMarker(
                [27.243754691593953, -81.40006512830422],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#268a6d&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#268a6d&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
    
            var circle_marker_9cda64d4cbf6f124ac28d5ed7d8a992b = L.circleMarker(
                [27.37937557184798, -81.4286044623964],
                {&quot;bubblingMouseEvents&quot;: true, &quot;color&quot;: &quot;#268a6d&quot;, &quot;dashArray&quot;: null, &quot;dashOffset&quot;: null, &quot;fill&quot;: true, &quot;fillColor&quot;: &quot;#268a6d&quot;, &quot;fillOpacity&quot;: 1, &quot;fillRule&quot;: &quot;evenodd&quot;, &quot;lineCap&quot;: &quot;round&quot;, &quot;lineJoin&quot;: &quot;round&quot;, &quot;opacity&quot;: 1.0, &quot;radius&quot;: 6, &quot;stroke&quot;: true, &quot;weight&quot;: 3}
            ).addTo(map_f1774b86214832d08db672d3b1789192);
        
</script>
</html>" style="position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;" allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen=""></iframe></div></div>
</div>
</div>
<p><br></p>


</section>

 ]]></description>
  <category>Python</category>
  <category>Geospatial</category>
  <guid>https://www.jtrive.com/posts/distance-to-coastline/distance-to-coastline.html</guid>
  <pubDate>Mon, 14 Oct 2024 05:00:00 GMT</pubDate>
</item>
</channel>
</rss>
