<?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 xmlns="http://www.w3.org/2000/svg" width="40" height="53" fill="none" viewBox="0 0 40 53">
    <g stroke="#FF6D00" stroke-width="2.75" clip-path="url(#clip0)">
        <path stroke-linejoin="round" d="M28.183 29.932c0 3.222-3.4 5.835-7.594 5.835-4.193 0-7.593-2.613-7.593-5.835 0-3.807 4.33-4.932 6.736-6.77.489-.373 1.226-.373 1.716-.001 2.511 1.905 6.735 2.55 6.735 6.77z"/>
        <path stroke-linecap="round" d="M14.781 19.688c.15.348.402 1.36.224 2.614-.18 1.255.372 2.353.67 2.745M26.395 19.688c-.15.348-.402 1.36-.224 2.614.179 1.255-.372 2.353-.67 2.745"/>
        <ellipse cx="20.589" cy="42.021" rx="4.913" ry="6.253"/>
        <path d="M24.608 44.7c-.802-1.067-2.302-1.786-4.02-1.786-1.718 0-3.217.719-4.02 1.787"/>
        <ellipse cx="10.896" cy="33.917" rx="2.269" ry="6.58" transform="rotate(-60 10.896 33.917)"/>
        <ellipse rx="2.269" ry="6.58" transform="matrix(-.5 -.86603 -.86603 .5 30.282 33.917)"/>
        <ellipse cx="12.33" cy="38.975" rx=".856" ry="3.602" transform="rotate(-103.17 12.33 38.975)"/>
        <ellipse rx=".856" ry="3.602" transform="scale(1 -1) rotate(76.83 39.322 -1.19)"/>
    </g>
    <path stroke="#FF6D00" stroke-linejoin="round" stroke-width="2.75" d="M28.183 29.932c0 3.222-3.4 5.835-7.594 5.835-4.193 0-7.593-2.613-7.593-5.835 0-3.807 4.33-4.932 6.736-6.77.489-.373 1.226-.373 1.716-.001 2.511 1.905 6.735 2.55 6.735 6.77z"/>
    <path stroke="#FF6D00" stroke-linecap="round" stroke-width="2.75" d="M14.781 19.688c.15.348.402 1.36.224 2.614-.18 1.255.372 2.353.67 2.745M26.396 19.688c-.148.348-.402 1.36-.223 2.614.179 1.255-.372 2.353-.67 2.745"/>
    <ellipse cx="20.587" cy="42.021" stroke="#FF6D00" stroke-width="2.75" rx="4.913" ry="6.253"/>
    <path stroke="#FF6D00" stroke-width="2.75" d="M24.608 44.7c-.802-1.067-2.302-1.786-4.02-1.786-1.718 0-3.217.719-4.02 1.787"/>
    <ellipse cx="10.896" cy="33.919" stroke="#FF6D00" stroke-width="2.75" rx="2.269" ry="6.58" transform="rotate(-60 10.896 33.919)"/>
    <ellipse stroke="#FF6D00" stroke-width="2.75" rx="2.269" ry="6.58" transform="scale(-1 1) rotate(-60 14.234 43.184)"/>
    <ellipse cx="12.332" cy="38.975" stroke="#FF6D00" stroke-width="2.75" rx=".856" ry="3.602" transform="rotate(-103.17 12.332 38.975)"/>
    <ellipse stroke="#FF6D00" stroke-width="2.75" rx=".856" ry="3.602" transform="scale(1 -1) rotate(76.83 39.322 -1.19)"/>
    <path stroke="#FF6D00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.75" d="M20.14 4.3v4.2m0 6.8v3M28.273 1.895v4.2m0 5.6v2.2M12.055 1.895v4.2m0 5.6v2.2"/>
    <defs>
        <clipPath id="clip0">
            <path fill="#fff" d="M0 0H39.306V39.306H0z" transform="translate(.488 13.434)"/>
        </clipPath>
    </defs>
</svg>
