
    -e˹                   @'   U d Z ddlmZ ddlZ ej        e          ZddlZddlm	Z	 ddl
mZ ddlZddlmZmZ erddlm
Z ddlmZ eed	f         Zd
ed<   eeef         Zd
ed<   eeef         Zd
ed<   dZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.d Z/d!Z0d"Z1d#Z2d$Z3d%Z4d&Z5d'Z6d(Z7d)Z8d*Z9d+Z:d,Z;d-Z<d.Z=d/Z>d0Z?d1Z@d2ZAd3ZBd4ZCd5ZDd6ZEd7ZFd8ZGd9ZHd:ZId;ZJd<ZKd=ZLd>ZMd?ZNd@ZOdAZPdBZQdCZRdDZSdEZTdFZUdGZVdHZWdIZXdJZYdKZZdLZ[dMZ\dNZ]dOZ^dPZ_dQZ`dRZadSZbdTZcdUZddVZedWZfdXZgdYZhdZZid[Zjd\Zkd]Zld^Zmd_Znd`ZodaZpdbZqdcZrddZsdeZtdfZudgZvdhZwdiZxdjZydkZzdlZ{dmZ|dnZ}doZ~dpZdqZdrZdsZdtZduZdvZdwZdxZdyZdzZd{Zd|Zd}Zd~ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZedd         Zedd         Zedd         Zedd         Zedd         ZdZedd         Zedd         Zedd         Zedd         Zedd         ZdZ e dd         Ze dd         Ze dd         Ze dd         Ze dd         Ze dd         Ze dd         Ze dd         Ze dd         Z	dZ
e
dd         Ze
dd         Ze
dd         Ze
dd         Ze
dd         Ze
dd         ZdZedd         Zedd         Zedd         Zedd         Zedd         ZdZedd         Zedd         Zedd         Zedd         Zedd         Zedd         ZdZedd         Zedd         Z edd         Z!edd         Z"edd         Z#dZ$e$dd         Z%e$dd         Z&e$dd         Z'e$dd         Z(e$dd         Z)e$dd         Z*e$dd         Z+e$dd         Z,e$dd         Z-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6dZ7d Z8dZ9dZ:dZ;dZ<dZ=dZ>dZ?dZ@d	ZAd
ZBdZCdZDdZEdZFdZGdZHdZIdZJdZKdZLdZMdZNdZOdZPdZQdZRdZSdZTdZUdZVdZWd ZXd!ZYd"ZZd#Z[d$Z\d%Z]d&Z^d'Z_d(Z`d)Zad*Zbd+Zcd,Zdd-Zed.Zfd/Zgd0Zhd1Zid2Zjejdd         Zkejdd         Zlejdd         Zmejdd         Znejdd         Zoejdd         Zpejdd         Zqd3Zrerdd4         Zserdd5         Zterdd6         Zuerdd7         Zverdd8         Zwerdd9         Zxerdd:         Zyerdd;         Zzerdd         Z{erdd         Z|erdd         Z}erdd         Z~erdd         Zerdd         Zerdd         Zerdd         Zerdd         Zd<Zedd4         Zedd5         Zedd6         Zedd7         Zedd8         Zedd9         Zedd:         Zedd;         Zedd         Zedd         Zedd         Zedd         Zedd         Zedd         Zedd         Zedd         Zedd         Zd=Zedd4         Zedd5         Zedd6         Zedd7         Zedd8         Zedd9         Zedd:         Zedd;         Zedd         Zedd         Zedd         Zedd         Zedd         Zedd         Zedd         Zedd         Zedd         Zd>Zedd         Zedd         Zedd         Zedd         Zedd         Zd?Zedd         Zedd         Zedd         Zedd         Zd@ZdAZedd         Zedd         Zedd         Zedd         ZdBZedd         Zedd         Zedd         Zedd         Zedd         Zedd         ZdCZedd         Zedd         Zedd         ZÐdDZĐdEZŐdFZƐedd         Zǐedd         ZȐedd         Zɐedd         Zʐedd         Zːedd         Z̐dGZ͐dHZΐdIZϐdJZАdKZѐdLZҐdMZӐdNZԐdOZՐdPZ֐dQZאdRZؐdSZِdTZڐdUZېdVZܐdWZݐdXZސdYZߐdZZd[Zd\Zd]Zd^Zd_Zd`ZdaZdbZdcZddZdeZeddf         Zeddg         Zeddh         Zedd4         Zedd5         Zedd6         Zedd7         Zedd8         Zedd9         Zedd:         Zedd;         Zedd         Zedd         Zedd         Zedd         Zedd         Zedd         Zedd         Zedd         Zedd         ZdiZ djZdkZdlZdmZdnZdoZdpZdqZdrZ	dsZ
dtZduZdvZdwZdxZdyZdzZd{Zd|Zd}Zd~ZdZedd         Zedd         Zedd         Zedd         Zeeee e!e"e#dZe$e%e&e'e(e)e*dZe+e,e-e.e/e0e1dZe2e3e4e5e6e7e8dZe9e:e;e<e=e>e?dZe@eAeBeCeDeEeFdZ eGeHeIeJeKeLeMdZ!eNeOePeQeReSeTdZ"eUeVeWeXeYeZe[dZ#e\e]e^e_e`eaebdZ$ecedeeefegeheidZ%ejekelemeneoepdZ&eqereseteuevewexdZ'eyeze{e|e}e~eedZ(eeeeeeeedZ)eeeeeeeedZ*eeeeeeeedZ+eeeeeeeedZ,eeeeeeeeed	Z-eeeeeeeeed	Z.eeeeeeeeed	Z/eeeeeeeeeƐd	Z0eeeeeeeeeϐd	Z1eeeeeeeeeؐd	Z2eeeeeeeeed	Z3eeeeeeeeed	Z4eeeeeeeeed	Z5eeeeeedZ6eeeeeedZ7e	eeeeeeeee d
Z8eeeeeee
dZ9eeeeeedZ:eeeeeeedZ;e#e"e!e eedZ<e-e,e+e*e)e(e'e&e%e$d
Z=e8e9e:e;e<e=e>e?e@eAd
Z>e.e/e0e1e2e3e4e5e6e7d
Z?eBeCeDeEeFeGeHeIeJeKd
Z@eLeMeNeOePeQeReSeTeUd
ZAeVeWeXeYeZe[e\e]e^e_d
ZBe`eaebecedeeefegeheid
ZCeqepeoenemelekejdZDi dededededede~de}de|de{d;ezd:eyd9exd8ewd7evd6eud5etd4esdheriZEi dededededededededed;ed:ed9ed8ed7ed6ed5ed4edheiZFi dededededededededed;ed:ed9ed8ed7ed6ed5ed4edheiZGeeeeeedZHeeeeedZIdeiZJded<   eeeeedZKeeeeeeedZLeÐeeedZMe̐eːeʐeɐeȐeǐeƐdZNeՐeԐeӐeҐeѐeАeϐeΐe͐d	ZOeܐeېeڐeِeؐeאe֐dZPeeeeeߐeސeݐdZQeeeeeeedZRi dededededededededed;ed:ed9ed8ed7ed6ed5ed4eeeeedZSi dededededededededed;ed:e
d9e	d8ed7ed6ed5ed4eeeee dZTeeeeeedZUi dededededede de!de"de#de$de%de&de'de(de)de*de+i de,de-de.de/de0de1de2de3de4de5de6de7de8de9de:de;de<de=iZVdeUiZWeDeEeFeGdZXe>e?e@eAeBdZYeIeJeKeLeMeNeOePeQeReSeTdZZdeHiZ[ e	eV          Z\e\]                    eX           e\]                    eZ           eHe\d<   e>e\d<   e?e\d<   e@e\d<   eAe\d<   eBe\d<   eCe\d<   eUe\d<    e	e\          Z^e^d         d= e^d         d= e^d         d= e^d         d= e^d         d= e^d         d= e^d         d= dߐdZ_dddńZ`ddd̄Zadߐd̈́Zbdd΄ZcddτZdddЄZeddфZfdd҄ZgddӄZhddԄZiddՄZjddׄZkg Zlded<    eme\n                                dڄ ۦ          D ]_\  ZoZpeod         q                                reodz   neoZoeldބ  emepr                                          D             z  Zl`dS (  aH#   Provide a collection of palettes for color mapping.

In the context of Bokeh, a *palette* is a simple plain Python list of (hex) RGB color
strings. For example the ``Blues8`` palette which looks like :bokeh-palette:`Blues8`
is defined as:

.. code-block:: python

    ('#084594', '#2171b5', '#4292c6', '#6baed6', '#9ecae1', '#c6dbef', '#deebf7', '#f7fbff')

This module contains the following sets of palettes:

* All `ColorBrewer`_ palettes
* Categorical `D3`_ palettes
* The `Matplotlib`_ palettes Magma, Inferno, Plasma, and Viridis
* A Bokeh palette comprised of the Bokeh shutter logo colors
* Palettes designed for color-deficient usability

Additionally, you can also use any of the 256-color perceptually uniform
Bokeh palettes from the external `colorcet`_ package, if it is installed.

----

Every pre-built palette is available as a module attributes, e.g.
``bokeh.palettes.YlGn3`` or ``bokeh.palettes.Viridis256``. The name of each
pre-built palette can be found in the ``__palettes__`` module attribute.

There are also functions such as :func:`~bokeh.palettes.magma` and
:func:`~bokeh.palettes.viridis` that can generate lists of colors of
arbitrary size from special larger palettes.

The Brewer palettes are also collected and grouped by name in a
``brewer`` dictionary, e.g.: ``brewer['Spectral'][6]``. Similarly there are
attributes ``d3``, ``mpl``, and ``tol`` that have dictionaries
corresponding to the those groups of palettes.

Finally, all palettes are collected in the ``all_palettes`` palettes
module attribute, and the "small" palettes (i.e. excluding the ones with 256
colors) are collected and in a ``small_palettes`` attribute.

Built-in Palettes
-----------------

Matplotlib Palettes
~~~~~~~~~~~~~~~~~~~

Bokeh includes the `Matplotlib`_ palettes Magma, Inferno, Plasma, Viridis, and
Cividis. This section shows the pre-defined small palettes in this group.
There are also large 256-color versions of these palettes, shown below
in the `Large Palettes`_ section.

.. bokeh-palette-group:: mpl

D3 Palettes
~~~~~~~~~~~

Bokeh includes the categorical palettes from `D3`_, which are shown below:

.. bokeh-palette-group:: d3

Brewer Palettes
~~~~~~~~~~~~~~~

Bokeh includes all the `ColorBrewer`_ palettes, shown below:

.. bokeh-palette-group:: brewer

Bokeh Palette
~~~~~~~~~~~~~~~

Bokeh's own palette, comprised of the shutter logo colors:

.. bokeh-palette-group:: bokeh

Accessible Palettes
~~~~~~~~~~~~~~~~~~~

Bokeh includes some palettes that are useful for addressing
color deficiencies, which contains `Paul Tol's color schemes`_, and
``Colorblind`` from https://jfly.uni-koeln.de/color/#pallet.

.. bokeh-palette-group:: tol
.. bokeh-palette-group:: colorblind

The following palettes are also introduced in `Paul Tol's color schemes`_
but with different usage. ``PaleTextBackground`` should be used for the
background of black text. ``DarkText`` is meant for text itself on a white
background. The idea is to use one dark color for support, not all combined
and not for just one word.

:PaleTextBackground: :bokeh-palette:`PaleTextBackground`

:DarkText: :bokeh-palette:`DarkText`

Large Palettes
~~~~~~~~~~~~~~

In addition to all the palettes shown above, which are available in the
``small_palettes`` attribute, the ``bokeh.palettes`` module also has some
larger palettes with 256 colors. These are shown below:

:Greys256: :bokeh-palette:`grey(256)` (brewer)

:Inferno256: :bokeh-palette:`inferno(256)` (mpl)

:Magma256: :bokeh-palette:`magma(256)` (mpl)

:Plasma256: :bokeh-palette:`plasma(256)` (mpl)

:Viridis256: :bokeh-palette:`viridis(256)` (mpl)

:Cividis256: :bokeh-palette:`cividis(256)` (mpl)

:Turbo256: :bokeh-palette:`turbo(256)` (mpl)

Many other 256-color perceptually uniform palettes are
available in the external `colorcet`_ package.

Other Attributes
----------------

In addition to all the palettes described in the section above, there are the
following notable attributes in the ``bokeh.palettes`` module:

.. data:: __palettes__

    An alphabetical list of the names of all individual palettes in this
    module.

    For example, the first eight palette names are:

    .. code-block:: python

        >>> bp.__palettes__[:8]
        ('Accent3', 'Accent4', 'Accent5', 'Accent6', 'Accent7', 'Accent8', 'Blues3', 'Blues4')


    .. note::
        The full list of all palettes is also available as an enumeration from
        ``bokeh.core.enums``:

        .. bokeh-enum:: Palette
            :module: bokeh.core.enums
            :noindex:

.. data:: all_palettes

    All built-in palette groups. This dictionary is indexed with a palette
    name to obtain a complete group of palettes, e.g. ``Viridis``, and then
    further indexed with an integer to select a palette of a specific size
    from the group:

    .. code-block:: python

        >> all_palettes['Viridis'][4]
        ('#440154', '#30678D', '#35B778', '#FDE724')

    The resulting palette looks like: :bokeh-palette:`all_palettes['Viridis'][4]`

.. data:: brewer

    Palette groups included from `ColorBrewer`_. This dictionary is indexed with
    a palette name to obtain a complete group of palettes, e.g. ``YlGnBu``,
    and then further indexed with an integer to select a palette of a specific
    size from the group:

    .. code-block:: python

        >> brewer['YlGnBu'][4]
        ('#225ea8', '#41b6c4', '#a1dab4', '#ffffcc')

    The resulting palette looks like: :bokeh-palette:`brewer['YlGnBu'][4]`

.. data:: d3

    Categorical palette groups included from `D3`_. This dictionary is indexed
    with a palette name to obtain a complete group of palettes, e.g.
    ``Category20b``, and then further indexed with an integer to select a
    palette of a specific size from the group:

    .. code-block:: python

        >> d3['Category20b'][4]
        ('#393b79', '#5254a3', '#6b6ecf', '#9c9ede')

    The resulting palette looks like: :bokeh-palette:`d3['Category20b'][4]`

    The names of the D3 palette groups are: ``Category10``, ``Category20``,
    ``Category20b``, ``Category20c``

.. data:: mpl

    Palette groups included from `Matplotlib`_. This dictionary is indexed with
    a palette name to obtain a complete group of palettes, e.g. ``Plasma``,
    and then further indexed with an integer to select a palette of a specific
    size from the group:

    .. code-block:: python

        >> mpl['Plasma'][4]
        ('#440154', '#30678D', '#35B778', '#FDE724')

    The resulting palette looks like: :bokeh-palette:`mpl['Plasma'][4]`

    The names of the MPL palette groups are: ``Inferno``, ``Magma``
    ``Plasma``, ``Viridis``

.. data:: tol

    A set of accessible palettes from `Paul Tol's color schemes`_. This
    dictionary is indexed with a palette name to obtain a complete group of
    palettes, e.g. ``Bright``, and then further indexed with an integer to
    select a palette of a specific size from the group:

    .. code-block:: python

        >> tol['Bright'][4]
        ('#4477AA', '#EE6677', '#228833', '#CCBB44')

    The resulting palette looks like: :bokeh-palette:`tol['Bright'][4]`

    The names of the Tol palette groups are: ``Bright``, ``HighContrast``,
    ``Vibrant``, ``Muted``, ``MediumContrast``, ``Light``,
    ``Sunset``, ``BuRd``, ``TolPRGn``, ``TolYlOrBr``, ``Iridescent``,
    ``TolRainbow``

.. data:: small_palettes

    All palette groups, excluding 256-length palettes. This dictionary is
    indexed with a palette name to obtain a complete group of palettes, e.g.
    ``Viridis``, and then further indexed with an integer to select a palette
    of a specific size from the group:

    .. code-block:: python

        >> small_palettes['Viridis'][4]
        ('#440154', '#30678D', '#35B778', '#FDE724')

    The resulting palette looks like: :bokeh-palette:`small_palettes['Viridis'][4]`

Functions
---------

The ``bokeh.palettes`` module also has several functions that can be used
to generate palettes of arbitrary size.

.. autofunction:: bokeh.palettes.cividis(n)
.. autofunction:: bokeh.palettes.diverging_palette(palette1, palette2, n, midpoint)
.. autofunction:: bokeh.palettes.gray(n)
.. autofunction:: bokeh.palettes.grey(n)
.. autofunction:: bokeh.palettes.inferno(n)
.. autofunction:: bokeh.palettes.interp_palette(palette, n)
.. autofunction:: bokeh.palettes.linear_palette(palette, n)
.. autofunction:: bokeh.palettes.magma(n)
.. autofunction:: bokeh.palettes.varying_alpha_palette(palette, n, start_alpha, end_alpha)
.. autofunction:: bokeh.palettes.viridis(n)

Licenses
--------

The respective licenses for all the palettes included in Bokeh are
viewable as a comment at the top of the :bokeh-tree:`src/bokeh/palettes.py`
source file.

.. _ColorBrewer: http://colorbrewer2.org/#type=sequential&scheme=BuGn&n=3
.. _colorcet: https://colorcet.holoviz.org
.. _D3: https://github.com/d3/d3-3.x-api-reference/blob/master/Ordinal-Scales.md#categorical-colors
.. _Matplotlib: http://matplotlib.org/examples/color/colormaps_reference.html
.. _`Paul Tol's color schemes`: https://personal.sron.nl/~pault/

    )annotationsN)deepcopy)TYPE_CHECKING   )RGB
NamedColor)	TypeAlias.r	   PalettePaletteCollection
PaletteMap)#31a354#addd8e#f7fcb9)#238443#78c679#c2e699#ffffcc)#006837r   r   r   r   )r   r   r   r   #d9f0a3r   )#005a32r   #41ab5dr   r   r   r   )r   r   r   r   r   r   r   #ffffe5)	z#004529r   r   r   r   r   r   r   r   )#2c7fb8#7fcdbb#edf8b1)#225ea8#41b6c4#a1dab4r   )#253494r   r   r   r   )r   r   r   r   #c7e9b4r   )#0c2c84r   #1d91c0r   r   r    r   )r!   r   r"   r   r   r    r   #ffffd9)	z#081d58r   r   r"   r   r   r    r   r#   )#43a2ca#a8ddb5#e0f3db)#2b8cbe#7bccc4#bae4bc#f0f9e8)#0868acr$   r(   r)   r*   )r+   r$   r(   r%   #ccebc5r*   )#08589er'   #4eb3d3r(   r%   r,   r*   )r-   r'   r.   r(   r%   r,   r&   #f7fcf0)	z#084081r+   r'   r.   r(   r%   r,   r&   r/   )#2ca25f#99d8c9#e5f5f9)#238b45#66c2a4#b2e2e2#edf8fb)#006d2cr0   r4   r5   r6   )r7   r0   r4   r1   #ccece6r6   )#005824r3   #41ae76r4   r1   r8   r6   )r9   r3   r:   r4   r1   r8   r2   #f7fcfd)	#00441br7   r3   r:   r4   r1   r8   r2   r;   )#1c9099#a6bddb#ece2f0)#02818a#67a9cf#bdc9e1#f6eff7)#016c59r=   rA   rB   rC   )rD   r=   rA   r>   #d0d1e6rC   )#016450r@   #3690c0rA   r>   rE   rC   )rF   r@   rG   rA   r>   rE   r?   #fff7fb)	z#014636rD   r@   rG   rA   r>   rE   r?   rH   )r'   r>   #ece7f2)#0570b0#74a9cfrB   #f1eef6)#045a8dr'   rK   rB   rL   )rM   r'   rK   r>   rE   rL   )#034e7brJ   rG   rK   r>   rE   rL   )rN   rJ   rG   rK   r>   rE   rI   rH   )	z#023858rM   rJ   rG   rK   r>   rE   rI   rH   )#8856a7#9ebcda#e0ecf4)#88419d#8c96c6#b3cde3r6   )#810f7crO   rS   rT   r6   )rU   rO   rS   rP   #bfd3e6r6   )#6e016brR   #8c6bb1rS   rP   rV   r6   )rW   rR   rX   rS   rP   rV   rQ   r;   )	z#4d004brU   rR   rX   rS   rP   rV   rQ   r;   )#c51b8a#fa9fb5#fde0dd)#ae017e#f768a1#fbb4b9#feebe2)#7a0177rY   r]   r^   r_   )r`   rY   r]   rZ   #fcc5c0r_   )r`   r\   #dd3497r]   rZ   ra   r_   )r`   r\   rb   r]   rZ   ra   r[   #fff7f3)	z#49006ar`   r\   rb   r]   rZ   ra   r[   rc   )#dd1c77#c994c7#e7e1ef)#ce1256#df65b0#d7b5d8rL   )#980043rd   rh   ri   rL   )rj   rd   rh   re   #d4b9darL   )#91003frg   #e7298arh   re   rk   rL   )rl   rg   rm   rh   re   rk   rf   #f7f4f9)	#67001frj   rg   rm   rh   re   rk   rf   rn   )#e34a33#fdbb84#fee8c8)#d7301f#fc8d59#fdcc8a#fef0d9)#b30000rp   rt   ru   rv   )rw   rp   rt   rq   #fdd49erv   )#990000rs   #ef6548rt   rq   rx   rv   )ry   rs   rz   rt   rq   rx   rr   #fff7ec)	z#7f0000rw   rs   rz   rt   rq   rx   rr   r{   )#f03b20#feb24c#ffeda0)#e31a1c#fd8d3c#fecc5c#ffffb2)#bd0026r|   r   r   r   )r   r|   r   r}   #fed976r   )#b10026r   #fc4e2ar   r}   r   r   )r   r   r   r   r}   r   r~   r   )	z#800026r   r   r   r   r}   r   r~   r   )#d95f0e#fec44f#fff7bc)#cc4c02#fe9929#fed98e#ffffd4)#993404r   r   r   r   )r   r   r   r   #fee391r   )#8c2d04r   #ec7014r   r   r   r   )r   r   r   r   r   r   r   r   )	#662506r   r   r   r   r   r   r   r   )#756bb1#bcbddc#efedf5)#6a51a3#9e9ac8#cbc9e2#f2f0f7)#54278fr   r   r   r   )r   r   r   r   #dadaebr   )#4a1486r   #807dbar   r   r   r   )r   r   r   r   r   r   r   #fcfbfd)	#3f007dr   r   r   r   r   r   r   r   (   r   z#40017ez#40027ez#41047fz#42057fz#420680z#430780z#440981z#440a82z#450b82z#460c83z#460d83z#470f84z#481084z#481185z#491285r   z#4a1587z#4b1687z#4c1788z#4c1888z#4d1a89z#4d1b89z#4e1c8az#4f1d8bz#4f1f8bz#50208cz#51218cz#51228dz#52238dz#53258ez#53268fr   z#552890z#552a90z#562b91z#572c92z#582e92z#582f93z#593093z#5a3294z#5a3395z#5b3495z#5c3696z#5c3797z#5d3897z#5e3a98z#5e3b98z#5f3c99z#603e9az#613f9az#61409bz#62429cz#63439cz#63449dz#64459ez#65479ez#65489fz#66499fz#674ba0z#674ca1z#684da1z#694fa2z#6950a3r   z#6b53a4z#6c54a5z#6c55a5z#6d57a6z#6e58a7z#6e5aa8z#6f5ba8z#705ca9z#705eaaz#715faaz#7261abz#7262acz#7363adz#7465adz#7566aez#7567afz#7669afz#776ab0z#776cb1z#786db2z#796eb2z#7970b3z#7a71b4z#7b72b4z#7b74b5z#7c75b6z#7d77b7z#7d78b7z#7e79b8z#7f7bb9z#807cbar   z#817ebbz#827fbbz#8380bbz#8481bcz#8582bcz#8683bdz#8784bdz#8885bez#8986bez#8a86bfz#8b87bfz#8c88bfz#8d89c0z#8e8ac0z#8e8bc1z#8f8cc1z#908dc2z#918ec2z#928fc3z#9390c3z#9490c3z#9591c4z#9692c4z#9793c5z#9894c5z#9995c6z#9a96c6z#9b97c6z#9c98c7z#9d99c7r   z#9e9bc8z#9f9cc9z#a09dcaz#a19ecaz#a29fcbz#a3a0cbz#a4a1ccz#a5a2cdz#a6a3cdz#a7a4cez#a8a6cfz#a9a7cfz#aaa8d0z#aba9d0z#acaad1z#adabd2z#aeacd2z#aeadd3z#afaed4z#b0afd4z#b1b1d5z#b2b2d5z#b3b3d6z#b4b4d7z#b5b5d7z#b6b6d8z#b7b7d9z#b8b8d9z#b9b9daz#babadbz#bbbbdbr   z#bdbedcz#bebeddz#bebfddz#bfc0dez#c0c1dez#c1c2dfz#c2c3dfz#c3c4e0z#c4c5e0z#c5c6e1z#c6c7e1z#c7c8e1z#c8c8e2z#c9c9e2z#cacae3z#cbcbe3z#cccce4z#cdcde4z#cecee5z#cecfe5z#cfd0e6rE   z#d1d2e7z#d2d2e7z#d3d3e8z#d4d4e8z#d5d5e9z#d6d6e9z#d7d7e9z#d8d8eaz#d9d9ear   r   z#dbdbec#dcdcecr   z#ddddecz#deddedz#dedeedz#dfdfedz#e0dfeez#e0e0eez#e1e0eez#e2e1efz#e2e2efz#e3e2ef#e4e3f0r   z#e5e4f0#e6e5f1r   z#e7e6f1z#e8e6f2z#e8e7f2z#e9e8f2z#eae8f2z#eae9f3z#ebe9f3z#eceaf3z#ecebf4z#edebf4z#eeecf4z#eeecf5r   r   z#f0eef5z#f0eef6#f1eff6r   z#f1f0f6r   r   #f3f1f7r   z#f3f2f8z#f4f2f8z#f4f3f8z#f5f3f8#f5f4f9r   z#f6f4f9z#f6f5f9z#f7f5faz#f7f6faz#f8f6faz#f8f7faz#f8f7fbz#f9f7fbz#f9f8fbz#faf8fb#faf9fcr   #fbfafcr   r   r   )#3182bd#9ecae1#deebf7)#2171b5#6baed6#bdd7e7#eff3ff)#08519cr   r   r   r   )r   r   r   r   #c6dbefr   )#084594r   #4292c6r   r   r   r   )r   r   r   r   r   r   r   #f7fbff)	#08306br   r   r   r   r   r   r   r   (   r   z#08316dz#08326ez#083370z#083471z#083573z#083674z#083776z#083877z#083979z#083a7az#083b7cz#083c7dz#083d7fz#083e81z#084082z#084184z#084285z#084387z#084488z#08458az#08468bz#08478dz#08488ez#084990z#084a91z#084b93z#084c95z#084d96z#084e98z#084f99z#08509br   z#09529dz#0a539ez#0a549ez#0b559fz#0c56a0z#0d57a1z#0e58a2z#0e59a2z#0f5aa3z#105ba4z#115ca5z#125da6z#125ea6z#135fa7z#1460a8z#1561a9z#1562a9z#1663aaz#1764abz#1865acz#1966adz#1967adz#1a68aez#1b69afz#1c6ab0z#1c6bb0z#1d6cb1z#1e6db2z#1f6eb3z#206fb4z#2070b4r   z#2272b6z#2373b6z#2474b7z#2575b7z#2676b8z#2777b8z#2979b9z#2a7ab9z#2b7bbaz#2c7cbaz#2d7dbbz#2e7ebcz#2f7fbcz#3080bdz#3181bdz#3282bez#3383bez#3484bfz#3585bfz#3686c0z#3787c0z#3888c1z#3989c1z#3a8ac2z#3b8bc2z#3c8cc3z#3d8dc4z#3e8ec4z#3f8fc5z#4090c5z#4191c6r   z#4493c7z#4594c7z#4695c8z#4896c8z#4997c9z#4a98c9z#4b98caz#4d99caz#4e9acbz#4f9bcbz#519cccz#529dccz#539ecdz#549fcdz#56a0cez#57a0cez#58a1cfz#5aa2cfz#5ba3d0z#5ca4d0z#5da5d1z#5fa6d1z#60a7d2z#61a7d2z#63a8d3z#64a9d3z#65aad4z#66abd4z#68acd5z#69add5z#6aaed6z#6caed6z#6dafd7z#6fb0d7z#71b1d7z#72b2d8z#74b3d8z#75b4d8z#77b5d9z#79b5d9z#7ab6d9z#7cb7daz#7db8daz#7fb9daz#81badbz#82bbdbz#84bcdbz#85bcdcz#87bddcz#89bedcz#8abfddz#8cc0ddz#8dc1ddz#8fc2dez#91c3dez#92c4dez#94c4dfz#95c5dfz#97c6dfz#99c7e0z#9ac8e0z#9cc9e1z#9dcae1z#9fcae1z#a0cbe2z#a1cbe2z#a3cce3z#a4cce3z#a5cde3z#a6cee4z#a8cee4z#a9cfe5z#aacfe5z#abd0e6z#add0e6z#aed1e7z#afd1e7z#b0d2e7z#b2d2e8z#b3d3e8z#b4d3e9z#b5d4e9z#b7d4eaz#b8d5eaz#b9d6eaz#bad6ebz#bcd7ebz#bdd7ecz#bed8ecz#bfd8edz#c1d9edz#c2d9eez#c3daeez#c4daeer   z#c7dbefz#c7dcefz#c8dcf0z#c9ddf0z#caddf0z#cadef0z#cbdef1z#ccdff1z#cddff1z#cde0f1z#cee0f2z#cfe1f2z#d0e1f2z#d0e2f2z#d1e2f3z#d2e3f3z#d3e3f3z#d3e4f3z#d4e4f4z#d5e5f4z#d6e5f4z#d6e6f4z#d7e6f5z#d8e7f5z#d9e7f5z#d9e8f5z#dae8f6z#dbe9f6z#dce9f6z#dceaf6z#ddeaf7r   z#dfebf7z#dfecf7z#e0ecf8z#e1edf8z#e2edf8z#e3eef8z#e3eef9z#e4eff9z#e5eff9z#e6f0f9z#e7f0faz#e7f1faz#e8f1faz#e9f2faz#eaf2fbz#eaf3fbz#ebf3fbz#ecf4fbz#edf4fc#eef5fcr   z#eff6fcz#f0f6fdz#f1f7fdz#f2f7fdz#f2f8fdz#f3f8fez#f4f9fez#f5f9fez#f5fafez#f6faffr   )r   #a1d99b#e5f5e0)r3   #74c476#bae4b3#edf8e9)r7   r   r   r   r   )r7   r   r   r   #c7e9c0r   )r   r3   r   r   r   r   r   )r   r3   r   r   r   r   r   #f7fcf5)	r<   r7   r3   r   r   r   r   r   r   (   r<   z#00451cz#00471cz#00481dz#00491dz#004a1ez#004c1ez#004d1fz#004e1fz#005020z#005120z#005221z#005321z#005522z#005622z#005723z#005924z#005a24z#005b25z#005c25z#005e26z#005f26z#006027z#006227z#006328z#006428z#006529z#006729z#00682az#00692az#006b2bz#006c2cr7   z#016e2dz#026f2ez#03702ez#05712fz#067230z#077331z#087432z#097532z#0a7633z#0b7734z#0c7735z#0d7836z#0e7936z#107a37z#117b38z#127c39z#137d39z#147e3az#157f3bz#16803cz#17813dz#18823dz#19833ez#1a843fz#1c8540z#1d8640z#1e8741z#1f8742z#208843z#218944z#228a44r3   z#248c46z#258d47z#268e47z#278f48z#289049z#29914az#2a924az#2b934bz#2c944cz#2d954dz#2e964dz#2f974ez#2f984fz#309950z#319a50z#329b51z#339c52z#349d53z#359e53z#369f54z#37a055z#38a156z#39a257z#3aa357z#3ba458z#3ca559z#3da65az#3ea75az#3fa85bz#3fa95cz#40aa5dz#42ab5dz#43ac5ez#45ad5fz#46ae60z#48ae60z#4aaf61z#4bb062z#4db163z#4eb264z#50b264z#52b365z#53b466z#55b567z#56b567z#58b668z#5ab769z#5bb86az#5db96bz#5eb96bz#60ba6cz#62bb6dz#63bc6ez#65bd6fz#66bd6fz#68be70z#6abf71z#6bc072z#6dc072z#6ec173z#70c274z#72c375z#73c476z#75c477z#76c578r   z#79c67az#7ac77bz#7cc87cz#7dc87e#7fc97fz#80ca80z#81ca81z#83cb82z#84cc83z#86cc85z#87cd86z#88ce87z#8ace88z#8bcf89z#8dd08az#8ed08bz#90d18dz#91d28ez#92d28fz#94d390z#95d391z#97d492z#98d594z#99d595z#9bd696z#9cd797z#9ed798z#9fd899z#a0d99bz#a2d99cz#a3da9dz#a4da9ez#a5db9fz#a7dba0z#a8dca2z#a9dca3z#aadda4z#abdda5z#acdea6z#aedea7z#afdfa8z#b0dfaaz#b1e0abz#b2e0acz#b4e1adz#b5e1aez#b6e2afz#b7e2b1z#b8e3b2z#bae3b3z#bbe4b4z#bce4b5z#bde5b6z#bee5b8z#c0e6b9z#c1e6baz#c2e7bbz#c3e7bcz#c4e8bdz#c6e8bfr   z#c8e9c1z#c9eac2z#caeac3z#cbeac4z#cbebc5z#ccebc6z#cdecc7z#ceecc8z#cfecc9z#d0edcaz#d1edcbz#d2edccz#d3eecdz#d4eecez#d5efcfz#d6efd0z#d7efd1z#d8f0d2#d9f0d3z#daf0d4z#dbf1d5z#dbf1d6z#dcf2d7z#ddf2d8z#def2d9z#dff3dar&   z#e1f3dcz#e2f4ddz#e3f4dez#e4f5dfr   z#e5f5e1z#e6f5e1z#e7f6e2z#e7f6e3z#e8f6e3z#e8f6e4#e9f7e5r   z#eaf7e6#ebf7e7r   #ecf8e8r   r   z#edf8eaz#eef8eaz#eff9ebz#eff9ecz#f0f9ecz#f0f9ed#f1faeer   z#f2faefz#f2faf0z#f3faf0z#f4fbf1z#f4fbf2z#f5fbf2z#f5fbf3#f6fcf4r   r   )#e6550d#fdae6b#fee6ce)z#d94701r   #fdbe85#feedde)#a63603r   r   r   r   )r   r   r   r   #fdd0a2r   )r   #d94801#f16913r   r   r   r   )r   r   r   r   r   r   r   #fff5eb)	#7f2704r   r   r   r   r   r   r   r   (   r   z#802704z#812804z#832804z#842904z#852904z#862a04z#882a04z#892b04z#8a2b04z#8b2c04z#8c2c04z#8e2d04z#8f2d04z#902e04z#912e04z#932f03z#942f03z#952f03z#963003z#973003z#993103z#9a3103z#9b3203z#9c3203z#9e3303z#9f3303z#a03403z#a13403z#a23503z#a43503z#a53603r   z#a83703z#a93703z#ab3803z#ad3803z#ae3903z#b03903z#b13a03z#b33b02z#b53b02z#b63c02z#b83c02z#b93d02z#bb3d02z#bd3e02z#be3f02z#c03f02z#c14002z#c34002z#c54102z#c64102z#c84202z#c94202z#cb4302z#cd4401z#ce4401z#d04501z#d14501z#d34601z#d54601z#d64701z#d84801r   z#da4902z#db4a02z#db4b03z#dc4c03z#dd4d04z#de4e05z#de5005z#df5106z#e05206z#e15307z#e15407z#e25508z#e35608z#e45709z#e4580az#e5590az#e65a0bz#e75b0bz#e75c0cz#e85d0cz#e95e0dz#ea5f0ez#eb600ez#eb610fz#ec620fz#ed6310z#ee6410z#ee6511z#ef6612z#f06712z#f16813r   z#f26b15z#f26c16z#f26d17z#f36e19z#f36f1az#f3701bz#f4711cz#f4721ez#f5741fz#f57520z#f57622z#f67723z#f67824z#f67925z#f77a27z#f77b28z#f87d29z#f87e2bz#f87f2cz#f9802dz#f9812ez#f98230z#fa8331z#fa8532z#fb8634z#fb8735z#fb8836z#fc8937z#fc8a39z#fc8b3az#fd8c3bz#fd8e3dz#fd8f3ez#fd9040z#fd9141z#fd9243z#fd9344z#fd9446z#fd9547z#fd9649z#fd974az#fd984bz#fd994dz#fd9a4ez#fd9b50z#fd9c51z#fd9d53z#fd9e54z#fd9f56z#fda057z#fda159z#fda25az#fda35cz#fda45dz#fda55fz#fda660z#fda762z#fda863z#fda965z#fdab66z#fdac67z#fdad69z#fdae6az#fdaf6cz#fdb06ez#fdb170z#fdb271z#fdb373z#fdb475z#fdb576z#fdb678z#fdb77az#fdb87cz#fdb97dz#fdba7fz#fdbb81z#fdbd83z#fdbe84z#fdbf86z#fdc088z#fdc189z#fdc28bz#fdc38dz#fdc48fz#fdc590z#fdc692z#fdc794z#fdc895z#fdc997z#fdca99z#fdcb9bz#fdcd9cz#fdce9ez#fdcfa0r   z#fdd1a3z#fdd1a4z#fdd2a6z#fdd3a7z#fdd3a9z#fdd4aaz#fdd5abz#fdd5adz#fdd6aez#fdd7afz#fdd7b1z#fdd8b2z#fdd9b4z#fdd9b5z#fddab6z#fddbb8z#fedcb9z#fedcbbz#feddbcz#fedebdz#fedebfz#fedfc0z#fee0c1z#fee0c3z#fee1c4z#fee2c6z#fee2c7z#fee3c8z#fee4caz#fee5cbz#fee5ccr   z#fee6cfz#fee7d0z#fee7d1#fee8d2r   z#fee9d3z#fee9d4z#feead5z#feead6z#feebd7z#feebd8z#feecd9z#feecdaz#feeddb#feeddcr   z#ffeeddz#ffeedez#ffefdfz#ffefe0z#fff0e1z#fff0e2z#fff1e3z#fff1e4z#fff2e5z#fff2e6z#fff3e6z#fff3e7z#fff4e8z#fff4e9z#fff5ear   )#de2d26#fc9272#fee0d2)#cb181d#fb6a4a#fcae91#fee5d9)#a50f15r   r   r   r   )r   r   r   r   #fcbba1r   )#99000dr   #ef3b2cr   r   r   r   )r   r   r   r   r   r   r   #fff5f0)	#67000dr   r   r   r   r   r   r   r   (   r   z#69000dz#6b010ez#6d010ez#6f020ez#71020ez#73030fz#75030fz#77040fz#79040fz#7a0510z#7c0510z#7e0610z#800610z#820711z#840711z#860811z#880811z#8a0812z#8c0912z#8e0912z#900a12z#920a13z#940b13z#960b13z#980c13z#9a0c14z#9c0d14z#9d0d14z#9f0e14z#a10e15z#a30f15r   z#a60f15z#a81016z#a91016z#aa1016z#ab1016z#ac1117z#ad1117z#af1117z#b01217z#b11218z#b21218z#b31218z#b51318z#b61319z#b71319z#b81419z#b91419z#bb141az#bc141az#bd151az#be151az#bf151bz#c1161bz#c2161bz#c3161bz#c4161cz#c5171cz#c7171cz#c8171cz#c9181dz#ca181dr   z#cc191ez#ce1a1ez#cf1c1fz#d01d1fz#d11e1fz#d21f20z#d32020z#d42121z#d52221z#d72322z#d82422z#d92523z#da2723z#db2824z#dc2924z#dd2a25z#de2b25z#e02c26z#e12d26z#e22e27z#e32f27z#e43027z#e53228z#e63328z#e83429z#e93529z#ea362az#eb372az#ec382bz#ed392bz#ee3a2cz#ef3c2cz#f03d2dz#f03f2ez#f0402fz#f14130z#f14331z#f14432z#f24633z#f24734z#f34935z#f34a36z#f34c37z#f44d38z#f44f39z#f4503az#f5523az#f5533bz#f6553cz#f6563dz#f6583ez#f7593fz#f75b40z#f75c41z#f85d42z#f85f43z#f96044z#f96245z#f96346z#fa6547z#fa6648z#fa6849z#fb694az#fb6b4bz#fb6c4cz#fb6d4dz#fb6e4ez#fb7050z#fb7151z#fb7252z#fb7353z#fb7555z#fb7656z#fb7757z#fb7858z#fb7a5az#fb7b5bz#fb7c5cz#fb7d5dz#fc7f5fz#fc8060z#fc8161z#fc8262z#fc8464z#fc8565z#fc8666z#fc8767z#fc8969z#fc8a6az#fc8b6bz#fc8d6dz#fc8e6ez#fc8f6fz#fc9070r   z#fc9373z#fc9474z#fc9576z#fc9777z#fc9879z#fc997az#fc9b7cz#fc9c7dz#fc9d7fz#fc9e80z#fca082z#fca183z#fca285z#fca486z#fca588z#fca689z#fca78bz#fca98cz#fcaa8dz#fcab8fz#fcad90z#fcae92z#fcaf93z#fcb095z#fcb296z#fcb398z#fcb499z#fcb69bz#fcb79cz#fcb89ez#fcb99fr   z#fcbca2z#fcbda4z#fcbea5z#fcbfa7z#fcc1a8z#fcc2aaz#fcc3abz#fcc4adz#fdc5aez#fdc6b0z#fdc7b2z#fdc9b3z#fdcab5z#fdcbb6z#fdccb8z#fdcdb9z#fdcebbz#fdd0bcz#fdd1bez#fdd2bfz#fdd3c1z#fdd4c2z#fdd5c4z#fdd7c6z#fed8c7z#fed9c9z#fedacaz#fedbccz#fedccdz#fedecfz#fedfd0r   z#fee1d3z#fee1d4z#fee2d5z#fee3d6z#fee3d7z#fee4d8z#fee5d8r   z#fee6daz#fee7dbz#fee7dcz#fee8ddz#fee8dez#fee9dfz#feeae0z#feeae1z#ffebe2z#ffece3z#ffece4z#ffede5z#ffeee6z#ffeee7z#ffefe8z#fff0e8z#fff0e9z#fff1eaz#fff2ebz#fff2ecz#fff3edz#fff4eez#fff4efr   )#636363#bdbdbd#f0f0f0)#525252#969696#cccccc#f7f7f7)#252525r   r   r   r   )r   r   r   r   #d9d9d9r   )r   r   #737373r   r   r   r   )r   r   r   r   r   r   r   #ffffff)	#000000r   r   r   r   r   r   r   r   )
r   #1c1c1c#383838#555555#717171#8d8d8d#aaaaaa#c6c6c6#e2e2e2r   )r   #191919#333333#4c4c4c#666666#7f7f7f#999999#b2b2b2r   #e5e5e5r   (   r   z#010101z#020202z#030303z#040404z#050505z#060606z#070707z#080808z#090909z#0a0a0az#0b0b0bz#0c0c0cz#0d0d0dz#0e0e0ez#0f0f0fz#101010z#111111z#121212z#131313z#141414z#151515z#161616z#171717z#181818r   #1a1a1az#1b1b1br   z#1d1d1dz#1e1e1ez#1f1f1fz#202020z#212121z#222222z#232323z#242424r   z#262626z#272727z#282828z#292929z#2a2a2az#2b2b2bz#2c2c2cz#2d2d2dz#2e2e2ez#2f2f2fz#303030z#313131z#323232r   z#343434z#353535z#363636z#373737r   z#393939z#3a3a3az#3b3b3bz#3c3c3cz#3d3d3dz#3e3e3ez#3f3f3f#404040z#414141z#424242z#434343z#444444z#454545z#464646z#474747z#484848z#494949z#4a4a4az#4b4b4br   #4d4d4dz#4e4e4ez#4f4f4fz#505050z#515151r   z#535353z#545454r   z#565656z#575757z#585858z#595959z#5a5a5az#5b5b5bz#5c5c5cz#5d5d5dz#5e5e5ez#5f5f5fz#606060z#616161z#626262r   z#646464z#656565r   z#676767z#686868z#696969z#6a6a6az#6b6b6bz#6c6c6cz#6d6d6dz#6e6e6ez#6f6f6fz#707070r   z#727272r   z#747474#757575#767676z#777777z#787878z#797979z#7a7a7az#7b7b7bz#7c7c7cz#7d7d7dz#7e7e7er   z#808080z#818181z#828282z#838383z#848484z#858585z#868686#878787z#888888z#898989z#8a8a8az#8b8b8bz#8c8c8cr   z#8e8e8ez#8f8f8fz#909090z#919191z#929292z#939393z#949494z#959595r   z#979797z#989898r   z#9a9a9az#9b9b9bz#9c9c9cz#9d9d9dz#9e9e9ez#9f9f9fz#a0a0a0z#a1a1a1z#a2a2a2z#a3a3a3z#a4a4a4z#a5a5a5z#a6a6a6z#a7a7a7z#a8a8a8z#a9a9a9r   z#abababz#acacacz#adadadz#aeaeaez#afafafz#b0b0b0z#b1b1b1r   #b3b3b3z#b4b4b4z#b5b5b5z#b6b6b6z#b7b7b7z#b8b8b8z#b9b9b9#bababaz#bbbbbbz#bcbcbcr   z#bebebez#bfbfbfz#c0c0c0z#c1c1c1z#c2c2c2z#c3c3c3z#c4c4c4z#c5c5c5r   #c7c7c7z#c8c8c8z#c9c9c9z#cacacaz#cbcbcbr   z#cdcdcdz#cececez#cfcfcfz#d0d0d0z#d1d1d1z#d2d2d2z#d3d3d3z#d4d4d4z#d5d5d5z#d6d6d6z#d7d7d7z#d8d8d8r   z#dadadaz#dbdbdbz#dcdcdcz#ddddddz#dededez#dfdfdf#e0e0e0z#e1e1e1r   z#e3e3e3z#e4e4e4r   z#e6e6e6z#e7e7e7z#e8e8e8z#e9e9e9z#eaeaeaz#ebebebz#ecececz#edededz#eeeeeez#efefefr   z#f1f1f1#f2f2f2z#f3f3f3z#f4f4f4#f5f5f5z#f6f6f6r   z#f8f8f8z#f9f9f9z#fafafaz#fbfbfbz#fcfcfcz#fdfdfdz#fefefer   )#998ec3r   #f1a340)#5e3c99#b2abd2#fdb863#e66101)r  r	  r   r
  r  )#542788r  #d8daeb#fee0b6r  #b35806)r  r  r  r   r  r  r  )r  #8073acr	  r  r  r
  #e08214r  )	r  r  r	  r  r   r  r
  r  r  )
#2d004br  r  r	  r  r  r
  r  r  #7f3b08)r  r  r  r	  r  r   r  r
  r  r  r  )#5ab4acr  #d8b365)#018571#80cdc1#dfc27d#a6611a)r  r  r  r  r  )#01665er  #c7eae5#f6e8c3r  #8c510a)r  r  r  r  r  r  r  )r  #35978fr  r  r  r  #bf812dr  )	r  r  r  r  r  r  r  r  r  )
#003c30r  r  r  r  r  r  r  r  #543005)r   r  r  r  r  r  r  r  r  r  r!  )#7fbf7br   #af8dc3)#008837#a6dba0#c2a5cf#7b3294)r$  r%  r   r&  r'  )#1b7837r"  r   #e7d4e8r#  #762a83)r(  r"  r   r   r)  r#  r*  )r(  #5aae61r%  r   r)  r&  #9970abr*  )	r(  r+  r%  r   r   r)  r&  r,  r*  )
r<   r(  r+  r%  r   r)  r&  r,  r*  #40004b)r<   r(  r+  r%  r   r   r)  r&  r,  r*  r-  )#a1d76ar   #e9a3c9)#4dac26#b8e186#f1b6da#d01c8b)r0  r1  r   r2  r3  )#4d9221r.  #e6f5d0#fde0efr/  #c51b7d)r4  r.  r5  r   r6  r/  r7  )r4  #7fbc41r1  r5  r6  r2  #de77aer7  )	r4  r8  r1  r5  r   r6  r2  r9  r7  )
#276419r4  r8  r1  r5  r6  r2  r9  r7  #8e0152)r:  r4  r8  r1  r5  r   r6  r2  r9  r7  r;  )rA   r   #ef8a62)#0571b0#92c5de#f4a582#ca0020)r=  r>  r   r?  r@  )#2166acrA   #d1e5f0#fddbc7r<  #b2182b)rA  rA   rB  r   rC  r<  rD  )rA  #4393c3r>  rB  rC  r?  #d6604drD  )	rA  rE  r>  rB  r   rC  r?  rF  rD  )
#053061rA  rE  r>  rB  rC  r?  rF  rD  ro   )rG  rA  rE  r>  rB  r   rC  r?  rF  rD  ro   )r   r   r<  )r   r  r?  r@  )r   r  r   r?  r@  )r   r   r  rC  r<  rD  )r   r   r  r   rC  r<  rD  )r   r   r  r  rC  r?  rF  rD  )	r   r   r  r  r   rC  r?  rF  rD  )
r   r   r   r  r  rC  r?  rF  rD  ro   )r   r   r   r  r  r   rC  r?  rF  rD  ro   )#91bfdb#ffffbfrt   )#2c7bb6#abd9e9#fdae61#d7191c)rJ  rK  rI  rL  rM  )#4575b4rH  #e0f3f8#fee090rt   #d73027)rN  rH  rO  rI  rP  rt   rQ  )rN  #74add1rK  rO  rP  rL  #f46d43rQ  )	rN  rR  rK  rO  rI  rP  rL  rS  rQ  )
#313695rN  rR  rK  rO  rP  rL  rS  rQ  #a50026)rT  rN  rR  rK  rO  rI  rP  rL  rS  rQ  rU  )#99d594rI  rt   )#2b83ba#abdda4rL  rM  )rW  rX  rI  rL  rM  )#3288bdrV  #e6f598#fee08brt   #d53e4f)rY  rV  rZ  rI  r[  rt   r\  )rY  #66c2a5rX  rZ  r[  rL  rS  r\  )	rY  r]  rX  rZ  rI  r[  rL  rS  r\  )
#5e4fa2rY  r]  rX  rZ  r[  rL  rS  r\  #9e0142)r^  rY  r]  rX  rZ  rI  r[  rL  rS  r\  r_  )#91cf60rI  rt   )#1a9641#a6d96arL  rM  )ra  rb  rI  rL  rM  )#1a9850r`  #d9ef8br[  rt   rQ  )rc  r`  rd  rI  r[  rt   rQ  )rc  #66bd63rb  rd  r[  rL  rS  rQ  )	rc  re  rb  rd  rI  r[  rL  rS  rQ  )
r   rc  re  rb  rd  r[  rL  rS  rQ  rU  )r   rc  re  rb  rd  rI  r[  rL  rS  rQ  rU  )r   z#beaed4z#fdc086#ffff99z#386cb0z#f0027fz#bf5b17r                  )z#1b9e77z#d95f02z#7570b3rm   z#66a61ez#e6ab02z#a6761dr   )z#a6cee3z#1f78b4z#b2df8az#33a02cz#fb9a99r   z#fdbf6f#ff7f00z#cab2d6z#6a3d9arf  z#b15928   
   	      )	z#fbb4aerT   r,   z#decbe4z#fed9a6r   z#e5d8bdz#fddaecr  )z#b3e2cdz#fdcdacz#cbd5e8z#f4cae4z#e6f5c9z#fff2aez#f1e2ccr   )	z#e41a1cz#377eb8z#4daf4az#984ea3rl  z#ffff33z#a65628z#f781bfr   )r]  z#fc8d62z#8da0cbz#e78ac3z#a6d854z#ffd92fz#e5c494r   )z#8dd3c7z#ffffb3z#bebadaz#fb8072z#80b1d3z#fdb462z#b3de69z#fccde5r   z#bc80bdr,   z#ffed6f)#000003#BA3655#FCFEA4)rq  #781C6D#ED6825rs  )rq  #550F6Drr  #F98C09rs  )rq  #410967#932567#DC5039#FBA40Ars  )rq  #32095Drt  rr  ru  #FBB318rs  )rq  #270B52#63146E#9E2963#D24742#F57C15#FABF25rs  )	rq  #1F0C47rv  #88216Arr  #E35832rw  #F8C931rs  )
rq  #1A0B40#4A0B6Art  #A42C60#CD4247ru  #FB9906#F7CF3Ars  )rq  #160B39rx  #6A176Ery  rr  rz  #F2751Ar{  #F6D542rs  (   rq  #000004#000006#010007#010109#01010Bz#02010Ez#020210z#030212z#040314z#040316z#050418z#06041Bz#07051Dz#08061Fz#090621z#0A0723z#0B0726z#0D0828z#0E082Az#0F092Dz#10092Fz#120A32z#130A34z#140B36r  z#170B3Bz#190B3Er  z#1C0C43z#1D0C45r  z#200C4Az#220B4Cz#240B4Ez#260B50r~  z#290B54z#2B0A56z#2D0A58z#2E0A5Az#300A5Cr|  z#34095Fz#350960z#370961z#390962z#3B0964z#3C0965z#3E0966z#400966rx  z#430A68z#450A69z#460A69z#480B6Ar  z#4B0C6Bz#4D0C6Bz#4F0D6Cz#500D6Cz#520E6Cz#530E6Drv  z#570F6Dz#58106Dz#5A116Dz#5B116Ez#5D126Ez#5F126Ez#60136Ez#62146Er  z#65156Ez#66156Ez#68166Er  z#6B176Ez#6D186Ez#6E186Ez#70196Ez#72196Dz#731A6Dz#751B6Dz#761B6Drt  z#7A1C6Dz#7B1D6Cz#7D1D6Cz#7E1E6Cz#801F6Bz#811F6Bz#83206Bz#85206Az#86216Ar  z#892269z#8B2269z#8D2369z#8E2468z#902468z#912567ry  z#952666z#962666z#982765z#992864z#9B2864z#9C2963r  z#A02A62z#A12B61z#A32B61r  z#A62C5Fz#A72D5Fz#A92E5Ez#AB2E5Dz#AC2F5Cz#AE305Bz#AF315Bz#B1315Az#B23259z#B43358z#B53357z#B73456z#B83556rr  z#BB3754z#BD3753z#BE3852z#BF3951z#C13A50z#C23B4Fz#C43C4Ez#C53D4Dz#C73E4Cz#C83E4Bz#C93F4Az#CB4049z#CC4148r  z#CF4446z#D04544z#D14643r  z#D44841z#D54940z#D64A3Fz#D74B3Ez#D94D3Dz#DA4E3Bz#DB4F3Arz  z#DD5238z#DE5337z#DF5436z#E05634z#E25733r  z#E45A31z#E55B30z#E65C2Ez#E65E2Dz#E75F2Cz#E8612Bz#E9622Az#EA6428z#EB6527z#EC6726ru  z#ED6A23z#EE6C22z#EF6D21z#F06F1Fz#F0701Ez#F1721Dz#F2741Cr  z#F37719z#F37918z#F47A16r  z#F57E14z#F68012z#F68111z#F78310z#F7850Ez#F8870Dz#F8880Cz#F88A0Brw  z#F98E08z#F99008z#FA9107z#FA9306z#FA9506z#FA9706r  z#FB9B06z#FB9D06z#FB9E07z#FBA007z#FBA208r{  z#FBA60Bz#FBA80Dz#FBAA0Ez#FBAC10z#FBAE12z#FBB014z#FBB116r}  z#FBB51Az#FBB71Cz#FBB91Ez#FABB21z#FABD23r  z#FAC128z#F9C32Az#F9C52Cz#F9C72Fr  z#F8CB34z#F8CD37r  z#F7D13Cz#F6D33Fr  z#F5D745z#F5D948z#F4DB4Bz#F4DC4Fz#F3DE52z#F3E056z#F3E259z#F2E45Dz#F2E660z#F1E864z#F1E968z#F1EB6Cz#F1ED70z#F1EE74z#F1F079z#F1F27Dz#F2F381z#F2F485z#F3F689z#F4F78Dz#F5F891z#F6FA95z#F7FB99z#F9FC9Dz#FAFDA0rs  )rq  #B53679#FBFCBF)rq  #711F81#F0605Dr  )rq  #4F117Br  #FB8660r  )rq  #3B0F6F#8C2980#DD4968#FD9F6Cr  )rq  #2B115Er  r  r  #FEAE76r  )rq  #221150#5D177E#972C7F#D1426E#F8755C#FEB97Fr  )	rq  #1B1044r  #812581r  #E55063r  #FEC286r  )
rq  #170F3C#430F75r  #9E2E7E#CB3E71r  #FC9366#FEC78Br  )rq  #140D35r  #63197Fr  r  r  #F66E5Br  #FDCD90r  (   rq  r  r  r  r  r  z#02020Dz#02020Fz#030311z#040313z#040415z#050417z#060519z#07051Bz#08061Dz#09071Fz#0A0722z#0B0824z#0C0926z#0D0A28z#0E0A2Az#0F0B2Cz#100C2Fz#110C31z#120D33r  z#150E38z#160E3Ar  z#180F3Fz#1A1041r  z#1C1046z#1E1049z#1F114Bz#20114Dr  z#231152z#251155z#261157z#281159z#2A115Cr  z#2D1060z#2F1062z#301065z#321067z#341068z#350F6Az#370F6Cz#390F6Er  z#3C0F71z#3E0F72z#400F73z#420F74r  z#450F76z#470F77z#481078z#4A1079z#4B1079z#4D117Ar  z#50127Bz#52127Cz#53137Cz#55137Dz#57147Dz#58157Ez#5A157Ez#5B167Er  z#5E177Fz#60187Fz#61187Fr  z#651A80z#661A80z#681B80z#691C80z#6B1C80z#6C1D80z#6E1E81z#6F1E81r  z#731F81z#742081z#762181z#772181z#792281z#7A2281z#7C2381z#7E2481z#7F2481r  z#822581z#842681z#852681z#872781z#892881z#8A2881r  z#8D2980z#8F2A80z#912A80z#922B80z#942B80z#952C80r  z#992D7Fz#9A2D7Fz#9C2E7Fr  z#9F2F7Ez#A12F7Ez#A3307Ez#A4307Dz#A6317Dz#A7317Dz#A9327Cz#AB337Cz#AC337Bz#AE347Bz#B0347Bz#B1357Az#B3357Ar  z#B63679z#B83778z#B93778z#BB3877z#BD3977z#BE3976z#C03A75z#C23A75z#C33B74z#C53C74z#C63C73z#C83D72z#CA3E72r  z#CD3F70z#CE4070z#D0416Fr  z#D3426Dz#D4436Dz#D6446Cz#D7456Bz#D9466Az#DA4769z#DC4869r  z#DE4A67z#E04B66z#E14C66z#E24D65z#E44E64r  z#E65162z#E75262z#E85461z#EA5560z#EB5660z#EC585Fz#ED595Fz#EE5B5Ez#EE5D5Dz#EF5E5Dr  z#F1615Cz#F2635Cz#F3655Cz#F3675Bz#F4685Bz#F56A5Bz#F56C5Br  z#F6705Bz#F7715Bz#F7735Cr  z#F8775Cz#F9795Cz#F97B5Dz#F97D5Dz#FA7F5Ez#FA805Ez#FA825Fz#FB8460r  z#FB8861z#FB8A62z#FC8C63z#FC8E63z#FC9064z#FC9265r  z#FD9567z#FD9768z#FD9969z#FD9B6Az#FD9D6Br  z#FDA16Ez#FDA26Fz#FDA470z#FEA671z#FEA873z#FEAA74z#FEAC75r  z#FEAF78z#FEB179z#FEB37Bz#FEB57Cz#FEB77Dr  z#FEBB80z#FEBC82z#FEBE83z#FEC085r  z#FEC488z#FEC689r  z#FEC98Dz#FECB8Er  z#FDCF92z#FDD193z#FDD295z#FDD497z#FDD698z#FDD89Az#FDDA9Cz#FDDC9Dz#FDDD9Fz#FDDFA1z#FDE1A3z#FCE3A5z#FCE5A6z#FCE6A8z#FCE8AAz#FCEAACz#FCECAEz#FCEEB0z#FCF0B1z#FCF1B3z#FCF3B5z#FCF5B7z#FBF7B9z#FBF9BBz#FBFABDr  )#0C0786#CA4678#EFF821)r  #9B179E#EC7853r  )r  #7C02A7r  #F79341r  )r  #6A00A7#B02A8F#E06461#FCA635r  )r  #5C00A5r  r  r  #FDB22Fr  )r  #5201A3#8908A5#B83289#DA5A68#F38748#FDBB2Br  )	r  #4A02A0r  #A82296r  #E56B5Cr  #FDC328r  )
r  #45039E#7200A8r  #BC3685#D7566Cr  #FA9D3A#FCC726r  )r  #40039Cr  #8F0DA3r  r  r  #F1824Cr  #FCCC25r  (   r  z#100787z#130689z#15068Az#18068Bz#1B068Cz#1D068Dz#1F058Ez#21058Fz#230590z#250591z#270592z#290593z#2B0594z#2D0494z#2F0495z#310496z#330497z#340498z#360498z#380499z#3A049Az#3B039Az#3D039Bz#3F039Cr  z#42039Dz#44039Er  z#47029Fz#49029Fr  z#4C02A1z#4E02A1z#4F02A2z#5101A2r  z#5401A3z#5601A3z#5701A4z#5901A4z#5A00A5r  z#5E00A5z#5F00A6z#6100A6z#6200A6z#6400A7z#6500A7z#6700A7z#6800A7r  z#6C00A8z#6D00A8z#6F00A8z#7000A8r  z#7300A8z#7500A8z#7601A8z#7801A8z#7901A8z#7B02A8r  z#7E03A7z#7F03A7z#8104A7z#8204A7z#8405A6z#8506A6z#8607A6z#8807A5r  z#8B09A4z#8C0AA4z#8E0CA4r  z#900EA3z#920FA2z#9310A1z#9511A1z#9612A0z#9713A0z#99149Fz#9A159Er  z#9D189Dz#9E199Cz#9F1A9Bz#A01B9Bz#A21C9Az#A31D99z#A41E98z#A51F97z#A72197r  z#A92395z#AA2494z#AC2593z#AD2692z#AE2791z#AF2890r  z#B12B8Fz#B22C8Ez#B42D8Dz#B52E8Cz#B62F8Bz#B7308Ar  z#B93388z#BA3487z#BB3586r  z#BD3784z#BE3883z#BF3982z#C03B81z#C13C80z#C23D80z#C33E7Fz#C43F7Ez#C5407Dz#C6417Cz#C7427Bz#C8447Az#C94579r  z#CB4777z#CC4876z#CD4975z#CE4A75z#CF4B74z#D04D73z#D14E72z#D14F71z#D25070z#D3516Fz#D4526Ez#D5536Dz#D6556Dr  z#D7576Bz#D8586Az#D95969r  z#DB5B67z#DC5D66z#DC5E66z#DD5F65z#DE6064z#DF6163z#DF6262r  z#E16560z#E26660z#E3675Fz#E3685Ez#E46A5Dr  z#E56C5Bz#E66D5Az#E76E5Az#E87059z#E87158z#E97257z#EA7356z#EA7455z#EB7654z#EC7754r  z#ED7952z#ED7B51z#EE7C50z#EF7D4Fz#EF7E4Ez#F0804Dz#F0814Dr  z#F2844Bz#F2854Az#F38649r  z#F48947z#F48A47z#F58B46z#F58D45z#F68E44z#F68F43z#F69142z#F79241r  z#F89540z#F8963Fz#F8983Ez#F9993Dz#F99A3Cz#FA9C3Br  z#FA9F3Az#FAA039z#FBA238z#FBA337z#FBA436r  z#FCA735z#FCA934z#FCAA33z#FCAC32z#FCAD31z#FDAF31z#FDB030r  z#FDB32Ez#FDB52Dz#FDB62Dz#FDB82Cz#FDB92Br  z#FDBC2Az#FDBE29z#FDC029z#FDC128r  z#FDC427z#FDC626r  z#FCC926z#FCCB25r  z#FCCE25z#FBD024z#FBD124z#FBD324z#FAD524z#FAD624z#FAD824z#F9D924z#F9DB24z#F8DD24z#F8DF24z#F7E024z#F7E225z#F6E425z#F6E525z#F5E726z#F5E926z#F4EA26z#F3EC26z#F3EE26z#F2F026z#F2F126z#F1F326z#F0F525z#F0F623r  )#440154#208F8C#FDE724)r  #30678D#35B778r  )r  #3B518Ar  #5BC862r  )r  #404387#29788E#22A784#79D151r  )r  #443982r  r  r  #8DD644r  )r  #46317E#365A8C#277E8E#1EA087#49C16D#9DD93Ar  )	r  #472B7Ar  #2C718Er  #27AD80r  #AADB32r  )
r  #472777#3E4989r  #25828E#1E9C89r  #6BCD59#B2DD2Cr  )r  #482374r  #345E8Dr  r  r  #42BE71r  #BADE27r  (   r  z#440255z#440357z#450558z#45065Az#45085Bz#46095Cz#460B5Ez#460C5Fz#460E61z#470F62z#471163z#471265z#471466z#471567z#471669z#47186Az#48196Bz#481A6Cz#481C6Ez#481D6Fz#481E70z#482071z#482172z#482273r  z#472575z#472676r  z#472878z#472A79r  z#472C7Bz#462D7Cz#462F7Cz#46307Dr  z#45327Fz#45347Fz#453580z#453681z#443781r  z#433A83z#433B83z#433C84z#423D84z#423E85z#424085z#414186z#414286r  z#404487z#3F4587z#3F4788z#3E4888r  z#3D4A89z#3D4B89z#3D4C89z#3C4D8Az#3C4E8Az#3B508Ar  z#3A528Bz#3A538Bz#39548Bz#39558Bz#38568Bz#38578Cz#37588Cz#37598Cr  z#365B8Cz#355C8Cz#355D8Cr  z#345F8Dz#33608Dz#33618Dz#32628Dz#32638Dz#31648Dz#31658Dz#31668Dr  z#30688Dz#2F698Dz#2F6A8Dz#2E6B8Ez#2E6C8Ez#2E6D8Ez#2D6E8Ez#2D6F8Ez#2C708Er  z#2C728Ez#2B738Ez#2B748Ez#2A758Ez#2A768Ez#2A778Er  z#29798E#287A8Er  z#287B8Ez#277C8Ez#277D8Er  z#267F8Ez#26808Ez#26818Er  z#25838Dz#24848Dz#24858Dz#24868Dz#23878Dz#23888Dz#23898Dz#22898Dz#228A8Dz#228B8Dz#218C8Dz#218D8Cz#218E8Cr  z#20908Cz#20918Cz#1F928Cz#1F938Bz#1F948Bz#1F958Bz#1F968Bz#1E978Az#1E988A#1E998Ar  z#1E9A89z#1E9B89r  z#1E9D88z#1E9E88z#1E9F88r  z#1FA187z#1FA286z#1FA386z#20A485z#20A585z#21A685z#21A784r  z#23A883z#23A982z#24AA82z#25AB81z#26AC81r  z#28AE7Fz#29AF7Fz#2AB07Ez#2BB17Dz#2CB17Dz#2EB27Cz#2FB37Bz#30B47Az#32B57Az#33B679r  z#36B877z#38B976z#39B976z#3BBA75z#3DBB74z#3EBC73z#40BD72r  z#44BE70z#45BF6Fz#47C06Er  z#4BC26Cz#4DC26Bz#4FC369z#51C468z#53C567z#55C666z#57C665z#59C764r  z#5EC961z#60C960z#62CA5Fz#64CB5Dz#67CC5Cz#69CC5Br  z#6DCE58z#70CE56z#72CF55z#74D054z#77D052r  z#7CD24Fz#7ED24Ez#81D34Cz#83D34Bz#86D449z#88D547z#8BD546r  z#90D643z#92D741z#95D73Fz#97D83Ez#9AD83Cr  z#9FD938z#A2DA37z#A5DA35z#A7DB33r  z#ADDC30z#AFDC2Er  z#B5DD2Bz#B7DD29r  z#BDDE26z#BFDF24z#C2DF22z#C5DF21z#C7E01Fz#CAE01Ez#CDE01Dz#CFE11Cz#D2E11Bz#D4E11Az#D7E219z#DAE218z#DCE218z#DFE318z#E1E318z#E4E318z#E7E419z#E9E419z#ECE41Az#EEE51Bz#F1E51Cz#F3E51Ez#F6E61Fz#F8E621z#FAE622r  )#00204C#7B7B78#FFE945)r  #565C6C#A69C75r  )r  #404C6Br  #BCAE6Er  )r  #31446B#666870#958F78#CAB969r  )r  #223D6Cr  r  r  #D3C065r  )r  #15396D#49536B#6C6D72#8D8878#B2A672#D9C661r  )	r  #01356Er   #5F636Er  #9B9377r  #DFCB5Dr  )
r  #00336E#37476Br  #6F7073#898578r  #C3B46C#E3CD5Br  )r  #00316Fr  #4D556Br  r  r  #AEA373r  #E6D059r  (   r  z#00204Ez#002150z#002251z#002353z#002355z#002456z#002558z#00265Az#00265Bz#00275Dz#00285Fz#002861z#002963z#002A64z#002A66z#002B68z#002C6Az#002D6Cz#002D6Dz#002E6Ez#002E6F#002F6Fr  z#00306Fr  r  z#00326Er  #00346Er  r  z#06366Ez#0A376Dz#0E376Dz#12386Dr  z#17396Dz#1A3A6Cz#1C3B6Cz#1E3C6Cz#203C6Cr  z#243E6Cz#263E6Cz#273F6Cz#29406Bz#2B416Bz#2C416Bz#2E426Bz#2F436Br  z#32446Bz#33456Bz#35466Bz#36466Br  z#38486Bz#3A496Bz#3B496Bz#3C4A6Bz#3D4B6Bz#3E4B6Br   z#414D6Bz#424E6Bz#434E6Bz#444F6Bz#45506Bz#46506Bz#47516Bz#48526Br	  z#4A536Bz#4B546Bz#4C556Br  z#4E566Bz#4F576Cz#50586Cz#51586Cz#52596Cz#535A6Cz#545A6Cz#555B6Cr  z#575D6Dz#585D6Dz#595E6Dz#5A5F6Dz#5B5F6Dz#5C606Dz#5D616Ez#5E626Ez#5F626Er  z#60646Ez#61656Fz#62656Fz#63666Fz#64676Fz#65676Fr  z#676970#686A70r  z#696B71z#6A6C71z#6B6D71r
  z#6D6E72z#6E6F72z#6F6F72r  z#707173z#717273z#727274z#737374z#747475r   r   r   z#777776z#787876z#797877z#7A7977z#7B7A77r  z#7C7B78z#7D7C78z#7E7D78z#7F7E78z#807E78z#817F78z#828078z#838178z#848178z#858278z#868378z#878478z#888578r  z#8A8678z#8B8778z#8C8878r  z#8E8978z#8F8A78z#908B78z#918C78z#928C78z#938D78z#948E78r  z#968F77z#979077z#989177z#999277z#9A9377r  z#9C9477z#9D9577z#9E9676z#9F9776z#A09876z#A19876z#A29976z#A39A75z#A49B75z#A59C75r  z#A79D75z#A89E74z#A99F74z#AAA074z#ABA174z#ACA173z#ADA273r  z#AFA473z#B0A572z#B1A672r  z#B4A771z#B5A871z#B6A971z#B7AA70z#B8AB70z#B9AB70z#BAAC6Fz#BBAD6Fr  z#BDAF6Ez#BEB06Ez#BFB16Dz#C0B16Dz#C1B26Cz#C2B36Cr  z#C5B56Bz#C6B66Bz#C7B76Az#C8B86Az#C9B869r  z#CBBA68z#CCBB68z#CDBC67z#CEBD67z#D0BE66z#D1BF66z#D2C065r  z#D4C164z#D5C263z#D6C363z#D7C462z#D8C561r  z#DBC760z#DCC860z#DDC95Fz#DECA5Er  z#E0CB5Dz#E1CC5Cr  z#E4CE5Bz#E5CF5Ar  z#E7D158z#E8D257z#E9D356z#EBD456z#ECD555z#EDD654z#EED753z#EFD852z#F0D951z#F1DA50z#F3DB4Fz#F4DC4Ez#F5DD4Dz#F6DE4Cz#F7DF4Bz#F9E049z#FAE048z#FBE147z#FCE246z#FDE345z#FFE443z#FFE542z#FFE642z#FFE743z#FFE844r  )#30123b#a1fc3d#7a0402)r  #1ae4b6#f9ba38r!  )r  #2ab9edr   #fb8022r!  )r  #3e9bfe#46f783#e1dc37#ef5a11r!  )r  #4584f9r"  r   r#  #e5460ar!  )r  #4675ed#1ccdd7#61fc6c#cfea34#fe9b2d#db3a07r!  )	r  #4668e0r$  #2ff09ar   #ecd139r%  #d23005r!  )
r  #4560d6#36a8f9r"  #71fd5f#c5ef33r#  #f66b18#cb2b03r!  )r  #4458cbr&  #18d5ccr'  r   r(  #fda631r)  #c52602r!  (   r  z#311542z#32184az#341b51z#351e58z#36215fz#372365z#38266cz#392972z#3a2c79z#3b2f7fz#3c3285z#3c358bz#3d3791z#3e3a96z#3f3d9cz#4040a1z#4043a6z#4145abz#4148b0z#424bb5z#434ebaz#4350bez#4353c2z#4456c7r<  z#455bcez#455ed2r6  z#4563d9z#4666ddr2  z#466be3z#466de6z#4670e8z#4673ebr,  z#4678f0z#467af2z#467df4z#467ff6z#4682f8r*  z#4587fbz#4589fcz#448cfdz#438efdz#4291fez#4193fez#4096fez#3f98fer&  z#3c9dfdz#3ba0fcz#39a2fcz#38a5fbr7  z#34aaf8z#33acf6z#31aff5z#2fb1f3z#2db4f1z#2bb6efr$  z#28bbebz#26bde9z#25c0e6z#23c2e4z#21c4e1z#20c6dfz#1ec9dcz#1dcbdar-  z#1bcfd4z#1ad1d2z#19d3cfr=  z#18d7caz#17d9c7z#17dac4z#17dcc2z#17debfz#18e0bdz#18e1baz#19e3b8r"  z#1be5b4z#1de7b1z#1ee8afz#20e9acz#22eba9z#24eca6z#27eda3z#29eea0z#2cef9dr3  z#32f197z#35f394z#38f491z#3bf48dz#3ff58az#42f687r'  z#4af880z#4df97cz#51f979z#55fa76z#59fb72z#5dfb6fr.  z#65fc68z#69fd65z#6dfd62r8  z#74fe5cz#78fe59z#7cfe56z#80fe53z#84fe50z#87fe4dz#8bfe4bz#8efe48z#92fe46z#95fe44z#98fe42z#9bfd40z#9efd3er   z#a4fc3bz#a6fb3az#a9fb39z#acfa37z#aef937z#b1f836z#b3f835z#b6f735z#b9f534z#bbf434z#bef334z#c0f233z#c3f133r9  z#c8ee33z#caed33z#cdeb34r/  z#d1e834z#d4e735z#d6e535z#d8e335z#dae236z#dde036z#dfde36r(  z#e3da37z#e5d838z#e7d738z#e8d538z#ead339r4  z#edcf39z#efcd39z#f0cb3az#f2c83az#f3c63az#f4c43az#f6c23az#f7c039z#f8be39z#f9bc39r#  z#fab737z#fbb537z#fbb336z#fcb035z#fcae34z#fdab33z#fda932r>  z#fda330z#fea12fz#fe9e2er0  z#fe982cz#fd952bz#fd9229z#fd8f28z#fd8c27z#fc8926z#fc8624z#fb8323r%  z#fa7d20z#fa7a1fz#f9771ez#f8741cz#f7711bz#f76e1ar:  z#f56817z#f46516z#f36315z#f26014z#f15d13r)  z#ee5810z#ed550fz#ec520ez#ea500dz#e94d0dz#e84b0cz#e6490br+  z#e3440az#e24209z#e04008z#de3e08z#dd3c07r1  z#d93806z#d73606z#d63405z#d43205r5  z#d02f04z#ce2d04r;  z#c92903z#c72803r?  z#c32402z#c02302z#be2102z#bb1f01z#b91e01z#b61c01z#b41b01z#b11901z#ae1801z#ac1601z#a91501z#a61401z#a31201z#a01101z#9d1001z#9a0e01z#970d01z#940c01z#910b01z#8e0a01z#8b0901z#870801z#840701z#810602z#7d0502r!  )
#1f77b4#ff7f0e#2ca02c#d62728#9467bd#8c564b#e377c2r   #bcbd22#17becf)r@  z#aec7e8rA  z#ffbb78rB  z#98df8arC  z#ff9896rD  z#c5b0d5rE  z#c49c94rF  z#f7b6d2r   r  rG  z#dbdb8drH  z#9edae5                        )z#393b79z#5254a3z#6b6ecfz#9c9edez#637939z#8ca252z#b5cf6bz#cedb9cz#8c6d31z#bd9e39z#e7ba52z#e7cb94z#843c39z#ad494az#d6616bz#e7969cz#7b4173z#a55194z#ce6dbdz#de9ed6)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )z#0072B2z#E69F00z#F0E442z#009E73z#56B4E9z#D55E00z#CC79A7r   )z#4477AAz#EE6677z#228833z#CCBB44z#66CCEEz#AA3377#BBBBBB)#004488z#DDAA33z#BB5566)z#EE7733z#0077BBz#33BBEEz#EE3377z#CC3311z#009988rQ  )	z#CC6677z#332288z#DDCC77z#117733z#88CCEEz#882255z#44AA99z#999933z#AA4499)z#6699CCrR  z#EECC66z#994455z#997700z#EE99AA)z#BBCCEEz#CCEEFFz#CCDDAAz#EEEEBBz#FFCCCC#DDDDDD)z#222255z#225555z#225522z#666633z#663333r   )	z#77AADDz#EE8866z#EEDD88z#FFAABBz#99DDFFz#44BB99z#BBCC33z#AAAA00rS  )#364B9Az#4A7BB7#6EA6CDz#98CAE1#C2E4EF#EAECCC#FEDA8Bz#FDB366#F67E4Bz#DD3D2D#A50026)
rT  z#4E7FB9z#77AED1#A5D2E5z#D3E7DFz#F5E2A7#FDC072z#F78951z#DF4430rZ  )	rT  z#5384BC#83B8D7z#87DDEBrW  z#FDD081#F99858z#E34D34rZ  )rT  z#598DC0z#92C4DEz#CDE6E5z#F8DF9Dz#FCAB62z#E75839rZ  )rT  z#6197C5r[  rW  r\  z#ED6841rZ  )rT  rU  rV  rX  rY  rZ  )rT  r]  rW  r^  rZ  )rT  r[  r\  rZ  )rT  rW  rZ  )	#2166ACz#4393C3#92C5DEz#D1E5F0#F7F7F7z#FDDBC7#F4A582z#D6604D#B2182B)r_  z#4E9AC6z#A3CEE3z#E1ECF3z#FAE7DBz#F6B495z#DA6954rc  )r_  z#5DA3CB#BBDAEAra  #FAC9B0z#E0775Erc  )r_  z#72B1D3z#D8E8F1z#FBE0D0z#E8896Crc  )r_  r`  ra  rb  rc  )r_  rd  re  rc  )r_  ra  rc  )	#762A83z#9970AB#C2A5CFz#E7D4E8ra  z#D9F0D3#ACD39Ez#5AAE61#1B7837)rf  z#9E77B0z#CCB2D6z#EDE3EEz#E5F3E2z#B8DBADz#65B369ri  )rf  z#A681B7#DAC4DFra  #CAE6C1z#75BA75ri  )rf  z#B18FC0z#EADBEBz#DEF1DAz#8BC485ri  )rf  rg  ra  rh  ri  )rf  rj  rk  ri  )rf  ra  ri  )	#FFFFE5z#FFF7BC#FEE391z#FEC44F#FB9A29z#EC7014#CC4C02r   r   )rl  z#FEF4B5z#FEDA7Ez#FCB23Ez#F2821Dz#D55607z#A03703r   )rl  z#FEF0AD#FECE65rn  #E1640Ez#AA3C03r   )rl  z#FEEBA2z#FDBB47z#EF7818z#B74202r   )rl  rm  rn  ro  r   )rl  rp  rq  r   )rl  rn  r   )z#FEFBE9z#FCF7D5z#F5F3C1z#EAF0B5z#DDECBFz#D0E7CAz#C2E3D2z#B5DDD8z#A8D8DCz#9BD2E1z#8DCBE4z#81C4E7z#7BBCE7z#7EB2E4z#88A5DDz#9398D2z#9B8AC4z#9D7DB2z#9A709Ez#906388z#805770z#684957z#46353A         )z#E8ECFB#D9CCE3#CAACCB#BA8DB4#AA6F9E#994F88#882E72#1965B0#437DBF#6195CF#7BAFDE#4EB265#90C987#CAE0AB#F7F056#F7CB45#F4A736#EE8026#E65518#DC050C#A5170E#72190E#42150A)ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  r  )ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  )ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  #F6C141#F1932D#E8601Cr  r  r  )ru  rv  rw  rx  ry  rz  r{  #5289C7r~  r  r  r  r  r  r  r  r  r  r  )#D1BBD7rw  rx  ry  rz  r{  r  r~  r  r  r  r  r  r  r  r  r  r  )r  rw  rx  ry  rz  r{  r  r~  r  r  r  r  r  r  r  r  r  )r  rw  rx  rz  r{  r  r~  r  r  r  r  r  r  r  r  r  )r  rx  rz  r{  r  r~  r  r  r  r  r  r  r  r  r  )r  rx  rz  r{  r  r~  r  r  r  r  r  r  r  r  )r  rx  rz  r{  r  r~  r  r  r  r  r  r  r  )r  rx  rz  r{  r  r~  r  r  r  r  r  r  )rz  r{  r  r~  r  r  r  r  r  r  r  )
rz  r{  r~  r  r  r  r  r  r  r  )	rz  r{  r~  r  r  r  r  r  r  )rz  r{  r~  r  r  r  r  r  )rz  r{  r~  r  r  r  r  )r{  r~  r  r  r  r  )r{  r~  r  r  r  )r{  r  r  r  )r{  r  r  )#EC1557#F05223#F6A91B#A5CD39#20B254#00AAAEz#4998D3#892889)r  r  r  r  r  r  r  )rk  rj  ri  rh  rg  rp  ro  )rk  rj  ri  rh  rg  rp  ro     )	rk  rj  ri  rh  rg  rp  ro  rn  rm  )rk  rj  ri  rh  rg  rp  )
rk  rj  ri  rh  rg  rp  ro  rn  rm  rP  )
rk  rj  ri  rh  rg  rp  ro  rn  rm  r  )rk  rj  ri  rh  rg  rp  ro  rn  )rk  rj  ri  rh  rg  zdict[int, tuple[str, ...]]HighContrast)rk  rj  ri  rh  )rt  rs  rr     YlGnYlGnBuGnBuBuGnPuBuGnPuBuBuPuRdPuPuRdOrRdYlOrRdYlOrBrPurplesBluesGreensOrangesRedsGreysPuOrBrBGPRGnPiYGRdBuRdGyRdYlBuSpectralRdYlGnAccentDark2PairedPastel1Pastel2Set1Set2Set3Bokeh)
Category10
Category20Category20bCategory20c)MagmaInfernoPlasmaViridisCividis)Brightr  VibrantMutedMediumContrastLightSunsetBuRdTolPRGn	TolYlOrBr
Iridescent
TolRainbow
Colorblindr  r  r  r  r  Turbor  palettenintreturnc           	          |t                     k    r#t          d| dt                      d          t           fdt          j        dt                     dz
  |          D                       S )a   Generate a new palette as a subset of a given palette.

    Given an input ``palette``, take ``n`` colors from it by dividing its
    length into ``n`` (approximately) evenly spaced indices.

    Args:

        palette (seq[str]) : a sequence of hex RGB color strings
        n (int) : the size of the output palette to generate

    Returns:
        seq[str] : a sequence of hex RGB color strings

    Raises:
        ValueError if n > len(palette)

    z
Requested zJ colors, function can only return colors up to the base palette's length ()c              3  f   K   | ]+}t          t          j        |                             V  ,d S N)r  mathfloor).0ir  s     .lib/python3.11/site-packages/bokeh/palettes.py	<genexpr>z!linear_palette.<locals>.<genexpr>  s8      ^^!'#djmm,,-^^^^^^    r   r   )num)len
ValueErrortuplenplinspace)r  r  s   ` r  linear_paletter    s    $ 	3w<<  Ca  C  Csvw~ss  C  C  C  D  D  	D^^^^r{1c'llSTnZ[7\7\7\^^^^^^r        ?palette1palette2midpointfloatc                    |ddd         }t          t          ||z                      }t          t          d|z
  |z                      }t          | |          t          ||          z   S )au   Generate a new palette by combining exactly two input palettes.

    Given an input ``palette1`` and ``palette2``, take a combined ``n`` colors,
    and combine input palettes at the relative ``midpoint``.
    ``palette1`` and ``palette2`` are meant to be sequential palettes that proceed
    left to right from perceptually dark to light colors.  In that case the returned
    palette is comprised of the input palettes connected at perceptually light ends.
    Palettes are combined by piecewise linear interpolation.

    Args:

        palette1 (seq[str]) :
            A sequence of hex RGB color strings for the first palette

        palette2 (seq[str]) :
            A sequence of hex RGB color strings for the second palette

        n (int) :
            The size of the output palette to generate

        midpoint (float, optional) :
            Relative position in the returned palette where input palettes are
            connected (default: 0.5)

    Returns:
            seq[str] : a sequence of hex RGB color strings

    Raises:
        ValueError if n is greater than the possible combined length the input palettes
    Nr   )r  roundr  )r  r  r  r  n1n2s         r  diverging_paletter    sn    B "~H 
U8a<  	!	!B	UALA%&&	'	'B (B''.2*F*FFFr     colorstr
int | Nonestart_alpha	end_alphac                &  	 d|cxk    rdk    sn t          d| d          d|cxk    rdk    sn t          d| d          t          j        |                                           j        dk     r.t          |j        z            }t          |j        z            }||dk     r#t          t          ||z
                      dz   n||d	z  |d	z  dfd	t          	fdt                    D                       }|S )a   Generate a palette that is a single color with linearly varying alpha.

    Alpha may vary from low to high or high to low, depending on the values of
    ``start_alpha`` and ``end_alpha``.

    Args:
        color (str) :
            Named color or RGB(A) hex color string. Any alpha component is
            combined with the ``start_alpha`` to ``end_alpha`` range by
            multiplying them together, so it is the maximum possible alpha that
            can be obtained.

        n (int, optional) :
            The size of the palette to generate. If not specified uses the
            maximum number of colors such that adjacent colors differ by an
            alpha of 1.

        start_alpha (int, optional) :
            The alpha component of the start of the palette is this value (in
            the range 0 to 255) multiplied by the alpha component of the
            ``color`` argument.

        end_alpha (int, optional) :
            The alpha component of the end of the palette is this value (in
            the range 0 to 255) multiplied by the alpha component of the
            ``color`` argument.

    Returns:
        seq[str] : a sequence of hex RGBA color strings

    Raises:
        ValueError if ``color`` is not recognisable as a string name or hex
            RGB(A) string, or if ``start_alpha`` or ``end_alpha`` are outside
            the range 0 to 255 inclusive.

    r   r  zstart_alpha z must be in the range 0 to 255z
end_alpha       ?Nr        o@rgbar   r  r  r  c                4    z
  |z  dz
  z  z   | _         | S )Nr  )a)r  r  nnnorm_end_alphanorm_start_alphas     r  	set_alphaz(varying_alpha_palette.<locals>.set_alphab  s)    !^6F%F$IRPSV$TTr  c              3  T   K   | ]"} |                                           V  #d S r  )to_hex)r  r  r  r  s     r  r  z(varying_alpha_palette.<locals>.<genexpr>f  s;      CCAIIdA&&--//CCCCCCr  )r  r   r  r  r  r   )
r  r   from_stringcopyr   r  r  absr  range)
r  r  r  r  r  r  r  r  r  r  s
        @@@@@r  varying_alpha_paletter  &  sq   L ########SSSSTTT!!!!c!!!!OiOOOPPP !%((--//Dv||K.//)DF*++	yAEEY,--..2 #U*&N        CCCCCrCCCCCGNr  c           	        t          |           }|dk     rt          d          |dk     rt          d          t          |           }t          j        |          }t          j        d|dz
  |          }t          j        |||dddf                                       t          j                  }t          j        |||dddf                                       t          j                  }t          j        |||dddf                                       t          j                  }t          j        |||dddf                   dz  }	t          d	 t          ||||	          D                       S )
a   Generate a new palette by interpolating a given palette.

    Linear interpolation is performed separately on each of the RGBA
    components.

    Args:
        palette (seq[str]) :
            A sequence of hex RGB(A) color strings to create new palette from

        n (int) :
            The size of the palette to generate

    Returns:
        tuple[str] : a sequence of hex RGB(A) color strings

    Raises:
        ValueError if ``n`` is negative or the supplied ``palette`` is empty.

    r   z'palette must contain at least one colorr   z+requested palette length cannot be negativeN   rk  r  c              3  L   K   | ]}t          |                                 V   d S r  )r   r  )r  argss     r  r  z!interp_palette.<locals>.<genexpr>  s2      AAd""$$AAAAAAr  )r  r  to_rgba_arrayr  aranger  interpastypeuint8r  zip)
r  r  npalette
rgba_arrayintegers	fractionsrgbr   s
             r  interp_paletter  j  sP   ( 7||H!||BCCC1uuFGGGw''Jy""HAxz1--I
	)Xz!!!Q$'788??IIA
	)Xz!!!Q$'788??IIA
	)Xz!!!Q$'788??IIA
	)Xz!!!Q$'7885@AAAQ1aAAAAAAr  c                ,    t          t          |           S )an   Generate a palette of colors from the Magma palette.

    The full Magma palette that serves as input for deriving new palettes
    has 256 colors, and looks like:

    :bokeh-palette:`magma(256)`

    Args:
        n (int) : size of the palette to generate

    Returns:
        seq[str] : a sequence of hex RGB color strings

    Raises:
        ValueError if n is greater than the base palette length of 256

    Examples:

    .. code-block:: python

        >>> magma(6)
        ('#000003', '#3B0F6F', '#8C2980', '#DD4968', '#FD9F6C', '#FBFCBF')

    The resulting palette looks like: :bokeh-palette:`magma(6)`

    )r  Magma256r  s    r  magmar!    s    6 (A&&&r  c                ,    t          t          |           S )ax   Generate a palette of colors from the Inferno palette.

    The full Inferno palette that serves as input for deriving new palettes
    has 256 colors, and looks like:

    :bokeh-palette:`inferno(256)`

    Args:
        n (int) : size of the palette to generate

    Returns:
        seq[str] : a sequence of hex RGB color strings

    Raises:
        ValueError if n is greater than the base palette length of 256

    Examples:

    .. code-block:: python

        >>> inferno(6)
        ('#000003', '#410967', '#932567', '#DC5039', '#FBA40A', '#FCFEA4')

    The resulting palette looks like: :bokeh-palette:`inferno(6)`

    )r  
Inferno256r   s    r  infernor$        6 *a(((r  c                ,    t          t          |           S )as   Generate a palette of colors from the Plasma palette.

    The full Plasma palette that serves as input for deriving new palettes
    has 256 colors, and looks like:

    :bokeh-palette:`plasma(256)`

    Args:
        n (int) : size of the palette to generate

    Returns:
        seq[str] : a sequence of hex RGB color strings

    Raises:
        ValueError if n is greater than the base palette length of 256

    Examples:

    .. code-block:: python

        >>> plasma(6)
        ('#0C0786', '#6A00A7', '#B02A8F', '#E06461', '#FCA635', '#EFF821')

    The resulting palette looks like: :bokeh-palette:`plasma(6)`

    )r  	Plasma256r   s    r  plasmar(    s    6 )Q'''r  c                ,    t          t          |           S )ax   Generate a palette of colors from the Viridis palette.

    The full Viridis palette that serves as input for deriving new palettes
    has 256 colors, and looks like:

    :bokeh-palette:`viridis(256)`

    Args:
        n (int) : size of the palette to generate

    Returns:
        seq[str] : a sequence of hex RGB color strings

    Raises:
        ValueError if n is greater than the base palette length of 256

    Examples:

    .. code-block:: python

        >>> viridis(6)
        ('#440154', '#404387', '#29788E', '#22A784', '#79D151', '#FDE724')

    The resulting palette looks like: :bokeh-palette:`viridis(6)`

    )r  
Viridis256r   s    r  viridisr+    r%  r  c                ,    t          t          |           S )ax   Generate a palette of colors from the Cividis palette.

    The full Cividis palette that serves as input for deriving new palettes
    has 256 colors, and looks like:

    :bokeh-palette:`cividis(256)`

    Args:
        n (int) : size of the palette to generate

    Returns:
        seq[str] : a sequence of hex RGB color strings

    Raises:
        ValueError if n is greater than the base palette length of 256

    Examples:

    .. code-block:: python

        >>> cividis(6)
        ('#00204C', '#31446B', '#666870', '#958F78', '#CAB969', '#FFE945')

    The resulting palette looks like: :bokeh-palette:`cividis(6)`

    )r  
Cividis256r   s    r  cividisr.    r%  r  c                ,    t          t          |           S )a   Generate a palette of colors from the Turbo palette.

    Turbo is described here:

    https://ai.googleblog.com/2019/08/turbo-improved-rainbow-colormap-for.html

    The full Turbo palette that serves as input for deriving new palettes
    has 256 colors, and looks like:

    :bokeh-palette:`turbo(256)`

    Args:
        n (int) : size of the palette to generate

    Returns:
        seq[str] : a sequence of hex RGB color strings

    Raises:
        ValueError if n is greater than the base palette length of 256

    Examples:

    .. code-block:: python

        >>> turbo(6)
        ('#00204C', '#31446B', '#666870', '#958F78', '#CAB969', '#FFE945')

    The resulting palette looks like: :bokeh-palette:`turbo(6)`

    )r  Turbo256r   s    r  turbor1     s    > (A&&&r  c                ,    t          t          |           S )a   Generate a palette of colors from the Greys palette.

    The full Greys palette that serves as input for deriving new palettes
    has 256 colors, and looks like:

    :bokeh-palette:`grey(256)`

    Args:
        n (int) : size of the palette to generate

    Returns:
        seq[str] : a sequence of hex RGB color strings

    Raises:
        ValueError if n is greater than the base palette length of 256

    Examples:

    .. code-block:: python

        >>> grey(6)
        ('#000000', '#333333', '#666666', '#999999', '#cccccc', '#ffffff')

    The resulting palette looks like: :bokeh-palette:`gray(6)`

    .. note::
        This function also has the alternate spelling ``gray``

    r  Greys256r   s    r  greyr5  A      < (A&&&r  c                ,    t          t          |           S )a   Generate a palette of colors or from the Greys palette.

    The full Greys palette that serves as input for deriving new palettes
    has 256 colors, and looks like:

    :bokeh-palette:`grey(256)`

    Args:
        n (int) : size of the palette to generate

    Returns:
        seq[str] : a sequence of hex RGB color strings

    Raises:
        ValueError if n is greater than the base palette length of 256

    Examples:

    .. code-block:: python

        >>> gray(6)
        ('#000000', '#333333', '#666666', '#999999', '#cccccc', '#ffffff')

    The resulting palette looks like: :bokeh-palette:`grey(6)`

    .. note::
        This function also has the alternate spelling ``grey``

    r3  r   s    r  grayr8  a  r6  r  npt.NDArray[np.uint8]c                    t          j        t          |           dft           j                  }t	          |           D ]9\  }}t          j        |          }|j        |j        |j	        |j
        dz  f||<   :|S )z@ Convert palette to a numpy array of uint8 RGBA components.
    rj  )dtyper  )r  emptyr  r  	enumerater   r  r  r  r  r   )r  r  r  r  r  s        r  r  r    sv     3w<<+28<<<Jg&& = =5%e,,<
1r  z	list[str]__palettes__c                    | d         S )Nr    )args    r  <lambda>rB    s
    3q6 r  )keyr  _c                <    g | ]}t           t          |          z   S r@  )namer  )r  indexs     r  
<listcomp>rH    s#    NNNEdSZZ'NNNr  )r  r
   r  r  r  r
   )r  )
r  r
   r  r
   r  r  r  r  r  r
   )Nr   r  )
r  r  r  r  r  r  r  r  r  r
   )r  r  r  r
   )r  r
   r  r9  (s  __doc__
__future__r   logging	getLogger__name__logr  r  r   typingr   numpyr  colors.utilr   r   numpy.typingnpttyping_extensionsr	   r  r  r
   __annotations__dictr  r   r   YlGn3YlGn4YlGn5YlGn6YlGn7YlGn8YlGn9YlGnBu3YlGnBu4YlGnBu5YlGnBu6YlGnBu7YlGnBu8YlGnBu9GnBu3GnBu4GnBu5GnBu6GnBu7GnBu8GnBu9BuGn3BuGn4BuGn5BuGn6BuGn7BuGn8BuGn9PuBuGn3PuBuGn4PuBuGn5PuBuGn6PuBuGn7PuBuGn8PuBuGn9PuBu3PuBu4PuBu5PuBu6PuBu7PuBu8PuBu9BuPu3BuPu4BuPu5BuPu6BuPu7BuPu8BuPu9RdPu3RdPu4RdPu5RdPu6RdPu7RdPu8RdPu9PuRd3PuRd4PuRd5PuRd6PuRd7PuRd8PuRd9OrRd3OrRd4OrRd5OrRd6OrRd7OrRd8OrRd9YlOrRd3YlOrRd4YlOrRd5YlOrRd6YlOrRd7YlOrRd8YlOrRd9YlOrBr3YlOrBr4YlOrBr5YlOrBr6YlOrBr7YlOrBr8YlOrBr9Purples3Purples4Purples5Purples6Purples7Purples8Purples9
Purples256Blues3Blues4Blues5Blues6Blues7Blues8Blues9Blues256Greens3Greens4Greens5Greens6Greens7Greens8Greens9	Greens256Oranges3Oranges4Oranges5Oranges6Oranges7Oranges8Oranges9
Oranges256Reds3Reds4Reds5Reds6Reds7Reds8Reds9Reds256Greys3Greys4Greys5Greys6Greys7Greys8Greys9Greys10Greys11r4  PuOr3PuOr4PuOr5PuOr6PuOr7PuOr8PuOr9PuOr10PuOr11BrBG3BrBG4BrBG5BrBG6BrBG7BrBG8BrBG9BrBG10BrBG11PRGn3PRGn4PRGn5PRGn6PRGn7PRGn8PRGn9PRGn10PRGn11PiYG3PiYG4PiYG5PiYG6PiYG7PiYG8PiYG9PiYG10PiYG11RdBu3RdBu4RdBu5RdBu6RdBu7RdBu8RdBu9RdBu10RdBu11RdGy3RdGy4RdGy5RdGy6RdGy7RdGy8RdGy9RdGy10RdGy11RdYlBu3RdYlBu4RdYlBu5RdYlBu6RdYlBu7RdYlBu8RdYlBu9RdYlBu10RdYlBu11	Spectral3	Spectral4	Spectral5	Spectral6	Spectral7	Spectral8	Spectral9
Spectral10
Spectral11RdYlGn3RdYlGn4RdYlGn5RdYlGn6RdYlGn7RdYlGn8RdYlGn9RdYlGn10RdYlGn11Accent8Accent7Accent6Accent5Accent4Accent3Dark2_8Dark2_7Dark2_6Dark2_5Dark2_4Dark2_3Paired12Paired11Paired10Paired9Paired8Paired7Paired6Paired5Paired4Paired3	Pastel1_9	Pastel1_8	Pastel1_7	Pastel1_6	Pastel1_5	Pastel1_4	Pastel1_3	Pastel2_8	Pastel2_7	Pastel2_6	Pastel2_5	Pastel2_4	Pastel2_3Set1_9Set1_8Set1_7Set1_6Set1_5Set1_4Set1_3Set2_8Set2_7Set2_6Set2_5Set2_4Set2_3Set3_12Set3_11Set3_10Set3_9Set3_8Set3_7Set3_6Set3_5Set3_4Set3_3Inferno3Inferno4Inferno5Inferno6Inferno7Inferno8Inferno9	Inferno10	Inferno11r#  Magma3Magma4Magma5Magma6Magma7Magma8Magma9Magma10Magma11r  Plasma3Plasma4Plasma5Plasma6Plasma7Plasma8Plasma9Plasma10Plasma11r'  Viridis3Viridis4Viridis5Viridis6Viridis7Viridis8Viridis9	Viridis10	Viridis11r*  Cividis3Cividis4Cividis5Cividis6Cividis7Cividis8Cividis9	Cividis10	Cividis11r-  Turbo3Turbo4Turbo5Turbo6Turbo7Turbo8Turbo9Turbo10Turbo11r0  Category10_10Category10_9Category10_8Category10_7Category10_6Category10_5Category10_4Category10_3Category20_20Category20_19Category20_18Category20_17Category20_16Category20_15Category20_14Category20_13Category20_12Category20_11Category20_10Category20_9Category20_8Category20_7Category20_6Category20_5Category20_4Category20_3Category20b_20Category20b_19Category20b_18Category20b_17Category20b_16Category20b_15Category20b_14Category20b_13Category20b_12Category20b_11Category20b_10Category20b_9Category20b_8Category20b_7Category20b_6Category20b_5Category20b_4Category20b_3Category20c_20Category20c_19Category20c_18Category20c_17Category20c_16Category20c_15Category20c_14Category20c_13Category20c_12Category20c_11Category20c_10Category20c_9Category20c_8Category20c_7Category20c_6Category20c_5Category20c_4Category20c_3Colorblind8Colorblind7Colorblind6Colorblind5Colorblind4Colorblind3Bright7Bright6Bright5Bright4Bright3HighContrast3Vibrant7Vibrant6Vibrant5Vibrant4Vibrant3Muted9Muted8Muted7Muted6Muted5Muted4Muted3MediumContrast6MediumContrast5MediumContrast4MediumContrast3PaleTextBackgroundDarkTextLight9Light8Light7Light6Light5Light4Light3Sunset11Sunset10Sunset9Sunset8Sunset7Sunset6Sunset5Sunset4Sunset3BuRd9BuRd8BuRd7BuRd6BuRd5BuRd4BuRd3TolPRGn9TolPRGn8TolPRGn7TolPRGn6TolPRGn5TolPRGn4TolPRGn3
TolYlOrBr9
TolYlOrBr8
TolYlOrBr7
TolYlOrBr6
TolYlOrBr5
TolYlOrBr4
TolYlOrBr3Iridescent23Iridescent22Iridescent21Iridescent20Iridescent19Iridescent18Iridescent17Iridescent16Iridescent15Iridescent14Iridescent13Iridescent12Iridescent11Iridescent10Iridescent9Iridescent8Iridescent7Iridescent6Iridescent5Iridescent4Iridescent3TolRainbow23TolRainbow22TolRainbow21TolRainbow20TolRainbow19TolRainbow18TolRainbow17TolRainbow16TolRainbow15TolRainbow14TolRainbow13TolRainbow12TolRainbow11TolRainbow10TolRainbow9TolRainbow8TolRainbow7TolRainbow6TolRainbow5TolRainbow4TolRainbow3Bokeh8Bokeh7Bokeh6Bokeh5Bokeh4Bokeh3r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  brewerbokehd3mpltol
colorblindall_palettesupdatesmall_palettesr  r  r  r  r!  r$  r(  r+  r.  r1  r5  r8  r  r>  sorteditemsrF  palettesisdigitkeysr@  r  r  <module>r\     s+!  PN N Nf # " " " " " g!!                        ) ( ( ( ( ( ( ( ,++++++ 38_ $ $ $ $#CL1  1 1 1 1S"334
 4 4 4 4)4?JU`k
+
6
A
L
W
b
m)4?JU`k)4?JU`k
+
6
A
L
W
b
m)4?JU`k)4?JU`k)4?JU`k)4?JU`k)4?JU`k
+
6
A
L
W
b
m
+
6
A
L
W
b
m,7BMXcn0
0 
+	5	@	K	V	a	l00 ,
6
A
L
W
b
m0	0 -7BMXcn0
0 	*4?JU`k00 
+	5	@	K	V	a	l
x D00 	*4?JU`k	w 
C)4?JU`k	w 
C)4?JU`k	w 
C)4?JU`k	w 
C)4?JU`k	w 
C)4?JU`k	w 
C
+
6
A
L
W
b
my E-	8	C	N	Y	d	o	{
 G

+
6
A
L
W
b
my E c
"1"+
"1"+
"1"+
"1"+
"1"+ c
"1"+
"1"+
"1"+
"1"+
"1"+ PCRC=CRC=
2A2,
2A2,
2A2,
2A2,
2A2,
2A2,
2A2, p	bqbM	bqbM	bqbM	bqbM	bqbM	bqbM	 e	bqbM	bqbM	bqbM	bqbM	bqbM	 
m						 
b					 O
#2#,
#2#,	!	!	!	!	!	!	!,7BMXcnz	 F	0
0 
+	5	@	K	V	a	l
x D00 ,
6
A
L
W
b
my E0	0 -7BMXcnz	 F	0
0 -7BMXcnz	 F	0
0 
+	5	@	K	V	a	l
x D00 RaR RaR RaR RaR RaR RaR RaR r crc"crc"crc"crc"crc"crc"crc"crc"crc"crc"RaR RaR RaR RaR RaR RaR RaR r  $$$$$$$$$$rr"rr"rr"rr"rr"rr"rr"r  $$$$$$$$$$rr"rr"rr"rr"rr"rr"rr" g"1"o"1"o"1"o"1"o"1"o X
"1"+
"1"+
"1"+
"1"+1XBQB<BQB<BQB<BQB<	l						T!"1"%!"1"%!"1"%W M	l						 Ey
m
b
W
L
A
6
+k`UJ?4) ocXMB7, q
e
Z
O
D
9
.
% CRC CRC CRC CRC CRC CRC CRC CRC CRC CRC CRC CRC CRC 2A22A22A22A22A22A22A2%}rg\QF;0% I}qf[PE:/ 
b	V				 eE%V[dikkgG'V]dkmmeE%V[dikkeE%V[dikkgG'V]dkmmeE%V[dikkeE%V[dikkeE%V[dikkeE%V[dikkeE%V[dikkgG'V]dkmmgG'V]dkmmhH(V^dlt~  A  AfF&V\djt|  A  AgG'V]dkt}  A  AhH(V^dlt~  A  AeE%V[dit{  A  AfF&V\djt|  A  AeE%V[disy  DJ  L  LeE%V[disy  DJ  L  LeE%V[disy  DJ  L  LeE%V[disy  DJ  L  LeE%V[disy  DJ  L  LeE%V[disy  DJ  L  LgG'V]dks{  DL  N  NiI)	V_dms}  DN  P  PgG'V]dks{  DL  N  NgG'V]__gG'V]__gG'V]dks{  DL  S[  ]  ]iI)	V_dmooiI)	V_aafF&V\djllfF&V\^^fF&V\djsz  DK  SZ  \  \fF&V\djsz  DK  T\  ^  ^hH(V^dls|  DM  T^  `  `gG'V]dks{  DL  T]  _  _hH(V^dls|  DM  T^  `  `hH(V^dls|  DM  T^  `  `fF&V\djsz  DK  T\  ^  ^L\lL\}W W
LL LA LL LAP\ L`adp LLL$%L8:MLLNP]L`bdqLML$&L8:MLLNP]L`bdqL ML %'L 9;ML L
MM MA MM MAP] M`adq MMM$%M8:NMLNP^M`bdrMNM$&M8:NMLNP^M`bdrM NM %'M 9;NM MMM MA MM MAP] M`adq MMM$%M8:NMLNP^M`bdrMNM$&M8:NMLNP^M`bdrM NM %'M 9;NM M ;;;S^cnpp
'g'g	G	G-.+? ? ? ? ?Hh8
M
M6fFvWW%/oRacc6fFvWW'g'g'V]ckqy	{	{e%EeOOHh8PX]e
g
g
zjZ\fkuww	}q; }[ }1{ }Q }WX[f }K}"#k}46}FH,}XZ\h}L}"$l}46}FH,}XZ\h} L} #%l} 9E,\hnz} } }
}q; }[ }1{ }Q }WX[f }K}"#k}46}FH,}XZ\h}L}"$l}46}FH,}XZ\h} L} #%l} 9E,\hnz} } }
 6fFLL$

$
$
 $
 	$

 $
 $
 $
 $
 $
 $
 $
 $
 $
 $
 $
  !$
" #$
 $
$ %$
& '$
( )$
* +$
, -$
. /$
0 1$
2 3$
4 5$
6 7$
8 9$
: ;$
< =$
> ?$
@ A$
B C$
D E$
 $
F G$
 $
N e	
 	     $   :
 x   B      C   '\ "W $Y #X $Y $Y "W "W ,''7C 7C 9c"8S!9c"9c"7C _ _ _ _,(G (G (G (G (GTB B B B BH#B #B #B #BJ' ' ' ':) ) ) ):( ( ( (:) ) ) ):) ) ) ):' ' ' 'B' ' ' '@' ' ' 'H	 	 	 	&     f\//117I7IJJJ O OND(b))++54#::DNNVVHMMOO5L5LNNNNLLO Or  