[astro] Refresh zodiac handling (#19830)
* Refreshing zodiac handling Signed-off-by: gael@lhopital.org <gael@lhopital.org>
@@ -8,6 +8,9 @@ This program and the accompanying materials are made available under the terms
|
||||
of the Eclipse Public License 2.0 which is available at
|
||||
https://www.eclipse.org/legal/epl-2.0/.
|
||||
|
||||
Zodiac Icon Set provided by SVG Repo under CC0 License (Public Domain) at
|
||||
https://www.svgrepo.com/collection/zodiac-2/
|
||||
|
||||
== Source Code
|
||||
|
||||
https://github.com/openhab/openhab-addons
|
||||
|
||||
@@ -28,6 +28,26 @@ Optionally, a refresh `interval` (in seconds) can be defined to also calculate p
|
||||
Season calculation can be switched from equinox based calculation to meteorological based (starting on the first day of the given month).
|
||||
This is done by setting `useMeteorologicalSeason` to true in the advanced setting of the sun.
|
||||
|
||||
## Provided icon set
|
||||
|
||||
This binding has its own IconProvider and makes available the following list of icons
|
||||
|
||||
| Icon Name | Dynamic | Illustration |
|
||||
|-----------------------------|---------|--------------|
|
||||
| oh:astro:zodiac | Yes |  |
|
||||
| oh:astro:zodiac-aquarius | Yes |  |
|
||||
| oh:astro:zodiac-aries | Yes |  |
|
||||
| oh:astro:zodiac-cancer | Yes |  |
|
||||
| oh:astro:zodiac-capricorn | Yes |  |
|
||||
| oh:astro:zodiac-gemini | Yes |  |
|
||||
| oh:astro:zodiac-leo | Yes |  |
|
||||
| oh:astro:zodiac-libra | Yes |  |
|
||||
| oh:astro:zodiac-pisces | Yes |  |
|
||||
| oh:astro:zodiac-sagittarius | Yes |  |
|
||||
| oh:astro:zodiac-scorpio | Yes |  |
|
||||
| oh:astro:zodiac-taurus | Yes |  |
|
||||
| oh:astro:zodiac-virgo | Yes |  |
|
||||
|
||||
## Channels
|
||||
|
||||
- **thing** `sun`
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.158 496.158">
|
||||
<path
|
||||
d="M248.082.003C111.07.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.082 248.07 137.006 0 248.076-111.069 248.076-248.07C496.158 111.062 385.088.003 248.082.003z"
|
||||
fill="#f9dc5f" />
|
||||
<path
|
||||
d="M235.765 118.016l-3.109-3.109c-9.275-9.274-36.705 3.118-61.262 27.676-24.559 24.56-36.951 51.987-27.676 61.262l3.109 3.109c9.273 9.274 36.701-3.118 61.26-27.677 24.559-24.558 36.951-51.987 27.678-61.261z"
|
||||
fill="#a3947c" />
|
||||
<path
|
||||
d="M171.393 142.583c-24.559 24.56-36.951 51.987-27.676 61.262l3.109 3.109c9.273 9.274 36.701-3.118 61.26-27.677l-36.693-36.694z"
|
||||
fill="#918169" />
|
||||
<path fill="#a3947c" d="M246.178 149.262l-68.41 68.412-10.884-10.883 68.411-68.412z" />
|
||||
<path fill="#918169" d="M212.655 182.781l-34.889 34.889-10.884-10.885 34.888-34.888z" />
|
||||
<path
|
||||
d="M412.991 305.866l-38.188-86.822c-34.924-63.343-72.076-80.919-72.076-80.919-19.988-8.62-64.943 9.59-64.943 9.59l-30.794 29.58-.015-.016-.373.388-.387.372.016.016-29.582 30.794s-18.207 44.952-9.588 64.941c0 0 17.578 37.155 80.92 72.075l86.822 38.188s22.146 4.738 52.385-25.044l.011.011c.13-.129.247-.256.372-.384.131-.128.259-.246.387-.375l-.01-.011c29.781-30.237 25.043-52.384 25.043-52.384z"
|
||||
fill="#a3947c" />
|
||||
<path
|
||||
d="M387.948 358.25L206.99 177.294l-.015-.016-.373.388-.387.372.016.016-29.582 30.795s-18.207 44.952-9.588 64.941c0 0 17.578 37.155 80.92 72.075l86.822 38.188s22.146 4.738 52.385-25.044l.011.011c.13-.129.247-.256.372-.384.131-.128.259-.246.387-.375l-.01-.011z"
|
||||
fill="#918169" />
|
||||
<path
|
||||
d="M224.421 123.141c-7.558-7.558-29.908 2.541-49.918 22.552-20.012 20.012-30.109 42.361-22.553 49.918 7.557 7.557 29.906-2.541 49.92-22.552 20.008-20.011 30.107-42.361 22.551-49.918z"
|
||||
fill="#414140" />
|
||||
<path
|
||||
d="M394.7 162.184c-16.23-30.965-51.829-44.304-79.51-29.794-27.682 14.51-36.963 51.375-20.73 82.34 16.23 30.966 51.829 44.305 79.51 29.795 27.683-14.511 36.963-51.375 20.73-82.341zm-29.696 65.235c-19.237 10.084-43.976.814-55.254-20.705-11.278-21.517-4.831-47.135 14.406-57.219 19.235-10.083 43.974-.813 55.254 20.706 11.28 21.517 4.829 47.135-14.406 57.218z"
|
||||
fill="#a3947c" />
|
||||
<path
|
||||
d="M243.349 265.842c-30.966-16.232-67.83-6.951-82.34 20.731-14.51 27.68-1.172 63.279 29.793 79.51 30.966 16.232 67.83 6.951 82.342-20.731 14.508-27.681 1.169-63.279-29.795-79.51zm12.688 70.543c-10.083 19.235-35.7 25.687-57.218 14.406-21.52-11.279-30.788-36.018-20.705-55.253 10.084-19.236 35.701-25.686 57.219-14.406s30.788 36.017 20.704 55.253z"
|
||||
fill="#918169" />
|
||||
<path
|
||||
d="M205.835 169.055s-38.207 3.371-61.805 15.17c0 0-72.666 41.015-59.557 111.809 13.111 70.793 58.621 78.659 69.297 77.536 0 0-23.973-80.907-5.619-124.356 18.272-43.256 57.684-80.159 57.684-80.159z"
|
||||
fill="#98cad8" />
|
||||
<path
|
||||
d="M126.053 210.257c-20.977 16.481-39.058 36.824-35.21 78.659 5.994 65.175 53.938 77.161 53.938 77.161-61.43-60.679-18.728-155.82-18.728-155.82z"
|
||||
fill="#c1dfe8" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
@@ -0,0 +1,37 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.159 496.159">
|
||||
<path
|
||||
d="M248.083.003C111.071.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.083 248.07 137.006 0 248.076-111.069 248.076-248.07C496.159 111.062 385.089.003 248.083.003z"
|
||||
fill="#f2b12f" />
|
||||
<path
|
||||
d="M444.762 177.718C425.032 85.898 315 116.252 315 116.252c-47.807 11.383-56.913 65.26-56.913 65.26 1.518 16.188 38.954 37.942 38.954 37.942 18.719 7.588 24.282-9.106 24.282-9.106l14.67-26.812c18.213-24.789 36.425-18.718 36.425-18.718 0 8.6 11.129 53.625 11.129 53.625 7.588 20.236 2.023 64.249 2.023 64.249-2.024 24.283 16.188 22.259 16.188 22.259 7.588-6.071 16.903-19.489 20.235-23.777.425-.546.917-1.035 1.364-1.563 30.247-35.812 21.405-101.893 21.405-101.893z"
|
||||
fill="#6d6256" />
|
||||
<g fill="#847664">
|
||||
<path
|
||||
d="M375.21 302.167c-3.541 15.682 15.095 26.805 26.307 6.323 13.153-24.029 60.453-41.988 60.453-41.988-62.73-.759-85.755 31.216-86.76 35.665zM444.762 177.718C425.032 85.898 315 116.252 315 116.252c-47.807 11.383-56.913 65.26-56.913 65.26 1.518 16.188 38.954 37.942 38.954 37.942 18.719 7.588 24.282-9.106 24.282-9.106l14.67-26.812c18.213-24.789 32.631-18.718 36.425-18.718 30.858 0 48.059 30.101 61.718 30.101 13.66-.001 10.626-17.201 10.626-17.201z" />
|
||||
</g>
|
||||
<path
|
||||
d="M181.881 116.252S71.85 85.898 52.12 177.718c0 0-8.844 66.081 21.402 101.893.445.527.938 1.016 1.362 1.563 8.355 10.772 12.647 17.706 20.235 23.777 0 0 18.213 2.024 16.19-22.259 0 0-5.566-44.012 2.022-64.249 0 0 11.131-45.024 11.131-53.625 0 0 18.212-6.07 36.424 18.718l14.67 26.812s5.565 16.694 24.284 9.106c0 0 37.436-21.754 38.954-37.942-.001 0-9.107-53.877-56.913-65.26z"
|
||||
fill="#6d6256" />
|
||||
<g fill="#847664">
|
||||
<path
|
||||
d="M120.95 302.167c-1.005-4.449-24.03-36.424-86.76-35.665 0 0 47.3 17.959 60.453 41.988 11.212 20.483 29.848 9.36 26.307-6.323zM181.881 116.252S71.85 85.898 52.12 177.718c0 0-3.036 17.2 10.624 17.2 13.659 0 30.859-30.101 61.719-30.101 3.793 0 18.212-6.07 36.424 18.718l14.67 26.812s5.565 16.694 24.284 9.106c0 0 37.436-21.754 38.954-37.942-.002.001-9.108-53.876-56.914-65.259z" />
|
||||
</g>
|
||||
<path
|
||||
d="M322.772 247.38s9.486-19.35 3.794-28.457c0 0-6.83-5.312-17.074-6.83 0 0-26.488-14.923-46.881-30.733-3.725-2.889-10.014-3.034-13.795-3.035h-.031c-3.782.001-10.071.146-13.796 3.035-20.393 15.81-46.881 30.733-46.881 30.733-10.244 1.518-17.074 6.83-17.074 6.83-5.691 9.106 3.795 28.457 3.795 28.457 1.896 7.588-1.897 23.524-1.897 23.524-4.173 27.698 9.865 35.666 9.865 35.666 10.624 6.83 13.658 29.595 13.658 29.595 1.518 11.382 6.83 28.835 6.83 28.835 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044 8.401 2.182 15.162-6.833 0 0 27.319-27.318 30.354-32.63 0 0 5.313-17.453 6.831-28.835 0 0 3.034-22.765 13.658-29.595 0 0 14.039-7.968 9.865-35.666-.001 0-3.795-15.936-1.898-23.524z"
|
||||
fill="#b79563" />
|
||||
<path
|
||||
d="M248.816 178.326h-.031c-3.782.001-10.071.146-13.796 3.035-20.393 15.81-46.881 30.733-46.881 30.733-10.244 1.518-17.074 6.83-17.074 6.83-5.691 9.106 3.795 28.457 3.795 28.457 1.896 7.588-1.897 23.524-1.897 23.524-4.173 27.698 9.865 35.666 9.865 35.666 10.624 6.83 13.658 29.595 13.658 29.595 1.518 11.382 6.83 28.835 6.83 28.835 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.043-.015-226.138.016-226.138z"
|
||||
fill="#aa885b" />
|
||||
<path
|
||||
d="M247.709 304.556c-48.099 0-51.254 31.608-51.254 31.608 1.518 11.382 6.83 28.835 6.83 28.835 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044 8.401 2.182 15.162-6.833 0 0 27.319-27.318 30.354-32.63 0 0 5.313-17.453 6.831-28.835-.002 0-5.339-31.608-53.438-31.608z"
|
||||
fill="#e0c199" />
|
||||
<path
|
||||
d="M248.785 387.421c-29.595 0-45.5-22.422-45.5-22.422 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044 8.401 2.182 15.162-6.833 0 0 27.319-27.318 30.354-32.63-.001 0-15.936 22.422-45.531 22.422z"
|
||||
fill="#9e7f56" />
|
||||
<g fill="#494949">
|
||||
<path
|
||||
d="M191.65 228.409l-22.006-.759s-1.518 1.645-.253 9.612c1.265 7.968 5.439 10.118 5.439 10.118l29.72 12.648 1.771-3.036-14.671-28.583zM327.957 227.65l-22.006.759-14.671 28.583 1.771 3.036 29.72-12.648s4.173-2.149 5.438-10.118c1.267-7.968-.252-9.612-.252-9.612zM280.332 332.534c-14.991-7.623-30.614-9.561-31.272-9.639-.088-.012-.172.019-.261.023-.087-.004-.171-.035-.26-.023-.657.078-16.281 2.016-31.271 9.639a1.52 1.52 0 00-.83 1.302 1.521 1.521 0 00.74 1.355l30.764 18.339c.24.143.508.214.777.214.027 0 .054-.009.08-.01.027.001.054.01.082.01.268 0 .537-.071.777-.214l30.764-18.339a1.519 1.519 0 00-.09-2.657z" />
|
||||
<path
|
||||
d="M327.957 227.65l-.042.002c.407 1.254.674 2.605.796 4.014-.015-3.204-.754-4.016-.754-4.016zM281.348 364.701a1.622 1.622 0 00-2.136-.832c-10.592 4.661-18.443 5.263-23.34 1.787-4.046-2.872-5.281-8.063-5.635-11.596.168-2.229.031-3.815.014-3.993a1.616 1.616 0 00-1.587-1.46l-.014-.002a1.616 1.616 0 00-1.747 1.485c-.015.178-.131 1.778.069 4.022-.304 3.5-1.461 8.609-5.427 11.489-4.874 3.537-12.816 2.954-23.607-1.735a1.617 1.617 0 00-2.132.841 1.619 1.619 0 00.84 2.132c6.543 2.844 12.212 4.267 16.967 4.267 3.904 0 7.191-.959 9.837-2.88 2.56-1.858 4.174-4.37 5.193-6.931 1.057 2.591 2.719 5.132 5.337 6.995 2.639 1.878 5.888 2.817 9.726 2.817 4.726 0 10.344-1.424 16.812-4.27a1.62 1.62 0 00.83-2.136z" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.2 KiB |
@@ -0,0 +1,59 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.159 496.159">
|
||||
<path
|
||||
d="M248.083.003C111.071.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.083 248.07 137.006 0 248.076-111.069 248.076-248.07C496.159 111.062 385.089.003 248.083.003z"
|
||||
fill="#58d1dd" />
|
||||
<path
|
||||
d="M303.188 423.508l-33.423-17.507a.844.844 0 00-.814.019 40.958 40.958 0 01-20.589 5.56c-.051 0-.095.021-.144.029-.049-.008-.093-.029-.144-.029a40.954 40.954 0 01-20.588-5.56.847.847 0 00-.814-.019l-33.423 17.507a.84.84 0 00-.411 1.003c6.388 19.814 29.102 33.653 55.236 33.653.051 0 .095-.021.144-.028.048.008.093.028.144.028 26.135 0 48.85-13.838 55.236-33.653a.84.84 0 00-.41-1.003z"
|
||||
fill="#9b0000" />
|
||||
<path
|
||||
d="M248.36 411.585c-.028.006-.108.018-.142.024-.049-.008-.093-.029-.144-.029a40.954 40.954 0 01-20.588-5.56.847.847 0 00-.814-.019l-33.423 17.507a.84.84 0 00-.411 1.003c6.388 19.814 29.102 33.653 55.236 33.653.051 0 .095-.021.144-.028.034.005.113.017.142.023-.284-.207-.284-46.366 0-46.574z"
|
||||
fill="#aa0404" />
|
||||
<g fill="#840303">
|
||||
<path
|
||||
d="M351.846 201.877c-1.965-2.806-2.806-.562-2.806-.562 5.332 31.431-7.858 47.427-7.858 47.427-8.699 13.19-56.968 23.573-56.968 23.573l-1.123 11.225c71-10.383 73.807-48.549 73.807-48.549 8.137-27.222-5.052-33.114-5.052-33.114z" />
|
||||
<path
|
||||
d="M378.225 246.497c-.28-5.051-2.245-3.087-2.245-3.087-2.526 36.762-26.66 45.462-26.66 45.462-9.261.561-31.712 5.052-31.712 5.052-14.592-5.894-34.236-6.454-34.236-6.454s-8.139 9.261-.842 10.664c7.297 1.402 36.763 3.929 36.763 3.929 47.988-3.087 51.355-19.364 51.355-19.364 14.312-15.434 7.577-36.202 7.577-36.202zM305.121 181.672l-2.666.14s-12.629-7.577-23.152-7.998c0 0 45.042 26.099 37.043 52.198 0 0-10.524 17.68-36.202 26.52l2.105 9.682s37.885-13.471 41.253-33.676c0-.001 6.875-34.237-18.381-46.866z" />
|
||||
</g>
|
||||
<path
|
||||
d="M358.44 186.443c-7.577 2.104-4.63-9.261-4.63-9.261-8.419 10.103-26.941.421-26.941.421l-16.417 21.047-42.937-1.263 9.682 25.678 27.362 1.263-3.789-4.63 30.308-2.947 27.362-30.308z"
|
||||
fill="#9b0000" />
|
||||
<path
|
||||
d="M360.545 135.368c-49.952 3.368-95.976 31.711-95.976 31.711-8.138 4.491-8.699 21.608-8.699 21.608l10.103 8.7.562-10.665c3.306-22.45 23.853-24.976 23.853-24.976 21.89-12.629 75.209-19.645 75.209-19.645 19.364 0 34.237 22.731 34.237 22.731-4.49-25.816-39.289-29.464-39.289-29.464z"
|
||||
fill="#840303" />
|
||||
<g fill="#9b0000">
|
||||
<path
|
||||
d="M274.111 121.898c-21.047 21.048-25.963 64.243-25.963 64.243l3.653 1.003c1.684-38.868 21.889-62.44 21.889-62.44 1.122-2.385.421-2.806.421-2.806z" />
|
||||
<path
|
||||
d="M353.81 117.687c-9.541-38.167-55.846-71-55.846-71-25.257-15.154-35.64-5.894-35.64-5.894 34.798 29.747 48.83 86.996 48.83 86.996-43.778-56.688-49.953-81.944-49.953-81.944-26.099 47.471 63.563 129.231 63.563 129.231 21.468 10.804 29.327-.421 29.327-.421l4.77 5.893c0-3.929 7.017-14.032 7.017-14.032 0-10.943-12.068-48.829-12.068-48.829zM185.708 198.65l-16.417-21.047s-18.522 9.682-26.941-.421c0 0 2.947 11.366-4.63 9.261l27.362 30.308 30.308 2.947-3.789 4.63 27.362-1.263 9.682-25.678-42.937 1.263z" />
|
||||
</g>
|
||||
<g fill="#840303">
|
||||
<path
|
||||
d="M211.946 272.316s-48.269-10.383-56.968-23.573c0 0-13.19-15.997-7.858-47.427 0 0-.841-2.245-2.806.562 0 0-13.189 5.893-5.052 33.115 0 0 2.806 38.166 73.807 48.549l-1.123-11.226z" />
|
||||
<path
|
||||
d="M212.788 287.47s-19.644.561-34.236 6.454c0 0-22.451-4.491-31.712-5.052 0 0-24.134-8.7-26.66-45.462 0 0-1.964-1.964-2.245 3.087 0 0-6.735 20.767 7.577 36.202 0 0 3.368 16.276 51.355 19.364 0 0 29.466-2.527 36.763-3.929 7.297-1.403-.842-10.664-.842-10.664zM179.814 226.012c-7.998-26.099 37.043-52.198 37.043-52.198-10.523.421-23.152 7.998-23.152 7.998l-2.666-.14c-25.257 12.628-18.381 46.865-18.381 46.865 3.368 20.205 41.253 33.676 41.253 33.676l2.105-9.682c-25.678-8.839-36.202-26.519-36.202-26.519z" />
|
||||
<path
|
||||
d="M231.591 167.079s-46.024-28.344-95.977-31.711c0 0-34.799 3.648-39.289 29.466 0 0 14.874-22.731 34.237-22.731 0 0 53.32 7.016 75.209 19.645 0 0 20.547 2.526 23.853 24.976l.562 10.665 10.103-8.7c.001-.001-.56-17.119-8.698-21.61z" />
|
||||
</g>
|
||||
<g fill="#9b0000">
|
||||
<path
|
||||
d="M222.049 121.898s-.702.421.421 2.806c0 0 20.206 23.572 21.889 62.44l3.653-1.003s-4.915-43.195-25.963-64.243z" />
|
||||
<path
|
||||
d="M234.958 45.846s-6.174 25.257-49.953 81.944c0 0 14.032-57.249 48.83-86.996 0 0-10.383-9.261-35.64 5.894 0 0-46.305 32.833-55.846 71 0 0-12.068 37.885-12.068 48.83 0 0 7.017 10.103 7.017 14.032l4.77-5.893s7.858 11.225 29.327.421c0-.001 89.663-81.761 63.563-129.232z" />
|
||||
</g>
|
||||
<path
|
||||
d="M248.148 186.141c-18.481 0-42.24 23.033-42.24 94.805 0 101.027 14.742 127.758 42.24 127.758 27.497 0 42.239-26.169 42.239-127.758 0-71.351-23.758-94.805-42.239-94.805z"
|
||||
fill="#b50606" />
|
||||
<path d="M205.908 280.946c0 101.027 14.742 127.758 42.24 127.758V186.141c-18.482 0-42.24 23.033-42.24 94.805z"
|
||||
fill="#cc0e0e" />
|
||||
<g fill="#600">
|
||||
<ellipse transform="rotate(-169.235 235.663 212.684)" cx="235.663" cy="212.685" rx="4.771" ry="7.437" />
|
||||
<ellipse transform="scale(-1) rotate(78.591 259.895 -319.338)" cx="261.323" cy="212.679" rx="7.437"
|
||||
ry="4.771" />
|
||||
</g>
|
||||
<g fill="#840303">
|
||||
<path
|
||||
d="M248.582 318.117c-25.339 0-40.14-6.498-40.14-6.498s37.611 24.256 79.7 0c0 0-14.222 6.498-39.56 6.498zM248.555 339.992c-22.96 0-36.373-5.888-36.373-5.888s34.082 21.98 72.22 0c0 0-12.886 5.888-35.847 5.888zM248.523 360.908c-20.168 0-31.947-5.171-31.947-5.171s29.935 19.306 63.433 0c0 0-11.319 5.171-31.486 5.171zM248.495 379.643c-17.769 0-28.148-4.556-28.148-4.556s26.376 17.01 55.893 0c-.001 0-9.975 4.556-27.745 4.556z" />
|
||||
</g>
|
||||
<path d="M252.099 183.076l-4.019.935.171 7.755 3.874-.009c-.061 0-.026-8.681-.026-8.681z" fill="#b50606" />
|
||||
<path fill="#cc0e0e" d="M248.126 184.011l-4.052-.935-.026 8.699 4.11.017z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.6 KiB |
@@ -0,0 +1,31 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.158 496.158">
|
||||
<path
|
||||
d="M248.082.003C111.07.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.082 248.07 137.006 0 248.076-111.069 248.076-248.07C496.158 111.062 385.088.003 248.082.003z"
|
||||
fill="#af8d4a" />
|
||||
<g fill="#ddd9bf">
|
||||
<path
|
||||
d="M163.342 114.72c-66.5-6.5-119.159 61.667-105.5 61.667 0 0 26.641-24.167 57.5-24.167 49.5 0 79.501 56.5 79.501 56.5s-2.053 14.255 16.666 6.667c0 0 25.767-17.686 27.284-33.874 0-.001-22.979-61.664-75.451-66.793zM333.79 114.72c-52.473 5.129-75.451 66.792-75.451 66.792 1.518 16.188 27.284 33.874 27.284 33.874 18.719 7.588 16.666-6.667 16.666-6.667s30.001-56.5 79.501-56.5c30.859 0 57.5 24.167 57.5 24.167 13.659 0-39-68.166-105.5-61.666z" />
|
||||
</g>
|
||||
<g fill="#91552c">
|
||||
<path
|
||||
d="M376.448 168.048c-.264-.528-.768-.848-1.405-.828-38.123 1.622-63.338 41.401-65.413 44.786-4.291 3.646 2.807 28.303 16.702 23.28 26.876-9.714 43.765-22.801 50.196-38.897 6.188-15.485.179-27.823-.08-28.341zM187.069 212.006c-2.075-3.384-27.29-43.164-65.413-44.786-.638-.02-1.142.299-1.405.828-.259.518-6.268 12.855-.08 28.341 6.432 16.096 23.32 29.183 50.196 38.897 13.896 5.023 20.993-19.633 16.702-23.28z" />
|
||||
</g>
|
||||
<path
|
||||
d="M322.771 247.38s9.485-19.35 3.794-28.457c0 0-6.83-5.312-17.074-6.83 0 0-26.488-14.923-46.881-30.733-3.725-2.889-10.014-3.034-13.796-3.035h-.03c-3.782.001-10.071.146-13.796 3.035-20.393 15.81-46.881 30.733-46.881 30.733-10.244 1.518-17.074 6.83-17.074 6.83-5.691 9.106 3.795 28.457 3.795 28.457 1.896 7.588-1.896 23.524-1.896 23.524-4.174 27.698 23.523 65.26 23.523 65.26 1.518 11.382 6.829 28.835 6.829 28.835 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044 8.4 2.182 15.162-6.833 0 0 27.318-27.318 30.354-32.63 0 0 5.313-17.453 6.83-28.835 0 0 27.697-37.563 23.523-65.26 0 0-3.794-15.936-1.897-23.524z"
|
||||
fill="#9b6038" />
|
||||
<path
|
||||
d="M248.814 178.326h-.03c-3.782.001-10.071.146-13.796 3.035-20.393 15.81-46.881 30.733-46.881 30.733-10.244 1.518-17.074 6.83-17.074 6.83-5.691 9.106 3.795 28.457 3.795 28.457 1.896 7.588-1.896 23.524-1.896 23.524-4.174 27.698 23.523 65.26 23.523 65.26 1.518 11.382 6.829 28.835 6.829 28.835 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044-.015-226.137.015-226.137z"
|
||||
fill="#aa693d" />
|
||||
<path
|
||||
d="M247.709 304.556c-48.1 0-51.254 31.608-51.254 31.608 1.518 11.382 6.829 28.835 6.829 28.835 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044 8.4 2.182 15.162-6.833 0 0 27.318-27.318 30.354-32.63 0 0 5.313-17.453 6.83-28.835-.001 0-5.338-31.608-53.436-31.608z"
|
||||
fill="#e0c199" />
|
||||
<path
|
||||
d="M248.784 387.421c-29.595 0-45.5-22.422-45.5-22.422 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044 8.4 2.182 15.162-6.833 0 0 27.318-27.318 30.354-32.63-.001 0-15.936 22.422-45.531 22.422z"
|
||||
fill="#96592f" />
|
||||
<g fill="#494949">
|
||||
<path
|
||||
d="M191.648 228.409l-22.006-.759s-1.518 1.645-.254 9.612c1.266 7.968 5.439 10.118 5.439 10.118l29.721 12.648 1.771-3.036-14.671-28.583zM327.957 227.65l-22.007.759-14.671 28.583 1.771 3.036 29.721-12.648s4.173-2.149 5.438-10.118c1.266-7.968-.252-9.612-.252-9.612zM280.332 332.534c-14.991-7.623-30.615-9.561-31.272-9.639-.089-.012-.172.019-.261.023-.088-.004-.171-.035-.26-.023-.657.078-16.281 2.016-31.271 9.639a1.52 1.52 0 00-.83 1.302 1.521 1.521 0 00.74 1.355l30.764 18.339c.24.143.508.214.777.214.027 0 .054-.009.08-.01.027.001.054.01.082.01.268 0 .537-.071.776-.214l30.765-18.339a1.518 1.518 0 00-.09-2.657z" />
|
||||
<path
|
||||
d="M327.957 227.65l-.043.002a18.02 18.02 0 01.797 4.014c-.016-3.204-.754-4.016-.754-4.016zM281.348 364.701a1.623 1.623 0 00-2.137-.832c-10.592 4.661-18.443 5.263-23.34 1.787-4.046-2.872-5.281-8.063-5.635-11.596.168-2.229.031-3.815.014-3.993a1.615 1.615 0 00-1.587-1.46l-.015-.002a1.615 1.615 0 00-1.746 1.485c-.015.178-.131 1.778.069 4.022-.304 3.5-1.461 8.609-5.427 11.489-4.874 3.537-12.816 2.954-23.607-1.735a1.617 1.617 0 00-2.132.841 1.619 1.619 0 00.84 2.132c6.544 2.844 12.212 4.267 16.967 4.267 3.904 0 7.191-.959 9.837-2.88 2.561-1.858 4.175-4.37 5.193-6.931 1.057 2.591 2.719 5.132 5.337 6.995 2.639 1.878 5.888 2.817 9.726 2.817 4.726 0 10.344-1.424 16.812-4.27a1.621 1.621 0 00.831-2.136z" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.2 KiB |
@@ -0,0 +1,37 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.159 496.159">
|
||||
<path
|
||||
d="M248.083.003C111.071.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.083 248.07 137.006 0 248.076-111.069 248.076-248.07C496.159 111.062 385.089.003 248.083.003z"
|
||||
fill="#f9dc5f" />
|
||||
<path
|
||||
d="M213.286 276.657c27.443-36.322 25.022-81.523 25.022-81.523-4.036-58.115-58.115-70.223-58.115-70.223C93.826 101.503 78.49 160.426 78.49 160.426c-19.372 20.179-12.915 63.765-12.915 63.765-.807 10.089-21.995 34.103-21.995 34.103-4.439 5.449.807 9.888.807 9.888 3.027 2.825 11.301 3.833 11.301 3.833 1.21.808 1.009 2.826 1.009 2.826l-2.422 8.878c-.605 3.431 4.641 7.668 4.641 7.668.808 1.614-.605 3.229-.605 3.229-2.018 3.026-2.421 5.448-2.421 5.448-.808 4.036 5.65 9.687 5.65 9.687.807 4.035-4.843 12.914-4.843 12.914-1.615 13.318 9.686 13.722 9.686 13.722h34.708l18.564 40.358 94.438-29.058c-15.336-25.829-.807-71.03-.807-71.03z"
|
||||
fill="#b97141" />
|
||||
<path fill="#a55d35" d="M151.538 306.925l-85.155 29.461h34.708l52.061-27.039.404-11.705z" />
|
||||
<path
|
||||
d="M238.308 195.134c-4.036-58.115-58.115-70.223-58.115-70.223C93.826 101.503 78.49 160.426 78.49 160.426c62.958 4.843 65.172 61.318 89.999 107.755 18.118 33.891 38.522 51.973 38.579 47.219.242-20.151 6.218-38.744 6.218-38.744 27.443-36.322 25.022-81.522 25.022-81.522z"
|
||||
fill="#70462a" />
|
||||
<g fill="#a55d35">
|
||||
<path
|
||||
d="M174.824 222.093c-17.687-4.708-19.981 20.099-19.981 20.099l-.346 25.725c4.906 4.321 10.361 5.73 13.602.926 5.116-7.588 12.499-18.418 17.879-27.7 7.031-12.132-4.72-17.336-11.154-19.05zM66.113 263.743c-1.346 9.416-9.416 8.071-9.416 8.071l4.305 1.346c8.342-.539 5.111-9.417 5.111-9.417zM70.823 224.998s8.071 7.265 23.003-2.422c0 .001-10.896 3.633-23.003 2.422z" />
|
||||
</g>
|
||||
<path
|
||||
d="M95.643 201.793c-5.65-2.422-29.058-1.614-29.058-1.614-2.152 3.296.771 6.659 2.219 6.659 20.853 0 33.901 5.65 33.901 5.65-.605-8.072-7.062-10.695-7.062-10.695z"
|
||||
fill="#70462a" />
|
||||
<g fill="#b97141">
|
||||
<path
|
||||
d="M177.233 210.604c-20.717-5.516-23.408 23.542-23.408 23.542l-.404 30.133c5.746 5.063 12.136 6.714 15.932 1.086 5.995-8.888 11.375-16.421 17.497-25.839 8.953-13.769-2.08-26.915-9.617-28.922zM452.579 258.294s-21.188-24.013-21.995-34.103c0 0 6.457-43.586-12.915-63.765 0 0-15.336-58.923-101.702-35.515 0 0-54.079 12.107-58.115 70.223 0 0-2.421 45.201 25.022 81.523 0 0 14.528 45.201-.807 71.03l94.438 29.058 18.564-40.358h34.708s11.301-.403 9.686-13.722c0 0-5.65-8.879-4.843-12.914 0 0 6.458-5.65 5.65-9.687 0 0-.403-2.421-2.421-5.448 0 0-1.413-1.615-.605-3.229 0 0 5.247-4.238 4.641-7.668l-2.422-8.878s-.202-2.018 1.009-2.826c0 0 8.273-1.008 11.301-3.833-.001 0 5.245-4.439.806-9.888z" />
|
||||
</g>
|
||||
<path fill="#a55d35" d="M344.622 306.925l-2.018-9.283.404 11.705 52.061 27.039h34.708z" />
|
||||
<path
|
||||
d="M315.968 124.911s-54.079 12.107-58.115 70.223c0 0-2.421 45.201 25.022 81.523 0 0 5.976 18.593 6.218 38.744.057 4.754 20.461-13.328 38.579-47.219 24.827-46.437 27.04-102.913 89.999-107.755-.001-.001-15.337-58.924-101.703-35.516z"
|
||||
fill="#70462a" />
|
||||
<g fill="#a55d35">
|
||||
<path
|
||||
d="M341.317 242.192s-2.295-24.807-19.981-20.099c-6.434 1.713-18.185 6.918-11.154 19.049 5.38 9.282 12.763 20.112 17.879 27.7 3.241 4.805 8.696 3.395 13.602-.926l-.346-25.724zM430.047 263.743s-3.23 8.878 5.111 9.417l4.305-1.346s-8.07 1.345-9.416-8.071zM402.334 222.577c14.932 9.687 23.003 2.422 23.003 2.422-12.107 1.21-23.003-2.422-23.003-2.422z" />
|
||||
</g>
|
||||
<path
|
||||
d="M429.575 200.179s-23.408-.808-29.058 1.614c0 0-6.457 2.623-7.063 10.695 0 0 13.048-5.65 33.901-5.65 1.449 0 4.372-3.363 2.22-6.659z"
|
||||
fill="#70462a" />
|
||||
<path
|
||||
d="M342.334 234.147s-2.691-29.058-23.408-23.542c-7.537 2.007-18.569 15.152-9.618 28.923 6.122 9.417 11.502 16.951 17.497 25.839 3.796 5.628 10.186 3.977 15.932-1.086l-.403-30.134z"
|
||||
fill="#b97141" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
@@ -0,0 +1,66 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.159 496.159">
|
||||
<path
|
||||
d="M248.083.003C111.071.003 0 111.063 0 248.085c0 137.001 111.07 248.071 248.083 248.071 137.006 0 248.076-111.07 248.076-248.071C496.159 111.063 385.089.003 248.083.003z"
|
||||
fill="#f2b12f" />
|
||||
<path
|
||||
d="M398.941 294.253l36.136 1.853c-14.825-48.181-51.887-44.475-51.887-44.475l38.915-37.988c-39.842-1.853-49.107-25.943-49.107-25.943l20.384-22.238c-2.78-7.412-31.503-11.118-31.503-11.118 4.633-4.633 3.707-26.87 3.707-26.87-11.119 1.854-37.062-3.707-37.062-3.707 5.559-8.338 18.531-6.485 18.531-6.485-20.384-22.237-64.859-5.559-64.859-5.559-1.236-13.282 4.325-20.693 4.325-20.693-21.002-5.56-33.356 16.06-33.356 16.06l-6.794-21.001-3.706 21.001c-11.119-2.471-25.943-26.561-25.943-26.561-11.119 9.884 3.088 38.916 3.088 38.916-27.797-24.708-62.389-14.208-62.389-14.208 0 16.06 25.944 37.681 25.944 37.681-23.472-19.15-67.948-9.266-67.948-9.266 4.942 17.295 16.678 22.237 16.678 22.237l-42.005 58.68c-39.534 21.62-27.179 72.891-27.179 72.891 16.678-21.62 42.815-12.973 42.815-12.973-7.219 4.942-27.991 9.884-27.991 9.884 6.177 2.472 13.589 5.56 13.589 5.56-22.855 8.03-22.237 37.063-22.237 37.063 11.118-4.324 36.639-.618 36.639-.618-6.601-.618-20.578 15.442-20.578 15.442 8.03 4.324 30.267 6.177 30.267 6.177-21.002 12.973-12.972 29.65-12.972 29.65 10.501-5.56 27.797-8.647 27.797-8.647 11.736 1.234 19.149 3.706 19.149 3.706 0 16.678 11.119 32.12 11.119 32.12 0-12.972 11.737-14.207 11.737-14.207 3.088 19.767 11.736 17.296 11.736 17.296 1.235-9.266 12.354-8.03 12.354-8.03-2.471 1.853-4.016 8.338-4.016 8.338 24.091 6.486 45.401-8.338 45.401-8.338l-.926 15.751c0-8.339 16.679-7.413 16.679-7.413 12.044 10.192 34.282 4.634 34.282 4.634-10.192-4.634-.927-16.679-.927-16.679 29.65 16.679 52.814-1.853 52.814-1.853-10.192 0-20.384-8.34-20.384-8.34l50.961 1.854-25.943-15.751c16.678 7.412 41.694-7.413 41.694-7.413l-18.53-8.339c9.265-7.412 29.649 1.854 29.649 1.854.927-15.752-12.972-32.43-12.972-32.43 15.752 2.779 27.796 14.825 27.796 14.825 7.412-37.064-12.972-46.33-12.972-46.33z"
|
||||
fill="#7a582b" />
|
||||
<path
|
||||
d="M328.513 203.984c10.954-25.878-28.438-65.434-85.661-52.739-57.222-12.694-98.714 26.861-87.762 52.739 3.415 8.066-17.117 54.272 8.553 82.144 5.622 6.103 28.21 70.716 28.21 70.716.79 1.381 25.19 6.627 48.714 7.004v.023c.411-.001.823-.007 1.234-.011.411.004.824.01 1.234.011v-.023c23.524-.377 47.925-5.623 48.714-7.004 0 0 22.59-64.613 28.211-70.716 25.671-27.872 5.139-74.078 8.553-82.144z"
|
||||
fill="#d6953e" />
|
||||
<path
|
||||
d="M242.852 151.245c-57.222-12.694-98.714 26.861-87.762 52.739 3.415 8.066-17.117 54.272 8.553 82.144 5.622 6.103 28.21 70.716 28.21 70.716.79 1.381 25.19 6.627 48.714 7.004v.023c.411-.001.823-.007 1.234-.011.411.004.824.01 1.234.011v-.023l-.183-212.603z"
|
||||
fill="#c18236" />
|
||||
<path
|
||||
d="M255.313 361.594l-12.461-8.826-12.716 8.901-36.815-4.826c3.339 5.845 20.203 24.079 20.203 24.079 12.828 15.134 45.832 14.034 59.74 0 0 0 16.864-18.234 20.203-24.079l-38.154 4.751z"
|
||||
fill="#d6953e" />
|
||||
<path
|
||||
d="M280.533 283.009c-16.379-13.906-16.29-45.451-32.789-53.355-1.579-.758-7.148-.796-8.644-.104-16.458 7.605-16.557 39.491-33.01 53.46-29.153 24.754-38.872 53.174-16.501 75.359 9.91 9.829 43.455 12.377 43.455 12.377s8.906-10.815 9.086-10.863c.165.044 2.2.044 2.364 0 .181.048 9.085 10.863 9.085 10.863s33.546-2.548 43.456-12.377c22.37-22.186 12.651-50.606-16.502-75.36z"
|
||||
fill="#bc7928" />
|
||||
<path
|
||||
d="M277.639 288.567c-15.106-12.825-15.023-54.343-30.24-61.634-1.457-.698-6.592-.733-7.972-.097-15.179 7.015-15.27 48.847-30.442 61.73-26.887 22.828-35.849 49.039-15.219 69.5 9.139 9.063 40.076 11.414 40.076 11.414s8.213-9.975 8.379-10.02c.151.041 2.029.041 2.181 0 .167.045 8.379 10.02 8.379 10.02s30.937-2.351 40.077-11.414c20.63-20.46 11.667-46.671-15.219-69.499z"
|
||||
fill="#d6953e" />
|
||||
<path
|
||||
d="M242.852 226.239c-1.638-.016-2.735.279-3.425.598-15.179 7.015-15.27 48.847-30.442 61.73-26.887 22.828-35.849 49.039-15.219 69.5 9.139 9.063 40.076 11.414 40.076 11.414s8.213-9.975 8.379-10.02c.079.021.627.031 1.156.03.485 0-.525-133.252-.525-133.252z"
|
||||
fill="#c18236" />
|
||||
<g fill="#3f2308">
|
||||
<path
|
||||
d="M278.084 321.127c-16.492-8.386-33.68-10.519-34.403-10.604-.098-.014-.189.021-.287.024-.096-.004-.188-.038-.286-.024-.723.085-17.912 2.218-34.403 10.604a1.672 1.672 0 00-.099 2.923l33.845 20.175c.264.157.559.235.854.235.03 0 .06-.009.088-.011.03.002.059.011.09.011.295 0 .591-.078.855-.235l33.845-20.175c.521-.312.833-.883.814-1.49a1.673 1.673 0 00-.913-1.433z" />
|
||||
<path
|
||||
d="M279.202 365.409a1.782 1.782 0 00-2.35-.915c-11.653 5.127-20.291 5.79-25.677 1.966-4.451-3.159-5.81-8.87-6.199-12.757.185-2.452.034-11.09.016-11.285a1.777 1.777 0 00-1.746-1.606l-.016-.003a1.779 1.779 0 00-1.922 1.634c-.016.196-.144 8.851.077 11.319-.334 3.851-1.607 9.471-5.971 12.639-5.362 3.891-14.099 3.25-25.971-1.909a1.78 1.78 0 00-2.346.925 1.783 1.783 0 00.924 2.347c7.199 3.128 13.436 4.693 18.666 4.693 4.295 0 7.912-1.056 10.822-3.169 2.816-2.044 4.593-4.808 5.713-7.625 1.163 2.851 2.991 5.646 5.872 7.696 2.902 2.065 6.477 3.099 10.699 3.099 5.199 0 11.38-1.566 18.495-4.697a1.786 1.786 0 00.914-2.352z" />
|
||||
</g>
|
||||
<g fill="#282727">
|
||||
<path
|
||||
d="M173.911 208.384c12.468 46.939 50.606 9.534 50.606 9.534-21.819 5.134-50.606-9.534-50.606-9.534zM261.654 217.918s38.138 37.405 50.606-9.534c.001 0-28.787 14.668-50.606 9.534z" />
|
||||
</g>
|
||||
<path
|
||||
d="M236.435 207.65c-.55-2.2-2.75-3.851-2.75-3.851s-7.701 5.318-13.202 5.501c-10.339.345-24.937-4.033-34.288-5.501-9.351-1.467-16.319 0-16.319 0s14.486 21.82 54.641 15.586c5.429-.844 8.067-4.034 10.359-7.06.001.001 2.11-2.475 1.559-4.675z"
|
||||
fill="#6d4d25" />
|
||||
<path
|
||||
d="M299.975 203.799c-9.351 1.468-23.949 5.846-34.288 5.501-5.5-.183-13.202-5.501-13.202-5.501s-2.2 1.65-2.75 3.851 1.559 4.676 1.559 4.676c2.292 3.025 4.93 6.216 10.359 7.06 40.155 6.234 54.641-15.586 54.641-15.586s-6.967-1.468-16.319-.001z"
|
||||
fill="#7a582b" />
|
||||
<path
|
||||
d="M154.794 162.576c-18.826-14.1-43.06-13.548-54.13 1.233-11.07 14.78-4.783 38.191 14.044 52.29 18.826 14.101 58.912-39.423 40.086-53.523z"
|
||||
fill="#d6953e" />
|
||||
<path
|
||||
d="M162.791 185.09c-14.671-16.132-35.12-24.449-45.675-18.578-10.555 5.87-7.216 23.706 7.456 39.838s52.892-5.128 38.219-21.26z"
|
||||
fill="#c98431" />
|
||||
<path
|
||||
d="M385.22 163.809c-11.069-14.781-35.304-15.333-54.129-1.233-18.826 14.101 21.26 67.624 40.086 53.523 18.826-14.099 25.113-37.51 14.043-52.29z"
|
||||
fill="#d6953e" />
|
||||
<path
|
||||
d="M374.918 170.547c-5.87-10.555-23.706-7.216-39.838 7.456s5.128 52.892 21.26 38.219c16.132-14.671 24.45-35.12 18.578-45.675z"
|
||||
fill="#c98431" />
|
||||
<g fill="#7a582b">
|
||||
<path
|
||||
d="M351.088 191.13c-5.039-2.063-14.349-17.636-14.349-17.636l22.825-3.075c-11.118-14.354-55.595-14.257-55.595-14.257 12.244 15.584 27.98 68.96 27.98 68.96 6.259 3.868 10.151 8.729 10.151 8.729 5.676-7.479-.81-25.166-.81-25.166l9.364-5.316-10.38-8.17c0 .001 15.853-2.007 10.814-4.069zM274.586 136.141l-67.047 4.117 6.47 17.056 14.702 8.822 3.53-9.41s9.999 7.057 9.999 10.586l8.822-18.82 7.057 10.587 6.47-7.059 2.94 12.352 10.586-9.41-3.529-18.821zM172.615 163.105c-14.123-4.762-50.211 8.168-50.211 8.168l10.445 11.566c-8.953.681-22.383 21.769-22.383 21.769 1.492 6.123 24.373 4.082 24.373 4.082l-10.445 6.803c4.974 8.164 25.614 7.213 25.614 7.213l14.675-25.58 11.439-17.689-3.507-16.332z" />
|
||||
</g>
|
||||
<g fill="#8c5519">
|
||||
<ellipse cx="290.22" cy="328.39" rx="4.125" ry="2.475" />
|
||||
<ellipse cx="276.2" cy="341.32" rx="4.125" ry="2.476" />
|
||||
<ellipse cx="292.7" cy="348.74" rx="4.125" ry="2.475" />
|
||||
<ellipse cx="196.71" cy="328.39" rx="4.125" ry="2.475" />
|
||||
<ellipse cx="210.74" cy="341.32" rx="4.125" ry="2.476" />
|
||||
<ellipse cx="194.24" cy="348.74" rx="4.125" ry="2.475" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.6 KiB |
@@ -0,0 +1,26 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.158 496.158">
|
||||
<path
|
||||
d="M248.082.003C111.07.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.082 248.07 137.006 0 248.076-111.069 248.076-248.07C496.158 111.062 385.088.003 248.082.003z"
|
||||
fill="#f9dc5f" />
|
||||
<g fill="#4c4c48">
|
||||
<path d="M243.029 157.629h10.938v202.92h-10.938z" />
|
||||
<path
|
||||
d="M268.272 386.501c0-46.279-19.353-45.438-19.353-45.438s-19.353-.842-19.353 45.438c0 0 5.049 17.67-78.253 17.67v8.414h195.211v-8.414c-83.299 0-78.252-17.67-78.252-17.67zM248.499 123.134c-4.628 0-10.813 9.808-10.813 31.73s22.467 21.922 22.467 0c0-21.923-7.026-31.73-11.654-31.73z" />
|
||||
</g>
|
||||
<g fill="#6d6d68">
|
||||
<path
|
||||
d="M369.949 191.075a3.37 3.37 0 00-4.385 1.853l-36.903 111.909c-.594 1.723.109 3.686 1.569 4.385.352.169.714.248 1.072.248 1.126 0 2.193-.793 2.645-2.1l37.854-111.91a3.364 3.364 0 00-1.852-4.385zM423.451 304.837l-36.925-111.909a3.366 3.366 0 10-6.238 2.532l37.877 111.91c.449 1.307 1.517 2.1 2.644 2.1.357 0 .721-.079 1.073-.248 1.46-.7 2.162-2.663 1.569-4.385z" />
|
||||
<path d="M327.975 304s.714 48.485 48.497 48.485S424.255 304 424.255 304h-96.28z" />
|
||||
</g>
|
||||
<path
|
||||
d="M386.404 170.553c-.007.033-.02.066-.027.101-1.459-2.901-4.23-5.341-7.836-6.499-6.525-2.098-13.289.783-15.104 6.432-1.816 5.651 2.002 11.932 8.527 14.028.158.051.316.086.474.131a18.536 18.536 0 01-9.968-.383c-4.939-1.588-13.397-11.229-31.094-16.917-14.019-4.506-45.148-5.23-85.213-18.106l-4.248 13.218c32.111 10.32 64.651 10.515 78.967 14.627 26.484 7.608 32.892 14.99 39.777 20.148 6.885 5.159 23.311 3.092 27.221-9.075a23.05 23.05 0 00-1.476-17.705z"
|
||||
fill="#4c4c48" />
|
||||
<g fill="#6d6d68">
|
||||
<path
|
||||
d="M168.885 224.837l-38.291-111.909a3.366 3.366 0 10-6.238 2.532l39.088 111.91c.463 1.307 1.562 2.1 2.721 2.1.368 0 .742-.079 1.104-.248 1.502-.7 2.225-2.663 1.616-4.385zM114.017 111.075a3.37 3.37 0 00-4.385 1.853L71.323 224.837c-.611 1.723.112 3.686 1.615 4.385.362.169.735.248 1.104.248 1.159 0 2.258-.793 2.722-2.1l39.104-111.91a3.365 3.365 0 00-1.851-4.385z" />
|
||||
<path d="M70.495 224s0 48.485 49.18 48.485c49.181 0 49.914-48.485 49.914-48.485H70.495z" />
|
||||
</g>
|
||||
<path
|
||||
d="M166.357 114.409c-17.696-5.688-30.188-2.778-35.127-4.366a18.53 18.53 0 01-8.324-5.496c.154.055.303.119.461.17 6.525 2.097 13.288-.782 15.104-6.434 1.816-5.648-2.002-11.93-8.527-14.026-3.605-1.159-7.281-.793-10.156.717.014-.033.023-.067.037-.099a23.057 23.057 0 00-11.516 13.529c-3.91 12.166 8.236 23.416 16.838 23.234 8.602-.18 18.109-2.447 44.066 6.8 14.031 4.997 40.592 23.797 72.703 34.118l4.248-13.218c-40.064-12.876-65.787-30.423-79.807-34.929z"
|
||||
fill="#4c4c48" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,23 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.158 496.158">
|
||||
<path
|
||||
d="M248.082.003C111.07.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.082 248.07 137.006 0 248.076-111.069 248.076-248.07C496.158 111.062 385.088.003 248.082.003z"
|
||||
fill="#58d1dd" />
|
||||
<g fill="#c14e00">
|
||||
<path
|
||||
d="M298.486 105.655c-1.959-.735-50.152-18.669-79.666-17.209-18.338.888-31.063 20.819-31.599 21.667a2.845 2.845 0 00-.192 2.659 2.842 2.842 0 002.1 1.645l105.969 18.924a2.832 2.832 0 002.226-.542 2.833 2.833 0 001.101-2.011l1.894-22.234a2.84 2.84 0 00-1.833-2.899zM283.058 233.673l-13.998-31.527a2.634 2.634 0 00-3.348-1.39l-50.24 19.25a2.631 2.631 0 00-1.692 2.407 2.636 2.636 0 001.592 2.473c1.312.563 32.471 13.788 65.386 12.488a2.632 2.632 0 002.3-3.701z" />
|
||||
</g>
|
||||
<path
|
||||
d="M397.451 226.358l-10.256-61.663 10.256-62.25c.184-1.105-.52-2.174-1.686-2.564s-2.475.006-3.141.949c-13.955 19.732-39.832 49.62-49.864 49.62-8.78 0-29.989-11.148-39.31-18.193-19.637-14.841-46.532-26.955-78.326-26.955-57.056 0-123.479 31.723-126.447 58.422l38.072 14.726-37.086-6.98c8.959 24.991 71.413 54.073 125.461 54.073 35.691 0 67.545-17.124 86.577-32.429 6.176-4.967 22.864-14.757 31.059-14.757 9.61 0 35.69 29.896 49.872 49.635.498.691 1.342 1.083 2.214 1.083.311 0 .626-.049.93-.152 1.161-.395 1.859-1.463 1.675-2.565z"
|
||||
fill="#e85e00" />
|
||||
<circle cx="166.159" cy="142.019" r="11.852" fill="#42423f" />
|
||||
<circle cx="169.229" cy="137.189" r="4.829" fill="#fff" />
|
||||
<g fill="#c14e00">
|
||||
<path
|
||||
d="M308.936 280.446c-.535-.848-13.261-20.779-31.599-21.667-29.514-1.46-77.707 16.474-79.666 17.209a2.838 2.838 0 00-1.831 2.898l1.894 22.234a2.831 2.831 0 001.101 2.011 2.827 2.827 0 002.226.542l105.968-18.924a2.838 2.838 0 001.907-4.303zM280.685 390.34l-50.24-19.25a2.634 2.634 0 00-3.348 1.39l-13.998 31.527a2.631 2.631 0 002.3 3.701c32.915 1.3 64.074-11.924 65.386-12.488a2.639 2.639 0 001.592-2.473 2.631 2.631 0 00-1.692-2.407z" />
|
||||
</g>
|
||||
<path
|
||||
d="M397.48 334.056c-2.968-26.699-69.392-58.422-126.447-58.422-31.794 0-58.689 12.114-78.326 26.955-9.32 7.045-30.529 18.193-39.31 18.193-10.032 0-35.909-29.888-49.864-49.62-.665-.943-1.975-1.34-3.141-.949s-1.869 1.459-1.686 2.564l10.256 62.25-10.256 61.663c-.184 1.103.514 2.17 1.675 2.563.304.104.619.152.93.152.872 0 1.716-.392 2.214-1.083 14.182-19.738 40.262-49.635 49.872-49.635 8.194 0 24.883 9.79 31.06 14.757 19.031 15.305 50.885 32.429 86.576 32.429 54.049 0 116.502-29.082 125.461-54.073l-37.086 6.98 38.072-14.724z"
|
||||
fill="#e85e00" />
|
||||
<circle cx="329.999" cy="312.349" r="11.852" fill="#42423f" />
|
||||
<circle cx="326.929" cy="307.519" r="4.829" fill="#fff" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,31 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.162 496.162">
|
||||
<path
|
||||
d="M248.086.006C111.07.006 0 111.06 0 248.09c0 136.996 111.07 248.066 248.086 248.066 137.004 0 248.076-111.07 248.076-248.066C496.162 111.06 385.09.006 248.086.006z"
|
||||
fill="#f2b12f" />
|
||||
<path
|
||||
d="M141.92 238.174l-41.17-28.047-44.369.176 23.01 31.682-22.773 31.609 44.371-.166 40.945-28.324a4.905 4.905 0 00-.014-6.93z"
|
||||
fill="#b21212" />
|
||||
<path
|
||||
d="M165.709 239.199l-32.539-22.156-35.074.123 18.195 25.039-18.004 25.002 35.064-.137 32.375-22.387a3.881 3.881 0 00-.017-5.484z"
|
||||
fill="#c11616" />
|
||||
<path fill="#5e3838" d="M53.914 240.553L265.641 65.09l-2.498-3.016L47.908 240.447l215.836 192.141 2.606-2.92z" />
|
||||
<path
|
||||
d="M449.997 237.152c-6.541-6.729-13.084-13.458-19.617-20.186-3.436-3.533-7.62-3.776-11.055-2.208-3.646 1.18-6.588 4.246-6.656 9.224-.049 3.181-.092 6.351-.14 9.527l-375.65-2.124c-1.482 1.114-2.779 2.372-3.698 3.861-3.111 5.056-1.484 10.717 3.478 14.532 0 0 373.243 4.492 375.576 4.526-.041 3.162-.093 6.324-.138 9.488-.128 9.089 11.048 13.943 17.582 7.597 6.728-6.54 13.461-13.08 20.189-19.621 4.053-3.934 4.034-10.594.129-14.616z"
|
||||
fill="#7e6060" />
|
||||
<path
|
||||
d="M31.626 241.379c.252 3.114 2.033 6.094 5.032 8.401 0 0 373.243 4.492 375.576 4.526-.041 3.162-.093 6.324-.138 9.488-.128 9.089 11.048 13.943 17.582 7.597 6.728-6.54 13.461-13.08 20.189-19.621 2.026-1.968 3.035-4.617 3.049-7.276l-421.29-3.115z"
|
||||
fill="#605151" />
|
||||
<g fill="#5e3838">
|
||||
<path
|
||||
d="M349.34 185.185c-2.037-5.111-4.385-10.139-7.301-15.092a73.991 73.991 0 00-2.34-3.734l-1.332-1.912-1.316-1.723a141.413 141.413 0 00-5.107-6.318c-3.566-4.156-7.482-8.203-11.869-11.912-4.359-3.719-9.234-7.039-14.109-9.764-9.906-5.455-18.494-8.852-26.07-13.67a115.54 115.54 0 01-11.078-7.82 137.408 137.408 0 01-5.285-4.436l-2.605-2.352a71.367 71.367 0 01-2.346-2.232c-3.012-2.998-5.598-6.16-7.449-9.303-2.072-3.137-2.111-6.404-3.123-9.004-.947-2.723-1.154-5.809-.234-9.252a23.628 23.628 0 012.064-5.225c.838-1.666 2.279-3.588 3.113-4.742l-.834.514c2.313-1.836 4.693-3.543 7.076-4.828 2.357-1.301 4.766-2.135 6.414-2.02.822.055 1.635.299 2.445 1.109.803.779 1.457 2.027 1.926 3.404.914 2.801 1.229 6.066 1.166 9.318 1.4-2.977 2.432-6.174 2.668-9.754.092-1.791-.002-3.727-.764-5.746-.717-2.012-2.363-4.094-4.52-5.248-4.4-2.318-8.73-1.928-12.436-1.477-3.762.551-7.221 1.545-10.586 2.66l-.838.523a43.162 43.162 0 00-4.068 2.707 44.676 44.676 0 00-3.529 2.945c-2.266 2.096-4.373 4.475-6.205 7.207-3.666 5.408-6.1 12.424-6.264 19.668-.285 7.377 3.291 13.695 6.26 19.129 3.223 5.453 7.076 10.01 11.121 14.053 1.004 1.018 2.059 1.996 3.064 2.93l2.955 2.656a163.466 163.466 0 006.176 5.178 137.793 137.793 0 0013.359 9.426c9.316 5.861 19.354 9.924 26.889 14.152 7.588 4.195 13.758 9.604 19.674 16.502a118.889 118.889 0 014.301 5.318l.959 1.24.807 1.162a58.533 58.533 0 011.625 2.6c2.146 3.641 4.051 7.676 5.703 11.828 6.604 16.725 9.295 35.576 9.359 54.289-.064 18.707-2.756 37.555-9.359 54.289-1.652 4.154-3.557 8.176-5.703 11.82a56.072 56.072 0 01-1.625 2.607l-.807 1.154-.932 1.201-2.158 2.748-2.17 2.607c-5.916 6.908-12.086 12.311-19.674 16.51-7.535 4.223-17.572 8.293-26.889 14.154-9.385 5.822-17.701 12.563-25.49 20.119-4.17 4.164-7.941 8.639-11.186 14.115-2.938 5.441-6.561 11.773-6.105 19.143.188 7.213 2.641 14.193 6.313 19.555a41.096 41.096 0 006.15 7.186c2.342 2.15 4.428 3.801 7.545 5.652l.814.496c3.354 1.129 6.807 2.129 10.551 2.686 3.689.453 7.998.844 12.35-1.445 2.143-1.145 3.762-3.205 4.484-5.193.764-2.006.871-3.926.787-5.709-.221-3.574-1.232-6.768-2.607-9.746.086 3.246-.203 6.512-1.105 9.318-.457 1.387-1.107 2.645-1.908 3.449-.805.828-1.639 1.088-2.48 1.156-1.691.139-4.123-.697-6.496-1.982-2.393-1.287-4.789-2.99-7.111-4.818l.818.504c-.855-1.18-2.313-3.084-3.172-4.75a23.877 23.877 0 01-2.117-5.246c-.92-3.492-.697-6.619.283-9.365 1.18-2.609 1.168-5.859 3.275-8.988 1.826-3.125 4.496-6.375 7.385-9.244 6.516-6.334 13.797-12.225 21.379-16.898 7.576-4.828 16.164-8.227 26.07-13.672 4.875-2.725 9.75-6.051 14.109-9.771 4.387-3.709 8.303-7.756 11.869-11.904l2.611-3.143 2.465-3.139 1.348-1.758 1.332-1.914a82.83 82.83 0 002.34-3.734c2.916-4.953 5.264-9.982 7.301-15.094 8.031-20.48 10.918-41.854 11.02-62.955-.103-21.105-2.99-42.48-11.021-62.955z" />
|
||||
<path
|
||||
d="M263.738 52.803c-6.488 0-11.754 5.264-11.754 11.75 0 6.488 5.266 11.752 11.754 11.752s11.752-5.264 11.752-11.752c0-6.487-5.263-11.75-11.752-11.75z" />
|
||||
</g>
|
||||
<path d="M263.738 58.678a5.879 5.879 0 00-5.877 5.875 5.875 5.875 0 105.877-5.875z" fill="#7e6060" />
|
||||
<path
|
||||
d="M265.693 419.375c-6.486 0-11.75 5.266-11.75 11.752 0 6.488 5.264 11.752 11.75 11.752 6.49 0 11.754-5.264 11.754-11.752 0-6.486-5.263-11.752-11.754-11.752z"
|
||||
fill="#5e3838" />
|
||||
<path
|
||||
d="M265.693 424.92a5.88 5.88 0 00-5.873 5.879 5.88 5.88 0 005.873 5.875 5.88 5.88 0 005.879-5.875 5.88 5.88 0 00-5.879-5.879z"
|
||||
fill="#7e6060" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.8 KiB |
@@ -0,0 +1,167 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.158 496.158">
|
||||
<path
|
||||
d="M248.082.003C111.07.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.082 248.07 137.006 0 248.076-111.069 248.076-248.07C496.158 111.062 385.088.003 248.082.003z"
|
||||
fill="#58d1dd" />
|
||||
<path
|
||||
d="M344.312 157.14c-5.491-3.849-16.838 2.863-25.344 14.994-8.506 12.127-10.953 25.083-5.461 28.931 5.492 3.85 16.838-2.863 25.343-14.991 8.506-12.128 10.951-25.084 5.462-28.934z"
|
||||
fill="#282828" />
|
||||
<path
|
||||
d="M343.024 161.293a.403.403 0 00-.401-.369c-.243-.003-24.346.061-25.26 27.641-.009.311-.016.623-.021.94a.412.412 0 00.387.417.412.412 0 00.432-.371c.02-.231 2.516-23.075 24.545-27.817a.417.417 0 00.324-.388c-.005-.017-.003-.035-.006-.053z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M343.033 109.093c-.175-.288-17.908-28.701-56.699-28.701-4.635 0-9.453.407-14.316 1.209a1.869 1.869 0 00-.207 3.639c8.756 2.504 28.189 10.813 32.746 20.818.76 1.669 2.654 7.723 1.054 10.16-.218.331-.903 1.378-3.419 1.327-2.353-1.16-16.93-8.776-30.277-25.46a1.87 1.87 0 00-3.27 1.632c.701 2.721 17.609 66.678 59.037 71.439a1.888 1.888 0 00.731-.062c.65-.187 15.949-4.755 21.487-18.848 4.051-10.307 1.742-22.804-6.867-37.153z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M282.853 83.424c-.706 0-1.42.007-2.142.021a.933.933 0 00-.042 1.866c.525.034 52.71 3.992 65.154 53.776a.935.935 0 001.841-.247c-.012-.554-1.965-55.416-64.811-55.416z"
|
||||
fill="#a9a9a9" />
|
||||
<ellipse transform="rotate(-163.416 294.357 194.043)" cx="294.36" cy="194.046" rx="26.824" ry="12.142"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M317.713 200.275c-.112-.252-13.402-22.499-45.295-14.935-.387.093-.76.232-1.145.355-.268.086-.41.335-.324.565.089.231.375.362.652.297.289-.072 26.216-4.147 45.169 14.126.161.154.396.248.622.18.021-.009.044-.016.063-.029.246-.101.357-.343.258-.559z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M341.749 202.06s-1.244-1.557-3.424-.934l.312 10.897s-13.393 20.963-27.789 19.247c-.491-.059-3.637 1.914-4.736 3.981-1.1 2.066-1.51 4.762 1.023 5.522 4.594 1.38 12.731 2.286 22.162-3.534 0 0 14.633-9.028 16.5-17.435 0 .002-.313-13.385-4.048-17.744z"
|
||||
fill="#282828" />
|
||||
<path d="M318.088 231.714c18.68-1.401 21.715-18.212 21.715-18.212-9.807 14.71-21.715 18.212-21.715 18.212z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M307.933 229.29l-22.188-18.603a5.448 5.448 0 00-7 8.35l22.188 18.602a5.446 5.446 0 007.674-.674 5.45 5.45 0 00-.674-7.675z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M306.486 229.783l-18.596-15.59c-1.93-1.62-3.835-2.532-4.251-2.036-.416.495.813 2.211 2.745 3.831l18.594 15.589c1.934 1.621 3.838 2.533 4.25 2.036.416-.496-.81-2.209-2.742-3.83z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M340.869 241.592s-1.227-1.536-3.376-.921l.306 10.749s-13.21 20.68-27.413 18.986c-.483-.058-3.587 1.889-4.67 3.928-1.085 2.039-1.489 4.698 1.009 5.448 4.531 1.361 12.56 2.254 21.863-3.486 0 0 14.433-8.906 16.275-17.199 0 0-.308-13.205-3.994-17.505z"
|
||||
fill="#282828" />
|
||||
<path d="M317.529 270.845c18.426-1.381 21.42-17.966 21.42-17.966-9.674 14.511-21.42 17.966-21.42 17.966z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M307.511 268.454l-21.886-18.352a5.376 5.376 0 00-7.574.667 5.377 5.377 0 00.667 7.571l21.887 18.35a5.372 5.372 0 007.57-.665 5.372 5.372 0 00-.664-7.571z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M306.084 268.939L287.74 253.56c-1.904-1.598-3.783-2.498-4.193-2.009-.41.49.803 2.181 2.709 3.779l18.342 15.378c1.906 1.599 3.785 2.498 4.192 2.008.409-.488-.802-2.178-2.706-3.777z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M338.033 279.285s-1.172-1.468-3.227-.88l.293 10.273s-12.627 19.764-26.201 18.146c-.461-.055-3.428 1.806-4.463 3.754-1.038 1.948-1.425 4.489.965 5.207 4.33 1.301 12.002 2.155 20.895-3.332 0 0 13.795-8.512 15.555-16.438 0 0-.294-12.62-3.817-16.73z"
|
||||
fill="#282828" />
|
||||
<path d="M315.725 307.243c17.613-1.322 20.474-17.17 20.474-17.17-9.246 13.868-20.474 17.17-20.474 17.17z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M306.152 304.958l-20.918-17.54a5.137 5.137 0 00-6.601 7.874l20.918 17.538a5.135 5.135 0 007.236-.636 5.138 5.138 0 00-.635-7.236z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M304.787 305.423l-17.531-14.699c-1.819-1.527-3.616-2.388-4.006-1.92-.395.468.766 2.084 2.586 3.613l17.53 14.697c1.825 1.529 3.62 2.387 4.008 1.92.393-.468-.765-2.083-2.587-3.611z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M324.529 326.425s-.6-1.612-2.557-1.691l-2.692 9.018s-16.654 13.563-27.991 8.258c-.389-.181-3.499.586-4.961 1.984-1.463 1.395-2.528 3.495-.654 4.803 3.391 2.376 9.816 5.319 19.123 3.102 0 0 14.439-3.443 18.249-9.83 0 .001 3.367-11.058 1.483-15.644z"
|
||||
fill="#282828" />
|
||||
<path d="M297.105 344.335c15.693 3.905 22.731-9.056 22.731-9.056-12.022 9.407-22.731 9.056-22.731 9.056z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M289.435 339.599l-13.154-21.258a4.709 4.709 0 00-6.48-1.522 4.7 4.7 0 00-1.522 6.475l13.155 21.256a4.706 4.706 0 008.001-4.951z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M288.113 339.611l-11.027-17.816c-1.141-1.849-2.457-3.113-2.932-2.818-.475.292.068 2.033 1.213 3.883l11.027 17.814c1.147 1.853 2.461 3.115 2.933 2.82.475-.294-.065-2.031-1.214-3.883z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M174.351 172.134c-8.506-12.131-19.854-18.843-25.344-14.994-5.489 3.851-3.045 16.807 5.461 28.934 8.505 12.128 19.852 18.841 25.344 14.991 5.491-3.849 3.045-16.804-5.461-28.931z"
|
||||
fill="#282828" />
|
||||
<path
|
||||
d="M175.957 188.565c-.914-27.58-25.018-27.644-25.26-27.641a.401.401 0 00-.401.369c-.004.018-.003.036-.005.054a.414.414 0 00.324.388c22.029 4.742 24.523 27.586 24.544 27.817a.415.415 0 00.433.371.412.412 0 00.387-.417c-.006-.318-.014-.63-.022-.941z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M223.701 91.58a1.864 1.864 0 00-2.295.504c-13.348 16.685-27.925 24.301-30.277 25.46-2.516.052-3.203-.996-3.42-1.327-1.602-2.437-1.041-5.232 1.055-10.16 3.904-9.173 23.99-18.314 32.746-20.818a1.867 1.867 0 00-.208-3.639c-4.863-.803-9.681-1.209-14.315-1.209-38.792 0-56.524 28.414-56.699 28.701-8.611 14.349-10.918 26.846-6.867 37.154 5.539 14.093 20.838 18.661 21.487 18.848a1.855 1.855 0 00.732.062c41.428-4.762 58.336-68.718 59.036-71.439a1.875 1.875 0 00-.975-2.137z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M212.607 83.445c-.723-.014-1.436-.021-2.141-.021-62.846 0-64.799 54.862-64.813 55.416a.936.936 0 00.935.955.935.935 0 00.906-.708c12.444-49.785 64.63-53.743 65.155-53.776a.935.935 0 00-.042-1.866z"
|
||||
fill="#a9a9a9" />
|
||||
<ellipse transform="rotate(-106.589 198.974 194.046)" cx="198.975" cy="194.05" rx="12.14" ry="26.826"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M222.047 185.695c-.386-.123-.758-.262-1.145-.355-31.895-7.563-45.184 14.683-45.297 14.935-.098.216.014.458.258.559.021.013.042.02.064.029.226.068.461-.025.621-.18 18.953-18.273 44.881-14.198 45.169-14.126.277.065.563-.065.653-.297.087-.23-.056-.479-.323-.565z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M187.208 235.251c-1.101-2.067-4.245-4.04-4.735-3.981-14.396 1.716-27.789-19.247-27.789-19.247l.312-10.897c-2.181-.623-3.425.934-3.425.934-3.736 4.359-4.047 17.746-4.047 17.746 1.867 8.406 16.5 17.435 16.5 17.435 9.43 5.819 17.568 4.914 22.161 3.534 2.534-.762 2.123-3.457 1.023-5.524z"
|
||||
fill="#282828" />
|
||||
<path d="M153.517 213.501s3.035 16.812 21.715 18.212c0 .001-11.908-3.501-21.715-18.212z" fill="#a9a9a9" />
|
||||
<path
|
||||
d="M215.251 211.364a5.45 5.45 0 00-7.677-.676l-22.187 18.603a5.447 5.447 0 00-.673 7.675 5.445 5.445 0 007.674.674l22.188-18.602a5.448 5.448 0 00.675-7.674z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M209.68 212.157c-.416-.496-2.32.416-4.25 2.036l-18.596 15.59c-1.932 1.622-3.16 3.334-2.744 3.83.412.497 2.317-.415 4.251-2.036l18.594-15.589c1.932-1.62 3.161-3.336 2.745-3.831z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M187.603 274.333c-1.084-2.039-4.187-3.985-4.67-3.928-14.203 1.693-27.414-18.986-27.414-18.986l.307-10.749c-2.148-.615-3.376.921-3.376.921-3.685 4.299-3.993 17.504-3.993 17.504 1.842 8.293 16.275 17.199 16.275 17.199 9.303 5.74 17.331 4.847 21.863 3.486 2.499-.748 2.094-3.408 1.008-5.447z"
|
||||
fill="#282828" />
|
||||
<path d="M154.371 252.878s2.992 16.585 21.42 17.966c0 .001-11.746-3.454-21.42-17.966z" fill="#a9a9a9" />
|
||||
<path
|
||||
d="M215.269 250.769a5.378 5.378 0 00-7.574-.667l-21.887 18.352a5.372 5.372 0 00-.664 7.571 5.372 5.372 0 007.57.665l21.887-18.35a5.375 5.375 0 00.668-7.571z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M209.773 251.552c-.411-.489-2.289.411-4.193 2.009l-18.345 15.379c-1.904 1.599-3.116 3.289-2.705 3.778.407.49 2.285-.41 4.191-2.008l18.343-15.378c1.907-1.599 3.119-3.291 2.709-3.78z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M188.885 310.578c-1.037-1.949-4.002-3.809-4.465-3.754-13.573 1.618-26.2-18.146-26.2-18.146l.294-10.273a3.085 3.085 0 00-3.227.88c-3.523 4.11-3.816 16.73-3.816 16.73 1.76 7.926 15.555 16.438 15.555 16.438 8.893 5.487 16.563 4.633 20.895 3.332 2.387-.718 2.001-3.259.964-5.207z"
|
||||
fill="#282828" />
|
||||
<path d="M157.121 290.073s2.861 15.849 20.473 17.17c0 0-11.227-3.302-20.473-17.17z" fill="#a9a9a9" />
|
||||
<path
|
||||
d="M215.324 288.057a5.138 5.138 0 00-7.238-.638l-20.918 17.54a5.136 5.136 0 006.601 7.871l20.918-17.538a5.138 5.138 0 00.637-7.235z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M210.07 288.804c-.391-.468-2.188.393-4.006 1.92l-17.532 14.699c-1.823 1.528-2.979 3.143-2.587 3.611.389.467 2.184-.391 4.008-1.92l17.531-14.697c1.821-1.528 2.981-3.145 2.586-3.613z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M206.991 343.994c-1.462-1.398-4.571-2.165-4.96-1.984-11.338 5.305-27.992-8.258-27.992-8.258l-2.692-9.018c-1.958.08-2.556 1.691-2.556 1.691-1.885 4.586 1.483 15.645 1.483 15.645 3.808 6.387 18.249 9.83 18.249 9.83 9.307 2.217 15.731-.726 19.123-3.102 1.873-1.309.808-3.409-.655-4.804z"
|
||||
fill="#282828" />
|
||||
<path d="M173.482 335.279s7.038 12.961 22.731 9.056c.001 0-10.707.351-22.731-9.056z" fill="#a9a9a9" />
|
||||
<path
|
||||
d="M223.517 316.819a4.707 4.707 0 00-6.479 1.522l-13.154 21.258a4.706 4.706 0 001.526 6.474 4.7 4.7 0 006.474-1.523l13.156-21.256a4.7 4.7 0 00-1.523-6.475z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M219.166 318.977c-.475-.295-1.791.969-2.932 2.818l-11.027 17.816c-1.149 1.853-1.689 3.589-1.215 3.884.473.295 1.786-.968 2.934-2.82l11.027-17.814c1.143-1.851 1.688-3.592 1.213-3.884z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M268.014 184.537c-.069-.099-6.133-11.279-4.371-27.574a1.867 1.867 0 00-3.624-.804c-.038.111-3.909 11.111-12.242 11.111h-2.306c-8.333 0-12.204-11-12.242-11.111a1.867 1.867 0 00-3.625.804c1.763 16.294-4.301 27.475-4.371 27.574a1.87 1.87 0 001.531 2.939c.139 0 .277-.016.416-.048l18.707-5.729c.283-.065 1.191-.065 1.474 0l18.707 5.729a1.872 1.872 0 001.967-.779 1.87 1.87 0 00-.021-2.112z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M278.791 208.435c-5.91-24.532-18.088-35.328-32.153-35.328-13.759 0-25.712 10.331-31.757 33.743-2.682 10.383 66.344 11.692 63.91 1.585z"
|
||||
fill="#565655" />
|
||||
<path
|
||||
d="M279.386 211.053c-5.657-26.383-59.839-26.383-65.495 0-2.062 9.615-3.211 21.196-3.211 34.904 0 51.324 16.097 113.011 35.958 113.011 19.86 0 35.958-61.687 35.958-113.011 0-13.708-1.149-25.289-3.21-34.904z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M246.334 191.267c-14.857.089-29.635 6.684-32.443 19.786-2.062 9.615-3.211 21.196-3.211 34.904 0 51.324 16.097 113.011 35.958 113.011l-.304-167.701z"
|
||||
fill="#0f0f0f" />
|
||||
<g fill="#d3d3d3">
|
||||
<path
|
||||
d="M276.209 242.411a.283.283 0 00-.295-.144l-.016.003c-3.545.597-7.145.597-10.657.417-1.761-.117-3.51-.226-5.245-.477-1.74-.223-3.435-.775-5.145-1.02a2.709 2.709 0 00-1.869.414l-.088.057c-1.408.921-2.663 2.074-3.842 3.341-.58.65-1.148 1.311-1.666 2.054-.455.627-2.039.627-2.492 0-.519-.743-1.088-1.404-1.668-2.054-1.178-1.268-2.434-2.42-3.842-3.341l-.088-.057a2.708 2.708 0 00-1.869-.414c-1.709.245-3.404.797-5.145 1.02-1.734.251-3.484.359-5.244.477-3.514.18-7.113.18-10.656-.417l-.018-.003a.28.28 0 00-.293.144.28.28 0 00.113.383c1.65.898 3.402 1.515 5.186 2.07 1.782.562 3.61.979 5.46 1.294 1.85.328 3.722.486 5.601.614 1.521.084 3.068.274 4.604.256a22.598 22.598 0 003.674 1.752c.821.284 1.652.558 2.535.749.875.207 1.783.362 2.771.398a.348.348 0 00.125-.025.338.338 0 00.123.025 14.176 14.176 0 002.771-.398c.883-.191 1.715-.464 2.535-.749a22.598 22.598 0 003.674-1.752c1.536.019 3.083-.171 4.604-.256 1.879-.128 3.751-.287 5.601-.614a40.99 40.99 0 005.459-1.294c1.785-.555 3.536-1.172 5.187-2.07a.281.281 0 00.115-.383zM273.722 273.492a.26.26 0 00-.271-.132l-.014.003c-3.253.548-6.553.548-9.776.382-1.614-.107-3.22-.208-4.81-.438-1.597-.204-3.151-.711-4.72-.935a2.484 2.484 0 00-1.715.378l-.081.053c-1.291.845-2.443 1.902-3.523 3.065-.533.597-1.055 1.202-1.529 1.884-.418.575-1.869.575-2.287 0-.475-.682-.996-1.287-1.529-1.884-1.079-1.163-2.232-2.22-3.523-3.065l-.08-.053a2.48 2.48 0 00-1.715-.378c-1.567.224-3.123.731-4.717.935-1.594.23-3.197.33-4.813.438-3.222.166-6.523.166-9.773-.382l-.018-.003a.257.257 0 00-.268.132.257.257 0 00.102.351c1.514.824 3.121 1.391 4.758 1.899 1.635.515 3.313.897 5.009 1.187 1.696.301 3.413.446 5.138.563 1.395.078 2.813.252 4.223.234a20.662 20.662 0 003.369 1.608c.754.26 1.518.511 2.326.686.803.19 1.636.333 2.543.366a.39.39 0 00.113-.022.317.317 0 00.114.022c.905-.034 1.74-.176 2.541-.366.81-.175 1.573-.426 2.326-.686 1.188-.439 2.31-.98 3.369-1.608 1.41.018 2.829-.156 4.224-.234 1.723-.117 3.439-.263 5.136-.563a37.58 37.58 0 005.01-1.187c1.636-.509 3.243-1.075 4.757-1.899a.258.258 0 00.104-.351zM268.746 304.521a.217.217 0 00-.222-.109l-.013.003c-2.665.449-5.37.449-8.012.314-1.322-.089-2.64-.171-3.942-.359-1.308-.167-2.583-.582-3.866-.767a2.043 2.043 0 00-1.408.311l-.064.043c-1.059.693-2.003 1.559-2.889 2.512-.438.488-.864.985-1.252 1.544-.344.47-1.533.47-1.876 0a15.814 15.814 0 00-1.253-1.544c-.885-.953-1.83-1.819-2.888-2.512l-.065-.043a2.046 2.046 0 00-1.406-.311c-1.285.185-2.56.599-3.865.767-1.305.188-2.621.271-3.945.359-2.639.135-5.346.135-8.01-.314l-.014-.003a.213.213 0 00-.22.109.209.209 0 00.085.288c1.24.674 2.557 1.139 3.897 1.557 1.341.422 2.716.735 4.106.972 1.391.246 2.797.366 4.211.461 1.141.064 2.305.208 3.459.193.869.514 1.789.958 2.763 1.317.616.214 1.242.419 1.906.562a10.57 10.57 0 002.083.3.254.254 0 00.094-.019c.03.011.06.02.094.019a10.57 10.57 0 002.082-.3c.664-.143 1.289-.348 1.906-.562.975-.36 1.894-.804 2.762-1.317 1.154.014 2.318-.129 3.461-.193 1.413-.095 2.819-.215 4.21-.461a30.982 30.982 0 004.106-.972c1.34-.417 2.657-.882 3.898-1.557a.21.21 0 00.087-.288zM262.215 333.533a.149.149 0 00-.157-.077l-.009.002c-1.895.319-3.818.319-5.697.222-.939-.063-1.877-.121-2.804-.255-.931-.119-1.837-.415-2.749-.545a1.45 1.45 0 00-1.001.221l-.046.031c-.754.492-1.425 1.108-2.054 1.786-.312.348-.615.701-.893 1.098-.242.335-1.089.335-1.331 0-.277-.397-.58-.75-.893-1.098-.629-.677-1.301-1.294-2.054-1.786l-.046-.031a1.457 1.457 0 00-1-.221c-.914.13-1.82.426-2.75.545-.927.134-1.861.192-2.805.255-1.877.097-3.801.097-5.695-.222l-.01-.002a.145.145 0 00-.155.077.147.147 0 00.058.204c.883.479 1.819.811 2.773 1.107.953.3 1.932.523 2.92.691.987.175 1.988.26 2.994.329.812.045 1.641.146 2.461.137.617.366 1.271.681 1.965.937.438.152.883.298 1.355.4.467.11.951.193 1.48.214a.19.19 0 00.066-.014.177.177 0 00.066.014 7.724 7.724 0 001.481-.214c.471-.102.916-.248 1.354-.4a11.953 11.953 0 001.965-.937c.821.01 1.649-.092 2.461-.137 1.005-.068 2.007-.153 2.995-.329a21.909 21.909 0 002.918-.691c.955-.297 1.891-.628 2.773-1.107a.147.147 0 00.064-.204z" />
|
||||
</g>
|
||||
<path
|
||||
d="M266.766 367.803c-8.21-11.165-19.664-16.688-25.582-12.336-5.914 4.353-4.048 16.931 4.166 28.096 8.215 11.162 19.669 16.686 25.585 12.332 5.913-4.352 4.049-16.93-4.169-28.092z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M263.92 369.897c-6.028-8.197-14.438-12.253-18.783-9.057-4.342 3.196 17.5 32.879 21.843 29.682 4.342-3.195 2.973-12.43-3.06-20.625z"
|
||||
fill="#cfcfcf" />
|
||||
<path
|
||||
d="M297.963 392.621c-11.547-7.663-24.201-8.913-28.262-2.792-4.059 6.12 2.016 17.29 13.566 24.953 11.551 7.659 24.205 8.91 28.264 2.788 4.059-6.119-2.014-17.29-13.568-24.949z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M296.012 395.566c-8.479-5.626-17.77-6.544-20.752-2.051-2.979 4.494 27.732 24.864 30.711 20.369 2.981-4.493-1.479-12.695-9.959-18.318z"
|
||||
fill="#cfcfcf" />
|
||||
<path
|
||||
d="M333.582 396.01c-13.857-.008-25.097 5.941-25.101 13.287-.002 7.344 11.233 13.298 25.093 13.304 13.861.003 25.1-5.946 25.102-13.291.002-7.343-11.233-13.3-25.094-13.3z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M333.582 399.543c-10.176-.005-18.428 4.362-18.432 9.755 0 5.392 36.854 5.403 36.854.011.002-5.393-8.246-9.765-18.422-9.766z"
|
||||
fill="#cfcfcf" />
|
||||
<path
|
||||
d="M393.463 377.174c-4.3-5.952-16.894-4.201-28.129 3.917-11.236 8.111-16.861 19.516-12.563 25.471 4.299 5.955 16.893 4.199 28.13-3.914 11.236-8.114 16.861-19.52 12.562-25.474z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M388.057 381.081c-3.158-4.371-12.404-3.084-20.652 2.874-8.251 5.956-12.383 14.329-9.227 18.703 3.157 4.37 33.036-17.205 29.879-21.577z"
|
||||
fill="#cfcfcf" />
|
||||
<path
|
||||
d="M402.455 354.922c-3.425-25.218-23.037-24.284-23.037-24.284 3.424-16.188 17.746-23.35 17.746-23.35-17.746-.934-26.463 21.792-26.463 21.792-11.209 30.51 9.029 47.011 9.029 47.011l13.697 3.736c11.831-7.781 9.028-24.905 9.028-24.905z"
|
||||
fill="#1e1e1e" />
|
||||
<path d="M382.842 335.931s18.057 11.52 10.274 35.492c0 0 19.924-22.416-10.274-35.492z" fill="#cfcfcf" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 17 KiB |
@@ -0,0 +1,57 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.159 496.159">
|
||||
<path
|
||||
d="M248.083.003C111.071.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.083 248.07 137.006 0 248.076-111.069 248.076-248.07C496.159 111.062 385.089.003 248.083.003z"
|
||||
fill="#af8d4a" />
|
||||
<path
|
||||
d="M167.373 199.371c-15.639 5.093-30.906.336-40.461-6.388-9.556-6.724-20.828-23.321-18.077-47.33 4.961-43.284 47.094-43.202 47.094-43.202-13.176-11.316-31.91-8.684-39.008-6.011-41.625 15.681-50.474 61.879-50.474 61.879-9.358 77.235 95.644 85.017 95.644 85.017 55.194-2.04 60.517-62.722 60.517-62.722-24.159 1.688-55.235 18.757-55.235 18.757z"
|
||||
fill="#eae7d0" />
|
||||
<path
|
||||
d="M167.373 199.371C96.288 209.421 66.448 158.32 66.448 158.32c-9.358 77.235 95.644 85.017 95.644 85.017 55.194-2.04 60.517-62.722 60.517-62.722-24.16 1.687-55.236 18.756-55.236 18.756z"
|
||||
fill="#ddd9bf" />
|
||||
<path
|
||||
d="M428.251 158.32s-8.849-46.198-50.474-61.879c-7.098-2.673-25.832-5.305-39.008 6.011 0 0 42.133-.082 47.094 43.202 2.752 24.009-8.521 40.606-18.076 47.33s-24.822 11.48-40.461 6.388c0 0-31.076-17.069-55.235-18.756 0 0 5.323 60.682 60.517 62.722-.001-.001 105.001-7.783 95.643-85.018z"
|
||||
fill="#eae7d0" />
|
||||
<path
|
||||
d="M428.251 158.32s-29.84 51.101-100.925 41.051c0 0-31.076-17.069-55.235-18.756 0 0 5.323 60.682 60.517 62.722-.001 0 105.001-7.782 95.643-85.017z"
|
||||
fill="#ddd9bf" />
|
||||
<path
|
||||
d="M367.007 244.183c-23.533-3.177-46.177 11.646-46.177 19.002 0 7.355 8.18 23.02 39.815 28.133 23.533 3.177 46.178-20.778 46.178-28.133 0-7.356-16.283-15.827-39.816-19.002z"
|
||||
fill="#4c4a48" />
|
||||
<path
|
||||
d="M360.958 253.385c-14.313-1.933-28.085 7.083-28.085 11.557s4.976 14 24.216 17.111c14.313 1.932 28.085-12.638 28.085-17.111s-9.903-9.626-24.216-11.557z"
|
||||
fill="#383736" />
|
||||
<path
|
||||
d="M131.202 244.183c-23.533 3.176-39.816 11.646-39.816 19.002 0 7.355 22.645 31.31 46.178 28.133 31.635-5.113 39.816-20.778 39.816-28.133 0-7.356-22.645-22.179-46.178-19.002z"
|
||||
fill="#4c4a48" />
|
||||
<path
|
||||
d="M137.251 253.385c-14.313 1.932-24.216 7.083-24.216 11.557s13.772 19.042 28.085 17.111c19.24-3.11 24.216-12.638 24.216-17.111s-13.772-13.49-28.085-11.557z"
|
||||
fill="#383736" />
|
||||
<path
|
||||
d="M333.445 256.518s10.828-22.088 4.332-32.483c0 0-7.796-6.063-19.49-7.796 0 0-39.702-22.497-69.281-22.497-29.579 0-69.28 22.497-69.28 22.497-11.693 1.733-19.49 7.796-19.49 7.796-6.496 10.395 4.332 32.483 4.332 32.483 2.165 8.662-2.166 26.853-2.166 26.853-4.764 31.617 34.648 107.411 34.648 107.411 3.464 6.063 18.181 48.385 51.955 48.385s48.492-42.321 51.956-48.385c0 0 39.414-75.794 34.649-107.411 0 0-4.33-18.191-2.165-26.853z"
|
||||
fill="#3f3d3d" />
|
||||
<path
|
||||
d="M318.286 216.239s-39.702-22.497-69.281-22.497-69.28 22.497-69.28 22.497c-6.338 0 18.768 54.717 18.768 54.717l12.561 89.764c3.464 6.063 4.177 78.447 37.951 78.447s35.918-74.384 39.382-80.447l11.132-87.764s23.368-54.717 18.767-54.717z"
|
||||
fill="#514f4d" />
|
||||
<path
|
||||
d="M179.725 216.239c-5.588 0 18.768 54.717 18.768 54.717l12.561 89.764c3.464 6.063 4.177 78.447 37.951 78.447V193.742c-29.579 0-69.28 22.497-69.28 22.497z"
|
||||
fill="#444341" />
|
||||
<path
|
||||
d="M247.76 356.407c-54.905 0-55.357 22.006-55.357 22.006 1.641 12.993 2.818 27.338 4.647 32.916 1.829 5.578 17.04 29.55 51.955 29.55 34.916 0 49.02-22 51.956-29.55 2.937-7.549 3.007-19.923 4.648-32.916 0 0-2.944-22.006-57.849-22.006z"
|
||||
fill="#383736" />
|
||||
<g fill="#161616">
|
||||
<path
|
||||
d="M216.35 381.192c-14.065 45.506 26.477 33.923 26.477 33.923-17.123-5.627-26.477-33.923-26.477-33.923zM284.665 381.192s-9.354 28.296-26.477 33.923c.001 0 40.543 11.583 26.477-33.923z" />
|
||||
</g>
|
||||
<g fill="#282727">
|
||||
<path
|
||||
d="M183.768 234.863l-25.121-.867s-1.733 1.877-.29 10.973c1.444 9.096 6.209 11.549 6.209 11.549l33.926 14.438 2.021-3.466-16.745-32.627zM339.364 233.996l-25.121.867-16.747 32.627 2.022 3.466 33.926-14.438s4.764-2.454 6.208-11.549c1.445-9.096-.288-10.973-.288-10.973z" />
|
||||
</g>
|
||||
<path d="M339.364 233.996l-.048.002c.465 1.432.77 2.974.909 4.582-.018-3.656-.861-4.584-.861-4.584z"
|
||||
fill="#494949" />
|
||||
<path
|
||||
d="M316.381 197.175c-8.732-9.666-35.981-18.272-67.847-18.272-29.389 0-55.285 4.57-66.128 15.725-3.477 3.577-5.406 23.848-5.406 23.848 0 12.046 142.308 12.046 142.308 0 0-.001-1.024-19.194-2.927-21.301z"
|
||||
fill="#383736" />
|
||||
<path
|
||||
d="M248.534 178.903c-29.389 0-55.285 4.57-66.128 15.725-3.477 3.577-5.406 23.848-5.406 23.848 0 6.074 36.18 9.085 72.055 9.034l-.521-48.607z"
|
||||
fill="#2d2d2d" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,105 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.159 496.159">
|
||||
<path
|
||||
d="M248.083.003C111.071.003 0 111.063 0 248.085c0 137.001 111.07 248.071 248.083 248.071 137.006 0 248.076-111.07 248.076-248.071C496.159 111.063 385.089.003 248.083.003z"
|
||||
fill="#af8d4a" />
|
||||
<path
|
||||
d="M342.669 139.736c3.418-11.72 7-89.333-73.591-85.338-18.652.925-28.766 8.482-32.454 20.284-3.688 11.801-8.719 40.51-9.439 51.77-.85 13.285 1.71 32.496 1.71 32.496s26.141 118.062 35.388 125.577c7.868 6.394 20.162 14.261 41.305 12.786 12.85-.896 24.286-9.628 29.872-22.375 11.802-26.921-5.9-64.169-2.582-81.871 2.583-13.776 4.628-35.626 9.791-53.329z"
|
||||
fill="#7c4c1d" />
|
||||
<path
|
||||
d="M310.011 72.237c-13.267-22.3-45.235-16.854-45.235-16.854-14.163 9.085-11.785 43.387-11.785 43.387.846 15.243 3.269 17.8 3.269 17.8 7.031 23.184 28.889 27.618 31.925 27.365 20.523-1.71 23.213-16.183 24.65-20.532 1.437-4.349 2.257-19.553 2.257-19.553 3.388-18.629-5.081-31.613-5.081-31.613z"
|
||||
fill="#ddb17c" />
|
||||
<path
|
||||
d="M273.935 101.434c-4.457.141-7.944 4.225-7.944 4.225.028.917 3.737 3.857 8.195 3.718 4.456-.141 7.943-4.226 7.943-4.226s-3.737-3.857-8.194-3.717z"
|
||||
fill="#666" />
|
||||
<path
|
||||
d="M273.97 102.534c-4.216.132-7.527 3.663-7.527 3.663.024.79 3.526 3.313 7.743 3.181 4.215-.133 7.526-3.663 7.526-3.663s-3.526-3.315-7.742-3.181z"
|
||||
fill="#f7f1ed" />
|
||||
<circle cx="274.08" cy="106.04" r="2.825" fill="#5b5b5b" />
|
||||
<circle cx="274.08" cy="106.04" r="1.999" fill="#333" />
|
||||
<path
|
||||
d="M297.969 99.011c-4.395.751-7.286 5.278-7.286 5.278s4.232 3.306 8.627 2.555c4.395-.753 7.44-4.375 7.287-5.28.001-.001-4.233-3.307-8.628-2.553z"
|
||||
fill="#666" />
|
||||
<path
|
||||
d="M298.155 100.094c-4.159.711-6.952 4.664-6.952 4.664s3.949 2.797 8.107 2.086c4.157-.712 7.084-3.885 6.951-4.665.001 0-3.949-2.797-8.106-2.085z"
|
||||
fill="#f7f1ed" />
|
||||
<circle cx="298.73" cy="103.42" r="2.825" fill="#5b5b5b" />
|
||||
<circle cx="298.73" cy="103.42" r="1.999" fill="#333" />
|
||||
<path fill="#fff" d="M288.822 127.206l-9.214.987 9.245 1.736 9.226-2.96z" />
|
||||
<path
|
||||
d="M288.925 128.97c-3.08.204-9.667-.686-9.667-.686s3.656 5.716 9.941 5.299c6.286-.416 9.106-6.563 9.106-6.563s-6.301 1.747-9.38 1.95z"
|
||||
fill="#ce8c78" />
|
||||
<path
|
||||
d="M293.314 124.796c-2.31.153-4.582.918-4.582.918s-2.346-.458-4.654-.305c-2.31.152-4.821 2.875-4.821 2.875s6.021 0 9.612-.239c3.593-.238 9.436-1.024 9.436-1.024s-2.682-2.378-4.991-2.225z"
|
||||
fill="#db9a83" />
|
||||
<path d="M280.67 127.89l5.752-1.597c-3.959-1.519-5.752 1.597-5.752 1.597z" fill="#e8b1a0" />
|
||||
<g fill="#7c4c1d">
|
||||
<path
|
||||
d="M280.224 94.902s-4.6-.281-6.268-.381c-1.666-.099-4.431.021-6.715.622s-6.852 4.448-6.852 4.448 5.169-2.374 7.212-2.615a28.28 28.28 0 016.372 0c2.163.241 7.212 1.413 7.212 1.413l-.961-3.487zM304.832 92.241c-2.353-.198-5.096.159-6.721.543a6192.37 6192.37 0 00-6.108 1.455l-.347 3.6s4.771-2.023 6.861-2.634a28.306 28.306 0 016.276-1.097c2.054-.114 7.555 1.333 7.555 1.333s-5.162-3.002-7.516-3.2zM201.699 177.333c-17.145 0-39.777-11.659-39.777-11.659-30.176-16.46-56.236-6.172-56.236-6.172-29.49 8.916-40.35 26.567-37.684 44.567s20.538 23.328 20.538 23.328c-5.486-12.344 5.487-21.946 5.487-21.946 21.26-17.831 44.578 0 44.578 0 13.03 8.23 33.604 27.433 33.604 27.433 27.433 21.26 59.666 4.115 59.666 4.115l6.857-66.523c-15.773 9.6-37.033 6.857-37.033 6.857z" />
|
||||
</g>
|
||||
<path
|
||||
d="M237.335 183.069c-20 3.5-39.667 11.667-81.333-11.333-13.485-7.444-43.093-9.375-56-2-38.5 22-18.667 44.333-18.667 44.333 1-20.5 29.208-37.996 51-28.333 51.5 22.833 59.333 35.667 92.333 31s12.667-33.667 12.667-33.667z"
|
||||
fill="#875327" />
|
||||
<path
|
||||
d="M251.699 215.386l-53.658 26.186c-7.316 17.375-21.946 25.146-21.946 25.146-10.059 1.371-24.352-4.859-39.777-5.03-20.575-.228-21.031 17.832-21.031 17.832 0 10.514 13.259 10.973 13.259 10.973-5.943-18.29 13.123-14.01 16.688-11.201 7.544 5.944 16.459 10.744 26.29 13.944 9.83 3.2 39.32-3.657 39.32-3.657 14.631-1.829 50.178-58.409 50.178-58.409l-9.323-15.784z"
|
||||
fill="#7c4c1d" />
|
||||
<g fill="#ddb17c">
|
||||
<path
|
||||
d="M381.838 377.819c-34.364-70.078-122.988-66.296-122.988-66.296 21.488-25.604 24.46-80.011 24.46-80.011 10.058 4.573 17.809-2.92 19.546-6.172 8.916-16.687-11.43-37.947-11.43-37.947-5.486-7.317.8-15.317.8-15.317 13.259-21.947-7.747-33.652-14.632-33.834-31.018-.818-33.877 12.439-41.288 34.102-6.356 18.578-30.949 71.056-30.949 71.056-15.545 20.118-43.306 74.033-45.824 81.444-2.297 6.761 15.251 10.734 17.768 5.701 3.278-6.556 8.853-24.05 8.853-24.05l21.946-34.749c4.573-5.486 20.225-23.295 20.225-23.295 4.857-5.55 16.879-23.3 19.193-25.654.736-.749-4.341 12.455-7.222 19.953-8.979 23.374-24.894 42.187-24.894 42.187-26.861 19.889-28.792 42.588-28.792 42.588-1.829 24.689 20.574 39.32 20.574 39.32-10.058 3.658-25.608 2.465-25.608 2.465-9.145-3.658-18.813-6.841-27.365-2.28-8.551 4.561-27.364 11.972-27.364 11.972-21.033 7.315-25.084 22.804-22.992 28.992 2.092 6.189 19.203 2.743 19.203 2.743 7.316 0 78.639-17.375 78.639-17.375 32.919-4.571 124.361 4.572 124.361 4.572 64.926 5.488 55.78-20.115 55.78-20.115z" />
|
||||
<path
|
||||
d="M168.698 305.994l-1.446 4.439c-2.682 3.549-4.36 5.595-6.453 9.931-2.126 4.407-4.486 12.163-4.486 12.163l3.28 2.376 6.539 3.799 9.165 3.216 6.297-16.006s.683-8.007.754-9.536l2.363-5.66a32.626 32.626 0 00-16.013-4.722z" />
|
||||
<path
|
||||
d="M174.518 336.996c-1.272-.452-2.95.324-3.456 1.747l-5.817 17.971c-.46 1.292.104 2.673 1.257 3.084 1.157.412 2.465-.304 2.925-1.594l6.479-17.811c.508-1.423-.112-2.943-1.388-3.397zM169.163 334.981c-1.317-.491-3.019.161-3.547 1.576l-7.384 21.204c-.478 1.284.101 2.688 1.293 3.131 1.194.446 2.552-.235 3.03-1.519l8.237-20.991c.528-1.416-.313-2.91-1.629-3.401zM163.807 333.086c-1.26-.488-3.024.118-3.571 1.527l-6.416 17.479c-.544 1.409.034 2.947 1.294 3.434 1.26.487 2.725-.257 3.269-1.666l6.889-17.297c.546-1.41-.206-2.99-1.465-3.477zM158.801 330.617c-1.178-.477-1.984.722-2.55 2.123l-4.235 9.587c-.491 1.215-.06 2.535.962 2.949 1.023.412 2.25-.238 2.741-1.454l4.466-9.716c.565-1.401-.206-3.014-1.384-3.489zM183.489 332.609c-.805-2.691-2.236-8.138-2.236-8.138l-6.774 4.593 3.22 5.294s-.542 5.401.675 9.277c.144.456 1.622 4.229 3.869 2.802.819-.52.306-3.316.592-6.288.296-3.093 1.059-6.166.654-7.54z" />
|
||||
</g>
|
||||
<path d="M182.745 342.002s-2.134 2.711-.678 4.848c0 .001 1.253.184.678-4.848z" fill="#efe4dc" />
|
||||
<path
|
||||
d="M154.309 342.148c-.732-.327-1.444-.327-1.854.591-.03.065-.185.347-.209.419-.319.92.069 1.555.75 1.859.698.312 1.469.122 1.921-.755.022-.042.171-.297.19-.339.409-.917-.066-1.447-.798-1.775z"
|
||||
fill="#e8c7af" />
|
||||
<path
|
||||
d="M154.268 342.259c-.709-.303-1.393-.293-1.774.595-.028.064-.344.687-.367.755-.292.889-.338 1.88.542 2.257.881.378 1.622-.386 2.045-1.235.02-.041.331-.637.348-.679.379-.886-.086-1.389-.794-1.693z"
|
||||
fill="#f7f3f0" />
|
||||
<path
|
||||
d="M154.219 342.245c-.71-.304-1.394-.293-1.774.595-.028.064-.14.34-.163.409-.292.89.09 1.493.748 1.775.676.29 1.415.096 1.838-.754.02-.04.126-.29.144-.331.38-.888-.085-1.391-.793-1.694z"
|
||||
fill="#efe4dc" />
|
||||
<path
|
||||
d="M156.622 351.661c-.904-.372-1.771-.345-2.235.788-.034.081-.213.431-.24.519-.354 1.131.144 1.89.98 2.235.862.354 1.794.094 2.313-.989.025-.053.197-.368.219-.42.465-1.133-.134-1.762-1.037-2.133z"
|
||||
fill="#e8c7af" />
|
||||
<path
|
||||
d="M156.576 351.797c-.874-.343-1.707-.306-2.138.79-.031.079-.393.849-.418.933-.323 1.093-.343 2.302.742 2.728 1.085.427 1.96-.529 2.444-1.578.023-.051.378-.789.398-.839.43-1.095-.155-1.689-1.028-2.034z"
|
||||
fill="#f7f3f0" />
|
||||
<path
|
||||
d="M156.516 351.781c-.875-.344-1.708-.306-2.138.789-.031.08-.158.419-.183.504-.323 1.092.165 1.815.975 2.133.834.329 1.727.065 2.209-.984.023-.051.144-.359.162-.409.432-1.094-.152-1.69-1.025-2.033z"
|
||||
fill="#efe4dc" />
|
||||
<path
|
||||
d="M160.956 356.976c-.925-.311-1.789-.228-2.178.933-.028.084-.184.445-.205.535-.278 1.151.269 1.876 1.128 2.164.884.298 1.795-.024 2.242-1.14.021-.053.171-.38.189-.433.39-1.163-.25-1.748-1.176-2.059z"
|
||||
fill="#e8c7af" />
|
||||
<path
|
||||
d="M160.92 357.116c-.896-.285-1.723-.193-2.081.93-.025.081-.336.874-.355.959-.251 1.111-.189 2.318.922 2.671 1.111.354 1.92-.659 2.332-1.738.02-.052.326-.811.342-.862.358-1.122-.266-1.677-1.16-1.96z"
|
||||
fill="#f7f3f0" />
|
||||
<path
|
||||
d="M160.858 357.102c-.895-.284-1.724-.19-2.081.931-.025.081-.128.429-.148.515-.25 1.112.285 1.8 1.116 2.064.854.271 1.727-.05 2.139-1.129.02-.052.118-.368.135-.419.357-1.123-.266-1.677-1.161-1.962z"
|
||||
fill="#efe4dc" />
|
||||
<path
|
||||
d="M167.834 355.969c-.926-.311-1.789-.228-2.178.934-.027.083-.183.444-.205.534-.278 1.151.268 1.876 1.127 2.164.884.296 1.797-.025 2.242-1.14.021-.056.171-.381.189-.435.391-1.162-.247-1.747-1.175-2.057z"
|
||||
fill="#e8c7af" />
|
||||
<path
|
||||
d="M167.798 356.107c-.895-.284-1.724-.192-2.081.93-.026.081-.337.874-.355.96-.25 1.111-.189 2.319.922 2.671 1.111.354 1.92-.658 2.333-1.737.019-.052.325-.811.342-.863.356-1.121-.266-1.676-1.161-1.961z"
|
||||
fill="#f7f3f0" />
|
||||
<path
|
||||
d="M167.736 356.095c-.895-.284-1.723-.191-2.08.93-.026.082-.129.429-.149.516-.25 1.111.285 1.8 1.115 2.063.854.272 1.727-.05 2.139-1.13.021-.051.119-.367.135-.417.358-1.123-.265-1.677-1.16-1.962z"
|
||||
fill="#efe4dc" />
|
||||
<path
|
||||
d="M178.362 331.121s-.263 1.745-.589 3.283c-.328 1.549-1.441 4.883-1.441 4.883s1.493-3.539 1.803-4.785c.313-1.259.659-3.427.659-3.427l-.432.046z"
|
||||
fill="#c69661" />
|
||||
<g fill="#cca172">
|
||||
<path
|
||||
d="M241.817 357.149c-10.262 5.701-34.632 9.697-34.632 9.697 17.831 4.915 38.995-7.106 45.264-9.602 30.795-12.257 81.913 5.226 81.913 5.226-31.09-21.031-73.1-16.123-92.545-5.321zM242.848 235.17l11.408-22.415 14.653-28.792c-9.373 3.43-22.861 42.977-26.061 51.207z" />
|
||||
</g>
|
||||
<path
|
||||
d="M295.002 72.736l-12.667-12-14.732-6.338c-24.341 3.688-36.879 35.404-22.005 95.886 4.142 16.839-3.688 51.262-22.127 70.808 0 0 43.356-38.015 41.625-62.43-2.565-36.201-21.761-79.259 29.906-85.926z"
|
||||
fill="#875327" />
|
||||
<path
|
||||
d="M265.889 54.647c14.991 4.283 28.78 15.756 38.113 29.756 17.798 26.697 4.732 69.838.111 78.42-6.885 12.786-20.53 51.754-7.744 82.241 0 0 3.81 13.154-9.958 22.496 0 0-14.629 8.975-21.021.615 0 0 1.967 14.874 25.078 14.874 0 0 28.888-7.376 27.413-33.928-1.191-21.442 3.368-50.583 8.36-71.793 31.761-134.925-60.352-122.681-60.352-122.681z"
|
||||
fill="#9b6432" />
|
||||
<path d="M278.066 143.697c8.979 4.418 14.395 22.091 14.395 22.091 5.131-21.521-14.395-22.091-14.395-22.091z"
|
||||
fill="#e8c59e" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 10 KiB |
@@ -0,0 +1,21 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||
<circle cx="256" cy="256" r="256" fill="#273b7a" />
|
||||
<path
|
||||
d="M499.243 335.974L314.109 150.84l4.525 93.667 1.453 1.453-9.573.627-134.967-134.968 2.3 26.577 1.15 1.15-38.21 38.216-1.652-1.652-25.788-2.084L404.249 464.73c44.066-31.354 77.764-76.32 94.994-128.756zM353.844 492.618L175.981 314.756l.85 16.653 3.172 6.404-3.879 22.769-13.002-13.002-19.035-.934 160.689 160.689a253.73 253.73 0 0049.068-14.717z"
|
||||
fill="#121149" />
|
||||
<path
|
||||
d="M175.55 236.03c0-60.23-62.204-62.204-62.204-62.204 60.23 0 62.204-62.204 62.204-62.204 0 60.23 62.204 62.204 62.204 62.204-60.23.001-62.204 62.204-62.204 62.204z"
|
||||
fill="#ffc61b" />
|
||||
<path d="M175.55 111.621c0 60.23 62.204 62.204 62.204 62.204-60.23 0-62.204 62.204-62.204 62.204V111.621z"
|
||||
fill="#e09112" />
|
||||
<path
|
||||
d="M175.981 378.54c0-30.88-31.892-31.892-31.892-31.892 30.88 0 31.892-31.892 31.892-31.892 0 30.88 31.892 31.892 31.892 31.892-30.878 0-31.892 31.892-31.892 31.892z"
|
||||
fill="#ffc61b" />
|
||||
<path d="M175.981 314.756c0 30.88 31.892 31.892 31.892 31.892-30.88 0-31.892 31.892-31.892 31.892v-63.784z"
|
||||
fill="#e09112" />
|
||||
<path
|
||||
d="M314.109 355.268c0-98.968-102.214-102.214-102.214-102.214 98.968 0 102.214-102.214 102.214-102.214 0 98.968 102.214 102.214 102.214 102.214-98.967 0-102.214 102.214-102.214 102.214z"
|
||||
fill="#ffc61b" />
|
||||
<path d="M314.109 150.84c0 98.968 102.214 102.214 102.214 102.214-98.968 0-102.214 102.214-102.214 102.214V150.84z"
|
||||
fill="#e09112" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,108 @@
|
||||
/*
|
||||
* Copyright (c) 2010-2025 Contributors to the openHAB project
|
||||
*
|
||||
* See the NOTICE file(s) distributed with this work for additional
|
||||
* information.
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.binding.astro.internal;
|
||||
|
||||
import static org.openhab.binding.astro.internal.AstroBindingConstants.BINDING_ID;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
import org.openhab.binding.astro.internal.model.ZodiacSign;
|
||||
import org.openhab.core.i18n.TranslationProvider;
|
||||
import org.openhab.core.ui.icon.IconProvider;
|
||||
import org.openhab.core.ui.icon.IconSet;
|
||||
import org.openhab.core.ui.icon.IconSet.Format;
|
||||
import org.osgi.framework.Bundle;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.service.component.annotations.Activate;
|
||||
import org.osgi.service.component.annotations.Component;
|
||||
import org.osgi.service.component.annotations.Reference;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* The {@link AstroIconProvider} is the class providing binding related icons.
|
||||
*
|
||||
* @author Gaël L'hopital - Initial contribution
|
||||
*/
|
||||
@Component(service = { IconProvider.class, AstroIconProvider.class })
|
||||
@NonNullByDefault
|
||||
public class AstroIconProvider implements IconProvider {
|
||||
private static final String DEFAULT_LABEL = "Astro Icons";
|
||||
private static final String DEFAULT_DESCRIPTION = "Icons provided for the Astro Binding";
|
||||
private static final String ZODIAC_ICON = "zodiac";
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(AstroIconProvider.class);
|
||||
private final TranslationProvider i18nProvider;
|
||||
private final Bundle bundle;
|
||||
|
||||
@Activate
|
||||
public AstroIconProvider(final BundleContext context, final @Reference TranslationProvider i18nProvider) {
|
||||
this.i18nProvider = i18nProvider;
|
||||
this.bundle = context.getBundle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<IconSet> getIconSets() {
|
||||
return getIconSets(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<IconSet> getIconSets(@Nullable Locale locale) {
|
||||
String label = getText("label", DEFAULT_LABEL, locale);
|
||||
String description = getText("description", DEFAULT_DESCRIPTION, locale);
|
||||
|
||||
return Set.of(new IconSet(BINDING_ID, label, description, Set.of(Format.SVG)));
|
||||
}
|
||||
|
||||
private String getText(String entry, String defaultValue, @Nullable Locale locale) {
|
||||
String text = locale == null ? null : i18nProvider.getText(bundle, "iconset." + entry, defaultValue, locale);
|
||||
return text == null ? defaultValue : text;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Integer hasIcon(String category, String iconSetId, Format format) {
|
||||
return Format.SVG.equals(format) && iconSetId.equals(BINDING_ID) && category.equals(ZODIAC_ICON) ? 0 : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable InputStream getIcon(String category, String iconSetId, @Nullable String state, Format format) {
|
||||
String iconName = "icon/%s.svg".formatted(category);
|
||||
if (category.equals(ZODIAC_ICON) && state != null) {
|
||||
try {
|
||||
var sign = ZodiacSign.valueOf(state);
|
||||
iconName = iconName.replace(".", "-%s.".formatted(sign.name().toLowerCase(Locale.US)));
|
||||
} catch (IllegalArgumentException ignore) {
|
||||
// Invalid state for the icon set, we'll remain on default icon
|
||||
}
|
||||
}
|
||||
|
||||
String result = "";
|
||||
|
||||
URL iconResource = bundle.getEntry(iconName);
|
||||
try (InputStream stream = iconResource.openStream()) {
|
||||
result = new String(stream.readAllBytes(), StandardCharsets.UTF_8);
|
||||
} catch (IOException e) {
|
||||
logger.warn("Unable to load resource '{}': {}", iconResource.getPath(), e.getMessage());
|
||||
}
|
||||
|
||||
return result.isEmpty() ? null : new ByteArrayInputStream(result.getBytes(StandardCharsets.UTF_8));
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@
|
||||
package org.openhab.binding.astro.internal.action;
|
||||
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.measure.quantity.Angle;
|
||||
|
||||
@@ -119,7 +120,7 @@ public class AstroActions implements ThingActions {
|
||||
AstroThingHandler theHandler = this.handler;
|
||||
if (theHandler != null) {
|
||||
if (theHandler instanceof SunHandler sunHandler) {
|
||||
SunPhaseName phase = SunPhaseName.valueOf(phaseName.toUpperCase());
|
||||
SunPhaseName phase = SunPhaseName.valueOf(phaseName.toUpperCase(Locale.US));
|
||||
return sunHandler.getEventTime(phase, date != null ? date : ZonedDateTime.now(),
|
||||
moment == null || AstroBindingConstants.EVENT_START.equalsIgnoreCase(moment));
|
||||
} else {
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
*/
|
||||
package org.openhab.binding.astro.internal.calc;
|
||||
|
||||
import static org.openhab.binding.astro.internal.util.MathUtils.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Calendar;
|
||||
@@ -28,8 +30,6 @@ import org.openhab.binding.astro.internal.model.MoonPhase;
|
||||
import org.openhab.binding.astro.internal.model.MoonPhaseName;
|
||||
import org.openhab.binding.astro.internal.model.Position;
|
||||
import org.openhab.binding.astro.internal.model.Range;
|
||||
import org.openhab.binding.astro.internal.model.Zodiac;
|
||||
import org.openhab.binding.astro.internal.model.ZodiacSign;
|
||||
import org.openhab.binding.astro.internal.util.DateTimeUtils;
|
||||
|
||||
/**
|
||||
@@ -181,9 +181,9 @@ public class MoonCalc {
|
||||
double moonJd = Math.floor(DateTimeUtils.midnightDateToJulianDate(calendar)) - 2400000.0;
|
||||
moonJd -= ((calendar.get(Calendar.ZONE_OFFSET) + calendar.get(Calendar.DST_OFFSET)) / 60000.0) / 1440.0;
|
||||
|
||||
double sphi = SN(phi);
|
||||
double cphi = CS(phi);
|
||||
double sinho = SN(8.0 / 60.0);
|
||||
double sphi = sinDeg(phi);
|
||||
double cphi = cosDeg(phi);
|
||||
double sinho = sinDeg(8.0 / 60.0);
|
||||
|
||||
int hour = 1;
|
||||
double utrise = -1;
|
||||
@@ -269,40 +269,40 @@ public class MoonCalc {
|
||||
double o = var_o(kMod, t);
|
||||
double jd = var_jde(kMod, t);
|
||||
if (mode == NEW_MOON) {
|
||||
jd += -.4072 * SN(m1) + .17241 * e * SN(m) + .01608 * SN(2 * m1) + .01039 * SN(2 * f)
|
||||
+ .00739 * e * SN(m1 - m) - .00514 * e * SN(m1 + m) + .00208 * e * e * SN(2 * m)
|
||||
- .00111 * SN(m1 - 2 * f) - .00057 * SN(m1 + 2 * f);
|
||||
jd += .00056 * e * SN(2 * m1 + m) - .00042 * SN(3 * m1) + .00042 * e * SN(m + 2 * f)
|
||||
+ .00038 * e * SN(m - 2 * f) - .00024 * e * SN(2 * m1 - m) - .00017 * SN(o)
|
||||
- .00007 * SN(m1 + 2 * m) + .00004 * SN(2 * m1 - 2 * f);
|
||||
jd += .00004 * SN(3 * m) + .00003 * SN(m1 + m - 2 * f) + .00003 * SN(2 * m1 + 2 * f)
|
||||
- .00003 * SN(m1 + m + 2 * f) + .00003 * SN(m1 - m + 2 * f) - .00002 * SN(m1 - m - 2 * f)
|
||||
- .00002 * SN(3 * m1 + m);
|
||||
jd += .00002 * SN(4 * m1);
|
||||
jd += -.4072 * sinDeg(m1) + .17241 * e * sinDeg(m) + .01608 * sinDeg(2 * m1) + .01039 * sinDeg(2 * f)
|
||||
+ .00739 * e * sinDeg(m1 - m) - .00514 * e * sinDeg(m1 + m) + .00208 * e * e * sinDeg(2 * m)
|
||||
- .00111 * sinDeg(m1 - 2 * f) - .00057 * sinDeg(m1 + 2 * f);
|
||||
jd += .00056 * e * sinDeg(2 * m1 + m) - .00042 * sinDeg(3 * m1) + .00042 * e * sinDeg(m + 2 * f)
|
||||
+ .00038 * e * sinDeg(m - 2 * f) - .00024 * e * sinDeg(2 * m1 - m) - .00017 * sinDeg(o)
|
||||
- .00007 * sinDeg(m1 + 2 * m) + .00004 * sinDeg(2 * m1 - 2 * f);
|
||||
jd += .00004 * sinDeg(3 * m) + .00003 * sinDeg(m1 + m - 2 * f) + .00003 * sinDeg(2 * m1 + 2 * f)
|
||||
- .00003 * sinDeg(m1 + m + 2 * f) + .00003 * sinDeg(m1 - m + 2 * f)
|
||||
- .00002 * sinDeg(m1 - m - 2 * f) - .00002 * sinDeg(3 * m1 + m);
|
||||
jd += .00002 * sinDeg(4 * m1);
|
||||
} else if (mode == FULL_MOON) {
|
||||
jd += -.40614 * SN(m1) + .17302 * e * SN(m) + .01614 * SN(2 * m1) + .01043 * SN(2 * f)
|
||||
+ .00734 * e * SN(m1 - m) - .00515 * e * SN(m1 + m) + .00209 * e * e * SN(2 * m)
|
||||
- .00111 * SN(m1 - 2 * f) - .00057 * SN(m1 + 2 * f);
|
||||
jd += .00056 * e * SN(2 * m1 + m) - .00042 * SN(3 * m1) + .00042 * e * SN(m + 2 * f)
|
||||
+ .00038 * e * SN(m - 2 * f) - .00024 * e * SN(2 * m1 - m) - .00017 * SN(o)
|
||||
- .00007 * SN(m1 + 2 * m) + .00004 * SN(2 * m1 - 2 * f);
|
||||
jd += .00004 * SN(3 * m) + .00003 * SN(m1 + m - 2 * f) + .00003 * SN(2 * m1 + 2 * f)
|
||||
- .00003 * SN(m1 + m + 2 * f) + .00003 * SN(m1 - m + 2 * f) - .00002 * SN(m1 - m - 2 * f)
|
||||
- .00002 * SN(3 * m1 + m);
|
||||
jd += .00002 * SN(4 * m1);
|
||||
jd += -.40614 * sinDeg(m1) + .17302 * e * sinDeg(m) + .01614 * sinDeg(2 * m1) + .01043 * sinDeg(2 * f)
|
||||
+ .00734 * e * sinDeg(m1 - m) - .00515 * e * sinDeg(m1 + m) + .00209 * e * e * sinDeg(2 * m)
|
||||
- .00111 * sinDeg(m1 - 2 * f) - .00057 * sinDeg(m1 + 2 * f);
|
||||
jd += .00056 * e * sinDeg(2 * m1 + m) - .00042 * sinDeg(3 * m1) + .00042 * e * sinDeg(m + 2 * f)
|
||||
+ .00038 * e * sinDeg(m - 2 * f) - .00024 * e * sinDeg(2 * m1 - m) - .00017 * sinDeg(o)
|
||||
- .00007 * sinDeg(m1 + 2 * m) + .00004 * sinDeg(2 * m1 - 2 * f);
|
||||
jd += .00004 * sinDeg(3 * m) + .00003 * sinDeg(m1 + m - 2 * f) + .00003 * sinDeg(2 * m1 + 2 * f)
|
||||
- .00003 * sinDeg(m1 + m + 2 * f) + .00003 * sinDeg(m1 - m + 2 * f)
|
||||
- .00002 * sinDeg(m1 - m - 2 * f) - .00002 * sinDeg(3 * m1 + m);
|
||||
jd += .00002 * sinDeg(4 * m1);
|
||||
} else {
|
||||
jd += -.62801 * SN(m1) + .17172 * e * SN(m) - .01183 * e * SN(m1 + m) + .00862 * SN(2 * m1)
|
||||
+ .00804 * SN(2 * f) + .00454 * e * SN(m1 - m) + .00204 * e * e * SN(2 * m) - .0018 * SN(m1 - 2 * f)
|
||||
- .0007 * SN(m1 + 2 * f);
|
||||
jd += -.0004 * SN(3 * m1) - .00034 * e * SN(2 * m1 - m) + .00032 * e * SN(m + 2 * f)
|
||||
+ .00032 * e * SN(m - 2 * f) - .00028 * e * e * SN(m1 + 2 * m) + .00027 * e * SN(2 * m1 + m)
|
||||
- .00017 * SN(o);
|
||||
jd += -.00005 * SN(m1 - m - 2 * f) + .00004 * SN(2 * m1 + 2 * f) - .00004 * SN(m1 + m + 2 * f)
|
||||
+ .00004 * SN(m1 - 2 * m) + .00003 * SN(m1 + m - 2 * f) + .00003 * SN(3 * m)
|
||||
+ .00002 * SN(2 * m1 - 2 * f);
|
||||
jd += .00002 * SN(m1 - m + 2 * f) - .00002 * SN(3 * m1 + m);
|
||||
double w = .00306 - .00038 * e * CS(m) + .00026 * CS(m1) - .00002 * CS(m1 - m) + .00002 * CS(m1 + m)
|
||||
+ .00002 * CS(2 * f);
|
||||
jd += -.62801 * sinDeg(m1) + .17172 * e * sinDeg(m) - .01183 * e * sinDeg(m1 + m) + .00862 * sinDeg(2 * m1)
|
||||
+ .00804 * sinDeg(2 * f) + .00454 * e * sinDeg(m1 - m) + .00204 * e * e * sinDeg(2 * m)
|
||||
- .0018 * sinDeg(m1 - 2 * f) - .0007 * sinDeg(m1 + 2 * f);
|
||||
jd += -.0004 * sinDeg(3 * m1) - .00034 * e * sinDeg(2 * m1 - m) + .00032 * e * sinDeg(m + 2 * f)
|
||||
+ .00032 * e * sinDeg(m - 2 * f) - .00028 * e * e * sinDeg(m1 + 2 * m)
|
||||
+ .00027 * e * sinDeg(2 * m1 + m) - .00017 * sinDeg(o);
|
||||
jd += -.00005 * sinDeg(m1 - m - 2 * f) + .00004 * sinDeg(2 * m1 + 2 * f) - .00004 * sinDeg(m1 + m + 2 * f)
|
||||
+ .00004 * sinDeg(m1 - 2 * m) + .00003 * sinDeg(m1 + m - 2 * f) + .00003 * sinDeg(3 * m)
|
||||
+ .00002 * sinDeg(2 * m1 - 2 * f);
|
||||
jd += .00002 * sinDeg(m1 - m + 2 * f) - .00002 * sinDeg(3 * m1 + m);
|
||||
double w = .00306 - .00038 * e * cosDeg(m) + .00026 * cosDeg(m1) - .00002 * cosDeg(m1 - m)
|
||||
+ .00002 * cosDeg(m1 + m) + .00002 * cosDeg(2 * f);
|
||||
jd += (mode == FIRST_QUARTER) ? w : -w;
|
||||
}
|
||||
return moonCorrection(jd, t, kMod);
|
||||
@@ -317,26 +317,29 @@ public class MoonCalc {
|
||||
double f = var_f(kMod, t);
|
||||
double jd = 0;
|
||||
double ringTest = 0;
|
||||
if (SN(Math.abs(f)) <= .36) {
|
||||
if (sinDeg(Math.abs(f)) <= .36) {
|
||||
double o = var_o(kMod, t);
|
||||
double f1 = f - .02665 * SN(o);
|
||||
double f1 = f - .02665 * sinDeg(o);
|
||||
double a1 = 299.77 + .107408 * kMod - .009173 * t * t;
|
||||
double e = var_e(t);
|
||||
double m = var_m(kMod, t);
|
||||
double m1 = var_m1(kMod, t);
|
||||
double p = .207 * e * SN(m) + .0024 * e * SN(2 * m) - .0392 * SN(m1) + .0116 * SN(2 * m1)
|
||||
- .0073 * e * SN(m1 + m) + .0067 * e * SN(m1 - m) + .0118 * SN(2 * f1);
|
||||
double q = 5.2207 - .0048 * e * CS(m) + .002 * e * CS(2 * m) - .3299 * CS(m1) - .006 * e * CS(m1 + m)
|
||||
+ .0041 * e * CS(m1 - m);
|
||||
double g = (p * CS(f1) + q * SN(f1)) * (1 - .0048 * CS(Math.abs(f1)));
|
||||
double u = .0059 + .0046 * e * CS(m) - .0182 * CS(m1) + .0004 * CS(2 * m1) - .0005 * CS(m + m1);
|
||||
double p = .207 * e * sinDeg(m) + .0024 * e * sinDeg(2 * m) - .0392 * sinDeg(m1) + .0116 * sinDeg(2 * m1)
|
||||
- .0073 * e * sinDeg(m1 + m) + .0067 * e * sinDeg(m1 - m) + .0118 * sinDeg(2 * f1);
|
||||
double q = 5.2207 - .0048 * e * cosDeg(m) + .002 * e * cosDeg(2 * m) - .3299 * cosDeg(m1)
|
||||
- .006 * e * cosDeg(m1 + m) + .0041 * e * cosDeg(m1 - m);
|
||||
double g = (p * cosDeg(f1) + q * sinDeg(f1)) * (1 - .0048 * cosDeg(Math.abs(f1)));
|
||||
double u = .0059 + .0046 * e * cosDeg(m) - .0182 * cosDeg(m1) + .0004 * cosDeg(2 * m1)
|
||||
- .0005 * cosDeg(m + m1);
|
||||
jd = var_jde(kMod, t);
|
||||
jd += (typ == EclipseType.MOON) ? -.4065 * SN(m1) + .1727 * e * SN(m) : -.4075 * SN(m1) + .1721 * e * SN(m);
|
||||
jd += (typ == EclipseType.MOON) ? -.4065 * sinDeg(m1) + .1727 * e * sinDeg(m)
|
||||
: -.4075 * sinDeg(m1) + .1721 * e * sinDeg(m);
|
||||
|
||||
jd += .0161 * SN(2 * m1) - .0097 * SN(2 * f1) + .0073 * e * SN(m1 - m) - .005 * e * SN(m1 + m)
|
||||
- .0023 * SN(m1 - 2 * f1) + .0021 * e * SN(2 * m);
|
||||
jd += .0012 * SN(m1 + 2 * f1) + .0006 * e * SN(2 * m1 + m) - .0004 * SN(3 * m1) - .0003 * e * SN(m + 2 * f1)
|
||||
+ .0003 * SN(a1) - .0002 * e * SN(m - 2 * f1) - .0002 * e * SN(2 * m1 - m) - .0002 * SN(o);
|
||||
jd += .0161 * sinDeg(2 * m1) - .0097 * sinDeg(2 * f1) + .0073 * e * sinDeg(m1 - m)
|
||||
- .005 * e * sinDeg(m1 + m) - .0023 * sinDeg(m1 - 2 * f1) + .0021 * e * sinDeg(2 * m);
|
||||
jd += .0012 * sinDeg(m1 + 2 * f1) + .0006 * e * sinDeg(2 * m1 + m) - .0004 * sinDeg(3 * m1)
|
||||
- .0003 * e * sinDeg(m + 2 * f1) + .0003 * sinDeg(a1) - .0002 * e * sinDeg(m - 2 * f1)
|
||||
- .0002 * e * sinDeg(2 * m1 - m) - .0002 * sinDeg(o);
|
||||
switch (typ) {
|
||||
case MOON:
|
||||
if ((1.0248 - u - Math.abs(g)) / .545 <= 0) {
|
||||
@@ -387,9 +390,9 @@ public class MoonCalc {
|
||||
double d = 297.8502042 + 445267.11151686 * t - .00163 * t * t + t * t * t / 545868 - t * t * t * t / 113065000;
|
||||
double m = 357.5291092 + 35999.0502909 * t - .0001536 * t * t + t * t * t / 24490000;
|
||||
double m1 = 134.9634114 + 477198.8676313 * t + .008997 * t * t + t * t * t / 69699 - t * t * t * t / 14712000;
|
||||
double i = 180 - d - 6.289 * SN(m1) + 2.1 * SN(m) - 1.274 * SN(2 * d - m1) - .658 * SN(2 * d)
|
||||
- .241 * SN(2 * m1) - .110 * SN(d);
|
||||
return (1 + CS(i)) / 2 * 100.0;
|
||||
double i = 180 - d - 6.289 * sinDeg(m1) + 2.1 * sinDeg(m) - 1.274 * sinDeg(2 * d - m1) - .658 * sinDeg(2 * d)
|
||||
- .241 * sinDeg(2 * m1) - .110 * sinDeg(d);
|
||||
return (1 + cosDeg(i)) / 2 * 100.0;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -447,16 +450,17 @@ public class MoonCalc {
|
||||
double m = 347.3477 + 27.1577721 * k - .0008323 * t * t - .000001 * t * t * t;
|
||||
double f = 316.6109 + 364.5287911 * k - .0125131 * t * t - .0000148 * t * t * t;
|
||||
jd = 2451534.6698 + 27.55454988 * k - .0006886 * t * t - .000001098 * t * t * t + .0000000052 * t * t
|
||||
+ .4392 * SN(2 * d) + .0684 * SN(4 * d) + (.0456 - .00011 * t) * SN(m)
|
||||
+ (.0426 - .00011 * t) * SN(2 * d - m) + .0212 * SN(2 * f);
|
||||
jd += -.0189 * SN(d) + .0144 * SN(6 * d) + .0113 * SN(4 * d - m) + .0047 * SN(2 * d + 2 * f)
|
||||
+ .0036 * SN(d + m) + .0035 * SN(8 * d) + .0034 * SN(6 * d - m) - .0034 * SN(2 * d - 2 * f)
|
||||
+ .0022 * SN(2 * d - 2 * m) - .0017 * SN(3 * d);
|
||||
jd += .0013 * SN(4 * d + 2 * f) + .0011 * SN(8 * d - m) + .001 * SN(4 * d - 2 * m) + .0009 * SN(10 * d)
|
||||
+ .0007 * SN(3 * d + m) + .0006 * SN(2 * m) + .0005 * SN(2 * d + m) + .0005 * SN(2 * d + 2 * m)
|
||||
+ .0004 * SN(6 * d + 2 * f);
|
||||
jd += .0004 * SN(6 * d - 2 * m) + .0004 * SN(10 * d - m) - .0004 * SN(5 * d) - .0004 * SN(4 * d - 2 * f)
|
||||
+ .0003 * SN(2 * f + m) + .0003 * SN(12 * d) + .0003 * SN(2 * d + 2 * f - m) - .0003 * SN(d - m);
|
||||
+ .4392 * sinDeg(2 * d) + .0684 * sinDeg(4 * d) + (.0456 - .00011 * t) * sinDeg(m)
|
||||
+ (.0426 - .00011 * t) * sinDeg(2 * d - m) + .0212 * sinDeg(2 * f);
|
||||
jd += -.0189 * sinDeg(d) + .0144 * sinDeg(6 * d) + .0113 * sinDeg(4 * d - m) + .0047 * sinDeg(2 * d + 2 * f)
|
||||
+ .0036 * sinDeg(d + m) + .0035 * sinDeg(8 * d) + .0034 * sinDeg(6 * d - m)
|
||||
- .0034 * sinDeg(2 * d - 2 * f) + .0022 * sinDeg(2 * d - 2 * m) - .0017 * sinDeg(3 * d);
|
||||
jd += .0013 * sinDeg(4 * d + 2 * f) + .0011 * sinDeg(8 * d - m) + .001 * sinDeg(4 * d - 2 * m)
|
||||
+ .0009 * sinDeg(10 * d) + .0007 * sinDeg(3 * d + m) + .0006 * sinDeg(2 * m)
|
||||
+ .0005 * sinDeg(2 * d + m) + .0005 * sinDeg(2 * d + 2 * m) + .0004 * sinDeg(6 * d + 2 * f);
|
||||
jd += .0004 * sinDeg(6 * d - 2 * m) + .0004 * sinDeg(10 * d - m) - .0004 * sinDeg(5 * d)
|
||||
- .0004 * sinDeg(4 * d - 2 * f) + .0003 * sinDeg(2 * f + m) + .0003 * sinDeg(12 * d)
|
||||
+ .0003 * sinDeg(2 * d + 2 * f - m) - .0003 * sinDeg(d - m);
|
||||
k += 1;
|
||||
} while (jd < julianDate);
|
||||
return jd;
|
||||
@@ -475,24 +479,28 @@ public class MoonCalc {
|
||||
double m = 347.3477 + 27.1577721 * k - .0008323 * t * t - .000001 * t * t * t;
|
||||
double f = 316.6109 + 364.5287911 * k - .0125131 * t * t - .0000148 * t * t * t;
|
||||
jd = 2451534.6698 + 27.55454988 * k - .0006886 * t * t - .000001098 * t * t * t + .0000000052 * t * t
|
||||
- 1.6769 * SN(2 * d) + .4589 * SN(4 * d) - .1856 * SN(6 * d) + .0883 * SN(8 * d);
|
||||
jd += -(.0773 + .00019 * t) * SN(2 * d - m) + (.0502 - .00013 * t) * SN(m) - .046 * SN(10 * d)
|
||||
+ (.0422 - .00011 * t) * SN(4 * d - m) - .0256 * SN(6 * d - m) + .0253 * SN(12 * d) + .0237 * SN(d);
|
||||
jd += .0162 * SN(8 * d - m) - .0145 * SN(14 * d) + .0129 * SN(2 * f) - .0112 * SN(3 * d)
|
||||
- .0104 * SN(10 * d - m) + .0086 * SN(16 * d) + .0069 * SN(12 * d - m) + .0066 * SN(5 * d)
|
||||
- .0053 * SN(2 * d + 2 * f);
|
||||
jd += -.0052 * SN(18 * d) - .0046 * SN(14 * d - m) - .0041 * SN(7 * d) + .004 * SN(2 * d + m)
|
||||
+ .0032 * SN(20 * d) - .0032 * SN(d + m) + .0031 * SN(16 * d - m);
|
||||
jd += -.0029 * SN(4 * d + m) - .0027 * SN(2 * d - 2 * m) + .0024 * SN(4 * d - 2 * m)
|
||||
- .0021 * SN(6 * d - 2 * m) - .0021 * SN(22 * d) - .0021 * SN(18 * d - m);
|
||||
jd += .0019 * SN(6 * d + m) - .0018 * SN(11 * d) - .0014 * SN(8 * d + m) - .0014 * SN(4 * d - 2 * f)
|
||||
- .0014 * SN(6 * d - 2 * f) + .0014 * SN(3 * d + m) - .0014 * SN(5 * d + m) + .0013 * SN(13 * d);
|
||||
jd += .0013 * SN(20 * d - m) + .0011 * SN(3 * d + 2 * m) - .0011 * SN(4 * d + 2 * f - 2 * m)
|
||||
- .001 * SN(d + 2 * m) - .0009 * SN(22 * d - m) - .0008 * SN(4 * f) + .0008 * SN(6 * d - 2 * f)
|
||||
+ .0008 * SN(2 * d - 2 * f + m);
|
||||
jd += .0007 * SN(2 * m) + .0007 * SN(2 * f - m) + .0007 * SN(2 * d + 4 * f) - .0006 * SN(2 * f - 2 * m)
|
||||
- .0006 * SN(2 * d - 2 * f + 2 * m) + .0006 * SN(24 * d) + .0005 * SN(4 * d - 4 * f)
|
||||
+ .0005 * SN(2 * d + 2 * m) - .0004 * SN(d - m) + .0027 * SN(9 * d) + .0027 * SN(4 * d + 2 * f);
|
||||
- 1.6769 * sinDeg(2 * d) + .4589 * sinDeg(4 * d) - .1856 * sinDeg(6 * d) + .0883 * sinDeg(8 * d);
|
||||
jd += -(.0773 + .00019 * t) * sinDeg(2 * d - m) + (.0502 - .00013 * t) * sinDeg(m) - .046 * sinDeg(10 * d)
|
||||
+ (.0422 - .00011 * t) * sinDeg(4 * d - m) - .0256 * sinDeg(6 * d - m) + .0253 * sinDeg(12 * d)
|
||||
+ .0237 * sinDeg(d);
|
||||
jd += .0162 * sinDeg(8 * d - m) - .0145 * sinDeg(14 * d) + .0129 * sinDeg(2 * f) - .0112 * sinDeg(3 * d)
|
||||
- .0104 * sinDeg(10 * d - m) + .0086 * sinDeg(16 * d) + .0069 * sinDeg(12 * d - m)
|
||||
+ .0066 * sinDeg(5 * d) - .0053 * sinDeg(2 * d + 2 * f);
|
||||
jd += -.0052 * sinDeg(18 * d) - .0046 * sinDeg(14 * d - m) - .0041 * sinDeg(7 * d)
|
||||
+ .004 * sinDeg(2 * d + m) + .0032 * sinDeg(20 * d) - .0032 * sinDeg(d + m)
|
||||
+ .0031 * sinDeg(16 * d - m);
|
||||
jd += -.0029 * sinDeg(4 * d + m) - .0027 * sinDeg(2 * d - 2 * m) + .0024 * sinDeg(4 * d - 2 * m)
|
||||
- .0021 * sinDeg(6 * d - 2 * m) - .0021 * sinDeg(22 * d) - .0021 * sinDeg(18 * d - m);
|
||||
jd += .0019 * sinDeg(6 * d + m) - .0018 * sinDeg(11 * d) - .0014 * sinDeg(8 * d + m)
|
||||
- .0014 * sinDeg(4 * d - 2 * f) - .0014 * sinDeg(6 * d - 2 * f) + .0014 * sinDeg(3 * d + m)
|
||||
- .0014 * sinDeg(5 * d + m) + .0013 * sinDeg(13 * d);
|
||||
jd += .0013 * sinDeg(20 * d - m) + .0011 * sinDeg(3 * d + 2 * m) - .0011 * sinDeg(4 * d + 2 * f - 2 * m)
|
||||
- .001 * sinDeg(d + 2 * m) - .0009 * sinDeg(22 * d - m) - .0008 * sinDeg(4 * f)
|
||||
+ .0008 * sinDeg(6 * d - 2 * f) + .0008 * sinDeg(2 * d - 2 * f + m);
|
||||
jd += .0007 * sinDeg(2 * m) + .0007 * sinDeg(2 * f - m) + .0007 * sinDeg(2 * d + 4 * f)
|
||||
- .0006 * sinDeg(2 * f - 2 * m) - .0006 * sinDeg(2 * d - 2 * f + 2 * m) + .0006 * sinDeg(24 * d)
|
||||
+ .0005 * sinDeg(4 * d - 4 * f) + .0005 * sinDeg(2 * d + 2 * m) - .0004 * sinDeg(d - m)
|
||||
+ .0027 * sinDeg(9 * d) + .0027 * sinDeg(4 * d + 2 * f);
|
||||
k += 1;
|
||||
} while (jd < julianDate);
|
||||
return jd;
|
||||
@@ -546,20 +554,12 @@ public class MoonCalc {
|
||||
return new double[] { dec, ra };
|
||||
}
|
||||
|
||||
private double CS(double x) {
|
||||
return Math.cos(x * SunCalc.DEG2RAD);
|
||||
}
|
||||
|
||||
private double SN(double x) {
|
||||
return Math.sin(x * SunCalc.DEG2RAD);
|
||||
}
|
||||
|
||||
private double SINALT(double moonJd, int hour, double lambda, double cphi, double sphi) {
|
||||
double jdo = moonJd + hour / 24.0;
|
||||
double t = (jdo - 51544.5) / 36525.0;
|
||||
double[] decra = calcMoon(t);
|
||||
double tau = 15.0 * (LMST(jdo, lambda) - decra[1]);
|
||||
return sphi * SN(decra[0]) + cphi * CS(decra[0]) * CS(tau);
|
||||
return sphi * sinDeg(decra[0]) + cphi * cosDeg(decra[0]) * cosDeg(tau);
|
||||
}
|
||||
|
||||
private double LMST(double moonJd, double lambda) {
|
||||
@@ -636,14 +636,14 @@ public class MoonCalc {
|
||||
|
||||
private double moonCorrection(double jd, double t, double k) {
|
||||
double ret = jd;
|
||||
ret += .000325 * SN(299.77 + .107408 * k - .009173 * t * t) + .000165 * SN(251.88 + .016321 * k)
|
||||
+ .000164 * SN(251.83 + 26.651886 * k) + .000126 * SN(349.42 + 36.412478 * k)
|
||||
+ .00011 * SN(84.66 + 18.206239 * k);
|
||||
ret += .000062 * SN(141.74 + 53.303771 * k) + .00006 * SN(207.14 + 2.453732 * k)
|
||||
+ .000056 * SN(154.84 + 7.30686 * k) + .000047 * SN(34.52 + 27.261239 * k)
|
||||
+ .000042 * SN(207.19 + .121824 * k) + .00004 * SN(291.34 + 1.844379 * k);
|
||||
ret += .000037 * SN(161.72 + 24.198154 * k) + .000035 * SN(239.56 + 25.513099 * k)
|
||||
+ .000023 * SN(331.55 + 3.592518 * k);
|
||||
ret += .000325 * sinDeg(299.77 + .107408 * k - .009173 * t * t) + .000165 * sinDeg(251.88 + .016321 * k)
|
||||
+ .000164 * sinDeg(251.83 + 26.651886 * k) + .000126 * sinDeg(349.42 + 36.412478 * k)
|
||||
+ .00011 * sinDeg(84.66 + 18.206239 * k);
|
||||
ret += .000062 * sinDeg(141.74 + 53.303771 * k) + .00006 * sinDeg(207.14 + 2.453732 * k)
|
||||
+ .000056 * sinDeg(154.84 + 7.30686 * k) + .000047 * sinDeg(34.52 + 27.261239 * k)
|
||||
+ .000042 * sinDeg(207.19 + .121824 * k) + .00004 * sinDeg(291.34 + 1.844379 * k);
|
||||
ret += .000037 * sinDeg(161.72 + 24.198154 * k) + .000035 * sinDeg(239.56 + 25.513099 * k)
|
||||
+ .000023 * sinDeg(331.55 + 3.592518 * k);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -663,7 +663,7 @@ public class MoonCalc {
|
||||
-1897, -2117, 2354, 0, 0, -1423, -1117, -1571, -1739, 0, -4421, 0, 0, 0, 0, 1165, 0, 0, 8752 };
|
||||
double sr = 0;
|
||||
for (int t = 0; t < 60; t++) {
|
||||
sr += kr[t] * CS(kd[t] * d + km[t] * m + km1[t] * m1 + kf[t] * f);
|
||||
sr += kr[t] * cosDeg(kd[t] * d + km[t] * m + km1[t] * m1 + kf[t] * f);
|
||||
}
|
||||
return sr;
|
||||
}
|
||||
@@ -672,35 +672,35 @@ public class MoonCalc {
|
||||
* Sets the azimuth, elevation and zodiac in the moon object.
|
||||
*/
|
||||
private void setAzimuthElevationZodiac(double julianDate, double latitude, double longitude, Moon moon) {
|
||||
double lat = latitude * SunCalc.DEG2RAD;
|
||||
double lon = longitude * SunCalc.DEG2RAD;
|
||||
double lat = Math.toRadians(latitude);
|
||||
double lon = Math.toRadians(longitude);
|
||||
|
||||
double gmst = toGMST(julianDate);
|
||||
double lmst = toLMST(gmst, lon) * 15. * SunCalc.DEG2RAD;
|
||||
double lmst = toLMST(gmst, lon) * Math.toRadians(15);
|
||||
|
||||
double d = julianDate - 2447891.5;
|
||||
double anomalyMean = 360 * SunCalc.DEG2RAD / 365.242191 * d + 4.87650757829735 - 4.935239984568769;
|
||||
double nu = anomalyMean + 360.0 * SunCalc.DEG2RAD / Math.PI * 0.016713 * Math.sin(anomalyMean);
|
||||
double anomalyMean = Math.toRadians(360) / 365.242191 * d + 4.87650757829735 - 4.935239984568769;
|
||||
double nu = anomalyMean + Math.toRadians(360.0) / Math.PI * 0.016713 * Math.sin(anomalyMean);
|
||||
double sunLon = mod2Pi(nu + 4.935239984568769);
|
||||
|
||||
double l0 = 318.351648 * SunCalc.DEG2RAD;
|
||||
double p0 = 36.340410 * SunCalc.DEG2RAD;
|
||||
double n0 = 318.510107 * SunCalc.DEG2RAD;
|
||||
double i = 5.145396 * SunCalc.DEG2RAD;
|
||||
double l = 13.1763966 * SunCalc.DEG2RAD * d + l0;
|
||||
double mMoon = l - 0.1114041 * SunCalc.DEG2RAD * d - p0;
|
||||
double n = n0 - 0.0529539 * SunCalc.DEG2RAD * d;
|
||||
double l0 = Math.toRadians(318.351648);
|
||||
double p0 = Math.toRadians(36.340410);
|
||||
double n0 = Math.toRadians(318.510107);
|
||||
double i = Math.toRadians(5.145396);
|
||||
double l = Math.toRadians(13.1763966) * d + l0;
|
||||
double mMoon = l - Math.toRadians(0.1114041) * d - p0;
|
||||
double n = n0 - Math.toRadians(0.0529539) * d;
|
||||
double c = l - sunLon;
|
||||
double ev = 1.2739 * SunCalc.DEG2RAD * Math.sin(2 * c - mMoon);
|
||||
double ae = 0.1858 * SunCalc.DEG2RAD * Math.sin(anomalyMean);
|
||||
double a3 = 0.37 * SunCalc.DEG2RAD * Math.sin(anomalyMean);
|
||||
double ev = Math.toRadians(1.2739) * Math.sin(2 * c - mMoon);
|
||||
double ae = Math.toRadians(0.1858) * Math.sin(anomalyMean);
|
||||
double a3 = Math.toRadians(0.37) * Math.sin(anomalyMean);
|
||||
double mMoon2 = mMoon + ev - ae - a3;
|
||||
double ec = 6.2886 * SunCalc.DEG2RAD * Math.sin(mMoon2);
|
||||
double a4 = 0.214 * SunCalc.DEG2RAD * Math.sin(2 * mMoon2);
|
||||
double ec = Math.toRadians(6.2886) * Math.sin(mMoon2);
|
||||
double a4 = Math.toRadians(0.214) * Math.sin(2 * mMoon2);
|
||||
double l2 = l + ev + ec - ae + a4;
|
||||
double v = 0.6583 * SunCalc.DEG2RAD * Math.sin(2 * (l2 - sunLon));
|
||||
double v = Math.toRadians(0.6583) * Math.sin(2 * (l2 - sunLon));
|
||||
double l3 = l2 + v;
|
||||
double n2 = n - 0.16 * SunCalc.DEG2RAD * Math.sin(anomalyMean);
|
||||
double n2 = n - Math.toRadians(0.16) * Math.sin(anomalyMean);
|
||||
|
||||
double moonLon = mod2Pi(n2 + Math.atan2(Math.sin(l3 - n2) * Math.cos(i), Math.cos(l3 - n2)));
|
||||
double moonLat = Math.asin(Math.sin(l3 - n2) * Math.sin(i));
|
||||
@@ -713,21 +713,10 @@ public class MoonCalc {
|
||||
double[] azAlt = equ2AzAlt(raDecTopo[0], raDecTopo[1], lat, lmst);
|
||||
|
||||
Position position = moon.getPosition();
|
||||
position.setAzimuth(azAlt[0] * SunCalc.RAD2DEG);
|
||||
position.setElevation(azAlt[1] * SunCalc.RAD2DEG + refraction(azAlt[1]));
|
||||
position.setAzimuth(Math.toDegrees(azAlt[0]));
|
||||
position.setElevation(Math.toDegrees(azAlt[1]) + refraction(azAlt[1]));
|
||||
|
||||
// zodiac
|
||||
double idxd = Math.floor(moonLon * SunCalc.RAD2DEG / 30);
|
||||
int idx = 0;
|
||||
if (idxd < 0) {
|
||||
idx = (int) (Math.ceil(idxd));
|
||||
} else {
|
||||
idx = (int) (Math.floor(idxd));
|
||||
}
|
||||
|
||||
if (idx >= 0 || idx <= ZodiacSign.values().length) {
|
||||
moon.setZodiac(new Zodiac(ZodiacSign.values()[idx]));
|
||||
}
|
||||
moon.setZodiac(ZodiacCalc.calculate(moonLon, null));
|
||||
}
|
||||
|
||||
private double mod2Pi(double x) {
|
||||
@@ -765,8 +754,8 @@ public class MoonCalc {
|
||||
*/
|
||||
private double[] ecl2Equ(double lat, double lon, double jd) {
|
||||
double t = (jd - 2451545.0) / 36525.0;
|
||||
double eps = (23. + (26 + 21.45 / 60.) / 60. + t * (-46.815 + t * (-0.0006 + t * 0.00181)) / 3600.)
|
||||
* SunCalc.DEG2RAD;
|
||||
double eps = Math
|
||||
.toRadians(23. + (26 + 21.45 / 60.) / 60. + t * (-46.815 + t * (-0.0006 + t * 0.00181)) / 3600.);
|
||||
double coseps = Math.cos(eps);
|
||||
double sineps = Math.sin(eps);
|
||||
|
||||
@@ -816,7 +805,7 @@ public class MoonCalc {
|
||||
* Convert greenwich mean sidereal time to local mean sidereal time.
|
||||
*/
|
||||
private double toLMST(double gmst, double lon) {
|
||||
return mod(gmst + SunCalc.RAD2DEG * lon / 15., 24.);
|
||||
return mod(gmst + Math.toDegrees(lon) / 15., 24.);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -841,7 +830,7 @@ public class MoonCalc {
|
||||
private double refraction(double alt) {
|
||||
int pressure = 1015;
|
||||
int temperature = 10;
|
||||
double altdeg = alt * SunCalc.RAD2DEG;
|
||||
double altdeg = Math.toDegrees(alt);
|
||||
|
||||
if (altdeg < -2 || altdeg >= 90) {
|
||||
return 0;
|
||||
@@ -861,7 +850,7 @@ public class MoonCalc {
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
n = y + (7.31 / (y + 4.4));
|
||||
n = 1.0 / Math.tan(n * SunCalc.DEG2RAD);
|
||||
n = 1.0 / Math.tan(Math.toRadians(n));
|
||||
d = n * p / (60.0 + q * (n + 39.0));
|
||||
n = y - y0;
|
||||
y0 = d - d0 - n;
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.eclipse.jdt.annotation.Nullable;
|
||||
import org.openhab.binding.astro.internal.model.Season;
|
||||
import org.openhab.binding.astro.internal.model.SeasonName;
|
||||
import org.openhab.binding.astro.internal.util.DateTimeUtils;
|
||||
import org.openhab.binding.astro.internal.util.MathUtils;
|
||||
|
||||
/**
|
||||
* Calculates the seasons of the year.
|
||||
@@ -159,9 +160,9 @@ public class SeasonCalc {
|
||||
@Nullable
|
||||
private Calendar calcEquiSol(int season, int year, TimeZone zone, Locale locale) {
|
||||
double estimate = calcInitial(season, year);
|
||||
double t = (estimate - 2451545.0) / 36525;
|
||||
double t = DateTimeUtils.toJulianCenturies(estimate);
|
||||
double w = 35999.373 * t - 2.47;
|
||||
double dl = 1 + 0.0334 * cosDeg(w) + 0.0007 * cosDeg(2 * w);
|
||||
double dl = 1 + 0.0334 * MathUtils.cosDeg(w) + 0.0007 * MathUtils.cosDeg(2 * w);
|
||||
double s = periodic24(t);
|
||||
double julianDate = estimate + ((0.00001 * s) / dl);
|
||||
return DateTimeUtils.toCalendar(julianDate, zone, locale);
|
||||
@@ -204,15 +205,8 @@ public class SeasonCalc {
|
||||
|
||||
double result = 0;
|
||||
for (int i = 0; i < 24; i++) {
|
||||
result += a[i] * cosDeg(b[i] + (c[i] * T));
|
||||
result += a[i] * MathUtils.cosDeg(b[i] + (c[i] * T));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cosinus of a degree value.
|
||||
*/
|
||||
private double cosDeg(double deg) {
|
||||
return Math.cos(deg * Math.PI / 180);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ import org.openhab.binding.astro.internal.model.Range;
|
||||
import org.openhab.binding.astro.internal.model.Sun;
|
||||
import org.openhab.binding.astro.internal.model.SunPhaseName;
|
||||
import org.openhab.binding.astro.internal.util.DateTimeUtils;
|
||||
import org.openhab.binding.astro.internal.util.MathUtils;
|
||||
|
||||
/**
|
||||
* Calculates the SunPosition (azimuth, elevation) and Sun data.
|
||||
@@ -45,28 +46,25 @@ import org.openhab.binding.astro.internal.util.DateTimeUtils;
|
||||
public class SunCalc {
|
||||
private static final double J2000 = 2451545.0;
|
||||
private static final double SC = 1367; // Solar constant in W/m²
|
||||
public static final double DEG2RAD = Math.PI / 180;
|
||||
public static final double RAD2DEG = 180. / Math.PI;
|
||||
|
||||
private static final double M0 = 357.5291 * DEG2RAD;
|
||||
private static final double M1 = 0.98560028 * DEG2RAD;
|
||||
private static final double M0 = Math.toRadians(357.5291);
|
||||
private static final double M1 = Math.toRadians(0.98560028);
|
||||
private static final double J0 = 0.0009;
|
||||
private static final double J1 = 0.0053;
|
||||
private static final double J2 = -0.0069;
|
||||
private static final double C1 = 1.9148 * DEG2RAD;
|
||||
private static final double C2 = 0.0200 * DEG2RAD;
|
||||
private static final double C3 = 0.0003 * DEG2RAD;
|
||||
private static final double P = 102.9372 * DEG2RAD;
|
||||
private static final double E = 23.45 * DEG2RAD;
|
||||
private static final double TH0 = 280.1600 * DEG2RAD;
|
||||
private static final double TH1 = 360.9856235 * DEG2RAD;
|
||||
private static final double C1 = Math.toRadians(1.9148);
|
||||
private static final double C2 = Math.toRadians(0.0200);
|
||||
private static final double C3 = Math.toRadians(0.0003);
|
||||
private static final double P = Math.toRadians(102.9372);
|
||||
private static final double E = Math.toRadians(23.45);
|
||||
private static final double TH0 = Math.toRadians(280.1600);
|
||||
private static final double TH1 = Math.toRadians(360.9856235);
|
||||
private static final double SUN_ANGLE = -0.83;
|
||||
private static final double SUN_DIAMETER = 0.53 * DEG2RAD; // sun diameter
|
||||
private static final double H0 = SUN_ANGLE * DEG2RAD;
|
||||
private static final double H1 = -6.0 * DEG2RAD; // nautical twilight angle
|
||||
private static final double H2 = -12.0 * DEG2RAD; // astronomical twilight
|
||||
// angle
|
||||
private static final double H3 = -18.0 * DEG2RAD; // darkness angle
|
||||
private static final double SUN_DIAMETER = Math.toRadians(0.53); // sun diameter
|
||||
private static final double H0 = Math.toRadians(SUN_ANGLE);
|
||||
private static final double H1 = Math.toRadians(-6.0); // nautical twilight angle
|
||||
private static final double H2 = Math.toRadians(-12.0); // astronomical twilight angle
|
||||
private static final double H3 = Math.toRadians(-18.0); // darkness angle
|
||||
private static final double MINUTES_PER_DAY = 60 * 24;
|
||||
private static final int CURVE_TIME_INTERVAL = 20; // 20 minutes
|
||||
private static final double JD_ONE_MINUTE_FRACTION = 1.0 / 60 / 24;
|
||||
@@ -76,8 +74,8 @@ public class SunCalc {
|
||||
*/
|
||||
public void setPositionalInfo(Calendar calendar, double latitude, double longitude, @Nullable Double altitude,
|
||||
Sun sun) {
|
||||
double lw = -longitude * DEG2RAD;
|
||||
double phi = latitude * DEG2RAD;
|
||||
double lw = Math.toRadians(-longitude);
|
||||
double phi = Math.toRadians(latitude);
|
||||
|
||||
double j = DateTimeUtils.dateToJulianDate(calendar);
|
||||
double m = getSolarMeanAnomaly(j);
|
||||
@@ -87,8 +85,8 @@ public class SunCalc {
|
||||
double a = getRightAscension(lsun);
|
||||
double th = getSiderealTime(j, lw);
|
||||
|
||||
double azimuth = getAzimuth(th, a, phi, d) / DEG2RAD;
|
||||
double elevation = getElevation(th, a, phi, d) / DEG2RAD;
|
||||
double azimuth = Math.toDegrees(getAzimuth(th, a, phi, d));
|
||||
double elevation = Math.toDegrees(getElevation(th, a, phi, d));
|
||||
double shadeLength = getShadeLength(elevation);
|
||||
|
||||
Position position = sun.getPosition();
|
||||
@@ -103,14 +101,14 @@ public class SunCalc {
|
||||
* Calculates sun radiation data.
|
||||
*/
|
||||
private void setRadiationInfo(Calendar calendar, double elevation, @Nullable Double altitude, Sun sun) {
|
||||
double sinAlpha = Math.sin(DEG2RAD * elevation);
|
||||
double sinAlpha = MathUtils.sinDeg(elevation);
|
||||
|
||||
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
|
||||
int daysInYear = calendar.getActualMaximum(Calendar.DAY_OF_YEAR);
|
||||
|
||||
// Direct Solar Radiation (in W/m²) at the atmosphere entry
|
||||
// At sunrise/sunset - calculations limits are reached
|
||||
double rOut = (elevation > 3) ? SC * (0.034 * Math.cos(DEG2RAD * (360 * dayOfYear / daysInYear)) + 1) : 0;
|
||||
double rOut = (elevation > 3) ? SC * (0.034 * MathUtils.cosDeg(360 * dayOfYear / daysInYear) + 1) : 0;
|
||||
double altitudeRatio = (altitude != null) ? 1 / Math.pow((1 - (6.5 / 288) * (altitude / 1000.0)), 5.256) : 1;
|
||||
double m = (Math.sqrt(1229 + Math.pow(614 * sinAlpha, 2)) - 614 * sinAlpha) * altitudeRatio;
|
||||
|
||||
@@ -154,8 +152,8 @@ public class SunCalc {
|
||||
|
||||
private Sun getSunInfo(Calendar calendar, double latitude, double longitude, @Nullable Double altitude,
|
||||
boolean onlyAstro, boolean useMeteorologicalSeason, TimeZone zone, Locale locale) {
|
||||
double lw = -longitude * DEG2RAD;
|
||||
double phi = latitude * DEG2RAD;
|
||||
double lw = Math.toRadians(-longitude);
|
||||
double phi = Math.toRadians(latitude);
|
||||
double j = DateTimeUtils.midnightDateToJulianDate(calendar) + 0.5;
|
||||
double n = getJulianCycle(j, lw);
|
||||
double js = getApproxSolarTransit(0, lw, n);
|
||||
@@ -271,8 +269,7 @@ public class SunCalc {
|
||||
}
|
||||
});
|
||||
|
||||
SunZodiacCalc zodiacCalc = new SunZodiacCalc(zone, locale);
|
||||
zodiacCalc.getZodiac(calendar).ifPresent(z -> sun.setZodiac(z));
|
||||
sun.setZodiac(ZodiacCalc.calculate(lsun, calendar.toInstant()));
|
||||
|
||||
SeasonCalc seasonCalc = new SeasonCalc();
|
||||
sun.setSeason(seasonCalc.getSeason(calendar, latitude, useMeteorologicalSeason, zone, locale));
|
||||
@@ -304,11 +301,11 @@ public class SunCalc {
|
||||
// all the following methods are translated to java based on the javascript
|
||||
// calculations of http://www.suncalc.net
|
||||
private double getJulianCycle(double j, double lw) {
|
||||
return Math.round(j - J2000 - J0 - lw / (2 * Math.PI));
|
||||
return Math.round(j - J2000 - J0 - lw / MathUtils.TWO_PI);
|
||||
}
|
||||
|
||||
private double getApproxSolarTransit(double ht, double lw, double n) {
|
||||
return J2000 + J0 + (ht + lw) / (2 * Math.PI) + n;
|
||||
return J2000 + J0 + (ht + lw) / MathUtils.TWO_PI + n;
|
||||
}
|
||||
|
||||
private double getSolarMeanAnomaly(double js) {
|
||||
@@ -349,7 +346,7 @@ public class SunCalc {
|
||||
}
|
||||
|
||||
private double getShadeLength(double elevation) {
|
||||
return 1 / Math.tan(elevation * DEG2RAD);
|
||||
return 1 / MathUtils.tanDeg(elevation);
|
||||
}
|
||||
|
||||
private double getHourAngle(double h, double phi, double d) {
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* Copyright (c) 2010-2025 Contributors to the openHAB project
|
||||
*
|
||||
* See the NOTICE file(s) distributed with this work for additional
|
||||
* information.
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.binding.astro.internal.calc;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
import org.openhab.binding.astro.internal.model.Zodiac;
|
||||
import org.openhab.binding.astro.internal.model.ZodiacSign;
|
||||
import org.openhab.binding.astro.internal.util.AstroConstants;
|
||||
import org.openhab.binding.astro.internal.util.MathUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Calculates the zodiac sign from the current ecliptic longitude of the object (sun/moon).
|
||||
*
|
||||
* @author Gaël L'hopital - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class ZodiacCalc {
|
||||
private static final Logger logger = LoggerFactory.getLogger(ZodiacCalc.class);
|
||||
|
||||
/**
|
||||
* Returns a {@link Zodiac} built from the calculated sign for the given instant. The start and end instants are
|
||||
* estimated using the mean motion along the ecliptic.
|
||||
*/
|
||||
public static Zodiac calculate(double eclipticLongitude, @Nullable Instant referenceInstant) {
|
||||
double normalizedLongitude = MathUtils.mod2Pi(eclipticLongitude);
|
||||
int index = (int) (normalizedLongitude / ZodiacSign.getRadiansPerSign());
|
||||
|
||||
Instant start = null;
|
||||
Instant end = null;
|
||||
if (referenceInstant != null) {
|
||||
double radiansIntoSign = normalizedLongitude - index * ZodiacSign.getRadiansPerSign();
|
||||
start = referenceInstant.minus(angleToDuration(radiansIntoSign));
|
||||
end = referenceInstant.plus(angleToDuration(ZodiacSign.getRadiansPerSign() - radiansIntoSign));
|
||||
}
|
||||
try {
|
||||
return new Zodiac(index, start, end);
|
||||
} catch (IllegalArgumentException e) {
|
||||
logger.warn("Error defining Zodiac: {}", e.getMessage());
|
||||
return Zodiac.NULL;
|
||||
}
|
||||
}
|
||||
|
||||
private static Duration angleToDuration(double angle) {
|
||||
long millis = Math.round((angle / AstroConstants.SOLAR_MEAN_MOTION_PER_SECOND) * 1000);
|
||||
if (millis < 0) {
|
||||
millis = 0;
|
||||
}
|
||||
return Duration.ofMillis(millis);
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,9 @@ import static org.openhab.core.types.RefreshType.REFRESH;
|
||||
|
||||
import java.lang.invoke.MethodHandles;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.Instant;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collection;
|
||||
@@ -312,23 +314,35 @@ public abstract class AstroThingHandler extends BaseThingHandler {
|
||||
/**
|
||||
* Adds the provided {@link Job} to the queue (cannot be {@code null})
|
||||
*/
|
||||
public void schedule(Job job, Calendar eventAt) {
|
||||
long sleepTime;
|
||||
private void schedule(Job job, long sleepTimeMs) {
|
||||
monitor.lock();
|
||||
try {
|
||||
tidyScheduledFutures();
|
||||
sleepTime = eventAt.getTimeInMillis() - new Date().getTime();
|
||||
ScheduledFuture<?> future = scheduler.schedule(job, sleepTime, TimeUnit.MILLISECONDS);
|
||||
ScheduledFuture<?> future = scheduler.schedule(job, sleepTimeMs, TimeUnit.MILLISECONDS);
|
||||
scheduledFutures.add(future);
|
||||
} finally {
|
||||
monitor.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the provided {@link Job} to the queue (cannot be {@code null})
|
||||
*/
|
||||
public void schedule(Job job, Calendar eventAt) {
|
||||
long sleepTime = eventAt.getTimeInMillis() - new Date().getTime();
|
||||
schedule(job, sleepTime);
|
||||
if (logger.isDebugEnabled()) {
|
||||
final String formattedDate = this.isoFormatter.format(eventAt.getTime());
|
||||
logger.debug("Scheduled {} in {}ms (at {})", job, sleepTime, formattedDate);
|
||||
}
|
||||
}
|
||||
|
||||
public void schedule(Job job, Instant eventAt) {
|
||||
long sleepTime = Instant.now().until(eventAt, ChronoUnit.MILLIS);
|
||||
schedule(job, sleepTime);
|
||||
logger.debug("Scheduled {} in {}ms (at {})", job, sleepTime, eventAt);
|
||||
}
|
||||
|
||||
private void tidyScheduledFutures() {
|
||||
monitor.lock();
|
||||
try {
|
||||
|
||||
@@ -16,6 +16,7 @@ import static org.openhab.binding.astro.internal.AstroBindingConstants.*;
|
||||
import static org.openhab.binding.astro.internal.job.Job.*;
|
||||
import static org.openhab.binding.astro.internal.model.SunPhaseName.*;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Calendar;
|
||||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
@@ -26,7 +27,6 @@ import org.openhab.binding.astro.internal.model.Eclipse;
|
||||
import org.openhab.binding.astro.internal.model.Planet;
|
||||
import org.openhab.binding.astro.internal.model.Range;
|
||||
import org.openhab.binding.astro.internal.model.Sun;
|
||||
import org.openhab.binding.astro.internal.model.SunZodiac;
|
||||
|
||||
/**
|
||||
* Daily scheduled jobs For Sun planet
|
||||
@@ -124,15 +124,13 @@ public final class DailyJobSun extends AbstractJob {
|
||||
});
|
||||
|
||||
// schedule republish jobs
|
||||
SunZodiac sunZodiac;
|
||||
Calendar cal = (sunZodiac = sun.getZodiac()) == null ? null : sunZodiac.getEnd();
|
||||
if (cal != null) {
|
||||
schedulePublishPlanet(handler, cal, zone, locale);
|
||||
if (sun.getZodiac().getEnd() instanceof Instant when) {
|
||||
schedulePublishPlanet(handler, when);
|
||||
}
|
||||
schedulePublishPlanet(handler, sun.getSeason().getNextSeason(), zone, locale);
|
||||
|
||||
// schedule phase jobs
|
||||
cal = sun.getRise().getStart();
|
||||
Calendar cal = sun.getRise().getStart();
|
||||
if (cal != null) {
|
||||
scheduleSunPhase(handler, SUN_RISE, cal, zone, locale);
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import static org.openhab.binding.astro.internal.AstroBindingConstants.*;
|
||||
import static org.openhab.binding.astro.internal.util.DateTimeUtils.*;
|
||||
|
||||
import java.lang.invoke.MethodHandles;
|
||||
import java.time.Instant;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
@@ -61,6 +62,21 @@ public interface Job extends SchedulerRunnable, Runnable {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Schedules the provided {@link Job} instance
|
||||
*
|
||||
* @param astroHandler the {@link AstroThingHandler} instance
|
||||
* @param job the {@link Job} instance to schedule
|
||||
* @param eventAt the {@link Instant} instance denoting scheduled instant
|
||||
*/
|
||||
static void schedule(AstroThingHandler astroHandler, Job job, Instant eventAt) {
|
||||
try {
|
||||
astroHandler.schedule(job, eventAt);
|
||||
} catch (Exception ex) {
|
||||
logger.error("{}", ex.getMessage(), ex);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Schedules an {@link EventJob} instance
|
||||
*
|
||||
@@ -169,6 +185,17 @@ public interface Job extends SchedulerRunnable, Runnable {
|
||||
schedule(astroHandler, publishJob, eventAt, zone, locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* Schedules Planet events
|
||||
*
|
||||
* @param astroHandler the {@link AstroThingHandler} instance
|
||||
* @param when the {@link Instant} instance denoting scheduled instant
|
||||
*/
|
||||
static void schedulePublishPlanet(AstroThingHandler astroHandler, Instant when) {
|
||||
Job publishJob = new PublishPlanetJob(astroHandler);
|
||||
schedule(astroHandler, publishJob, when);
|
||||
}
|
||||
|
||||
/**
|
||||
* Schedules {@link SunPhaseJob}
|
||||
*
|
||||
|
||||
@@ -27,7 +27,7 @@ public class Moon extends RiseSet implements Planet {
|
||||
private MoonDistance distance = new MoonDistance();
|
||||
private Eclipse eclipse = new Eclipse(EclipseKind.PARTIAL, EclipseKind.TOTAL);
|
||||
private Position position = new Position();
|
||||
private Zodiac zodiac = new Zodiac(null);
|
||||
private Zodiac zodiac = Zodiac.NULL;
|
||||
|
||||
/**
|
||||
* Returns the moon phase.
|
||||
|
||||
@@ -32,7 +32,7 @@ public class Sun extends RiseSet implements Planet {
|
||||
|
||||
private Position position = new Position();
|
||||
|
||||
private @Nullable SunZodiac zodiac;
|
||||
private Zodiac zodiac = Zodiac.NULL;
|
||||
|
||||
private Season season = new Season(TimeZone.getDefault(), Locale.getDefault());
|
||||
|
||||
@@ -249,15 +249,14 @@ public class Sun extends RiseSet implements Planet {
|
||||
/**
|
||||
* Returns the zodiac.
|
||||
*/
|
||||
@Nullable
|
||||
public SunZodiac getZodiac() {
|
||||
public Zodiac getZodiac() {
|
||||
return zodiac;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the zodiac.
|
||||
*/
|
||||
public void setZodiac(@Nullable SunZodiac zodiac) {
|
||||
public void setZodiac(Zodiac zodiac) {
|
||||
this.zodiac = zodiac;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
*/
|
||||
package org.openhab.binding.astro.internal.model;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
|
||||
@@ -22,10 +24,25 @@ import org.eclipse.jdt.annotation.Nullable;
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class Zodiac {
|
||||
private @Nullable ZodiacSign sign;
|
||||
public static final Zodiac NULL = new Zodiac();
|
||||
|
||||
public Zodiac(@Nullable ZodiacSign sign) {
|
||||
this.sign = sign;
|
||||
private final @Nullable ZodiacSign sign;
|
||||
private final @Nullable Instant start;
|
||||
private final @Nullable Instant end;
|
||||
|
||||
private Zodiac() {
|
||||
this.sign = null;
|
||||
this.start = null;
|
||||
this.end = null;
|
||||
}
|
||||
|
||||
public Zodiac(int index, @Nullable Instant start, @Nullable Instant end) {
|
||||
if (index < 0 || index >= ZodiacSign.values().length) {
|
||||
throw new IllegalArgumentException("Index value %d out of range".formatted(index));
|
||||
}
|
||||
this.sign = ZodiacSign.values()[index];
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -35,4 +52,20 @@ public class Zodiac {
|
||||
public ZodiacSign getSign() {
|
||||
return sign;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the start instant of the zodiac sign.
|
||||
*/
|
||||
@Nullable
|
||||
public Instant getStart() {
|
||||
return start;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the end instant of the zodiac sign.
|
||||
*/
|
||||
@Nullable
|
||||
public Instant getEnd() {
|
||||
return end;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
package org.openhab.binding.astro.internal.model;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.openhab.binding.astro.internal.util.MathUtils;
|
||||
|
||||
/**
|
||||
* All zodiac signs.
|
||||
@@ -32,5 +33,9 @@ public enum ZodiacSign {
|
||||
SAGITTARIUS,
|
||||
CAPRICORN,
|
||||
AQUARIUS,
|
||||
PISCES
|
||||
PISCES;
|
||||
|
||||
public static double getRadiansPerSign() {
|
||||
return MathUtils.TWO_PI / ZodiacSign.values().length;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (c) 2010-2025 Contributors to the openHAB project
|
||||
*
|
||||
* See the NOTICE file(s) distributed with this work for additional
|
||||
* information.
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.binding.astro.internal.util;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
|
||||
/**
|
||||
* Common constants used across the binding
|
||||
*
|
||||
* @author Gaël L'hopital - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class AstroConstants {
|
||||
public static final double SECONDS_PER_DAY = 60 * 60 * 24;
|
||||
public static final double MILLISECONDS_PER_DAY = 1000 * SECONDS_PER_DAY;
|
||||
public static final double TROPICAL_YEAR_DAYS = 365.242189;
|
||||
public static final double TROPICAL_YEAR_SECONDS = TROPICAL_YEAR_DAYS * SECONDS_PER_DAY;
|
||||
public static final double SOLAR_MEAN_MOTION_PER_SECOND = MathUtils.TWO_PI / AstroConstants.TROPICAL_YEAR_SECONDS;
|
||||
|
||||
/** Constructor */
|
||||
private AstroConstants() {
|
||||
throw new IllegalAccessError("Non-instantiable");
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,8 @@
|
||||
*/
|
||||
package org.openhab.binding.astro.internal.util;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.Calendar;
|
||||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
@@ -34,8 +36,10 @@ public class DateTimeUtils {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(DateTimeUtils.class);
|
||||
private static final Pattern HHMM_PATTERN = Pattern.compile("^([0-1][0-9]|2[0-3])(:[0-5][0-9])$");
|
||||
|
||||
private static final double J1970 = 2440588.0;
|
||||
private static final double MILLISECONDS_PER_DAY = 1000 * 60 * 60 * 24;
|
||||
public static final double JD_J2000 = 2451545.0; // 2000-01-01 12:00
|
||||
public static final double JD_UNIX_EPOCH = 2440587.5; // 1970-01-01 00:00 UTC
|
||||
private static final double J1970 = JD_UNIX_EPOCH + 0.5; // 1970-01-01 12:00 UTC (julian solar noon)
|
||||
private static final int JULIAN_CENTURY_DAYS = 36525; // Length of a Julian Century in days
|
||||
|
||||
/** Constructor */
|
||||
private DateTimeUtils() {
|
||||
@@ -51,6 +55,13 @@ public class DateTimeUtils {
|
||||
return cal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Truncates the time from the instant object.
|
||||
*/
|
||||
public static Instant truncateToSecond(Instant instant) {
|
||||
return instant.truncatedTo(ChronoUnit.SECONDS);
|
||||
}
|
||||
|
||||
/**
|
||||
* Truncates the time from the calendar object.
|
||||
*/
|
||||
@@ -60,6 +71,13 @@ public class DateTimeUtils {
|
||||
return cal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Truncates the time from the instant object.
|
||||
*/
|
||||
public static Instant truncateToMinute(Instant instant) {
|
||||
return instant.truncatedTo(ChronoUnit.MINUTES);
|
||||
}
|
||||
|
||||
/**
|
||||
* Truncates the time from the calendar object.
|
||||
*/
|
||||
@@ -70,6 +88,13 @@ public class DateTimeUtils {
|
||||
return cal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Truncates the time from the instant object.
|
||||
*/
|
||||
public static Instant truncateToMidnight(Instant instant) {
|
||||
return instant.truncatedTo(ChronoUnit.DAYS);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a Range object within the specified months and days. The start
|
||||
* time is midnight, the end time is end of the day.
|
||||
@@ -102,7 +127,7 @@ public class DateTimeUtils {
|
||||
if (Double.compare(julianDate, Double.NaN) == 0 || julianDate == 0) {
|
||||
return null;
|
||||
}
|
||||
long millis = (long) ((julianDate + 0.5 - J1970) * MILLISECONDS_PER_DAY);
|
||||
long millis = (long) ((julianDate + 0.5 - J1970) * AstroConstants.MILLISECONDS_PER_DAY);
|
||||
Calendar cal = Calendar.getInstance(zone, locale);
|
||||
cal.setTimeInMillis(millis);
|
||||
return cal;
|
||||
@@ -112,7 +137,7 @@ public class DateTimeUtils {
|
||||
* Returns the julian date from the calendar object.
|
||||
*/
|
||||
public static double dateToJulianDate(Calendar calendar) {
|
||||
return calendar.getTimeInMillis() / MILLISECONDS_PER_DAY - 0.5 + J1970;
|
||||
return calendar.getTimeInMillis() / AstroConstants.MILLISECONDS_PER_DAY - 0.5 + J1970;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -132,6 +157,13 @@ public class DateTimeUtils {
|
||||
return cal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the end of day from the instant object.
|
||||
*/
|
||||
public static Instant endOfDayDate(Instant instant) {
|
||||
return truncateToMidnight(instant).plus(1, ChronoUnit.DAYS).minusMillis(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the year of the calendar object as a decimal value.
|
||||
*/
|
||||
@@ -218,12 +250,24 @@ public class DateTimeUtils {
|
||||
return minutes > 0 ? adjustTime(cal, minutes) : cal;
|
||||
}
|
||||
|
||||
public static Instant getAdjustedEarliest(Instant instant, AstroChannelConfig config) {
|
||||
int minutes = getMinutesFromTime(config.earliest);
|
||||
// MainUI sets earliest to 00:00 if unconfigured, which is why zero must be treated as such
|
||||
return minutes > 0 ? adjustTime(instant, minutes) : instant;
|
||||
}
|
||||
|
||||
public static Calendar getAdjustedLatest(Calendar cal, AstroChannelConfig config) {
|
||||
int minutes = getMinutesFromTime(config.latest);
|
||||
// MainUI sets latest to 00:00 if unconfigured, which is why zero must be treated as such
|
||||
return minutes > 0 ? adjustTime(cal, minutes) : cal;
|
||||
}
|
||||
|
||||
public static Instant getAdjustedLatest(Instant instant, AstroChannelConfig config) {
|
||||
int minutes = getMinutesFromTime(config.latest);
|
||||
// MainUI sets latest to 00:00 if unconfigured, which is why zero must be treated as such
|
||||
return minutes > 0 ? adjustTime(instant, minutes) : instant;
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies the config to the given calendar.
|
||||
*/
|
||||
@@ -271,6 +315,52 @@ public class DateTimeUtils {
|
||||
return cCal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies the config to the given calendar.
|
||||
*/
|
||||
public static Instant applyConfig(Instant cal, AstroChannelConfig config) {
|
||||
Instant cCal = cal;
|
||||
if (config.offset != 0) {
|
||||
cCal = cCal.plus(config.offset, ChronoUnit.MINUTES);
|
||||
}
|
||||
|
||||
int minutes = getMinutesFromTime(config.earliest);
|
||||
Instant threshold, actual;
|
||||
// MainUI sets earliest to 00:00 if unconfigured, which is why zero must be treated as such
|
||||
if (minutes > 0) {
|
||||
if ((threshold = truncateToMidnight(cal)).equals(actual = truncateToMidnight(cCal))) {
|
||||
// Same day
|
||||
Instant cEarliest = getAdjustedEarliest(cCal, config);
|
||||
if (cCal.isBefore(cEarliest)) {
|
||||
return cEarliest;
|
||||
}
|
||||
} else {
|
||||
// Previous or next day
|
||||
if (actual.isBefore(threshold)) {
|
||||
return getAdjustedEarliest(threshold, config);
|
||||
}
|
||||
}
|
||||
}
|
||||
minutes = getMinutesFromTime(config.latest);
|
||||
// MainUI sets latest to 00:00 if unconfigured, which is why zero must be treated as such
|
||||
if (minutes > 0) {
|
||||
if ((threshold = endOfDayDate(cal)).equals(actual = endOfDayDate(cCal))) {
|
||||
// Same day
|
||||
Instant cLatest = getAdjustedLatest(cCal, config);
|
||||
if (cCal.isAfter(cLatest)) {
|
||||
return cLatest;
|
||||
}
|
||||
} else {
|
||||
// Previous or next day
|
||||
if (actual.isAfter(threshold)) {
|
||||
return getAdjustedLatest(threshold, config);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return cCal;
|
||||
}
|
||||
|
||||
static Calendar adjustTime(Calendar cal, int minutes) {
|
||||
if (minutes >= 0) {
|
||||
Calendar cTime = truncateToMidnight(cal);
|
||||
@@ -280,6 +370,17 @@ public class DateTimeUtils {
|
||||
return cal;
|
||||
}
|
||||
|
||||
static Instant adjustTime(Instant instant, int minutes) {
|
||||
if (minutes >= 0) {
|
||||
return truncateToMidnight(instant).plus(minutes, ChronoUnit.MINUTES);
|
||||
}
|
||||
return instant;
|
||||
}
|
||||
|
||||
public static double toJulianCenturies(double jd) {
|
||||
return (jd - JD_J2000) / JULIAN_CENTURY_DAYS;
|
||||
}
|
||||
|
||||
public static Calendar createCalendarForToday(int hour, int minute, TimeZone zone, Locale locale) {
|
||||
return DateTimeUtils.adjustTime(Calendar.getInstance(zone, locale), hour * 60 + minute);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (c) 2010-2025 Contributors to the openHAB project
|
||||
*
|
||||
* See the NOTICE file(s) distributed with this work for additional
|
||||
* information.
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.binding.astro.internal.util;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
|
||||
/**
|
||||
* Common used DateTime functions.
|
||||
*
|
||||
* @author Gaël L'hopital - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class MathUtils {
|
||||
public static final double TWO_PI = 2 * Math.PI;
|
||||
|
||||
/** Constructor */
|
||||
private MathUtils() {
|
||||
throw new IllegalAccessError("Non-instantiable");
|
||||
}
|
||||
|
||||
public static double mod2Pi(double x) {
|
||||
return mod(x, TWO_PI);
|
||||
}
|
||||
|
||||
public static double mod(double a, double b) {
|
||||
return a - Math.floor(a / b) * b;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cosinus of a degree value.
|
||||
*/
|
||||
public static double cosDeg(double deg) {
|
||||
return Math.cos(Math.toRadians(deg));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tangent of a degree value.
|
||||
*/
|
||||
public static double tanDeg(double deg) {
|
||||
return Math.tan(Math.toRadians(deg));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sinus of a degree value.
|
||||
*/
|
||||
public static double sinDeg(double deg) {
|
||||
return Math.sin(Math.toRadians(deg));
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,7 @@ package org.openhab.binding.astro.internal.util;
|
||||
import java.lang.reflect.Method;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.Instant;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
@@ -63,6 +64,9 @@ public class PropertyUtils {
|
||||
cal.setTimeZone(zone);
|
||||
ZonedDateTime zoned = gregorianCal.toZonedDateTime().withFixedOffsetZone();
|
||||
return new DateTimeType(zoned);
|
||||
} else if (value instanceof Instant instant) {
|
||||
Instant configuredInstant = DateTimeUtils.applyConfig(instant, config);
|
||||
return new DateTimeType(configuredInstant.atZone(zone.toZoneId()).withFixedOffsetZone());
|
||||
} else if (value instanceof Number) {
|
||||
BigDecimal decimalValue = new BigDecimal(value.toString()).setScale(2, RoundingMode.HALF_UP);
|
||||
return new DecimalType(decimalValue);
|
||||
|
||||
@@ -235,3 +235,8 @@ channel-group-type.astro.moonEclipse.channel.partial.description = Timestamp of
|
||||
|
||||
discovery.astro.sun.local.label = Local Sun
|
||||
discovery.astro.moon.local.label = Local Moon
|
||||
|
||||
# iconprovider
|
||||
|
||||
iconset.label = Astro Icons
|
||||
iconset.description = Icons provided for the Astro Binding
|
||||
|
||||
@@ -172,6 +172,7 @@
|
||||
<item-type>String</item-type>
|
||||
<label>Sign</label>
|
||||
<description>The sign of the zodiac</description>
|
||||
<category>oh:astro:zodiac</category>
|
||||
<tags>
|
||||
<tag>Status</tag>
|
||||
<tag>Info</tag>
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.158 496.158">
|
||||
<path
|
||||
d="M248.082.003C111.07.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.082 248.07 137.006 0 248.076-111.069 248.076-248.07C496.158 111.062 385.088.003 248.082.003z"
|
||||
fill="#f9dc5f" />
|
||||
<path
|
||||
d="M235.765 118.016l-3.109-3.109c-9.275-9.274-36.705 3.118-61.262 27.676-24.559 24.56-36.951 51.987-27.676 61.262l3.109 3.109c9.273 9.274 36.701-3.118 61.26-27.677 24.559-24.558 36.951-51.987 27.678-61.261z"
|
||||
fill="#a3947c" />
|
||||
<path
|
||||
d="M171.393 142.583c-24.559 24.56-36.951 51.987-27.676 61.262l3.109 3.109c9.273 9.274 36.701-3.118 61.26-27.677l-36.693-36.694z"
|
||||
fill="#918169" />
|
||||
<path fill="#a3947c" d="M246.178 149.262l-68.41 68.412-10.884-10.883 68.411-68.412z" />
|
||||
<path fill="#918169" d="M212.655 182.781l-34.889 34.889-10.884-10.885 34.888-34.888z" />
|
||||
<path
|
||||
d="M412.991 305.866l-38.188-86.822c-34.924-63.343-72.076-80.919-72.076-80.919-19.988-8.62-64.943 9.59-64.943 9.59l-30.794 29.58-.015-.016-.373.388-.387.372.016.016-29.582 30.794s-18.207 44.952-9.588 64.941c0 0 17.578 37.155 80.92 72.075l86.822 38.188s22.146 4.738 52.385-25.044l.011.011c.13-.129.247-.256.372-.384.131-.128.259-.246.387-.375l-.01-.011c29.781-30.237 25.043-52.384 25.043-52.384z"
|
||||
fill="#a3947c" />
|
||||
<path
|
||||
d="M387.948 358.25L206.99 177.294l-.015-.016-.373.388-.387.372.016.016-29.582 30.795s-18.207 44.952-9.588 64.941c0 0 17.578 37.155 80.92 72.075l86.822 38.188s22.146 4.738 52.385-25.044l.011.011c.13-.129.247-.256.372-.384.131-.128.259-.246.387-.375l-.01-.011z"
|
||||
fill="#918169" />
|
||||
<path
|
||||
d="M224.421 123.141c-7.558-7.558-29.908 2.541-49.918 22.552-20.012 20.012-30.109 42.361-22.553 49.918 7.557 7.557 29.906-2.541 49.92-22.552 20.008-20.011 30.107-42.361 22.551-49.918z"
|
||||
fill="#414140" />
|
||||
<path
|
||||
d="M394.7 162.184c-16.23-30.965-51.829-44.304-79.51-29.794-27.682 14.51-36.963 51.375-20.73 82.34 16.23 30.966 51.829 44.305 79.51 29.795 27.683-14.511 36.963-51.375 20.73-82.341zm-29.696 65.235c-19.237 10.084-43.976.814-55.254-20.705-11.278-21.517-4.831-47.135 14.406-57.219 19.235-10.083 43.974-.813 55.254 20.706 11.28 21.517 4.829 47.135-14.406 57.218z"
|
||||
fill="#a3947c" />
|
||||
<path
|
||||
d="M243.349 265.842c-30.966-16.232-67.83-6.951-82.34 20.731-14.51 27.68-1.172 63.279 29.793 79.51 30.966 16.232 67.83 6.951 82.342-20.731 14.508-27.681 1.169-63.279-29.795-79.51zm12.688 70.543c-10.083 19.235-35.7 25.687-57.218 14.406-21.52-11.279-30.788-36.018-20.705-55.253 10.084-19.236 35.701-25.686 57.219-14.406s30.788 36.017 20.704 55.253z"
|
||||
fill="#918169" />
|
||||
<path
|
||||
d="M205.835 169.055s-38.207 3.371-61.805 15.17c0 0-72.666 41.015-59.557 111.809 13.111 70.793 58.621 78.659 69.297 77.536 0 0-23.973-80.907-5.619-124.356 18.272-43.256 57.684-80.159 57.684-80.159z"
|
||||
fill="#98cad8" />
|
||||
<path
|
||||
d="M126.053 210.257c-20.977 16.481-39.058 36.824-35.21 78.659 5.994 65.175 53.938 77.161 53.938 77.161-61.43-60.679-18.728-155.82-18.728-155.82z"
|
||||
fill="#c1dfe8" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
@@ -0,0 +1,37 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.159 496.159">
|
||||
<path
|
||||
d="M248.083.003C111.071.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.083 248.07 137.006 0 248.076-111.069 248.076-248.07C496.159 111.062 385.089.003 248.083.003z"
|
||||
fill="#f2b12f" />
|
||||
<path
|
||||
d="M444.762 177.718C425.032 85.898 315 116.252 315 116.252c-47.807 11.383-56.913 65.26-56.913 65.26 1.518 16.188 38.954 37.942 38.954 37.942 18.719 7.588 24.282-9.106 24.282-9.106l14.67-26.812c18.213-24.789 36.425-18.718 36.425-18.718 0 8.6 11.129 53.625 11.129 53.625 7.588 20.236 2.023 64.249 2.023 64.249-2.024 24.283 16.188 22.259 16.188 22.259 7.588-6.071 16.903-19.489 20.235-23.777.425-.546.917-1.035 1.364-1.563 30.247-35.812 21.405-101.893 21.405-101.893z"
|
||||
fill="#6d6256" />
|
||||
<g fill="#847664">
|
||||
<path
|
||||
d="M375.21 302.167c-3.541 15.682 15.095 26.805 26.307 6.323 13.153-24.029 60.453-41.988 60.453-41.988-62.73-.759-85.755 31.216-86.76 35.665zM444.762 177.718C425.032 85.898 315 116.252 315 116.252c-47.807 11.383-56.913 65.26-56.913 65.26 1.518 16.188 38.954 37.942 38.954 37.942 18.719 7.588 24.282-9.106 24.282-9.106l14.67-26.812c18.213-24.789 32.631-18.718 36.425-18.718 30.858 0 48.059 30.101 61.718 30.101 13.66-.001 10.626-17.201 10.626-17.201z" />
|
||||
</g>
|
||||
<path
|
||||
d="M181.881 116.252S71.85 85.898 52.12 177.718c0 0-8.844 66.081 21.402 101.893.445.527.938 1.016 1.362 1.563 8.355 10.772 12.647 17.706 20.235 23.777 0 0 18.213 2.024 16.19-22.259 0 0-5.566-44.012 2.022-64.249 0 0 11.131-45.024 11.131-53.625 0 0 18.212-6.07 36.424 18.718l14.67 26.812s5.565 16.694 24.284 9.106c0 0 37.436-21.754 38.954-37.942-.001 0-9.107-53.877-56.913-65.26z"
|
||||
fill="#6d6256" />
|
||||
<g fill="#847664">
|
||||
<path
|
||||
d="M120.95 302.167c-1.005-4.449-24.03-36.424-86.76-35.665 0 0 47.3 17.959 60.453 41.988 11.212 20.483 29.848 9.36 26.307-6.323zM181.881 116.252S71.85 85.898 52.12 177.718c0 0-3.036 17.2 10.624 17.2 13.659 0 30.859-30.101 61.719-30.101 3.793 0 18.212-6.07 36.424 18.718l14.67 26.812s5.565 16.694 24.284 9.106c0 0 37.436-21.754 38.954-37.942-.002.001-9.108-53.876-56.914-65.259z" />
|
||||
</g>
|
||||
<path
|
||||
d="M322.772 247.38s9.486-19.35 3.794-28.457c0 0-6.83-5.312-17.074-6.83 0 0-26.488-14.923-46.881-30.733-3.725-2.889-10.014-3.034-13.795-3.035h-.031c-3.782.001-10.071.146-13.796 3.035-20.393 15.81-46.881 30.733-46.881 30.733-10.244 1.518-17.074 6.83-17.074 6.83-5.691 9.106 3.795 28.457 3.795 28.457 1.896 7.588-1.897 23.524-1.897 23.524-4.173 27.698 9.865 35.666 9.865 35.666 10.624 6.83 13.658 29.595 13.658 29.595 1.518 11.382 6.83 28.835 6.83 28.835 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044 8.401 2.182 15.162-6.833 0 0 27.319-27.318 30.354-32.63 0 0 5.313-17.453 6.831-28.835 0 0 3.034-22.765 13.658-29.595 0 0 14.039-7.968 9.865-35.666-.001 0-3.795-15.936-1.898-23.524z"
|
||||
fill="#b79563" />
|
||||
<path
|
||||
d="M248.816 178.326h-.031c-3.782.001-10.071.146-13.796 3.035-20.393 15.81-46.881 30.733-46.881 30.733-10.244 1.518-17.074 6.83-17.074 6.83-5.691 9.106 3.795 28.457 3.795 28.457 1.896 7.588-1.897 23.524-1.897 23.524-4.173 27.698 9.865 35.666 9.865 35.666 10.624 6.83 13.658 29.595 13.658 29.595 1.518 11.382 6.83 28.835 6.83 28.835 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.043-.015-226.138.016-226.138z"
|
||||
fill="#aa885b" />
|
||||
<path
|
||||
d="M247.709 304.556c-48.099 0-51.254 31.608-51.254 31.608 1.518 11.382 6.83 28.835 6.83 28.835 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044 8.401 2.182 15.162-6.833 0 0 27.319-27.318 30.354-32.63 0 0 5.313-17.453 6.831-28.835-.002 0-5.339-31.608-53.438-31.608z"
|
||||
fill="#e0c199" />
|
||||
<path
|
||||
d="M248.785 387.421c-29.595 0-45.5-22.422-45.5-22.422 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044 8.401 2.182 15.162-6.833 0 0 27.319-27.318 30.354-32.63-.001 0-15.936 22.422-45.531 22.422z"
|
||||
fill="#9e7f56" />
|
||||
<g fill="#494949">
|
||||
<path
|
||||
d="M191.65 228.409l-22.006-.759s-1.518 1.645-.253 9.612c1.265 7.968 5.439 10.118 5.439 10.118l29.72 12.648 1.771-3.036-14.671-28.583zM327.957 227.65l-22.006.759-14.671 28.583 1.771 3.036 29.72-12.648s4.173-2.149 5.438-10.118c1.267-7.968-.252-9.612-.252-9.612zM280.332 332.534c-14.991-7.623-30.614-9.561-31.272-9.639-.088-.012-.172.019-.261.023-.087-.004-.171-.035-.26-.023-.657.078-16.281 2.016-31.271 9.639a1.52 1.52 0 00-.83 1.302 1.521 1.521 0 00.74 1.355l30.764 18.339c.24.143.508.214.777.214.027 0 .054-.009.08-.01.027.001.054.01.082.01.268 0 .537-.071.777-.214l30.764-18.339a1.519 1.519 0 00-.09-2.657z" />
|
||||
<path
|
||||
d="M327.957 227.65l-.042.002c.407 1.254.674 2.605.796 4.014-.015-3.204-.754-4.016-.754-4.016zM281.348 364.701a1.622 1.622 0 00-2.136-.832c-10.592 4.661-18.443 5.263-23.34 1.787-4.046-2.872-5.281-8.063-5.635-11.596.168-2.229.031-3.815.014-3.993a1.616 1.616 0 00-1.587-1.46l-.014-.002a1.616 1.616 0 00-1.747 1.485c-.015.178-.131 1.778.069 4.022-.304 3.5-1.461 8.609-5.427 11.489-4.874 3.537-12.816 2.954-23.607-1.735a1.617 1.617 0 00-2.132.841 1.619 1.619 0 00.84 2.132c6.543 2.844 12.212 4.267 16.967 4.267 3.904 0 7.191-.959 9.837-2.88 2.56-1.858 4.174-4.37 5.193-6.931 1.057 2.591 2.719 5.132 5.337 6.995 2.639 1.878 5.888 2.817 9.726 2.817 4.726 0 10.344-1.424 16.812-4.27a1.62 1.62 0 00.83-2.136z" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.2 KiB |
@@ -0,0 +1,59 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.159 496.159">
|
||||
<path
|
||||
d="M248.083.003C111.071.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.083 248.07 137.006 0 248.076-111.069 248.076-248.07C496.159 111.062 385.089.003 248.083.003z"
|
||||
fill="#58d1dd" />
|
||||
<path
|
||||
d="M303.188 423.508l-33.423-17.507a.844.844 0 00-.814.019 40.958 40.958 0 01-20.589 5.56c-.051 0-.095.021-.144.029-.049-.008-.093-.029-.144-.029a40.954 40.954 0 01-20.588-5.56.847.847 0 00-.814-.019l-33.423 17.507a.84.84 0 00-.411 1.003c6.388 19.814 29.102 33.653 55.236 33.653.051 0 .095-.021.144-.028.048.008.093.028.144.028 26.135 0 48.85-13.838 55.236-33.653a.84.84 0 00-.41-1.003z"
|
||||
fill="#9b0000" />
|
||||
<path
|
||||
d="M248.36 411.585c-.028.006-.108.018-.142.024-.049-.008-.093-.029-.144-.029a40.954 40.954 0 01-20.588-5.56.847.847 0 00-.814-.019l-33.423 17.507a.84.84 0 00-.411 1.003c6.388 19.814 29.102 33.653 55.236 33.653.051 0 .095-.021.144-.028.034.005.113.017.142.023-.284-.207-.284-46.366 0-46.574z"
|
||||
fill="#aa0404" />
|
||||
<g fill="#840303">
|
||||
<path
|
||||
d="M351.846 201.877c-1.965-2.806-2.806-.562-2.806-.562 5.332 31.431-7.858 47.427-7.858 47.427-8.699 13.19-56.968 23.573-56.968 23.573l-1.123 11.225c71-10.383 73.807-48.549 73.807-48.549 8.137-27.222-5.052-33.114-5.052-33.114z" />
|
||||
<path
|
||||
d="M378.225 246.497c-.28-5.051-2.245-3.087-2.245-3.087-2.526 36.762-26.66 45.462-26.66 45.462-9.261.561-31.712 5.052-31.712 5.052-14.592-5.894-34.236-6.454-34.236-6.454s-8.139 9.261-.842 10.664c7.297 1.402 36.763 3.929 36.763 3.929 47.988-3.087 51.355-19.364 51.355-19.364 14.312-15.434 7.577-36.202 7.577-36.202zM305.121 181.672l-2.666.14s-12.629-7.577-23.152-7.998c0 0 45.042 26.099 37.043 52.198 0 0-10.524 17.68-36.202 26.52l2.105 9.682s37.885-13.471 41.253-33.676c0-.001 6.875-34.237-18.381-46.866z" />
|
||||
</g>
|
||||
<path
|
||||
d="M358.44 186.443c-7.577 2.104-4.63-9.261-4.63-9.261-8.419 10.103-26.941.421-26.941.421l-16.417 21.047-42.937-1.263 9.682 25.678 27.362 1.263-3.789-4.63 30.308-2.947 27.362-30.308z"
|
||||
fill="#9b0000" />
|
||||
<path
|
||||
d="M360.545 135.368c-49.952 3.368-95.976 31.711-95.976 31.711-8.138 4.491-8.699 21.608-8.699 21.608l10.103 8.7.562-10.665c3.306-22.45 23.853-24.976 23.853-24.976 21.89-12.629 75.209-19.645 75.209-19.645 19.364 0 34.237 22.731 34.237 22.731-4.49-25.816-39.289-29.464-39.289-29.464z"
|
||||
fill="#840303" />
|
||||
<g fill="#9b0000">
|
||||
<path
|
||||
d="M274.111 121.898c-21.047 21.048-25.963 64.243-25.963 64.243l3.653 1.003c1.684-38.868 21.889-62.44 21.889-62.44 1.122-2.385.421-2.806.421-2.806z" />
|
||||
<path
|
||||
d="M353.81 117.687c-9.541-38.167-55.846-71-55.846-71-25.257-15.154-35.64-5.894-35.64-5.894 34.798 29.747 48.83 86.996 48.83 86.996-43.778-56.688-49.953-81.944-49.953-81.944-26.099 47.471 63.563 129.231 63.563 129.231 21.468 10.804 29.327-.421 29.327-.421l4.77 5.893c0-3.929 7.017-14.032 7.017-14.032 0-10.943-12.068-48.829-12.068-48.829zM185.708 198.65l-16.417-21.047s-18.522 9.682-26.941-.421c0 0 2.947 11.366-4.63 9.261l27.362 30.308 30.308 2.947-3.789 4.63 27.362-1.263 9.682-25.678-42.937 1.263z" />
|
||||
</g>
|
||||
<g fill="#840303">
|
||||
<path
|
||||
d="M211.946 272.316s-48.269-10.383-56.968-23.573c0 0-13.19-15.997-7.858-47.427 0 0-.841-2.245-2.806.562 0 0-13.189 5.893-5.052 33.115 0 0 2.806 38.166 73.807 48.549l-1.123-11.226z" />
|
||||
<path
|
||||
d="M212.788 287.47s-19.644.561-34.236 6.454c0 0-22.451-4.491-31.712-5.052 0 0-24.134-8.7-26.66-45.462 0 0-1.964-1.964-2.245 3.087 0 0-6.735 20.767 7.577 36.202 0 0 3.368 16.276 51.355 19.364 0 0 29.466-2.527 36.763-3.929 7.297-1.403-.842-10.664-.842-10.664zM179.814 226.012c-7.998-26.099 37.043-52.198 37.043-52.198-10.523.421-23.152 7.998-23.152 7.998l-2.666-.14c-25.257 12.628-18.381 46.865-18.381 46.865 3.368 20.205 41.253 33.676 41.253 33.676l2.105-9.682c-25.678-8.839-36.202-26.519-36.202-26.519z" />
|
||||
<path
|
||||
d="M231.591 167.079s-46.024-28.344-95.977-31.711c0 0-34.799 3.648-39.289 29.466 0 0 14.874-22.731 34.237-22.731 0 0 53.32 7.016 75.209 19.645 0 0 20.547 2.526 23.853 24.976l.562 10.665 10.103-8.7c.001-.001-.56-17.119-8.698-21.61z" />
|
||||
</g>
|
||||
<g fill="#9b0000">
|
||||
<path
|
||||
d="M222.049 121.898s-.702.421.421 2.806c0 0 20.206 23.572 21.889 62.44l3.653-1.003s-4.915-43.195-25.963-64.243z" />
|
||||
<path
|
||||
d="M234.958 45.846s-6.174 25.257-49.953 81.944c0 0 14.032-57.249 48.83-86.996 0 0-10.383-9.261-35.64 5.894 0 0-46.305 32.833-55.846 71 0 0-12.068 37.885-12.068 48.83 0 0 7.017 10.103 7.017 14.032l4.77-5.893s7.858 11.225 29.327.421c0-.001 89.663-81.761 63.563-129.232z" />
|
||||
</g>
|
||||
<path
|
||||
d="M248.148 186.141c-18.481 0-42.24 23.033-42.24 94.805 0 101.027 14.742 127.758 42.24 127.758 27.497 0 42.239-26.169 42.239-127.758 0-71.351-23.758-94.805-42.239-94.805z"
|
||||
fill="#b50606" />
|
||||
<path d="M205.908 280.946c0 101.027 14.742 127.758 42.24 127.758V186.141c-18.482 0-42.24 23.033-42.24 94.805z"
|
||||
fill="#cc0e0e" />
|
||||
<g fill="#600">
|
||||
<ellipse transform="rotate(-169.235 235.663 212.684)" cx="235.663" cy="212.685" rx="4.771" ry="7.437" />
|
||||
<ellipse transform="scale(-1) rotate(78.591 259.895 -319.338)" cx="261.323" cy="212.679" rx="7.437"
|
||||
ry="4.771" />
|
||||
</g>
|
||||
<g fill="#840303">
|
||||
<path
|
||||
d="M248.582 318.117c-25.339 0-40.14-6.498-40.14-6.498s37.611 24.256 79.7 0c0 0-14.222 6.498-39.56 6.498zM248.555 339.992c-22.96 0-36.373-5.888-36.373-5.888s34.082 21.98 72.22 0c0 0-12.886 5.888-35.847 5.888zM248.523 360.908c-20.168 0-31.947-5.171-31.947-5.171s29.935 19.306 63.433 0c0 0-11.319 5.171-31.486 5.171zM248.495 379.643c-17.769 0-28.148-4.556-28.148-4.556s26.376 17.01 55.893 0c-.001 0-9.975 4.556-27.745 4.556z" />
|
||||
</g>
|
||||
<path d="M252.099 183.076l-4.019.935.171 7.755 3.874-.009c-.061 0-.026-8.681-.026-8.681z" fill="#b50606" />
|
||||
<path fill="#cc0e0e" d="M248.126 184.011l-4.052-.935-.026 8.699 4.11.017z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.6 KiB |
@@ -0,0 +1,31 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.158 496.158">
|
||||
<path
|
||||
d="M248.082.003C111.07.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.082 248.07 137.006 0 248.076-111.069 248.076-248.07C496.158 111.062 385.088.003 248.082.003z"
|
||||
fill="#af8d4a" />
|
||||
<g fill="#ddd9bf">
|
||||
<path
|
||||
d="M163.342 114.72c-66.5-6.5-119.159 61.667-105.5 61.667 0 0 26.641-24.167 57.5-24.167 49.5 0 79.501 56.5 79.501 56.5s-2.053 14.255 16.666 6.667c0 0 25.767-17.686 27.284-33.874 0-.001-22.979-61.664-75.451-66.793zM333.79 114.72c-52.473 5.129-75.451 66.792-75.451 66.792 1.518 16.188 27.284 33.874 27.284 33.874 18.719 7.588 16.666-6.667 16.666-6.667s30.001-56.5 79.501-56.5c30.859 0 57.5 24.167 57.5 24.167 13.659 0-39-68.166-105.5-61.666z" />
|
||||
</g>
|
||||
<g fill="#91552c">
|
||||
<path
|
||||
d="M376.448 168.048c-.264-.528-.768-.848-1.405-.828-38.123 1.622-63.338 41.401-65.413 44.786-4.291 3.646 2.807 28.303 16.702 23.28 26.876-9.714 43.765-22.801 50.196-38.897 6.188-15.485.179-27.823-.08-28.341zM187.069 212.006c-2.075-3.384-27.29-43.164-65.413-44.786-.638-.02-1.142.299-1.405.828-.259.518-6.268 12.855-.08 28.341 6.432 16.096 23.32 29.183 50.196 38.897 13.896 5.023 20.993-19.633 16.702-23.28z" />
|
||||
</g>
|
||||
<path
|
||||
d="M322.771 247.38s9.485-19.35 3.794-28.457c0 0-6.83-5.312-17.074-6.83 0 0-26.488-14.923-46.881-30.733-3.725-2.889-10.014-3.034-13.796-3.035h-.03c-3.782.001-10.071.146-13.796 3.035-20.393 15.81-46.881 30.733-46.881 30.733-10.244 1.518-17.074 6.83-17.074 6.83-5.691 9.106 3.795 28.457 3.795 28.457 1.896 7.588-1.896 23.524-1.896 23.524-4.174 27.698 23.523 65.26 23.523 65.26 1.518 11.382 6.829 28.835 6.829 28.835 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044 8.4 2.182 15.162-6.833 0 0 27.318-27.318 30.354-32.63 0 0 5.313-17.453 6.83-28.835 0 0 27.697-37.563 23.523-65.26 0 0-3.794-15.936-1.897-23.524z"
|
||||
fill="#9b6038" />
|
||||
<path
|
||||
d="M248.814 178.326h-.03c-3.782.001-10.071.146-13.796 3.035-20.393 15.81-46.881 30.733-46.881 30.733-10.244 1.518-17.074 6.83-17.074 6.83-5.691 9.106 3.795 28.457 3.795 28.457 1.896 7.588-1.896 23.524-1.896 23.524-4.174 27.698 23.523 65.26 23.523 65.26 1.518 11.382 6.829 28.835 6.829 28.835 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044-.015-226.137.015-226.137z"
|
||||
fill="#aa693d" />
|
||||
<path
|
||||
d="M247.709 304.556c-48.1 0-51.254 31.608-51.254 31.608 1.518 11.382 6.829 28.835 6.829 28.835 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044 8.4 2.182 15.162-6.833 0 0 27.318-27.318 30.354-32.63 0 0 5.313-17.453 6.83-28.835-.001 0-5.338-31.608-53.436-31.608z"
|
||||
fill="#e0c199" />
|
||||
<path
|
||||
d="M248.784 387.421c-29.595 0-45.5-22.422-45.5-22.422 3.035 5.312 30.354 32.63 30.354 32.63 6.762 9.016 14.999 6.877 15.161 6.833.164.044 8.4 2.182 15.162-6.833 0 0 27.318-27.318 30.354-32.63-.001 0-15.936 22.422-45.531 22.422z"
|
||||
fill="#96592f" />
|
||||
<g fill="#494949">
|
||||
<path
|
||||
d="M191.648 228.409l-22.006-.759s-1.518 1.645-.254 9.612c1.266 7.968 5.439 10.118 5.439 10.118l29.721 12.648 1.771-3.036-14.671-28.583zM327.957 227.65l-22.007.759-14.671 28.583 1.771 3.036 29.721-12.648s4.173-2.149 5.438-10.118c1.266-7.968-.252-9.612-.252-9.612zM280.332 332.534c-14.991-7.623-30.615-9.561-31.272-9.639-.089-.012-.172.019-.261.023-.088-.004-.171-.035-.26-.023-.657.078-16.281 2.016-31.271 9.639a1.52 1.52 0 00-.83 1.302 1.521 1.521 0 00.74 1.355l30.764 18.339c.24.143.508.214.777.214.027 0 .054-.009.08-.01.027.001.054.01.082.01.268 0 .537-.071.776-.214l30.765-18.339a1.518 1.518 0 00-.09-2.657z" />
|
||||
<path
|
||||
d="M327.957 227.65l-.043.002a18.02 18.02 0 01.797 4.014c-.016-3.204-.754-4.016-.754-4.016zM281.348 364.701a1.623 1.623 0 00-2.137-.832c-10.592 4.661-18.443 5.263-23.34 1.787-4.046-2.872-5.281-8.063-5.635-11.596.168-2.229.031-3.815.014-3.993a1.615 1.615 0 00-1.587-1.46l-.015-.002a1.615 1.615 0 00-1.746 1.485c-.015.178-.131 1.778.069 4.022-.304 3.5-1.461 8.609-5.427 11.489-4.874 3.537-12.816 2.954-23.607-1.735a1.617 1.617 0 00-2.132.841 1.619 1.619 0 00.84 2.132c6.544 2.844 12.212 4.267 16.967 4.267 3.904 0 7.191-.959 9.837-2.88 2.561-1.858 4.175-4.37 5.193-6.931 1.057 2.591 2.719 5.132 5.337 6.995 2.639 1.878 5.888 2.817 9.726 2.817 4.726 0 10.344-1.424 16.812-4.27a1.621 1.621 0 00.831-2.136z" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.2 KiB |
@@ -0,0 +1,37 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.159 496.159">
|
||||
<path
|
||||
d="M248.083.003C111.071.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.083 248.07 137.006 0 248.076-111.069 248.076-248.07C496.159 111.062 385.089.003 248.083.003z"
|
||||
fill="#f9dc5f" />
|
||||
<path
|
||||
d="M213.286 276.657c27.443-36.322 25.022-81.523 25.022-81.523-4.036-58.115-58.115-70.223-58.115-70.223C93.826 101.503 78.49 160.426 78.49 160.426c-19.372 20.179-12.915 63.765-12.915 63.765-.807 10.089-21.995 34.103-21.995 34.103-4.439 5.449.807 9.888.807 9.888 3.027 2.825 11.301 3.833 11.301 3.833 1.21.808 1.009 2.826 1.009 2.826l-2.422 8.878c-.605 3.431 4.641 7.668 4.641 7.668.808 1.614-.605 3.229-.605 3.229-2.018 3.026-2.421 5.448-2.421 5.448-.808 4.036 5.65 9.687 5.65 9.687.807 4.035-4.843 12.914-4.843 12.914-1.615 13.318 9.686 13.722 9.686 13.722h34.708l18.564 40.358 94.438-29.058c-15.336-25.829-.807-71.03-.807-71.03z"
|
||||
fill="#b97141" />
|
||||
<path fill="#a55d35" d="M151.538 306.925l-85.155 29.461h34.708l52.061-27.039.404-11.705z" />
|
||||
<path
|
||||
d="M238.308 195.134c-4.036-58.115-58.115-70.223-58.115-70.223C93.826 101.503 78.49 160.426 78.49 160.426c62.958 4.843 65.172 61.318 89.999 107.755 18.118 33.891 38.522 51.973 38.579 47.219.242-20.151 6.218-38.744 6.218-38.744 27.443-36.322 25.022-81.522 25.022-81.522z"
|
||||
fill="#70462a" />
|
||||
<g fill="#a55d35">
|
||||
<path
|
||||
d="M174.824 222.093c-17.687-4.708-19.981 20.099-19.981 20.099l-.346 25.725c4.906 4.321 10.361 5.73 13.602.926 5.116-7.588 12.499-18.418 17.879-27.7 7.031-12.132-4.72-17.336-11.154-19.05zM66.113 263.743c-1.346 9.416-9.416 8.071-9.416 8.071l4.305 1.346c8.342-.539 5.111-9.417 5.111-9.417zM70.823 224.998s8.071 7.265 23.003-2.422c0 .001-10.896 3.633-23.003 2.422z" />
|
||||
</g>
|
||||
<path
|
||||
d="M95.643 201.793c-5.65-2.422-29.058-1.614-29.058-1.614-2.152 3.296.771 6.659 2.219 6.659 20.853 0 33.901 5.65 33.901 5.65-.605-8.072-7.062-10.695-7.062-10.695z"
|
||||
fill="#70462a" />
|
||||
<g fill="#b97141">
|
||||
<path
|
||||
d="M177.233 210.604c-20.717-5.516-23.408 23.542-23.408 23.542l-.404 30.133c5.746 5.063 12.136 6.714 15.932 1.086 5.995-8.888 11.375-16.421 17.497-25.839 8.953-13.769-2.08-26.915-9.617-28.922zM452.579 258.294s-21.188-24.013-21.995-34.103c0 0 6.457-43.586-12.915-63.765 0 0-15.336-58.923-101.702-35.515 0 0-54.079 12.107-58.115 70.223 0 0-2.421 45.201 25.022 81.523 0 0 14.528 45.201-.807 71.03l94.438 29.058 18.564-40.358h34.708s11.301-.403 9.686-13.722c0 0-5.65-8.879-4.843-12.914 0 0 6.458-5.65 5.65-9.687 0 0-.403-2.421-2.421-5.448 0 0-1.413-1.615-.605-3.229 0 0 5.247-4.238 4.641-7.668l-2.422-8.878s-.202-2.018 1.009-2.826c0 0 8.273-1.008 11.301-3.833-.001 0 5.245-4.439.806-9.888z" />
|
||||
</g>
|
||||
<path fill="#a55d35" d="M344.622 306.925l-2.018-9.283.404 11.705 52.061 27.039h34.708z" />
|
||||
<path
|
||||
d="M315.968 124.911s-54.079 12.107-58.115 70.223c0 0-2.421 45.201 25.022 81.523 0 0 5.976 18.593 6.218 38.744.057 4.754 20.461-13.328 38.579-47.219 24.827-46.437 27.04-102.913 89.999-107.755-.001-.001-15.337-58.924-101.703-35.516z"
|
||||
fill="#70462a" />
|
||||
<g fill="#a55d35">
|
||||
<path
|
||||
d="M341.317 242.192s-2.295-24.807-19.981-20.099c-6.434 1.713-18.185 6.918-11.154 19.049 5.38 9.282 12.763 20.112 17.879 27.7 3.241 4.805 8.696 3.395 13.602-.926l-.346-25.724zM430.047 263.743s-3.23 8.878 5.111 9.417l4.305-1.346s-8.07 1.345-9.416-8.071zM402.334 222.577c14.932 9.687 23.003 2.422 23.003 2.422-12.107 1.21-23.003-2.422-23.003-2.422z" />
|
||||
</g>
|
||||
<path
|
||||
d="M429.575 200.179s-23.408-.808-29.058 1.614c0 0-6.457 2.623-7.063 10.695 0 0 13.048-5.65 33.901-5.65 1.449 0 4.372-3.363 2.22-6.659z"
|
||||
fill="#70462a" />
|
||||
<path
|
||||
d="M342.334 234.147s-2.691-29.058-23.408-23.542c-7.537 2.007-18.569 15.152-9.618 28.923 6.122 9.417 11.502 16.951 17.497 25.839 3.796 5.628 10.186 3.977 15.932-1.086l-.403-30.134z"
|
||||
fill="#b97141" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
@@ -0,0 +1,66 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.159 496.159">
|
||||
<path
|
||||
d="M248.083.003C111.071.003 0 111.063 0 248.085c0 137.001 111.07 248.071 248.083 248.071 137.006 0 248.076-111.07 248.076-248.071C496.159 111.063 385.089.003 248.083.003z"
|
||||
fill="#f2b12f" />
|
||||
<path
|
||||
d="M398.941 294.253l36.136 1.853c-14.825-48.181-51.887-44.475-51.887-44.475l38.915-37.988c-39.842-1.853-49.107-25.943-49.107-25.943l20.384-22.238c-2.78-7.412-31.503-11.118-31.503-11.118 4.633-4.633 3.707-26.87 3.707-26.87-11.119 1.854-37.062-3.707-37.062-3.707 5.559-8.338 18.531-6.485 18.531-6.485-20.384-22.237-64.859-5.559-64.859-5.559-1.236-13.282 4.325-20.693 4.325-20.693-21.002-5.56-33.356 16.06-33.356 16.06l-6.794-21.001-3.706 21.001c-11.119-2.471-25.943-26.561-25.943-26.561-11.119 9.884 3.088 38.916 3.088 38.916-27.797-24.708-62.389-14.208-62.389-14.208 0 16.06 25.944 37.681 25.944 37.681-23.472-19.15-67.948-9.266-67.948-9.266 4.942 17.295 16.678 22.237 16.678 22.237l-42.005 58.68c-39.534 21.62-27.179 72.891-27.179 72.891 16.678-21.62 42.815-12.973 42.815-12.973-7.219 4.942-27.991 9.884-27.991 9.884 6.177 2.472 13.589 5.56 13.589 5.56-22.855 8.03-22.237 37.063-22.237 37.063 11.118-4.324 36.639-.618 36.639-.618-6.601-.618-20.578 15.442-20.578 15.442 8.03 4.324 30.267 6.177 30.267 6.177-21.002 12.973-12.972 29.65-12.972 29.65 10.501-5.56 27.797-8.647 27.797-8.647 11.736 1.234 19.149 3.706 19.149 3.706 0 16.678 11.119 32.12 11.119 32.12 0-12.972 11.737-14.207 11.737-14.207 3.088 19.767 11.736 17.296 11.736 17.296 1.235-9.266 12.354-8.03 12.354-8.03-2.471 1.853-4.016 8.338-4.016 8.338 24.091 6.486 45.401-8.338 45.401-8.338l-.926 15.751c0-8.339 16.679-7.413 16.679-7.413 12.044 10.192 34.282 4.634 34.282 4.634-10.192-4.634-.927-16.679-.927-16.679 29.65 16.679 52.814-1.853 52.814-1.853-10.192 0-20.384-8.34-20.384-8.34l50.961 1.854-25.943-15.751c16.678 7.412 41.694-7.413 41.694-7.413l-18.53-8.339c9.265-7.412 29.649 1.854 29.649 1.854.927-15.752-12.972-32.43-12.972-32.43 15.752 2.779 27.796 14.825 27.796 14.825 7.412-37.064-12.972-46.33-12.972-46.33z"
|
||||
fill="#7a582b" />
|
||||
<path
|
||||
d="M328.513 203.984c10.954-25.878-28.438-65.434-85.661-52.739-57.222-12.694-98.714 26.861-87.762 52.739 3.415 8.066-17.117 54.272 8.553 82.144 5.622 6.103 28.21 70.716 28.21 70.716.79 1.381 25.19 6.627 48.714 7.004v.023c.411-.001.823-.007 1.234-.011.411.004.824.01 1.234.011v-.023c23.524-.377 47.925-5.623 48.714-7.004 0 0 22.59-64.613 28.211-70.716 25.671-27.872 5.139-74.078 8.553-82.144z"
|
||||
fill="#d6953e" />
|
||||
<path
|
||||
d="M242.852 151.245c-57.222-12.694-98.714 26.861-87.762 52.739 3.415 8.066-17.117 54.272 8.553 82.144 5.622 6.103 28.21 70.716 28.21 70.716.79 1.381 25.19 6.627 48.714 7.004v.023c.411-.001.823-.007 1.234-.011.411.004.824.01 1.234.011v-.023l-.183-212.603z"
|
||||
fill="#c18236" />
|
||||
<path
|
||||
d="M255.313 361.594l-12.461-8.826-12.716 8.901-36.815-4.826c3.339 5.845 20.203 24.079 20.203 24.079 12.828 15.134 45.832 14.034 59.74 0 0 0 16.864-18.234 20.203-24.079l-38.154 4.751z"
|
||||
fill="#d6953e" />
|
||||
<path
|
||||
d="M280.533 283.009c-16.379-13.906-16.29-45.451-32.789-53.355-1.579-.758-7.148-.796-8.644-.104-16.458 7.605-16.557 39.491-33.01 53.46-29.153 24.754-38.872 53.174-16.501 75.359 9.91 9.829 43.455 12.377 43.455 12.377s8.906-10.815 9.086-10.863c.165.044 2.2.044 2.364 0 .181.048 9.085 10.863 9.085 10.863s33.546-2.548 43.456-12.377c22.37-22.186 12.651-50.606-16.502-75.36z"
|
||||
fill="#bc7928" />
|
||||
<path
|
||||
d="M277.639 288.567c-15.106-12.825-15.023-54.343-30.24-61.634-1.457-.698-6.592-.733-7.972-.097-15.179 7.015-15.27 48.847-30.442 61.73-26.887 22.828-35.849 49.039-15.219 69.5 9.139 9.063 40.076 11.414 40.076 11.414s8.213-9.975 8.379-10.02c.151.041 2.029.041 2.181 0 .167.045 8.379 10.02 8.379 10.02s30.937-2.351 40.077-11.414c20.63-20.46 11.667-46.671-15.219-69.499z"
|
||||
fill="#d6953e" />
|
||||
<path
|
||||
d="M242.852 226.239c-1.638-.016-2.735.279-3.425.598-15.179 7.015-15.27 48.847-30.442 61.73-26.887 22.828-35.849 49.039-15.219 69.5 9.139 9.063 40.076 11.414 40.076 11.414s8.213-9.975 8.379-10.02c.079.021.627.031 1.156.03.485 0-.525-133.252-.525-133.252z"
|
||||
fill="#c18236" />
|
||||
<g fill="#3f2308">
|
||||
<path
|
||||
d="M278.084 321.127c-16.492-8.386-33.68-10.519-34.403-10.604-.098-.014-.189.021-.287.024-.096-.004-.188-.038-.286-.024-.723.085-17.912 2.218-34.403 10.604a1.672 1.672 0 00-.099 2.923l33.845 20.175c.264.157.559.235.854.235.03 0 .06-.009.088-.011.03.002.059.011.09.011.295 0 .591-.078.855-.235l33.845-20.175c.521-.312.833-.883.814-1.49a1.673 1.673 0 00-.913-1.433z" />
|
||||
<path
|
||||
d="M279.202 365.409a1.782 1.782 0 00-2.35-.915c-11.653 5.127-20.291 5.79-25.677 1.966-4.451-3.159-5.81-8.87-6.199-12.757.185-2.452.034-11.09.016-11.285a1.777 1.777 0 00-1.746-1.606l-.016-.003a1.779 1.779 0 00-1.922 1.634c-.016.196-.144 8.851.077 11.319-.334 3.851-1.607 9.471-5.971 12.639-5.362 3.891-14.099 3.25-25.971-1.909a1.78 1.78 0 00-2.346.925 1.783 1.783 0 00.924 2.347c7.199 3.128 13.436 4.693 18.666 4.693 4.295 0 7.912-1.056 10.822-3.169 2.816-2.044 4.593-4.808 5.713-7.625 1.163 2.851 2.991 5.646 5.872 7.696 2.902 2.065 6.477 3.099 10.699 3.099 5.199 0 11.38-1.566 18.495-4.697a1.786 1.786 0 00.914-2.352z" />
|
||||
</g>
|
||||
<g fill="#282727">
|
||||
<path
|
||||
d="M173.911 208.384c12.468 46.939 50.606 9.534 50.606 9.534-21.819 5.134-50.606-9.534-50.606-9.534zM261.654 217.918s38.138 37.405 50.606-9.534c.001 0-28.787 14.668-50.606 9.534z" />
|
||||
</g>
|
||||
<path
|
||||
d="M236.435 207.65c-.55-2.2-2.75-3.851-2.75-3.851s-7.701 5.318-13.202 5.501c-10.339.345-24.937-4.033-34.288-5.501-9.351-1.467-16.319 0-16.319 0s14.486 21.82 54.641 15.586c5.429-.844 8.067-4.034 10.359-7.06.001.001 2.11-2.475 1.559-4.675z"
|
||||
fill="#6d4d25" />
|
||||
<path
|
||||
d="M299.975 203.799c-9.351 1.468-23.949 5.846-34.288 5.501-5.5-.183-13.202-5.501-13.202-5.501s-2.2 1.65-2.75 3.851 1.559 4.676 1.559 4.676c2.292 3.025 4.93 6.216 10.359 7.06 40.155 6.234 54.641-15.586 54.641-15.586s-6.967-1.468-16.319-.001z"
|
||||
fill="#7a582b" />
|
||||
<path
|
||||
d="M154.794 162.576c-18.826-14.1-43.06-13.548-54.13 1.233-11.07 14.78-4.783 38.191 14.044 52.29 18.826 14.101 58.912-39.423 40.086-53.523z"
|
||||
fill="#d6953e" />
|
||||
<path
|
||||
d="M162.791 185.09c-14.671-16.132-35.12-24.449-45.675-18.578-10.555 5.87-7.216 23.706 7.456 39.838s52.892-5.128 38.219-21.26z"
|
||||
fill="#c98431" />
|
||||
<path
|
||||
d="M385.22 163.809c-11.069-14.781-35.304-15.333-54.129-1.233-18.826 14.101 21.26 67.624 40.086 53.523 18.826-14.099 25.113-37.51 14.043-52.29z"
|
||||
fill="#d6953e" />
|
||||
<path
|
||||
d="M374.918 170.547c-5.87-10.555-23.706-7.216-39.838 7.456s5.128 52.892 21.26 38.219c16.132-14.671 24.45-35.12 18.578-45.675z"
|
||||
fill="#c98431" />
|
||||
<g fill="#7a582b">
|
||||
<path
|
||||
d="M351.088 191.13c-5.039-2.063-14.349-17.636-14.349-17.636l22.825-3.075c-11.118-14.354-55.595-14.257-55.595-14.257 12.244 15.584 27.98 68.96 27.98 68.96 6.259 3.868 10.151 8.729 10.151 8.729 5.676-7.479-.81-25.166-.81-25.166l9.364-5.316-10.38-8.17c0 .001 15.853-2.007 10.814-4.069zM274.586 136.141l-67.047 4.117 6.47 17.056 14.702 8.822 3.53-9.41s9.999 7.057 9.999 10.586l8.822-18.82 7.057 10.587 6.47-7.059 2.94 12.352 10.586-9.41-3.529-18.821zM172.615 163.105c-14.123-4.762-50.211 8.168-50.211 8.168l10.445 11.566c-8.953.681-22.383 21.769-22.383 21.769 1.492 6.123 24.373 4.082 24.373 4.082l-10.445 6.803c4.974 8.164 25.614 7.213 25.614 7.213l14.675-25.58 11.439-17.689-3.507-16.332z" />
|
||||
</g>
|
||||
<g fill="#8c5519">
|
||||
<ellipse cx="290.22" cy="328.39" rx="4.125" ry="2.475" />
|
||||
<ellipse cx="276.2" cy="341.32" rx="4.125" ry="2.476" />
|
||||
<ellipse cx="292.7" cy="348.74" rx="4.125" ry="2.475" />
|
||||
<ellipse cx="196.71" cy="328.39" rx="4.125" ry="2.475" />
|
||||
<ellipse cx="210.74" cy="341.32" rx="4.125" ry="2.476" />
|
||||
<ellipse cx="194.24" cy="348.74" rx="4.125" ry="2.475" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.6 KiB |
@@ -0,0 +1,26 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.158 496.158">
|
||||
<path
|
||||
d="M248.082.003C111.07.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.082 248.07 137.006 0 248.076-111.069 248.076-248.07C496.158 111.062 385.088.003 248.082.003z"
|
||||
fill="#f9dc5f" />
|
||||
<g fill="#4c4c48">
|
||||
<path d="M243.029 157.629h10.938v202.92h-10.938z" />
|
||||
<path
|
||||
d="M268.272 386.501c0-46.279-19.353-45.438-19.353-45.438s-19.353-.842-19.353 45.438c0 0 5.049 17.67-78.253 17.67v8.414h195.211v-8.414c-83.299 0-78.252-17.67-78.252-17.67zM248.499 123.134c-4.628 0-10.813 9.808-10.813 31.73s22.467 21.922 22.467 0c0-21.923-7.026-31.73-11.654-31.73z" />
|
||||
</g>
|
||||
<g fill="#6d6d68">
|
||||
<path
|
||||
d="M369.949 191.075a3.37 3.37 0 00-4.385 1.853l-36.903 111.909c-.594 1.723.109 3.686 1.569 4.385.352.169.714.248 1.072.248 1.126 0 2.193-.793 2.645-2.1l37.854-111.91a3.364 3.364 0 00-1.852-4.385zM423.451 304.837l-36.925-111.909a3.366 3.366 0 10-6.238 2.532l37.877 111.91c.449 1.307 1.517 2.1 2.644 2.1.357 0 .721-.079 1.073-.248 1.46-.7 2.162-2.663 1.569-4.385z" />
|
||||
<path d="M327.975 304s.714 48.485 48.497 48.485S424.255 304 424.255 304h-96.28z" />
|
||||
</g>
|
||||
<path
|
||||
d="M386.404 170.553c-.007.033-.02.066-.027.101-1.459-2.901-4.23-5.341-7.836-6.499-6.525-2.098-13.289.783-15.104 6.432-1.816 5.651 2.002 11.932 8.527 14.028.158.051.316.086.474.131a18.536 18.536 0 01-9.968-.383c-4.939-1.588-13.397-11.229-31.094-16.917-14.019-4.506-45.148-5.23-85.213-18.106l-4.248 13.218c32.111 10.32 64.651 10.515 78.967 14.627 26.484 7.608 32.892 14.99 39.777 20.148 6.885 5.159 23.311 3.092 27.221-9.075a23.05 23.05 0 00-1.476-17.705z"
|
||||
fill="#4c4c48" />
|
||||
<g fill="#6d6d68">
|
||||
<path
|
||||
d="M168.885 224.837l-38.291-111.909a3.366 3.366 0 10-6.238 2.532l39.088 111.91c.463 1.307 1.562 2.1 2.721 2.1.368 0 .742-.079 1.104-.248 1.502-.7 2.225-2.663 1.616-4.385zM114.017 111.075a3.37 3.37 0 00-4.385 1.853L71.323 224.837c-.611 1.723.112 3.686 1.615 4.385.362.169.735.248 1.104.248 1.159 0 2.258-.793 2.722-2.1l39.104-111.91a3.365 3.365 0 00-1.851-4.385z" />
|
||||
<path d="M70.495 224s0 48.485 49.18 48.485c49.181 0 49.914-48.485 49.914-48.485H70.495z" />
|
||||
</g>
|
||||
<path
|
||||
d="M166.357 114.409c-17.696-5.688-30.188-2.778-35.127-4.366a18.53 18.53 0 01-8.324-5.496c.154.055.303.119.461.17 6.525 2.097 13.288-.782 15.104-6.434 1.816-5.648-2.002-11.93-8.527-14.026-3.605-1.159-7.281-.793-10.156.717.014-.033.023-.067.037-.099a23.057 23.057 0 00-11.516 13.529c-3.91 12.166 8.236 23.416 16.838 23.234 8.602-.18 18.109-2.447 44.066 6.8 14.031 4.997 40.592 23.797 72.703 34.118l4.248-13.218c-40.064-12.876-65.787-30.423-79.807-34.929z"
|
||||
fill="#4c4c48" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,23 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.158 496.158">
|
||||
<path
|
||||
d="M248.082.003C111.07.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.082 248.07 137.006 0 248.076-111.069 248.076-248.07C496.158 111.062 385.088.003 248.082.003z"
|
||||
fill="#58d1dd" />
|
||||
<g fill="#c14e00">
|
||||
<path
|
||||
d="M298.486 105.655c-1.959-.735-50.152-18.669-79.666-17.209-18.338.888-31.063 20.819-31.599 21.667a2.845 2.845 0 00-.192 2.659 2.842 2.842 0 002.1 1.645l105.969 18.924a2.832 2.832 0 002.226-.542 2.833 2.833 0 001.101-2.011l1.894-22.234a2.84 2.84 0 00-1.833-2.899zM283.058 233.673l-13.998-31.527a2.634 2.634 0 00-3.348-1.39l-50.24 19.25a2.631 2.631 0 00-1.692 2.407 2.636 2.636 0 001.592 2.473c1.312.563 32.471 13.788 65.386 12.488a2.632 2.632 0 002.3-3.701z" />
|
||||
</g>
|
||||
<path
|
||||
d="M397.451 226.358l-10.256-61.663 10.256-62.25c.184-1.105-.52-2.174-1.686-2.564s-2.475.006-3.141.949c-13.955 19.732-39.832 49.62-49.864 49.62-8.78 0-29.989-11.148-39.31-18.193-19.637-14.841-46.532-26.955-78.326-26.955-57.056 0-123.479 31.723-126.447 58.422l38.072 14.726-37.086-6.98c8.959 24.991 71.413 54.073 125.461 54.073 35.691 0 67.545-17.124 86.577-32.429 6.176-4.967 22.864-14.757 31.059-14.757 9.61 0 35.69 29.896 49.872 49.635.498.691 1.342 1.083 2.214 1.083.311 0 .626-.049.93-.152 1.161-.395 1.859-1.463 1.675-2.565z"
|
||||
fill="#e85e00" />
|
||||
<circle cx="166.159" cy="142.019" r="11.852" fill="#42423f" />
|
||||
<circle cx="169.229" cy="137.189" r="4.829" fill="#fff" />
|
||||
<g fill="#c14e00">
|
||||
<path
|
||||
d="M308.936 280.446c-.535-.848-13.261-20.779-31.599-21.667-29.514-1.46-77.707 16.474-79.666 17.209a2.838 2.838 0 00-1.831 2.898l1.894 22.234a2.831 2.831 0 001.101 2.011 2.827 2.827 0 002.226.542l105.968-18.924a2.838 2.838 0 001.907-4.303zM280.685 390.34l-50.24-19.25a2.634 2.634 0 00-3.348 1.39l-13.998 31.527a2.631 2.631 0 002.3 3.701c32.915 1.3 64.074-11.924 65.386-12.488a2.639 2.639 0 001.592-2.473 2.631 2.631 0 00-1.692-2.407z" />
|
||||
</g>
|
||||
<path
|
||||
d="M397.48 334.056c-2.968-26.699-69.392-58.422-126.447-58.422-31.794 0-58.689 12.114-78.326 26.955-9.32 7.045-30.529 18.193-39.31 18.193-10.032 0-35.909-29.888-49.864-49.62-.665-.943-1.975-1.34-3.141-.949s-1.869 1.459-1.686 2.564l10.256 62.25-10.256 61.663c-.184 1.103.514 2.17 1.675 2.563.304.104.619.152.93.152.872 0 1.716-.392 2.214-1.083 14.182-19.738 40.262-49.635 49.872-49.635 8.194 0 24.883 9.79 31.06 14.757 19.031 15.305 50.885 32.429 86.576 32.429 54.049 0 116.502-29.082 125.461-54.073l-37.086 6.98 38.072-14.724z"
|
||||
fill="#e85e00" />
|
||||
<circle cx="329.999" cy="312.349" r="11.852" fill="#42423f" />
|
||||
<circle cx="326.929" cy="307.519" r="4.829" fill="#fff" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,31 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.162 496.162">
|
||||
<path
|
||||
d="M248.086.006C111.07.006 0 111.06 0 248.09c0 136.996 111.07 248.066 248.086 248.066 137.004 0 248.076-111.07 248.076-248.066C496.162 111.06 385.09.006 248.086.006z"
|
||||
fill="#f2b12f" />
|
||||
<path
|
||||
d="M141.92 238.174l-41.17-28.047-44.369.176 23.01 31.682-22.773 31.609 44.371-.166 40.945-28.324a4.905 4.905 0 00-.014-6.93z"
|
||||
fill="#b21212" />
|
||||
<path
|
||||
d="M165.709 239.199l-32.539-22.156-35.074.123 18.195 25.039-18.004 25.002 35.064-.137 32.375-22.387a3.881 3.881 0 00-.017-5.484z"
|
||||
fill="#c11616" />
|
||||
<path fill="#5e3838" d="M53.914 240.553L265.641 65.09l-2.498-3.016L47.908 240.447l215.836 192.141 2.606-2.92z" />
|
||||
<path
|
||||
d="M449.997 237.152c-6.541-6.729-13.084-13.458-19.617-20.186-3.436-3.533-7.62-3.776-11.055-2.208-3.646 1.18-6.588 4.246-6.656 9.224-.049 3.181-.092 6.351-.14 9.527l-375.65-2.124c-1.482 1.114-2.779 2.372-3.698 3.861-3.111 5.056-1.484 10.717 3.478 14.532 0 0 373.243 4.492 375.576 4.526-.041 3.162-.093 6.324-.138 9.488-.128 9.089 11.048 13.943 17.582 7.597 6.728-6.54 13.461-13.08 20.189-19.621 4.053-3.934 4.034-10.594.129-14.616z"
|
||||
fill="#7e6060" />
|
||||
<path
|
||||
d="M31.626 241.379c.252 3.114 2.033 6.094 5.032 8.401 0 0 373.243 4.492 375.576 4.526-.041 3.162-.093 6.324-.138 9.488-.128 9.089 11.048 13.943 17.582 7.597 6.728-6.54 13.461-13.08 20.189-19.621 2.026-1.968 3.035-4.617 3.049-7.276l-421.29-3.115z"
|
||||
fill="#605151" />
|
||||
<g fill="#5e3838">
|
||||
<path
|
||||
d="M349.34 185.185c-2.037-5.111-4.385-10.139-7.301-15.092a73.991 73.991 0 00-2.34-3.734l-1.332-1.912-1.316-1.723a141.413 141.413 0 00-5.107-6.318c-3.566-4.156-7.482-8.203-11.869-11.912-4.359-3.719-9.234-7.039-14.109-9.764-9.906-5.455-18.494-8.852-26.07-13.67a115.54 115.54 0 01-11.078-7.82 137.408 137.408 0 01-5.285-4.436l-2.605-2.352a71.367 71.367 0 01-2.346-2.232c-3.012-2.998-5.598-6.16-7.449-9.303-2.072-3.137-2.111-6.404-3.123-9.004-.947-2.723-1.154-5.809-.234-9.252a23.628 23.628 0 012.064-5.225c.838-1.666 2.279-3.588 3.113-4.742l-.834.514c2.313-1.836 4.693-3.543 7.076-4.828 2.357-1.301 4.766-2.135 6.414-2.02.822.055 1.635.299 2.445 1.109.803.779 1.457 2.027 1.926 3.404.914 2.801 1.229 6.066 1.166 9.318 1.4-2.977 2.432-6.174 2.668-9.754.092-1.791-.002-3.727-.764-5.746-.717-2.012-2.363-4.094-4.52-5.248-4.4-2.318-8.73-1.928-12.436-1.477-3.762.551-7.221 1.545-10.586 2.66l-.838.523a43.162 43.162 0 00-4.068 2.707 44.676 44.676 0 00-3.529 2.945c-2.266 2.096-4.373 4.475-6.205 7.207-3.666 5.408-6.1 12.424-6.264 19.668-.285 7.377 3.291 13.695 6.26 19.129 3.223 5.453 7.076 10.01 11.121 14.053 1.004 1.018 2.059 1.996 3.064 2.93l2.955 2.656a163.466 163.466 0 006.176 5.178 137.793 137.793 0 0013.359 9.426c9.316 5.861 19.354 9.924 26.889 14.152 7.588 4.195 13.758 9.604 19.674 16.502a118.889 118.889 0 014.301 5.318l.959 1.24.807 1.162a58.533 58.533 0 011.625 2.6c2.146 3.641 4.051 7.676 5.703 11.828 6.604 16.725 9.295 35.576 9.359 54.289-.064 18.707-2.756 37.555-9.359 54.289-1.652 4.154-3.557 8.176-5.703 11.82a56.072 56.072 0 01-1.625 2.607l-.807 1.154-.932 1.201-2.158 2.748-2.17 2.607c-5.916 6.908-12.086 12.311-19.674 16.51-7.535 4.223-17.572 8.293-26.889 14.154-9.385 5.822-17.701 12.563-25.49 20.119-4.17 4.164-7.941 8.639-11.186 14.115-2.938 5.441-6.561 11.773-6.105 19.143.188 7.213 2.641 14.193 6.313 19.555a41.096 41.096 0 006.15 7.186c2.342 2.15 4.428 3.801 7.545 5.652l.814.496c3.354 1.129 6.807 2.129 10.551 2.686 3.689.453 7.998.844 12.35-1.445 2.143-1.145 3.762-3.205 4.484-5.193.764-2.006.871-3.926.787-5.709-.221-3.574-1.232-6.768-2.607-9.746.086 3.246-.203 6.512-1.105 9.318-.457 1.387-1.107 2.645-1.908 3.449-.805.828-1.639 1.088-2.48 1.156-1.691.139-4.123-.697-6.496-1.982-2.393-1.287-4.789-2.99-7.111-4.818l.818.504c-.855-1.18-2.313-3.084-3.172-4.75a23.877 23.877 0 01-2.117-5.246c-.92-3.492-.697-6.619.283-9.365 1.18-2.609 1.168-5.859 3.275-8.988 1.826-3.125 4.496-6.375 7.385-9.244 6.516-6.334 13.797-12.225 21.379-16.898 7.576-4.828 16.164-8.227 26.07-13.672 4.875-2.725 9.75-6.051 14.109-9.771 4.387-3.709 8.303-7.756 11.869-11.904l2.611-3.143 2.465-3.139 1.348-1.758 1.332-1.914a82.83 82.83 0 002.34-3.734c2.916-4.953 5.264-9.982 7.301-15.094 8.031-20.48 10.918-41.854 11.02-62.955-.103-21.105-2.99-42.48-11.021-62.955z" />
|
||||
<path
|
||||
d="M263.738 52.803c-6.488 0-11.754 5.264-11.754 11.75 0 6.488 5.266 11.752 11.754 11.752s11.752-5.264 11.752-11.752c0-6.487-5.263-11.75-11.752-11.75z" />
|
||||
</g>
|
||||
<path d="M263.738 58.678a5.879 5.879 0 00-5.877 5.875 5.875 5.875 0 105.877-5.875z" fill="#7e6060" />
|
||||
<path
|
||||
d="M265.693 419.375c-6.486 0-11.75 5.266-11.75 11.752 0 6.488 5.264 11.752 11.75 11.752 6.49 0 11.754-5.264 11.754-11.752 0-6.486-5.263-11.752-11.754-11.752z"
|
||||
fill="#5e3838" />
|
||||
<path
|
||||
d="M265.693 424.92a5.88 5.88 0 00-5.873 5.879 5.88 5.88 0 005.873 5.875 5.88 5.88 0 005.879-5.875 5.88 5.88 0 00-5.879-5.879z"
|
||||
fill="#7e6060" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.8 KiB |
@@ -0,0 +1,167 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.158 496.158">
|
||||
<path
|
||||
d="M248.082.003C111.07.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.082 248.07 137.006 0 248.076-111.069 248.076-248.07C496.158 111.062 385.088.003 248.082.003z"
|
||||
fill="#58d1dd" />
|
||||
<path
|
||||
d="M344.312 157.14c-5.491-3.849-16.838 2.863-25.344 14.994-8.506 12.127-10.953 25.083-5.461 28.931 5.492 3.85 16.838-2.863 25.343-14.991 8.506-12.128 10.951-25.084 5.462-28.934z"
|
||||
fill="#282828" />
|
||||
<path
|
||||
d="M343.024 161.293a.403.403 0 00-.401-.369c-.243-.003-24.346.061-25.26 27.641-.009.311-.016.623-.021.94a.412.412 0 00.387.417.412.412 0 00.432-.371c.02-.231 2.516-23.075 24.545-27.817a.417.417 0 00.324-.388c-.005-.017-.003-.035-.006-.053z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M343.033 109.093c-.175-.288-17.908-28.701-56.699-28.701-4.635 0-9.453.407-14.316 1.209a1.869 1.869 0 00-.207 3.639c8.756 2.504 28.189 10.813 32.746 20.818.76 1.669 2.654 7.723 1.054 10.16-.218.331-.903 1.378-3.419 1.327-2.353-1.16-16.93-8.776-30.277-25.46a1.87 1.87 0 00-3.27 1.632c.701 2.721 17.609 66.678 59.037 71.439a1.888 1.888 0 00.731-.062c.65-.187 15.949-4.755 21.487-18.848 4.051-10.307 1.742-22.804-6.867-37.153z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M282.853 83.424c-.706 0-1.42.007-2.142.021a.933.933 0 00-.042 1.866c.525.034 52.71 3.992 65.154 53.776a.935.935 0 001.841-.247c-.012-.554-1.965-55.416-64.811-55.416z"
|
||||
fill="#a9a9a9" />
|
||||
<ellipse transform="rotate(-163.416 294.357 194.043)" cx="294.36" cy="194.046" rx="26.824" ry="12.142"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M317.713 200.275c-.112-.252-13.402-22.499-45.295-14.935-.387.093-.76.232-1.145.355-.268.086-.41.335-.324.565.089.231.375.362.652.297.289-.072 26.216-4.147 45.169 14.126.161.154.396.248.622.18.021-.009.044-.016.063-.029.246-.101.357-.343.258-.559z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M341.749 202.06s-1.244-1.557-3.424-.934l.312 10.897s-13.393 20.963-27.789 19.247c-.491-.059-3.637 1.914-4.736 3.981-1.1 2.066-1.51 4.762 1.023 5.522 4.594 1.38 12.731 2.286 22.162-3.534 0 0 14.633-9.028 16.5-17.435 0 .002-.313-13.385-4.048-17.744z"
|
||||
fill="#282828" />
|
||||
<path d="M318.088 231.714c18.68-1.401 21.715-18.212 21.715-18.212-9.807 14.71-21.715 18.212-21.715 18.212z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M307.933 229.29l-22.188-18.603a5.448 5.448 0 00-7 8.35l22.188 18.602a5.446 5.446 0 007.674-.674 5.45 5.45 0 00-.674-7.675z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M306.486 229.783l-18.596-15.59c-1.93-1.62-3.835-2.532-4.251-2.036-.416.495.813 2.211 2.745 3.831l18.594 15.589c1.934 1.621 3.838 2.533 4.25 2.036.416-.496-.81-2.209-2.742-3.83z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M340.869 241.592s-1.227-1.536-3.376-.921l.306 10.749s-13.21 20.68-27.413 18.986c-.483-.058-3.587 1.889-4.67 3.928-1.085 2.039-1.489 4.698 1.009 5.448 4.531 1.361 12.56 2.254 21.863-3.486 0 0 14.433-8.906 16.275-17.199 0 0-.308-13.205-3.994-17.505z"
|
||||
fill="#282828" />
|
||||
<path d="M317.529 270.845c18.426-1.381 21.42-17.966 21.42-17.966-9.674 14.511-21.42 17.966-21.42 17.966z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M307.511 268.454l-21.886-18.352a5.376 5.376 0 00-7.574.667 5.377 5.377 0 00.667 7.571l21.887 18.35a5.372 5.372 0 007.57-.665 5.372 5.372 0 00-.664-7.571z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M306.084 268.939L287.74 253.56c-1.904-1.598-3.783-2.498-4.193-2.009-.41.49.803 2.181 2.709 3.779l18.342 15.378c1.906 1.599 3.785 2.498 4.192 2.008.409-.488-.802-2.178-2.706-3.777z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M338.033 279.285s-1.172-1.468-3.227-.88l.293 10.273s-12.627 19.764-26.201 18.146c-.461-.055-3.428 1.806-4.463 3.754-1.038 1.948-1.425 4.489.965 5.207 4.33 1.301 12.002 2.155 20.895-3.332 0 0 13.795-8.512 15.555-16.438 0 0-.294-12.62-3.817-16.73z"
|
||||
fill="#282828" />
|
||||
<path d="M315.725 307.243c17.613-1.322 20.474-17.17 20.474-17.17-9.246 13.868-20.474 17.17-20.474 17.17z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M306.152 304.958l-20.918-17.54a5.137 5.137 0 00-6.601 7.874l20.918 17.538a5.135 5.135 0 007.236-.636 5.138 5.138 0 00-.635-7.236z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M304.787 305.423l-17.531-14.699c-1.819-1.527-3.616-2.388-4.006-1.92-.395.468.766 2.084 2.586 3.613l17.53 14.697c1.825 1.529 3.62 2.387 4.008 1.92.393-.468-.765-2.083-2.587-3.611z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M324.529 326.425s-.6-1.612-2.557-1.691l-2.692 9.018s-16.654 13.563-27.991 8.258c-.389-.181-3.499.586-4.961 1.984-1.463 1.395-2.528 3.495-.654 4.803 3.391 2.376 9.816 5.319 19.123 3.102 0 0 14.439-3.443 18.249-9.83 0 .001 3.367-11.058 1.483-15.644z"
|
||||
fill="#282828" />
|
||||
<path d="M297.105 344.335c15.693 3.905 22.731-9.056 22.731-9.056-12.022 9.407-22.731 9.056-22.731 9.056z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M289.435 339.599l-13.154-21.258a4.709 4.709 0 00-6.48-1.522 4.7 4.7 0 00-1.522 6.475l13.155 21.256a4.706 4.706 0 008.001-4.951z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M288.113 339.611l-11.027-17.816c-1.141-1.849-2.457-3.113-2.932-2.818-.475.292.068 2.033 1.213 3.883l11.027 17.814c1.147 1.853 2.461 3.115 2.933 2.82.475-.294-.065-2.031-1.214-3.883z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M174.351 172.134c-8.506-12.131-19.854-18.843-25.344-14.994-5.489 3.851-3.045 16.807 5.461 28.934 8.505 12.128 19.852 18.841 25.344 14.991 5.491-3.849 3.045-16.804-5.461-28.931z"
|
||||
fill="#282828" />
|
||||
<path
|
||||
d="M175.957 188.565c-.914-27.58-25.018-27.644-25.26-27.641a.401.401 0 00-.401.369c-.004.018-.003.036-.005.054a.414.414 0 00.324.388c22.029 4.742 24.523 27.586 24.544 27.817a.415.415 0 00.433.371.412.412 0 00.387-.417c-.006-.318-.014-.63-.022-.941z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M223.701 91.58a1.864 1.864 0 00-2.295.504c-13.348 16.685-27.925 24.301-30.277 25.46-2.516.052-3.203-.996-3.42-1.327-1.602-2.437-1.041-5.232 1.055-10.16 3.904-9.173 23.99-18.314 32.746-20.818a1.867 1.867 0 00-.208-3.639c-4.863-.803-9.681-1.209-14.315-1.209-38.792 0-56.524 28.414-56.699 28.701-8.611 14.349-10.918 26.846-6.867 37.154 5.539 14.093 20.838 18.661 21.487 18.848a1.855 1.855 0 00.732.062c41.428-4.762 58.336-68.718 59.036-71.439a1.875 1.875 0 00-.975-2.137z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M212.607 83.445c-.723-.014-1.436-.021-2.141-.021-62.846 0-64.799 54.862-64.813 55.416a.936.936 0 00.935.955.935.935 0 00.906-.708c12.444-49.785 64.63-53.743 65.155-53.776a.935.935 0 00-.042-1.866z"
|
||||
fill="#a9a9a9" />
|
||||
<ellipse transform="rotate(-106.589 198.974 194.046)" cx="198.975" cy="194.05" rx="12.14" ry="26.826"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M222.047 185.695c-.386-.123-.758-.262-1.145-.355-31.895-7.563-45.184 14.683-45.297 14.935-.098.216.014.458.258.559.021.013.042.02.064.029.226.068.461-.025.621-.18 18.953-18.273 44.881-14.198 45.169-14.126.277.065.563-.065.653-.297.087-.23-.056-.479-.323-.565z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M187.208 235.251c-1.101-2.067-4.245-4.04-4.735-3.981-14.396 1.716-27.789-19.247-27.789-19.247l.312-10.897c-2.181-.623-3.425.934-3.425.934-3.736 4.359-4.047 17.746-4.047 17.746 1.867 8.406 16.5 17.435 16.5 17.435 9.43 5.819 17.568 4.914 22.161 3.534 2.534-.762 2.123-3.457 1.023-5.524z"
|
||||
fill="#282828" />
|
||||
<path d="M153.517 213.501s3.035 16.812 21.715 18.212c0 .001-11.908-3.501-21.715-18.212z" fill="#a9a9a9" />
|
||||
<path
|
||||
d="M215.251 211.364a5.45 5.45 0 00-7.677-.676l-22.187 18.603a5.447 5.447 0 00-.673 7.675 5.445 5.445 0 007.674.674l22.188-18.602a5.448 5.448 0 00.675-7.674z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M209.68 212.157c-.416-.496-2.32.416-4.25 2.036l-18.596 15.59c-1.932 1.622-3.16 3.334-2.744 3.83.412.497 2.317-.415 4.251-2.036l18.594-15.589c1.932-1.62 3.161-3.336 2.745-3.831z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M187.603 274.333c-1.084-2.039-4.187-3.985-4.67-3.928-14.203 1.693-27.414-18.986-27.414-18.986l.307-10.749c-2.148-.615-3.376.921-3.376.921-3.685 4.299-3.993 17.504-3.993 17.504 1.842 8.293 16.275 17.199 16.275 17.199 9.303 5.74 17.331 4.847 21.863 3.486 2.499-.748 2.094-3.408 1.008-5.447z"
|
||||
fill="#282828" />
|
||||
<path d="M154.371 252.878s2.992 16.585 21.42 17.966c0 .001-11.746-3.454-21.42-17.966z" fill="#a9a9a9" />
|
||||
<path
|
||||
d="M215.269 250.769a5.378 5.378 0 00-7.574-.667l-21.887 18.352a5.372 5.372 0 00-.664 7.571 5.372 5.372 0 007.57.665l21.887-18.35a5.375 5.375 0 00.668-7.571z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M209.773 251.552c-.411-.489-2.289.411-4.193 2.009l-18.345 15.379c-1.904 1.599-3.116 3.289-2.705 3.778.407.49 2.285-.41 4.191-2.008l18.343-15.378c1.907-1.599 3.119-3.291 2.709-3.78z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M188.885 310.578c-1.037-1.949-4.002-3.809-4.465-3.754-13.573 1.618-26.2-18.146-26.2-18.146l.294-10.273a3.085 3.085 0 00-3.227.88c-3.523 4.11-3.816 16.73-3.816 16.73 1.76 7.926 15.555 16.438 15.555 16.438 8.893 5.487 16.563 4.633 20.895 3.332 2.387-.718 2.001-3.259.964-5.207z"
|
||||
fill="#282828" />
|
||||
<path d="M157.121 290.073s2.861 15.849 20.473 17.17c0 0-11.227-3.302-20.473-17.17z" fill="#a9a9a9" />
|
||||
<path
|
||||
d="M215.324 288.057a5.138 5.138 0 00-7.238-.638l-20.918 17.54a5.136 5.136 0 006.601 7.871l20.918-17.538a5.138 5.138 0 00.637-7.235z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M210.07 288.804c-.391-.468-2.188.393-4.006 1.92l-17.532 14.699c-1.823 1.528-2.979 3.143-2.587 3.611.389.467 2.184-.391 4.008-1.92l17.531-14.697c1.821-1.528 2.981-3.145 2.586-3.613z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M206.991 343.994c-1.462-1.398-4.571-2.165-4.96-1.984-11.338 5.305-27.992-8.258-27.992-8.258l-2.692-9.018c-1.958.08-2.556 1.691-2.556 1.691-1.885 4.586 1.483 15.645 1.483 15.645 3.808 6.387 18.249 9.83 18.249 9.83 9.307 2.217 15.731-.726 19.123-3.102 1.873-1.309.808-3.409-.655-4.804z"
|
||||
fill="#282828" />
|
||||
<path d="M173.482 335.279s7.038 12.961 22.731 9.056c.001 0-10.707.351-22.731-9.056z" fill="#a9a9a9" />
|
||||
<path
|
||||
d="M223.517 316.819a4.707 4.707 0 00-6.479 1.522l-13.154 21.258a4.706 4.706 0 001.526 6.474 4.7 4.7 0 006.474-1.523l13.156-21.256a4.7 4.7 0 00-1.523-6.475z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M219.166 318.977c-.475-.295-1.791.969-2.932 2.818l-11.027 17.816c-1.149 1.853-1.689 3.589-1.215 3.884.473.295 1.786-.968 2.934-2.82l11.027-17.814c1.143-1.851 1.688-3.592 1.213-3.884z"
|
||||
fill="#a9a9a9" />
|
||||
<path
|
||||
d="M268.014 184.537c-.069-.099-6.133-11.279-4.371-27.574a1.867 1.867 0 00-3.624-.804c-.038.111-3.909 11.111-12.242 11.111h-2.306c-8.333 0-12.204-11-12.242-11.111a1.867 1.867 0 00-3.625.804c1.763 16.294-4.301 27.475-4.371 27.574a1.87 1.87 0 001.531 2.939c.139 0 .277-.016.416-.048l18.707-5.729c.283-.065 1.191-.065 1.474 0l18.707 5.729a1.872 1.872 0 001.967-.779 1.87 1.87 0 00-.021-2.112z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M278.791 208.435c-5.91-24.532-18.088-35.328-32.153-35.328-13.759 0-25.712 10.331-31.757 33.743-2.682 10.383 66.344 11.692 63.91 1.585z"
|
||||
fill="#565655" />
|
||||
<path
|
||||
d="M279.386 211.053c-5.657-26.383-59.839-26.383-65.495 0-2.062 9.615-3.211 21.196-3.211 34.904 0 51.324 16.097 113.011 35.958 113.011 19.86 0 35.958-61.687 35.958-113.011 0-13.708-1.149-25.289-3.21-34.904z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M246.334 191.267c-14.857.089-29.635 6.684-32.443 19.786-2.062 9.615-3.211 21.196-3.211 34.904 0 51.324 16.097 113.011 35.958 113.011l-.304-167.701z"
|
||||
fill="#0f0f0f" />
|
||||
<g fill="#d3d3d3">
|
||||
<path
|
||||
d="M276.209 242.411a.283.283 0 00-.295-.144l-.016.003c-3.545.597-7.145.597-10.657.417-1.761-.117-3.51-.226-5.245-.477-1.74-.223-3.435-.775-5.145-1.02a2.709 2.709 0 00-1.869.414l-.088.057c-1.408.921-2.663 2.074-3.842 3.341-.58.65-1.148 1.311-1.666 2.054-.455.627-2.039.627-2.492 0-.519-.743-1.088-1.404-1.668-2.054-1.178-1.268-2.434-2.42-3.842-3.341l-.088-.057a2.708 2.708 0 00-1.869-.414c-1.709.245-3.404.797-5.145 1.02-1.734.251-3.484.359-5.244.477-3.514.18-7.113.18-10.656-.417l-.018-.003a.28.28 0 00-.293.144.28.28 0 00.113.383c1.65.898 3.402 1.515 5.186 2.07 1.782.562 3.61.979 5.46 1.294 1.85.328 3.722.486 5.601.614 1.521.084 3.068.274 4.604.256a22.598 22.598 0 003.674 1.752c.821.284 1.652.558 2.535.749.875.207 1.783.362 2.771.398a.348.348 0 00.125-.025.338.338 0 00.123.025 14.176 14.176 0 002.771-.398c.883-.191 1.715-.464 2.535-.749a22.598 22.598 0 003.674-1.752c1.536.019 3.083-.171 4.604-.256 1.879-.128 3.751-.287 5.601-.614a40.99 40.99 0 005.459-1.294c1.785-.555 3.536-1.172 5.187-2.07a.281.281 0 00.115-.383zM273.722 273.492a.26.26 0 00-.271-.132l-.014.003c-3.253.548-6.553.548-9.776.382-1.614-.107-3.22-.208-4.81-.438-1.597-.204-3.151-.711-4.72-.935a2.484 2.484 0 00-1.715.378l-.081.053c-1.291.845-2.443 1.902-3.523 3.065-.533.597-1.055 1.202-1.529 1.884-.418.575-1.869.575-2.287 0-.475-.682-.996-1.287-1.529-1.884-1.079-1.163-2.232-2.22-3.523-3.065l-.08-.053a2.48 2.48 0 00-1.715-.378c-1.567.224-3.123.731-4.717.935-1.594.23-3.197.33-4.813.438-3.222.166-6.523.166-9.773-.382l-.018-.003a.257.257 0 00-.268.132.257.257 0 00.102.351c1.514.824 3.121 1.391 4.758 1.899 1.635.515 3.313.897 5.009 1.187 1.696.301 3.413.446 5.138.563 1.395.078 2.813.252 4.223.234a20.662 20.662 0 003.369 1.608c.754.26 1.518.511 2.326.686.803.19 1.636.333 2.543.366a.39.39 0 00.113-.022.317.317 0 00.114.022c.905-.034 1.74-.176 2.541-.366.81-.175 1.573-.426 2.326-.686 1.188-.439 2.31-.98 3.369-1.608 1.41.018 2.829-.156 4.224-.234 1.723-.117 3.439-.263 5.136-.563a37.58 37.58 0 005.01-1.187c1.636-.509 3.243-1.075 4.757-1.899a.258.258 0 00.104-.351zM268.746 304.521a.217.217 0 00-.222-.109l-.013.003c-2.665.449-5.37.449-8.012.314-1.322-.089-2.64-.171-3.942-.359-1.308-.167-2.583-.582-3.866-.767a2.043 2.043 0 00-1.408.311l-.064.043c-1.059.693-2.003 1.559-2.889 2.512-.438.488-.864.985-1.252 1.544-.344.47-1.533.47-1.876 0a15.814 15.814 0 00-1.253-1.544c-.885-.953-1.83-1.819-2.888-2.512l-.065-.043a2.046 2.046 0 00-1.406-.311c-1.285.185-2.56.599-3.865.767-1.305.188-2.621.271-3.945.359-2.639.135-5.346.135-8.01-.314l-.014-.003a.213.213 0 00-.22.109.209.209 0 00.085.288c1.24.674 2.557 1.139 3.897 1.557 1.341.422 2.716.735 4.106.972 1.391.246 2.797.366 4.211.461 1.141.064 2.305.208 3.459.193.869.514 1.789.958 2.763 1.317.616.214 1.242.419 1.906.562a10.57 10.57 0 002.083.3.254.254 0 00.094-.019c.03.011.06.02.094.019a10.57 10.57 0 002.082-.3c.664-.143 1.289-.348 1.906-.562.975-.36 1.894-.804 2.762-1.317 1.154.014 2.318-.129 3.461-.193 1.413-.095 2.819-.215 4.21-.461a30.982 30.982 0 004.106-.972c1.34-.417 2.657-.882 3.898-1.557a.21.21 0 00.087-.288zM262.215 333.533a.149.149 0 00-.157-.077l-.009.002c-1.895.319-3.818.319-5.697.222-.939-.063-1.877-.121-2.804-.255-.931-.119-1.837-.415-2.749-.545a1.45 1.45 0 00-1.001.221l-.046.031c-.754.492-1.425 1.108-2.054 1.786-.312.348-.615.701-.893 1.098-.242.335-1.089.335-1.331 0-.277-.397-.58-.75-.893-1.098-.629-.677-1.301-1.294-2.054-1.786l-.046-.031a1.457 1.457 0 00-1-.221c-.914.13-1.82.426-2.75.545-.927.134-1.861.192-2.805.255-1.877.097-3.801.097-5.695-.222l-.01-.002a.145.145 0 00-.155.077.147.147 0 00.058.204c.883.479 1.819.811 2.773 1.107.953.3 1.932.523 2.92.691.987.175 1.988.26 2.994.329.812.045 1.641.146 2.461.137.617.366 1.271.681 1.965.937.438.152.883.298 1.355.4.467.11.951.193 1.48.214a.19.19 0 00.066-.014.177.177 0 00.066.014 7.724 7.724 0 001.481-.214c.471-.102.916-.248 1.354-.4a11.953 11.953 0 001.965-.937c.821.01 1.649-.092 2.461-.137 1.005-.068 2.007-.153 2.995-.329a21.909 21.909 0 002.918-.691c.955-.297 1.891-.628 2.773-1.107a.147.147 0 00.064-.204z" />
|
||||
</g>
|
||||
<path
|
||||
d="M266.766 367.803c-8.21-11.165-19.664-16.688-25.582-12.336-5.914 4.353-4.048 16.931 4.166 28.096 8.215 11.162 19.669 16.686 25.585 12.332 5.913-4.352 4.049-16.93-4.169-28.092z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M263.92 369.897c-6.028-8.197-14.438-12.253-18.783-9.057-4.342 3.196 17.5 32.879 21.843 29.682 4.342-3.195 2.973-12.43-3.06-20.625z"
|
||||
fill="#cfcfcf" />
|
||||
<path
|
||||
d="M297.963 392.621c-11.547-7.663-24.201-8.913-28.262-2.792-4.059 6.12 2.016 17.29 13.566 24.953 11.551 7.659 24.205 8.91 28.264 2.788 4.059-6.119-2.014-17.29-13.568-24.949z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M296.012 395.566c-8.479-5.626-17.77-6.544-20.752-2.051-2.979 4.494 27.732 24.864 30.711 20.369 2.981-4.493-1.479-12.695-9.959-18.318z"
|
||||
fill="#cfcfcf" />
|
||||
<path
|
||||
d="M333.582 396.01c-13.857-.008-25.097 5.941-25.101 13.287-.002 7.344 11.233 13.298 25.093 13.304 13.861.003 25.1-5.946 25.102-13.291.002-7.343-11.233-13.3-25.094-13.3z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M333.582 399.543c-10.176-.005-18.428 4.362-18.432 9.755 0 5.392 36.854 5.403 36.854.011.002-5.393-8.246-9.765-18.422-9.766z"
|
||||
fill="#cfcfcf" />
|
||||
<path
|
||||
d="M393.463 377.174c-4.3-5.952-16.894-4.201-28.129 3.917-11.236 8.111-16.861 19.516-12.563 25.471 4.299 5.955 16.893 4.199 28.13-3.914 11.236-8.114 16.861-19.52 12.562-25.474z"
|
||||
fill="#1e1e1e" />
|
||||
<path
|
||||
d="M388.057 381.081c-3.158-4.371-12.404-3.084-20.652 2.874-8.251 5.956-12.383 14.329-9.227 18.703 3.157 4.37 33.036-17.205 29.879-21.577z"
|
||||
fill="#cfcfcf" />
|
||||
<path
|
||||
d="M402.455 354.922c-3.425-25.218-23.037-24.284-23.037-24.284 3.424-16.188 17.746-23.35 17.746-23.35-17.746-.934-26.463 21.792-26.463 21.792-11.209 30.51 9.029 47.011 9.029 47.011l13.697 3.736c11.831-7.781 9.028-24.905 9.028-24.905z"
|
||||
fill="#1e1e1e" />
|
||||
<path d="M382.842 335.931s18.057 11.52 10.274 35.492c0 0 19.924-22.416-10.274-35.492z" fill="#cfcfcf" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 17 KiB |
@@ -0,0 +1,57 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.159 496.159">
|
||||
<path
|
||||
d="M248.083.003C111.071.003 0 111.063 0 248.085c0 137.001 111.07 248.07 248.083 248.07 137.006 0 248.076-111.069 248.076-248.07C496.159 111.062 385.089.003 248.083.003z"
|
||||
fill="#af8d4a" />
|
||||
<path
|
||||
d="M167.373 199.371c-15.639 5.093-30.906.336-40.461-6.388-9.556-6.724-20.828-23.321-18.077-47.33 4.961-43.284 47.094-43.202 47.094-43.202-13.176-11.316-31.91-8.684-39.008-6.011-41.625 15.681-50.474 61.879-50.474 61.879-9.358 77.235 95.644 85.017 95.644 85.017 55.194-2.04 60.517-62.722 60.517-62.722-24.159 1.688-55.235 18.757-55.235 18.757z"
|
||||
fill="#eae7d0" />
|
||||
<path
|
||||
d="M167.373 199.371C96.288 209.421 66.448 158.32 66.448 158.32c-9.358 77.235 95.644 85.017 95.644 85.017 55.194-2.04 60.517-62.722 60.517-62.722-24.16 1.687-55.236 18.756-55.236 18.756z"
|
||||
fill="#ddd9bf" />
|
||||
<path
|
||||
d="M428.251 158.32s-8.849-46.198-50.474-61.879c-7.098-2.673-25.832-5.305-39.008 6.011 0 0 42.133-.082 47.094 43.202 2.752 24.009-8.521 40.606-18.076 47.33s-24.822 11.48-40.461 6.388c0 0-31.076-17.069-55.235-18.756 0 0 5.323 60.682 60.517 62.722-.001-.001 105.001-7.783 95.643-85.018z"
|
||||
fill="#eae7d0" />
|
||||
<path
|
||||
d="M428.251 158.32s-29.84 51.101-100.925 41.051c0 0-31.076-17.069-55.235-18.756 0 0 5.323 60.682 60.517 62.722-.001 0 105.001-7.782 95.643-85.017z"
|
||||
fill="#ddd9bf" />
|
||||
<path
|
||||
d="M367.007 244.183c-23.533-3.177-46.177 11.646-46.177 19.002 0 7.355 8.18 23.02 39.815 28.133 23.533 3.177 46.178-20.778 46.178-28.133 0-7.356-16.283-15.827-39.816-19.002z"
|
||||
fill="#4c4a48" />
|
||||
<path
|
||||
d="M360.958 253.385c-14.313-1.933-28.085 7.083-28.085 11.557s4.976 14 24.216 17.111c14.313 1.932 28.085-12.638 28.085-17.111s-9.903-9.626-24.216-11.557z"
|
||||
fill="#383736" />
|
||||
<path
|
||||
d="M131.202 244.183c-23.533 3.176-39.816 11.646-39.816 19.002 0 7.355 22.645 31.31 46.178 28.133 31.635-5.113 39.816-20.778 39.816-28.133 0-7.356-22.645-22.179-46.178-19.002z"
|
||||
fill="#4c4a48" />
|
||||
<path
|
||||
d="M137.251 253.385c-14.313 1.932-24.216 7.083-24.216 11.557s13.772 19.042 28.085 17.111c19.24-3.11 24.216-12.638 24.216-17.111s-13.772-13.49-28.085-11.557z"
|
||||
fill="#383736" />
|
||||
<path
|
||||
d="M333.445 256.518s10.828-22.088 4.332-32.483c0 0-7.796-6.063-19.49-7.796 0 0-39.702-22.497-69.281-22.497-29.579 0-69.28 22.497-69.28 22.497-11.693 1.733-19.49 7.796-19.49 7.796-6.496 10.395 4.332 32.483 4.332 32.483 2.165 8.662-2.166 26.853-2.166 26.853-4.764 31.617 34.648 107.411 34.648 107.411 3.464 6.063 18.181 48.385 51.955 48.385s48.492-42.321 51.956-48.385c0 0 39.414-75.794 34.649-107.411 0 0-4.33-18.191-2.165-26.853z"
|
||||
fill="#3f3d3d" />
|
||||
<path
|
||||
d="M318.286 216.239s-39.702-22.497-69.281-22.497-69.28 22.497-69.28 22.497c-6.338 0 18.768 54.717 18.768 54.717l12.561 89.764c3.464 6.063 4.177 78.447 37.951 78.447s35.918-74.384 39.382-80.447l11.132-87.764s23.368-54.717 18.767-54.717z"
|
||||
fill="#514f4d" />
|
||||
<path
|
||||
d="M179.725 216.239c-5.588 0 18.768 54.717 18.768 54.717l12.561 89.764c3.464 6.063 4.177 78.447 37.951 78.447V193.742c-29.579 0-69.28 22.497-69.28 22.497z"
|
||||
fill="#444341" />
|
||||
<path
|
||||
d="M247.76 356.407c-54.905 0-55.357 22.006-55.357 22.006 1.641 12.993 2.818 27.338 4.647 32.916 1.829 5.578 17.04 29.55 51.955 29.55 34.916 0 49.02-22 51.956-29.55 2.937-7.549 3.007-19.923 4.648-32.916 0 0-2.944-22.006-57.849-22.006z"
|
||||
fill="#383736" />
|
||||
<g fill="#161616">
|
||||
<path
|
||||
d="M216.35 381.192c-14.065 45.506 26.477 33.923 26.477 33.923-17.123-5.627-26.477-33.923-26.477-33.923zM284.665 381.192s-9.354 28.296-26.477 33.923c.001 0 40.543 11.583 26.477-33.923z" />
|
||||
</g>
|
||||
<g fill="#282727">
|
||||
<path
|
||||
d="M183.768 234.863l-25.121-.867s-1.733 1.877-.29 10.973c1.444 9.096 6.209 11.549 6.209 11.549l33.926 14.438 2.021-3.466-16.745-32.627zM339.364 233.996l-25.121.867-16.747 32.627 2.022 3.466 33.926-14.438s4.764-2.454 6.208-11.549c1.445-9.096-.288-10.973-.288-10.973z" />
|
||||
</g>
|
||||
<path d="M339.364 233.996l-.048.002c.465 1.432.77 2.974.909 4.582-.018-3.656-.861-4.584-.861-4.584z"
|
||||
fill="#494949" />
|
||||
<path
|
||||
d="M316.381 197.175c-8.732-9.666-35.981-18.272-67.847-18.272-29.389 0-55.285 4.57-66.128 15.725-3.477 3.577-5.406 23.848-5.406 23.848 0 12.046 142.308 12.046 142.308 0 0-.001-1.024-19.194-2.927-21.301z"
|
||||
fill="#383736" />
|
||||
<path
|
||||
d="M248.534 178.903c-29.389 0-55.285 4.57-66.128 15.725-3.477 3.577-5.406 23.848-5.406 23.848 0 6.074 36.18 9.085 72.055 9.034l-.521-48.607z"
|
||||
fill="#2d2d2d" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,105 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496.159 496.159">
|
||||
<path
|
||||
d="M248.083.003C111.071.003 0 111.063 0 248.085c0 137.001 111.07 248.071 248.083 248.071 137.006 0 248.076-111.07 248.076-248.071C496.159 111.063 385.089.003 248.083.003z"
|
||||
fill="#af8d4a" />
|
||||
<path
|
||||
d="M342.669 139.736c3.418-11.72 7-89.333-73.591-85.338-18.652.925-28.766 8.482-32.454 20.284-3.688 11.801-8.719 40.51-9.439 51.77-.85 13.285 1.71 32.496 1.71 32.496s26.141 118.062 35.388 125.577c7.868 6.394 20.162 14.261 41.305 12.786 12.85-.896 24.286-9.628 29.872-22.375 11.802-26.921-5.9-64.169-2.582-81.871 2.583-13.776 4.628-35.626 9.791-53.329z"
|
||||
fill="#7c4c1d" />
|
||||
<path
|
||||
d="M310.011 72.237c-13.267-22.3-45.235-16.854-45.235-16.854-14.163 9.085-11.785 43.387-11.785 43.387.846 15.243 3.269 17.8 3.269 17.8 7.031 23.184 28.889 27.618 31.925 27.365 20.523-1.71 23.213-16.183 24.65-20.532 1.437-4.349 2.257-19.553 2.257-19.553 3.388-18.629-5.081-31.613-5.081-31.613z"
|
||||
fill="#ddb17c" />
|
||||
<path
|
||||
d="M273.935 101.434c-4.457.141-7.944 4.225-7.944 4.225.028.917 3.737 3.857 8.195 3.718 4.456-.141 7.943-4.226 7.943-4.226s-3.737-3.857-8.194-3.717z"
|
||||
fill="#666" />
|
||||
<path
|
||||
d="M273.97 102.534c-4.216.132-7.527 3.663-7.527 3.663.024.79 3.526 3.313 7.743 3.181 4.215-.133 7.526-3.663 7.526-3.663s-3.526-3.315-7.742-3.181z"
|
||||
fill="#f7f1ed" />
|
||||
<circle cx="274.08" cy="106.04" r="2.825" fill="#5b5b5b" />
|
||||
<circle cx="274.08" cy="106.04" r="1.999" fill="#333" />
|
||||
<path
|
||||
d="M297.969 99.011c-4.395.751-7.286 5.278-7.286 5.278s4.232 3.306 8.627 2.555c4.395-.753 7.44-4.375 7.287-5.28.001-.001-4.233-3.307-8.628-2.553z"
|
||||
fill="#666" />
|
||||
<path
|
||||
d="M298.155 100.094c-4.159.711-6.952 4.664-6.952 4.664s3.949 2.797 8.107 2.086c4.157-.712 7.084-3.885 6.951-4.665.001 0-3.949-2.797-8.106-2.085z"
|
||||
fill="#f7f1ed" />
|
||||
<circle cx="298.73" cy="103.42" r="2.825" fill="#5b5b5b" />
|
||||
<circle cx="298.73" cy="103.42" r="1.999" fill="#333" />
|
||||
<path fill="#fff" d="M288.822 127.206l-9.214.987 9.245 1.736 9.226-2.96z" />
|
||||
<path
|
||||
d="M288.925 128.97c-3.08.204-9.667-.686-9.667-.686s3.656 5.716 9.941 5.299c6.286-.416 9.106-6.563 9.106-6.563s-6.301 1.747-9.38 1.95z"
|
||||
fill="#ce8c78" />
|
||||
<path
|
||||
d="M293.314 124.796c-2.31.153-4.582.918-4.582.918s-2.346-.458-4.654-.305c-2.31.152-4.821 2.875-4.821 2.875s6.021 0 9.612-.239c3.593-.238 9.436-1.024 9.436-1.024s-2.682-2.378-4.991-2.225z"
|
||||
fill="#db9a83" />
|
||||
<path d="M280.67 127.89l5.752-1.597c-3.959-1.519-5.752 1.597-5.752 1.597z" fill="#e8b1a0" />
|
||||
<g fill="#7c4c1d">
|
||||
<path
|
||||
d="M280.224 94.902s-4.6-.281-6.268-.381c-1.666-.099-4.431.021-6.715.622s-6.852 4.448-6.852 4.448 5.169-2.374 7.212-2.615a28.28 28.28 0 016.372 0c2.163.241 7.212 1.413 7.212 1.413l-.961-3.487zM304.832 92.241c-2.353-.198-5.096.159-6.721.543a6192.37 6192.37 0 00-6.108 1.455l-.347 3.6s4.771-2.023 6.861-2.634a28.306 28.306 0 016.276-1.097c2.054-.114 7.555 1.333 7.555 1.333s-5.162-3.002-7.516-3.2zM201.699 177.333c-17.145 0-39.777-11.659-39.777-11.659-30.176-16.46-56.236-6.172-56.236-6.172-29.49 8.916-40.35 26.567-37.684 44.567s20.538 23.328 20.538 23.328c-5.486-12.344 5.487-21.946 5.487-21.946 21.26-17.831 44.578 0 44.578 0 13.03 8.23 33.604 27.433 33.604 27.433 27.433 21.26 59.666 4.115 59.666 4.115l6.857-66.523c-15.773 9.6-37.033 6.857-37.033 6.857z" />
|
||||
</g>
|
||||
<path
|
||||
d="M237.335 183.069c-20 3.5-39.667 11.667-81.333-11.333-13.485-7.444-43.093-9.375-56-2-38.5 22-18.667 44.333-18.667 44.333 1-20.5 29.208-37.996 51-28.333 51.5 22.833 59.333 35.667 92.333 31s12.667-33.667 12.667-33.667z"
|
||||
fill="#875327" />
|
||||
<path
|
||||
d="M251.699 215.386l-53.658 26.186c-7.316 17.375-21.946 25.146-21.946 25.146-10.059 1.371-24.352-4.859-39.777-5.03-20.575-.228-21.031 17.832-21.031 17.832 0 10.514 13.259 10.973 13.259 10.973-5.943-18.29 13.123-14.01 16.688-11.201 7.544 5.944 16.459 10.744 26.29 13.944 9.83 3.2 39.32-3.657 39.32-3.657 14.631-1.829 50.178-58.409 50.178-58.409l-9.323-15.784z"
|
||||
fill="#7c4c1d" />
|
||||
<g fill="#ddb17c">
|
||||
<path
|
||||
d="M381.838 377.819c-34.364-70.078-122.988-66.296-122.988-66.296 21.488-25.604 24.46-80.011 24.46-80.011 10.058 4.573 17.809-2.92 19.546-6.172 8.916-16.687-11.43-37.947-11.43-37.947-5.486-7.317.8-15.317.8-15.317 13.259-21.947-7.747-33.652-14.632-33.834-31.018-.818-33.877 12.439-41.288 34.102-6.356 18.578-30.949 71.056-30.949 71.056-15.545 20.118-43.306 74.033-45.824 81.444-2.297 6.761 15.251 10.734 17.768 5.701 3.278-6.556 8.853-24.05 8.853-24.05l21.946-34.749c4.573-5.486 20.225-23.295 20.225-23.295 4.857-5.55 16.879-23.3 19.193-25.654.736-.749-4.341 12.455-7.222 19.953-8.979 23.374-24.894 42.187-24.894 42.187-26.861 19.889-28.792 42.588-28.792 42.588-1.829 24.689 20.574 39.32 20.574 39.32-10.058 3.658-25.608 2.465-25.608 2.465-9.145-3.658-18.813-6.841-27.365-2.28-8.551 4.561-27.364 11.972-27.364 11.972-21.033 7.315-25.084 22.804-22.992 28.992 2.092 6.189 19.203 2.743 19.203 2.743 7.316 0 78.639-17.375 78.639-17.375 32.919-4.571 124.361 4.572 124.361 4.572 64.926 5.488 55.78-20.115 55.78-20.115z" />
|
||||
<path
|
||||
d="M168.698 305.994l-1.446 4.439c-2.682 3.549-4.36 5.595-6.453 9.931-2.126 4.407-4.486 12.163-4.486 12.163l3.28 2.376 6.539 3.799 9.165 3.216 6.297-16.006s.683-8.007.754-9.536l2.363-5.66a32.626 32.626 0 00-16.013-4.722z" />
|
||||
<path
|
||||
d="M174.518 336.996c-1.272-.452-2.95.324-3.456 1.747l-5.817 17.971c-.46 1.292.104 2.673 1.257 3.084 1.157.412 2.465-.304 2.925-1.594l6.479-17.811c.508-1.423-.112-2.943-1.388-3.397zM169.163 334.981c-1.317-.491-3.019.161-3.547 1.576l-7.384 21.204c-.478 1.284.101 2.688 1.293 3.131 1.194.446 2.552-.235 3.03-1.519l8.237-20.991c.528-1.416-.313-2.91-1.629-3.401zM163.807 333.086c-1.26-.488-3.024.118-3.571 1.527l-6.416 17.479c-.544 1.409.034 2.947 1.294 3.434 1.26.487 2.725-.257 3.269-1.666l6.889-17.297c.546-1.41-.206-2.99-1.465-3.477zM158.801 330.617c-1.178-.477-1.984.722-2.55 2.123l-4.235 9.587c-.491 1.215-.06 2.535.962 2.949 1.023.412 2.25-.238 2.741-1.454l4.466-9.716c.565-1.401-.206-3.014-1.384-3.489zM183.489 332.609c-.805-2.691-2.236-8.138-2.236-8.138l-6.774 4.593 3.22 5.294s-.542 5.401.675 9.277c.144.456 1.622 4.229 3.869 2.802.819-.52.306-3.316.592-6.288.296-3.093 1.059-6.166.654-7.54z" />
|
||||
</g>
|
||||
<path d="M182.745 342.002s-2.134 2.711-.678 4.848c0 .001 1.253.184.678-4.848z" fill="#efe4dc" />
|
||||
<path
|
||||
d="M154.309 342.148c-.732-.327-1.444-.327-1.854.591-.03.065-.185.347-.209.419-.319.92.069 1.555.75 1.859.698.312 1.469.122 1.921-.755.022-.042.171-.297.19-.339.409-.917-.066-1.447-.798-1.775z"
|
||||
fill="#e8c7af" />
|
||||
<path
|
||||
d="M154.268 342.259c-.709-.303-1.393-.293-1.774.595-.028.064-.344.687-.367.755-.292.889-.338 1.88.542 2.257.881.378 1.622-.386 2.045-1.235.02-.041.331-.637.348-.679.379-.886-.086-1.389-.794-1.693z"
|
||||
fill="#f7f3f0" />
|
||||
<path
|
||||
d="M154.219 342.245c-.71-.304-1.394-.293-1.774.595-.028.064-.14.34-.163.409-.292.89.09 1.493.748 1.775.676.29 1.415.096 1.838-.754.02-.04.126-.29.144-.331.38-.888-.085-1.391-.793-1.694z"
|
||||
fill="#efe4dc" />
|
||||
<path
|
||||
d="M156.622 351.661c-.904-.372-1.771-.345-2.235.788-.034.081-.213.431-.24.519-.354 1.131.144 1.89.98 2.235.862.354 1.794.094 2.313-.989.025-.053.197-.368.219-.42.465-1.133-.134-1.762-1.037-2.133z"
|
||||
fill="#e8c7af" />
|
||||
<path
|
||||
d="M156.576 351.797c-.874-.343-1.707-.306-2.138.79-.031.079-.393.849-.418.933-.323 1.093-.343 2.302.742 2.728 1.085.427 1.96-.529 2.444-1.578.023-.051.378-.789.398-.839.43-1.095-.155-1.689-1.028-2.034z"
|
||||
fill="#f7f3f0" />
|
||||
<path
|
||||
d="M156.516 351.781c-.875-.344-1.708-.306-2.138.789-.031.08-.158.419-.183.504-.323 1.092.165 1.815.975 2.133.834.329 1.727.065 2.209-.984.023-.051.144-.359.162-.409.432-1.094-.152-1.69-1.025-2.033z"
|
||||
fill="#efe4dc" />
|
||||
<path
|
||||
d="M160.956 356.976c-.925-.311-1.789-.228-2.178.933-.028.084-.184.445-.205.535-.278 1.151.269 1.876 1.128 2.164.884.298 1.795-.024 2.242-1.14.021-.053.171-.38.189-.433.39-1.163-.25-1.748-1.176-2.059z"
|
||||
fill="#e8c7af" />
|
||||
<path
|
||||
d="M160.92 357.116c-.896-.285-1.723-.193-2.081.93-.025.081-.336.874-.355.959-.251 1.111-.189 2.318.922 2.671 1.111.354 1.92-.659 2.332-1.738.02-.052.326-.811.342-.862.358-1.122-.266-1.677-1.16-1.96z"
|
||||
fill="#f7f3f0" />
|
||||
<path
|
||||
d="M160.858 357.102c-.895-.284-1.724-.19-2.081.931-.025.081-.128.429-.148.515-.25 1.112.285 1.8 1.116 2.064.854.271 1.727-.05 2.139-1.129.02-.052.118-.368.135-.419.357-1.123-.266-1.677-1.161-1.962z"
|
||||
fill="#efe4dc" />
|
||||
<path
|
||||
d="M167.834 355.969c-.926-.311-1.789-.228-2.178.934-.027.083-.183.444-.205.534-.278 1.151.268 1.876 1.127 2.164.884.296 1.797-.025 2.242-1.14.021-.056.171-.381.189-.435.391-1.162-.247-1.747-1.175-2.057z"
|
||||
fill="#e8c7af" />
|
||||
<path
|
||||
d="M167.798 356.107c-.895-.284-1.724-.192-2.081.93-.026.081-.337.874-.355.96-.25 1.111-.189 2.319.922 2.671 1.111.354 1.92-.658 2.333-1.737.019-.052.325-.811.342-.863.356-1.121-.266-1.676-1.161-1.961z"
|
||||
fill="#f7f3f0" />
|
||||
<path
|
||||
d="M167.736 356.095c-.895-.284-1.723-.191-2.08.93-.026.082-.129.429-.149.516-.25 1.111.285 1.8 1.115 2.063.854.272 1.727-.05 2.139-1.13.021-.051.119-.367.135-.417.358-1.123-.265-1.677-1.16-1.962z"
|
||||
fill="#efe4dc" />
|
||||
<path
|
||||
d="M178.362 331.121s-.263 1.745-.589 3.283c-.328 1.549-1.441 4.883-1.441 4.883s1.493-3.539 1.803-4.785c.313-1.259.659-3.427.659-3.427l-.432.046z"
|
||||
fill="#c69661" />
|
||||
<g fill="#cca172">
|
||||
<path
|
||||
d="M241.817 357.149c-10.262 5.701-34.632 9.697-34.632 9.697 17.831 4.915 38.995-7.106 45.264-9.602 30.795-12.257 81.913 5.226 81.913 5.226-31.09-21.031-73.1-16.123-92.545-5.321zM242.848 235.17l11.408-22.415 14.653-28.792c-9.373 3.43-22.861 42.977-26.061 51.207z" />
|
||||
</g>
|
||||
<path
|
||||
d="M295.002 72.736l-12.667-12-14.732-6.338c-24.341 3.688-36.879 35.404-22.005 95.886 4.142 16.839-3.688 51.262-22.127 70.808 0 0 43.356-38.015 41.625-62.43-2.565-36.201-21.761-79.259 29.906-85.926z"
|
||||
fill="#875327" />
|
||||
<path
|
||||
d="M265.889 54.647c14.991 4.283 28.78 15.756 38.113 29.756 17.798 26.697 4.732 69.838.111 78.42-6.885 12.786-20.53 51.754-7.744 82.241 0 0 3.81 13.154-9.958 22.496 0 0-14.629 8.975-21.021.615 0 0 1.967 14.874 25.078 14.874 0 0 28.888-7.376 27.413-33.928-1.191-21.442 3.368-50.583 8.36-71.793 31.761-134.925-60.352-122.681-60.352-122.681z"
|
||||
fill="#9b6432" />
|
||||
<path d="M278.066 143.697c8.979 4.418 14.395 22.091 14.395 22.091 5.131-21.521-14.395-22.091-14.395-22.091z"
|
||||
fill="#e8c59e" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 10 KiB |
@@ -0,0 +1,21 @@
|
||||
<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||
<circle cx="256" cy="256" r="256" fill="#273b7a" />
|
||||
<path
|
||||
d="M499.243 335.974L314.109 150.84l4.525 93.667 1.453 1.453-9.573.627-134.967-134.968 2.3 26.577 1.15 1.15-38.21 38.216-1.652-1.652-25.788-2.084L404.249 464.73c44.066-31.354 77.764-76.32 94.994-128.756zM353.844 492.618L175.981 314.756l.85 16.653 3.172 6.404-3.879 22.769-13.002-13.002-19.035-.934 160.689 160.689a253.73 253.73 0 0049.068-14.717z"
|
||||
fill="#121149" />
|
||||
<path
|
||||
d="M175.55 236.03c0-60.23-62.204-62.204-62.204-62.204 60.23 0 62.204-62.204 62.204-62.204 0 60.23 62.204 62.204 62.204 62.204-60.23.001-62.204 62.204-62.204 62.204z"
|
||||
fill="#ffc61b" />
|
||||
<path d="M175.55 111.621c0 60.23 62.204 62.204 62.204 62.204-60.23 0-62.204 62.204-62.204 62.204V111.621z"
|
||||
fill="#e09112" />
|
||||
<path
|
||||
d="M175.981 378.54c0-30.88-31.892-31.892-31.892-31.892 30.88 0 31.892-31.892 31.892-31.892 0 30.88 31.892 31.892 31.892 31.892-30.878 0-31.892 31.892-31.892 31.892z"
|
||||
fill="#ffc61b" />
|
||||
<path d="M175.981 314.756c0 30.88 31.892 31.892 31.892 31.892-30.88 0-31.892 31.892-31.892 31.892v-63.784z"
|
||||
fill="#e09112" />
|
||||
<path
|
||||
d="M314.109 355.268c0-98.968-102.214-102.214-102.214-102.214 98.968 0 102.214-102.214 102.214-102.214 0 98.968 102.214 102.214 102.214 102.214-98.967 0-102.214 102.214-102.214 102.214z"
|
||||
fill="#ffc61b" />
|
||||
<path d="M314.109 150.84c0 98.968 102.214 102.214 102.214 102.214-98.968 0-102.214 102.214-102.214 102.214V150.84z"
|
||||
fill="#e09112" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -22,7 +22,6 @@ import java.util.TimeZone;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.openhab.binding.astro.internal.model.Moon;
|
||||
import org.openhab.binding.astro.internal.model.ZodiacSign;
|
||||
import org.openhab.binding.astro.internal.util.DateTimeUtils;
|
||||
|
||||
/***
|
||||
@@ -122,14 +121,6 @@ public class MoonCalcTest {
|
||||
setStart.getTimeInMillis(), ACCURACY_IN_MILLIS);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetMoonInfoForZodiac() {
|
||||
Moon moon = moonCalc.getMoonInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE, TIME_ZONE, Locale.ROOT);
|
||||
moonCalc.setPositionalInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE, moon, TIME_ZONE, Locale.ROOT);
|
||||
|
||||
assertEquals(ZodiacSign.SAGITTARIUS, moon.getZodiac().getSign());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetMoonInfoForMoonPositionAccuracy() {
|
||||
Moon moon = moonCalc.getMoonInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE, TIME_ZONE, Locale.ROOT);
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
* Copyright (c) 2010-2025 Contributors to the openHAB project
|
||||
*
|
||||
* See the NOTICE file(s) distributed with this work for additional
|
||||
* information.
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.binding.astro.internal.calc.zodiac;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.openhab.binding.astro.internal.calc.MoonCalc;
|
||||
import org.openhab.binding.astro.internal.model.Moon;
|
||||
import org.openhab.binding.astro.internal.model.ZodiacSign;
|
||||
import org.openhab.binding.astro.internal.util.DateTimeUtils;
|
||||
|
||||
/***
|
||||
* Specific unit tests to check if {@link MoonCalc} generates correct data for
|
||||
* Amsterdam city on 27 February 2019. In particular the following cases are
|
||||
* covered:
|
||||
* <ul>
|
||||
* <li>checks if generated data are the same (with some accuracy) as produced by
|
||||
* haevens-above.com</li>
|
||||
* </ul>
|
||||
*
|
||||
* @author Leo Siepel - Initial contribution
|
||||
* @see <a href="https://www.heavens-above.com/Moon.aspx">Heavens Above Moon</a>
|
||||
*/
|
||||
public class MoonZodiacCalcTest {
|
||||
|
||||
private static final TimeZone TIME_ZONE = TimeZone.getTimeZone("Europe/Amsterdam");
|
||||
private static final Calendar FEB_27_2019 = MoonZodiacCalcTest.newCalendar(2019, Calendar.FEBRUARY, 27, 1, 0,
|
||||
TIME_ZONE);
|
||||
private static final double AMSTERDAM_LATITUDE = 52.367607;
|
||||
private static final double AMSTERDAM_LONGITUDE = 4.8978293;
|
||||
|
||||
private MoonCalc moonCalc;
|
||||
|
||||
@BeforeEach
|
||||
public void init() {
|
||||
moonCalc = new MoonCalc();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetMoonInfoForZodiac() {
|
||||
Moon moon = moonCalc.getMoonInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE, TIME_ZONE, Locale.ROOT);
|
||||
moonCalc.setPositionalInfo(FEB_27_2019, AMSTERDAM_LATITUDE, AMSTERDAM_LONGITUDE, moon, TIME_ZONE, Locale.ROOT);
|
||||
|
||||
assertEquals(ZodiacSign.SAGITTARIUS, moon.getZodiac().getSign());
|
||||
}
|
||||
|
||||
/***
|
||||
* Constructs a <code>GregorianCalendar</code> with the given date and time set
|
||||
* for the provided time zone.
|
||||
*
|
||||
* @param year
|
||||
* the value used to set the <code>YEAR</code> calendar field in the
|
||||
* calendar.
|
||||
* @param month
|
||||
* the value used to set the <code>MONTH</code> calendar field in the
|
||||
* calendar. Month value is 0-based. e.g., 0 for January.
|
||||
* @param dayOfMonth
|
||||
* the value used to set the <code>DAY_OF_MONTH</code> calendar field
|
||||
* in the calendar.
|
||||
* @param hourOfDay
|
||||
* the value used to set the <code>HOUR_OF_DAY</code> calendar field
|
||||
* in the calendar.
|
||||
* @param minute
|
||||
* the value used to set the <code>MINUTE</code> calendar field in
|
||||
* the calendar.
|
||||
* @param zone
|
||||
* the given time zone.
|
||||
* @return
|
||||
*/
|
||||
private static Calendar newCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, TimeZone zone) {
|
||||
Calendar result = new GregorianCalendar(zone, Locale.ROOT);
|
||||
result.set(year, month, dayOfMonth, hourOfDay, minute);
|
||||
|
||||
return DateTimeUtils.truncateToMinute(result);
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.binding.astro.internal.calc;
|
||||
package org.openhab.binding.astro.internal.calc.zodiac;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
@@ -22,7 +22,6 @@ import java.util.Optional;
|
||||
import java.util.TimeZone;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.openhab.binding.astro.internal.model.SunZodiac;
|
||||
import org.openhab.binding.astro.internal.model.ZodiacSign;
|
||||
import org.openhab.binding.astro.internal.util.DateTimeUtils;
|
||||
|
||||
@@ -32,13 +31,13 @@ import org.openhab.binding.astro.internal.util.DateTimeUtils;
|
||||
* @author Gerhard Riegler - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class SunZodiacCalc {
|
||||
public class OldSunZodiacCalc {
|
||||
private Map<Integer, List<SunZodiac>> zodiacsByYear = new HashMap<>();
|
||||
|
||||
private final TimeZone zone;
|
||||
private final Locale locale;
|
||||
|
||||
public SunZodiacCalc(TimeZone zone, Locale locale) {
|
||||
public OldSunZodiacCalc(TimeZone zone, Locale locale) {
|
||||
this.zone = zone;
|
||||
this.locale = locale;
|
||||
}
|
||||
@@ -10,12 +10,14 @@
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.binding.astro.internal.model;
|
||||
package org.openhab.binding.astro.internal.calc.zodiac;
|
||||
|
||||
import java.util.Calendar;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
import org.openhab.binding.astro.internal.model.Range;
|
||||
import org.openhab.binding.astro.internal.model.ZodiacSign;
|
||||
|
||||
/**
|
||||
* Extends the zodiac with a date range.
|
||||
@@ -23,14 +25,16 @@ import org.eclipse.jdt.annotation.Nullable;
|
||||
* @author Gerhard Riegler - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class SunZodiac extends Zodiac {
|
||||
public class SunZodiac {
|
||||
private final @Nullable ZodiacSign sign;
|
||||
|
||||
private Range range;
|
||||
|
||||
/**
|
||||
* Creates a Zodiac with a sign and a range.
|
||||
*/
|
||||
public SunZodiac(ZodiacSign sign, Range range) {
|
||||
super(sign);
|
||||
this.sign = sign;
|
||||
this.range = range;
|
||||
}
|
||||
|
||||
@@ -50,6 +54,11 @@ public class SunZodiac extends Zodiac {
|
||||
return range.getEnd();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public ZodiacSign getSign() {
|
||||
return sign;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true, if the zodiac is valid on the specified calendar object.
|
||||
*/
|
||||
@@ -0,0 +1,118 @@
|
||||
/*
|
||||
* Copyright (c) 2010-2025 Contributors to the openHAB project
|
||||
*
|
||||
* See the NOTICE file(s) distributed with this work for additional
|
||||
* information.
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.binding.astro.internal.calc.zodiac;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.Calendar;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
import org.openhab.binding.astro.internal.calc.ZodiacCalc;
|
||||
import org.openhab.binding.astro.internal.model.Zodiac;
|
||||
import org.openhab.binding.astro.internal.model.ZodiacSign;
|
||||
|
||||
/**
|
||||
* Tests for {@link ZodiacCalc}.
|
||||
*
|
||||
* @author Gaël L'hopital - Initial contribution
|
||||
*/
|
||||
public class SunZodiacCalcTest {
|
||||
|
||||
private static Stream<Arguments> zodiacAngles() {
|
||||
return Stream.of(arguments(Math.toRadians(0), ZodiacSign.ARIES),
|
||||
arguments(Math.toRadians(29.9), ZodiacSign.ARIES), arguments(Math.toRadians(30), ZodiacSign.TAURUS),
|
||||
arguments(Math.toRadians(59.9), ZodiacSign.TAURUS), arguments(Math.toRadians(90), ZodiacSign.CANCER),
|
||||
arguments(Math.toRadians(210), ZodiacSign.SCORPIO), arguments(Math.toRadians(330), ZodiacSign.PISCES),
|
||||
arguments(Math.toRadians(-0.1), ZodiacSign.PISCES));
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@MethodSource("zodiacAngles")
|
||||
public void testCalcZodiacSignFromLongitude(double longitude, ZodiacSign expected) {
|
||||
assertEquals(expected, ZodiacCalc.calculate(longitude, null).getSign());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCalcZodiacCreatesSunZodiacWithRangeFromInstant() {
|
||||
Instant referenceInstant = Instant.parse("2025-08-05T12:00:00Z");
|
||||
Zodiac zodiac = ZodiacCalc.calculate(Math.toRadians(120), referenceInstant);
|
||||
assertEquals(ZodiacSign.LEO, zodiac.getSign());
|
||||
var start = zodiac.getStart();
|
||||
var end = zodiac.getEnd();
|
||||
assertNotNull(start);
|
||||
assertNotNull(end);
|
||||
assertFalse(start.isAfter(referenceInstant));
|
||||
assertTrue(end.isAfter(referenceInstant));
|
||||
|
||||
Duration length = Duration.between(start, end);
|
||||
assertTrue(length.toDays() >= 29 && length.toDays() <= 32);
|
||||
}
|
||||
|
||||
private static Stream<Arguments> sunZodiacCalcComparison() {
|
||||
double offset = ZodiacSign.getRadiansPerSign() / 2;
|
||||
return Stream.of(
|
||||
arguments(ZodiacSign.ARIES, newCalendar(2025, Calendar.APRIL, 5),
|
||||
offset + 0 * ZodiacSign.getRadiansPerSign()),
|
||||
arguments(ZodiacSign.TAURUS, newCalendar(2025, Calendar.MAY, 5),
|
||||
offset + 1 * ZodiacSign.getRadiansPerSign()),
|
||||
arguments(ZodiacSign.GEMINI, newCalendar(2025, Calendar.JUNE, 5),
|
||||
offset + 2 * ZodiacSign.getRadiansPerSign()),
|
||||
arguments(ZodiacSign.CANCER, newCalendar(2025, Calendar.JULY, 5),
|
||||
offset + 3 * ZodiacSign.getRadiansPerSign()),
|
||||
arguments(ZodiacSign.LEO, newCalendar(2025, Calendar.AUGUST, 5),
|
||||
offset + 4 * ZodiacSign.getRadiansPerSign()),
|
||||
arguments(ZodiacSign.VIRGO, newCalendar(2025, Calendar.SEPTEMBER, 5),
|
||||
offset + 5 * ZodiacSign.getRadiansPerSign()),
|
||||
arguments(ZodiacSign.LIBRA, newCalendar(2025, Calendar.OCTOBER, 5),
|
||||
offset + 6 * ZodiacSign.getRadiansPerSign()),
|
||||
arguments(ZodiacSign.SCORPIO, newCalendar(2025, Calendar.NOVEMBER, 5),
|
||||
offset + 7 * ZodiacSign.getRadiansPerSign()),
|
||||
arguments(ZodiacSign.SAGITTARIUS, newCalendar(2025, Calendar.DECEMBER, 5),
|
||||
offset + 8 * ZodiacSign.getRadiansPerSign()),
|
||||
arguments(ZodiacSign.CAPRICORN, newCalendar(2025, Calendar.JANUARY, 10),
|
||||
offset + 9 * ZodiacSign.getRadiansPerSign()),
|
||||
arguments(ZodiacSign.AQUARIUS, newCalendar(2025, Calendar.FEBRUARY, 5),
|
||||
offset + 10 * ZodiacSign.getRadiansPerSign()),
|
||||
arguments(ZodiacSign.PISCES, newCalendar(2025, Calendar.MARCH, 5),
|
||||
offset + 11 * ZodiacSign.getRadiansPerSign()));
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@MethodSource("sunZodiacCalcComparison")
|
||||
public void testPositionBasedResultMatchesDateBased(ZodiacSign expectedSign, Calendar date, double longitude) {
|
||||
OldSunZodiacCalc dateCalc = new OldSunZodiacCalc(TimeZone.getTimeZone("UTC"), Locale.ROOT);
|
||||
|
||||
ZodiacSign dateBasedSign = dateCalc.getZodiac(date).map(SunZodiac::getSign).orElseThrow();
|
||||
ZodiacSign positionBasedSign = ZodiacCalc.calculate(longitude, null).getSign();
|
||||
|
||||
assertEquals(expectedSign, dateBasedSign);
|
||||
assertEquals(expectedSign, positionBasedSign);
|
||||
}
|
||||
|
||||
private static Calendar newCalendar(int year, int month, int day) {
|
||||
Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC"), Locale.ROOT);
|
||||
cal.set(year, month, day, 12, 0, 0);
|
||||
cal.set(Calendar.MILLISECOND, 0);
|
||||
return cal;
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,7 @@ package org.openhab.binding.astro.internal.util;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Calendar;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.Locale;
|
||||
@@ -29,6 +30,7 @@ import org.openhab.binding.astro.internal.model.Season;
|
||||
* Test class for {@link DateTimeUtils}.
|
||||
*
|
||||
* @author Hilbrand Bouwkamp - Initial contribution
|
||||
* @author Gaël L'hopital - Added tests for Instant usage
|
||||
*/
|
||||
public class DateTimeUtilsTest {
|
||||
|
||||
@@ -84,6 +86,20 @@ public class DateTimeUtilsTest {
|
||||
assertEquals(endOfDay, target2);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testTruncateInstant() {
|
||||
Instant instant = Instant.parse("2024-03-12T10:15:30.123456Z");
|
||||
assertEquals(Instant.parse("2024-03-12T10:15:30Z"), DateTimeUtils.truncateToSecond(instant));
|
||||
assertEquals(Instant.parse("2024-03-12T10:15:00Z"), DateTimeUtils.truncateToMinute(instant));
|
||||
assertEquals(Instant.parse("2024-03-12T00:00:00Z"), DateTimeUtils.truncateToMidnight(instant));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testEndOfDayDateInstant() {
|
||||
Instant instant = Instant.parse("2024-03-12T10:15:30Z");
|
||||
assertEquals(Instant.parse("2024-03-12T23:59:59.999Z"), DateTimeUtils.endOfDayDate(instant));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateCalendarForToday() {
|
||||
Calendar cal = DateTimeUtils.createCalendarForToday(8, 0, TIME_ZONE, Locale.ROOT);
|
||||
@@ -111,6 +127,26 @@ public class DateTimeUtilsTest {
|
||||
assertSame(JAN_20_2020, DateTimeUtils.adjustTime(JAN_20_2020, -2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAdjustTimeInstant() {
|
||||
Instant instant = Instant.parse("2024-03-12T10:15:30Z");
|
||||
assertEquals(Instant.parse("2024-03-12T01:00:00Z"), DateTimeUtils.adjustTime(instant, 60));
|
||||
assertEquals(Instant.parse("2024-03-12T00:00:00Z"), DateTimeUtils.adjustTime(instant, 0));
|
||||
assertSame(instant, DateTimeUtils.adjustTime(instant, -1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAdjustedLatestInstant() {
|
||||
AstroChannelConfig config = new AstroChannelConfig();
|
||||
Instant instant = Instant.parse("2024-03-12T10:15:30Z");
|
||||
config.latest = "02:30";
|
||||
assertEquals(Instant.parse("2024-03-12T02:30:00Z"), DateTimeUtils.getAdjustedLatest(instant, config));
|
||||
config.latest = "00:00";
|
||||
assertSame(instant, DateTimeUtils.getAdjustedLatest(instant, config));
|
||||
config.latest = null;
|
||||
assertSame(instant, DateTimeUtils.getAdjustedLatest(instant, config));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testApplyConfig() {
|
||||
AstroChannelConfig config = new AstroChannelConfig();
|
||||
|
||||