<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<svg version="1.1" viewBox="0 0 130.21 130.01" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="c" x1="333.48" x2="477" y1="702.6" y2="563.73" gradientTransform="matrix(.99206 0 0 .99206 94.038 276.06)" gradientUnits="userSpaceOnUse">
<stop stop-color="#F69923" offset="0"/>
<stop stop-color="#F79A23" offset=".10996"/>
<stop stop-color="#E97826" offset=".94502"/>
</linearGradient>
<linearGradient id="b" x1="333.48" x2="477" y1="702.6" y2="563.73" gradientTransform="matrix(.99206 0 0 .99206 94.038 276.06)" gradientUnits="userSpaceOnUse">
<stop stop-color="#F69923" offset="0"/>
<stop stop-color="#F79A23" offset=".080478"/>
<stop stop-color="#E97826" offset=".41874"/>
</linearGradient>
<linearGradient id="a" x1="633.55" x2="566.47" y1="814.6" y2="909.12" gradientTransform="translate(-85.421 56.236)" gradientUnits="userSpaceOnUse">
<stop stop-color="#f6e423" offset="0"/>
<stop stop-color="#F79A23" offset=".41191"/>
<stop stop-color="#E97826" offset=".73271"/>
</linearGradient>
</defs>
<g transform="translate(-437.89 -835.29)">
<circle cx="503.1" cy="900.29" r="62.52" fill="url(#c)" stroke="url(#b)" stroke-linejoin="round" stroke-width="4.9603"/>
<path d="m487.89 873.64c-0.88906-1e-3 -1.7897 5e-3 -2.6875 0.0312-1.0437 0.0308-2.4459 0.36218-4.0625 0.90625 27.309 20.737 37.127 58.146 20.25 90.656 0.57317 0.0149 1.142 0.0625 1.7188 0.0625 30.844 0 56.62-21.493 63.281-50.312-19.573-22.943-46.118-41.294-78.5-41.344z" fill="url(#a)" opacity=".75"/>
<path d="m481.14 874.58c-9.0682 3.0518-26.368 13.802-43 28.156 1.2631 34.195 28.961 61.607 63.25 62.5 16.877-32.51 7.0594-69.919-20.25-90.656z" fill="#28170b" opacity=".75"/>
<g transform="translate(-85.421 56.236)">
<path d="m590.31 806.31c-0.47239-0.0321-0.93151 0.0284-1.375 0.25-5.5992 2.8011 0 14 0 14-16.807 14.009-13.236 37.938-32.844 37.938-10.689 0-21.322-12.293-32.531-19.812-0.1443 1.7733-0.25 3.5645-0.25 5.375 0 24.515 13.51 45.863 33.469 57.063 5.5828-0.70321 11.158-2.1139 15.344-4.9062 21.992-14.662 27.452-42.557 36.438-56.031 5.5962-8.4063 31.824-7.6769 33.594-11.219 2.8041-5.6022-5.6021-14-8.4062-14h-22.406c-1.5655 0-4.0253-2.7812-5.5938-2.7812h-8.4062s-3.7245-5.6503-7.0312-5.875z" fill="#fff"/>
</g>
</g>
</svg>
