morgan pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser

Commits:

10 changed files:

Changes:

  • browser/components/abouttor/content/aboutTor.css
    1 1
     @import url("chrome://global/skin/tor-colors.css");
    
    2
    +@import url("chrome://global/skin/onion-pattern.css");
    
    2 3
     
    
    3 4
     body {
    
    4 5
       margin: 0;
    
    ... ... @@ -17,16 +18,11 @@ body {
    17 18
          * NOTE: Since the body has "auto" height, the other "1fr" flex row will
    
    18 19
          * not shrink to zero, but will instead shrink to a minimum size of
    
    19 20
          * 75px = (150px * 1fr / 2fr) */
    
    20
    -    ". . ." minmax(150px, 2fr)
    
    21
    +    ". . ." minmax(var(--onion-pattern-height), 2fr)
    
    21 22
         /* NOTE: "form" will be given a maximum width of --form-max-width. */
    
    22 23
         / 1fr minmax(max-content, var(--form-max-width)) 1fr;
    
    23 24
       justify-items: center;
    
    24 25
       padding-inline: 20px;
    
    25
    -  background:
    
    26
    -    local
    
    27
    -    url("chrome://browser/content/abouttor/onion-pattern.svg")
    
    28
    -    center bottom
    
    29
    -    repeat-x;
    
    30 26
     }
    
    31 27
     
    
    32 28
     body:not(.initialized) {
    
    ... ... @@ -188,6 +184,8 @@ body:not(.show-tor-check) #tor-check {
    188 184
         --focus-outline: var(--focus-outline-width) solid var(--focus-outline-color);
    
    189 185
         --in-content-focus-outline-color: var(--focus-outline-color);
    
    190 186
         --in-content-focus-outline: var(--focus-outline);
    
    187
    +    --onion-pattern-stroke-color: #3e0663;
    
    188
    +    --onion-pattern-fill-color: #350556;
    
    191 189
       }
    
    192 190
     
    
    193 191
       #tor-check {
    

  • browser/components/abouttor/content/aboutTor.html
    ... ... @@ -28,7 +28,7 @@
    28 28
         ></script>
    
    29 29
         <script src="chrome://browser/content/abouttor/aboutTor.js"></script>
    
    30 30
       </head>
    
    31
    -  <body>
    
    31
    +  <body class="onion-pattern-background">
    
    32 32
         <h1>
    
    33 33
           <img
    
    34 34
             id="tor-browser-logo"
    

  • browser/components/abouttor/content/onion-pattern.svg deleted
    1
    -<svg fill="none" height="150" viewBox="0 0 1200 150" width="1200" xmlns="http://www.w3.org/2000/svg">
    
    2
    -    <path clip-rule="evenodd" d="m75 145c38.66 0 70-31.34 70-70 0-38.6599-31.34-70-70-70-38.6599 0-70 31.3401-70 70 0 38.66 31.3401 70 70 70zm0 5c41.421 0 75-33.579 75-75 0-41.4214-33.579-75-75-75-41.4214 0-75 33.5786-75 75 0 41.421 33.5786 75 75 75z" fill="#3e0663" fill-rule="evenodd"/>
    
    3
    -    <path clip-rule="evenodd" d="m75 126.25c28.305 0 51.25-22.945 51.25-51.25 0-28.3046-22.945-51.25-51.25-51.25-28.3046 0-51.25 22.9454-51.25 51.25 0 28.305 22.9454 51.25 51.25 51.25zm0 5c31.066 0 56.25-25.184 56.25-56.25s-25.184-56.25-56.25-56.25-56.25 25.184-56.25 56.25 25.184 56.25 56.25 56.25z" fill="#3e0663" fill-rule="evenodd"/>
    
    4
    -    <path clip-rule="evenodd" d="m75 107.5c17.9493 0 32.5-14.5507 32.5-32.5s-14.5507-32.5-32.5-32.5-32.5 14.5507-32.5 32.5 14.5507 32.5 32.5 32.5zm0 5c20.7107 0 37.5-16.7893 37.5-37.5s-16.7893-37.5-37.5-37.5-37.5 16.7893-37.5 37.5 16.7893 37.5 37.5 37.5z" fill="#3e0663" fill-rule="evenodd"/>
    
    5
    -    
    
    6
    -    <path clip-rule="evenodd" d="m75 88.75c7.5939 0 13.75-6.1561 13.75-13.75s-6.1561-13.75-13.75-13.75-13.75 6.1561-13.75 13.75 6.1561 13.75 13.75 13.75zm0 5c10.3553 0 18.75-8.3947 18.75-18.75s-8.3947-18.75-18.75-18.75-18.75 8.3947-18.75 18.75 8.3947 18.75 18.75 18.75z" fill="#3e0663" fill-rule="evenodd"/>
    
    7
    -    <path d="m294.846 0c2.762 0 5.017 2.24554 4.836 5.001-2.573 39.0897-35.095 69.999-74.836 69.999s-72.262-30.9093-74.836-69.999c-.181-2.75546 2.075-5.001 4.836-5.001z" fill="#3e0663"/>
    
    8
    -    <path d="m294.846 75c2.762 0 5.017 2.2455 4.836 5.001-2.573 39.09-35.095 69.999-74.836 69.999s-72.262-30.909-74.836-69.999c-.181-2.7555 2.075-5.001 4.836-5.001z" fill="#350556"/>
    
    9
    -    <path clip-rule="evenodd" d="m374.692 145c38.66 0 70-31.34 70-70 0-38.6599-31.34-70-70-70s-70 31.3401-70 70c0 38.66 31.34 70 70 70zm0 5c41.422 0 75-33.579 75-75 0-41.4214-33.578-75-75-75-41.421 0-75 33.5786-75 75 0 41.421 33.579 75 75 75z" fill="#3e0663" fill-rule="evenodd"/>
    
    10
    -    <path clip-rule="evenodd" d="m374.692 126.25c28.305 0 51.25-22.945 51.25-51.25 0-28.3046-22.945-51.25-51.25-51.25-28.304 0-51.25 22.9454-51.25 51.25 0 28.305 22.946 51.25 51.25 51.25zm0 5c31.066 0 56.25-25.184 56.25-56.25s-25.184-56.25-56.25-56.25-56.25 25.184-56.25 56.25 25.184 56.25 56.25 56.25z" fill="#3e0663" fill-rule="evenodd"/>
    
    11
    -    <path clip-rule="evenodd" d="m374.692 107.5c17.95 0 32.5-14.5507 32.5-32.5s-14.55-32.5-32.5-32.5c-17.949 0-32.5 14.5507-32.5 32.5s14.551 32.5 32.5 32.5zm0 5c20.711 0 37.5-16.7893 37.5-37.5s-16.789-37.5-37.5-37.5c-20.71 0-37.5 16.7893-37.5 37.5s16.79 37.5 37.5 37.5z" fill="#3e0663" fill-rule="evenodd"/>
    
    12
    -    <path clip-rule="evenodd" d="m374.692 88.75c7.594 0 13.75-6.1561 13.75-13.75s-6.156-13.75-13.75-13.75-13.75 6.1561-13.75 13.75 6.156 13.75 13.75 13.75zm0 5c10.356 0 18.75-8.3947 18.75-18.75s-8.394-18.75-18.75-18.75c-10.355 0-18.75 8.3947-18.75 18.75s8.395 18.75 18.75 18.75z" fill="#3e0663" fill-rule="evenodd"/>
    
    13
    -    <path d="m449.692 4.99998c0-2.76142 2.246-5.0173044 5.001-4.835902 39.09 2.573422 69.999 35.095022 69.999 74.835922 0 39.741-30.909 72.262-69.999 74.836-2.755.181-5.001-2.075-5.001-4.836z" fill="#3e0663"/>
    
    14
    -    <path d="m524.692 4.99998c0-2.76142 2.246-5.0173044 5.001-4.835902 39.09 2.573422 69.999 35.095022 69.999 74.835922 0 39.741-30.909 72.262-69.999 74.836-2.755.181-5.001-2.075-5.001-4.836z" fill="#350556"/>
    
    15
    -    <path clip-rule="evenodd" d="m674.692 145c38.66 0 70-31.34 70-70 0-38.6599-31.34-70-70-70s-70 31.3401-70 70c0 38.66 31.34 70 70 70zm0 5c41.422 0 75-33.579 75-75 0-41.4214-33.578-75-75-75-41.421 0-75 33.5786-75 75 0 41.421 33.579 75 75 75z" fill="#3e0663" fill-rule="evenodd"/>
    
    16
    -    <path clip-rule="evenodd" d="m674.692 126.25c28.305 0 51.25-22.945 51.25-51.25 0-28.3046-22.945-51.25-51.25-51.25-28.304 0-51.25 22.9454-51.25 51.25 0 28.305 22.946 51.25 51.25 51.25zm0 5c31.066 0 56.25-25.184 56.25-56.25s-25.184-56.25-56.25-56.25-56.25 25.184-56.25 56.25 25.184 56.25 56.25 56.25z" fill="#3e0663" fill-rule="evenodd"/>
    
    17
    -    <path clip-rule="evenodd" d="m674.692 107.5c17.95 0 32.5-14.5507 32.5-32.5s-14.55-32.5-32.5-32.5c-17.949 0-32.5 14.5507-32.5 32.5s14.551 32.5 32.5 32.5zm0 5c20.711 0 37.5-16.7893 37.5-37.5s-16.789-37.5-37.5-37.5c-20.71 0-37.5 16.7893-37.5 37.5s16.79 37.5 37.5 37.5z" fill="#3e0663" fill-rule="evenodd"/>
    
    18
    -    <path clip-rule="evenodd" d="m674.692 88.75c7.594 0 13.75-6.1561 13.75-13.75s-6.156-13.75-13.75-13.75-13.75 6.1561-13.75 13.75 6.156 13.75 13.75 13.75zm0 5c10.356 0 18.75-8.3947 18.75-18.75s-8.394-18.75-18.75-18.75c-10.355 0-18.75 8.3947-18.75 18.75s8.395 18.75 18.75 18.75z" fill="#3e0663" fill-rule="evenodd"/>
    
    19
    -    <path d="m894.538 0c2.762 0 5.018 2.24554 4.836 5.001-2.573 39.0897-35.095 69.999-74.836 69.999-39.74 0-72.262-30.9093-74.836-69.999-.181-2.75546 2.075-5.001 4.836-5.001z" fill="#3e0663"/>
    
    20
    -    <path d="m894.538 75c2.762 0 5.018 2.2455 4.836 5.001-2.573 39.09-35.095 69.999-74.836 69.999-39.74 0-72.262-30.909-74.836-69.999-.181-2.7555 2.075-5.001 4.836-5.001z" fill="#350556"/>
    
    21
    -    <path clip-rule="evenodd" d="m974.385 145c38.655 0 69.995-31.34 69.995-70 0-38.6599-31.34-70-69.995-70-38.66 0-70 31.3401-70 70 0 38.66 31.34 70 70 70zm0 5c41.425 0 74.995-33.579 74.995-75 0-41.4214-33.57-75-74.995-75-41.422 0-75 33.5786-75 75 0 41.421 33.578 75 75 75z" fill="#3e0663" fill-rule="evenodd"/>
    
    22
    -    <path clip-rule="evenodd" d="m974.385 126.25c28.305 0 51.245-22.945 51.245-51.25 0-28.3046-22.94-51.25-51.245-51.25s-51.25 22.9454-51.25 51.25c0 28.305 22.945 51.25 51.25 51.25zm0 5c31.065 0 56.245-25.184 56.245-56.25s-25.18-56.25-56.245-56.25c-31.066 0-56.25 25.184-56.25 56.25s25.184 56.25 56.25 56.25z" fill="#3e0663" fill-rule="evenodd"/>
    
    23
    -    <path clip-rule="evenodd" d="m974.385 107.5c17.949 0 32.495-14.5507 32.495-32.5s-14.546-32.5-32.495-32.5c-17.95 0-32.5 14.5507-32.5 32.5s14.55 32.5 32.5 32.5zm0 5c20.71 0 37.495-16.7893 37.495-37.5s-16.785-37.5-37.495-37.5c-20.711 0-37.5 16.7893-37.5 37.5s16.789 37.5 37.5 37.5z" fill="#3e0663" fill-rule="evenodd"/>
    
    24
    -    <path clip-rule="evenodd" d="m974.385 88.75c7.593 0 13.75-6.1561 13.75-13.75s-6.157-13.75-13.75-13.75c-7.594 0-13.75 6.1561-13.75 13.75s6.156 13.75 13.75 13.75zm0 5c10.355 0 18.75-8.3947 18.75-18.75s-8.395-18.75-18.75-18.75c-10.356 0-18.75 8.3947-18.75 18.75s8.394 18.75 18.75 18.75z" fill="#3e0663" fill-rule="evenodd"/>
    
    25
    -    <path d="m1199.38 145c0 2.761-2.24 5.017-5 4.836-39.09-2.573-70-35.095-70-74.836 0-39.7409 30.91-72.26248 70-74.835903 2.76-.1814017 5 2.074493 5 4.835913z" fill="#3e0663"/>
    
    26
    -    <path d="m1124.38 145c0 2.761-2.24 5.017-5 4.836-39.09-2.573-70-35.095-70-74.836 0-39.7409 30.91-72.26248 70-74.835903 2.76-.1814017 5 2.074493 5 4.835913z" fill="#350556"/>
    
    27
    -</svg>

  • browser/components/abouttor/jar.mn
    ... ... @@ -7,4 +7,3 @@ browser.jar:
    7 7
       content/browser/abouttor/26a1-high-voltage.svg  (content/26a1-high-voltage.svg)
    
    8 8
       content/browser/abouttor/2728-sparkles.svg      (content/2728-sparkles.svg)
    
    9 9
       content/browser/abouttor/2764-red-heart.svg     (content/2764-red-heart.svg)
    10
    -  content/browser/abouttor/onion-pattern.svg      (content/onion-pattern.svg)

  • toolkit/components/torconnect/content/aboutTorConnect.css
    ... ... @@ -3,6 +3,7 @@
    3 3
     
    
    4 4
     @import url("chrome://global/skin/error-pages.css");
    
    5 5
     @import url("chrome://global/skin/tor-colors.css");
    
    6
    +@import url("chrome://global/skin/onion-pattern.css");
    
    6 7
     
    
    7 8
     :root {
    
    8 9
       --onion-opacity: 1;
    
    ... ... @@ -250,13 +251,8 @@ form#locationDropdown select {
    250 251
     
    
    251 252
     body.aboutTorConnect {
    
    252 253
       justify-content: space-between;
    
    253
    -  background:
    
    254
    -    local
    
    255
    -    url("chrome://global/content/torconnect/onion-pattern.svg")
    
    256
    -    center bottom
    
    257
    -    repeat-x;
    
    258 254
       /* Always reserve 150px for the background, plus 15px padding with content. */
    
    259
    -  padding-block-end: 175px;
    
    255
    +  padding-block-end: calc(var(--onion-pattern-height) + 15px);
    
    260 256
     }
    
    261 257
     
    
    262 258
     body.aboutTorConnect .title {
    

  • toolkit/components/torconnect/content/aboutTorConnect.html
    ... ... @@ -19,7 +19,7 @@
    19 19
           src="chrome://global/content/elements/moz-toggle.mjs"
    
    20 20
         ></script>
    
    21 21
       </head>
    
    22
    -  <body class="aboutTorConnect">
    
    22
    +  <body class="aboutTorConnect onion-pattern-background">
    
    23 23
         <div id="progressBar" hidden="hidden">
    
    24 24
           <div id="progressSolid"></div>
    
    25 25
           <div id="progressBackground"></div>
    

  • toolkit/components/torconnect/jar.mn
    ... ... @@ -9,7 +9,6 @@ toolkit.jar:
    9 9
         content/global/torconnect/bridge.svg                                     (content/bridge.svg)
    
    10 10
         content/global/torconnect/connection-failure.svg                         (content/connection-failure.svg)
    
    11 11
         content/global/torconnect/connection-location.svg                        (content/connection-location.svg)
    
    12
    -    content/global/torconnect/onion-pattern.svg                              (content/onion-pattern.svg)
    
    13 12
         content/global/torconnect/tor-connect.svg                                (content/tor-connect.svg)
    
    14 13
         content/global/torconnect/tor-not-connected-to-connected-animated.svg    (content/tor-not-connected-to-connected-animated.svg)
    
    15 14
         content/global/torconnect/tor-connect-broken.svg                         (content/tor-connect-broken.svg)

  • toolkit/themes/shared/desktop-jar.inc.mn
    ... ... @@ -42,6 +42,8 @@
    42 42
       skin/classic/global/notification.css                     (../../shared/notification.css)
    
    43 43
       skin/classic/global/numberinput.css                      (../../shared/numberinput.css)
    
    44 44
       skin/classic/global/offlineSupportPages.css              (../../shared/offlineSupportPages.css)
    
    45
    +  skin/classic/global/onion-pattern.css                    (../../shared/onion-pattern.css)
    
    46
    +  skin/classic/global/onion-pattern.svg                    (../../shared/onion-pattern.svg)
    
    45 47
       skin/classic/global/popup.css                            (../../shared/popup.css)
    
    46 48
       skin/classic/global/popupnotification.css                (../../shared/popupnotification.css)
    
    47 49
       skin/classic/global/splitter.css                         (../../shared/splitter.css)
    

  • toolkit/themes/shared/onion-pattern.css
    1
    +:root {
    
    2
    +  /* color-grey-light-20, color-grey-dark-40 */
    
    3
    +  --onion-pattern-stroke-color: light-dark(#f0f0f4, #3a3944);
    
    4
    +  /* color-grey-light-10, color-grey-dark-60 */
    
    5
    +  --onion-pattern-fill-color: light-dark(#f9f9fb, #2b2a33);
    
    6
    +  --onion-pattern-height: 150px;
    
    7
    +}
    
    8
    +
    
    9
    +.onion-pattern-background {
    
    10
    +  -moz-context-properties: stroke, fill;
    
    11
    +  stroke: var(--onion-pattern-stroke-color);
    
    12
    +  fill: var(--onion-pattern-fill-color);
    
    13
    +  background:
    
    14
    +    local
    
    15
    +    url("chrome://global/skin/onion-pattern.svg")
    
    16
    +    center bottom
    
    17
    +    repeat-x;
    
    18
    +}

  • toolkit/components/torconnect/content/onion-pattern.svgtoolkit/themes/shared/onion-pattern.svg
    1 1
     <svg width="1200" height="150" viewBox="0 0 1200 150" fill="none" xmlns="http://www.w3.org/2000/svg">
    
    2
    -<circle cx="3" cy="75" r="72.5" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    3
    -<circle cx="3" cy="75" r="53.75" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    4
    -<circle cx="3" cy="75" r="35" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    5
    -<circle cx="3" cy="75" r="16.25" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    6
    -<path d="M223 0C225.761 0 228.017 2.24554 227.836 5.001C225.262 44.0907 192.741 75 153 75C113.259 75 80.7375 44.0907 78.1641 5.001C77.9827 2.24554 80.2386 0 83 0H223Z" fill="#D7D7DB" fill-opacity="0.3"/>
    
    7
    -<path d="M223 75C225.761 75 228.017 77.2455 227.836 80.001C225.262 119.091 192.741 150 153 150C113.259 150 80.7375 119.091 78.1641 80.001C77.9827 77.2455 80.2386 75 83 75H223Z" fill="#D7D7DB" fill-opacity="0.2"/>
    
    8
    -<circle cx="303" cy="75" r="72.5" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    9
    -<circle cx="303" cy="75" r="53.75" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    10
    -<circle cx="303" cy="75" r="35" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    11
    -<circle cx="303" cy="75" r="16.25" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    12
    -<path d="M378 5C378 2.23859 380.246 -0.0173187 383.001 0.164093C422.091 2.7375 453 35.2591 453 75C453 114.741 422.091 147.262 383.001 149.836C380.246 150.017 378 147.761 378 145V5Z" fill="#D7D7DB" fill-opacity="0.3"/>
    
    13
    -<path d="M453 5C453 2.23859 455.246 -0.0173187 458.001 0.164093C497.091 2.7375 528 35.2591 528 75C528 114.741 497.091 147.262 458.001 149.836C455.246 150.017 453 147.761 453 145V5Z" fill="#D7D7DB" fill-opacity="0.2"/>
    
    14
    -<circle cx="603" cy="75" r="72.5" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    15
    -<circle cx="603" cy="75" r="53.75" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    16
    -<circle cx="603" cy="75" r="35" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    17
    -<circle cx="603" cy="75" r="16.25" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    18
    -<path d="M823 0C825.761 0 828.017 2.24554 827.836 5.001C825.262 44.0907 792.741 75 753 75C713.259 75 680.738 44.0907 678.164 5.001C677.983 2.24554 680.239 0 683 0H823Z" fill="#D7D7DB" fill-opacity="0.3"/>
    
    19
    -<path d="M823 75C825.761 75 828.017 77.2455 827.836 80.001C825.262 119.091 792.741 150 753 150C713.259 150 680.738 119.091 678.164 80.001C677.983 77.2455 680.239 75 683 75H823Z" fill="#D7D7DB" fill-opacity="0.2"/>
    
    20
    -<circle cx="903" cy="75" r="72.5" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    21
    -<circle cx="903" cy="75" r="53.75" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    22
    -<circle cx="903" cy="75" r="35" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    23
    -<circle cx="903" cy="75" r="16.25" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    24
    -<path d="M1128 145C1128 147.761 1125.75 150.017 1123 149.836C1083.91 147.262 1053 114.741 1053 75C1053 35.2591 1083.91 2.73751 1123 0.164089C1125.75 -0.0173134 1128 2.23858 1128 5V145Z" fill="#D7D7DB" fill-opacity="0.3"/>
    
    25
    -<path d="M1053 145C1053 147.761 1050.75 150.017 1048 149.836C1008.91 147.262 978 114.741 978 75C978 35.2591 1008.91 2.73751 1048 0.164089C1050.75 -0.0173134 1053 2.23858 1053 5V145Z" fill="#D7D7DB" fill-opacity="0.2"/>
    
    26
    -<circle cx="1203" cy="75" r="72.5" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    27
    -<circle cx="1203" cy="75" r="53.75" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    28
    -<circle cx="1203" cy="75" r="35" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    29
    -<circle cx="1203" cy="75" r="16.25" stroke="#D7D7DB" stroke-opacity="0.3" stroke-width="5"/>
    
    2
    +<circle cx="3" cy="75" r="72.5" stroke="context-stroke" stroke-width="5"/>
    
    3
    +<circle cx="3" cy="75" r="53.75" stroke="context-stroke" stroke-width="5"/>
    
    4
    +<circle cx="3" cy="75" r="35" stroke="context-stroke" stroke-width="5"/>
    
    5
    +<circle cx="3" cy="75" r="16.25" stroke="context-stroke" stroke-width="5"/>
    
    6
    +<path d="M223 0C225.761 0 228.017 2.24554 227.836 5.001C225.262 44.0907 192.741 75 153 75C113.259 75 80.7375 44.0907 78.1641 5.001C77.9827 2.24554 80.2386 0 83 0H223Z" fill="context-stroke"/>
    
    7
    +<path d="M223 75C225.761 75 228.017 77.2455 227.836 80.001C225.262 119.091 192.741 150 153 150C113.259 150 80.7375 119.091 78.1641 80.001C77.9827 77.2455 80.2386 75 83 75H223Z" fill="context-fill"/>
    
    8
    +<circle cx="303" cy="75" r="72.5" stroke="context-stroke" stroke-width="5"/>
    
    9
    +<circle cx="303" cy="75" r="53.75" stroke="context-stroke" stroke-width="5"/>
    
    10
    +<circle cx="303" cy="75" r="35" stroke="context-stroke" stroke-width="5"/>
    
    11
    +<circle cx="303" cy="75" r="16.25" stroke="context-stroke" stroke-width="5"/>
    
    12
    +<path d="M378 5C378 2.23859 380.246 -0.0173187 383.001 0.164093C422.091 2.7375 453 35.2591 453 75C453 114.741 422.091 147.262 383.001 149.836C380.246 150.017 378 147.761 378 145V5Z" fill="context-stroke"/>
    
    13
    +<path d="M453 5C453 2.23859 455.246 -0.0173187 458.001 0.164093C497.091 2.7375 528 35.2591 528 75C528 114.741 497.091 147.262 458.001 149.836C455.246 150.017 453 147.761 453 145V5Z" fill="context-fill"/>
    
    14
    +<circle cx="603" cy="75" r="72.5" stroke="context-stroke" stroke-width="5"/>
    
    15
    +<circle cx="603" cy="75" r="53.75" stroke="context-stroke" stroke-width="5"/>
    
    16
    +<circle cx="603" cy="75" r="35" stroke="context-stroke" stroke-width="5"/>
    
    17
    +<circle cx="603" cy="75" r="16.25" stroke="context-stroke" stroke-width="5"/>
    
    18
    +<path d="M823 0C825.761 0 828.017 2.24554 827.836 5.001C825.262 44.0907 792.741 75 753 75C713.259 75 680.738 44.0907 678.164 5.001C677.983 2.24554 680.239 0 683 0H823Z" fill="context-stroke"/>
    
    19
    +<path d="M823 75C825.761 75 828.017 77.2455 827.836 80.001C825.262 119.091 792.741 150 753 150C713.259 150 680.738 119.091 678.164 80.001C677.983 77.2455 680.239 75 683 75H823Z" fill="context-fill"/>
    
    20
    +<circle cx="903" cy="75" r="72.5" stroke="context-stroke" stroke-width="5"/>
    
    21
    +<circle cx="903" cy="75" r="53.75" stroke="context-stroke" stroke-width="5"/>
    
    22
    +<circle cx="903" cy="75" r="35" stroke="context-stroke" stroke-width="5"/>
    
    23
    +<circle cx="903" cy="75" r="16.25" stroke="context-stroke" stroke-width="5"/>
    
    24
    +<path d="M1128 145C1128 147.761 1125.75 150.017 1123 149.836C1083.91 147.262 1053 114.741 1053 75C1053 35.2591 1083.91 2.73751 1123 0.164089C1125.75 -0.0173134 1128 2.23858 1128 5V145Z" fill="context-stroke"/>
    
    25
    +<path d="M1053 145C1053 147.761 1050.75 150.017 1048 149.836C1008.91 147.262 978 114.741 978 75C978 35.2591 1008.91 2.73751 1048 0.164089C1050.75 -0.0173134 1053 2.23858 1053 5V145Z" fill="context-fill"/>
    
    26
    +<circle cx="1203" cy="75" r="72.5" stroke="context-stroke" stroke-width="5"/>
    
    27
    +<circle cx="1203" cy="75" r="53.75" stroke="context-stroke" stroke-width="5"/>
    
    28
    +<circle cx="1203" cy="75" r="35" stroke="context-stroke" stroke-width="5"/>
    
    29
    +<circle cx="1203" cy="75" r="16.25" stroke="context-stroke" stroke-width="5"/>
    
    30 30
     </svg>