3LAS implementation
@@ -0,0 +1,66 @@
|
||||
p#logwindowbutton
|
||||
{
|
||||
cursor: pointer;
|
||||
font-size: 8pt;
|
||||
-webkit-border-top-left-radius: 2pt;
|
||||
-moz-border-radius-topleft: 2pt;
|
||||
-o-border-radius-topleft: 2pt;
|
||||
border-top-left-radius: 2pt;
|
||||
|
||||
-webkit-border-top-right-radius: 2pt;
|
||||
-moz-border-radius-topright: 2pt;
|
||||
-o-border-radius-topright: 2pt;
|
||||
border-top-right-radius: 2pt;
|
||||
|
||||
-webkit-border-bottom-right-radius: 2pt;
|
||||
-moz-border-radius-bottomright: 2pt;
|
||||
-o-border-radius-bottomright: 2pt;
|
||||
border-bottom-right-radius: 2pt;
|
||||
|
||||
-webkit-border-bottom-left-radius: 2pt;
|
||||
-moz-border-radius-bottomleft: 2pt;
|
||||
-o-border-radius-bottomleft: 2pt;
|
||||
border-bottom-left-radius: 2pt;
|
||||
background: #111111;
|
||||
color: #F0F0E1;
|
||||
padding: 2pt;
|
||||
width: 90pt;
|
||||
|
||||
border: 1pt solid #777777;
|
||||
}
|
||||
|
||||
ul#logwindow
|
||||
{
|
||||
font-family: monospace;
|
||||
font-size: 8pt;
|
||||
display: none;
|
||||
-webkit-border-top-left-radius: 2pt;
|
||||
-moz-border-radius-topleft: 2pt;
|
||||
-o-border-radius-topleft: 2pt;
|
||||
border-top-left-radius: 2pt;
|
||||
|
||||
-webkit-border-top-right-radius: 2pt;
|
||||
-moz-border-radius-topright: 2pt;
|
||||
-o-border-radius-topright: 2pt;
|
||||
border-top-right-radius: 2pt;
|
||||
|
||||
-webkit-border-bottom-right-radius: 2pt;
|
||||
-moz-border-radius-bottomright: 2pt;
|
||||
-o-border-radius-bottomright: 2pt;
|
||||
border-bottom-right-radius: 2pt;
|
||||
|
||||
-webkit-border-bottom-left-radius: 2pt;
|
||||
-moz-border-radius-bottomleft: 2pt;
|
||||
-o-border-radius-bottomleft: 2pt;
|
||||
border-bottom-left-radius: 2pt;
|
||||
background: #CCCCCC;
|
||||
padding: 2pt;
|
||||
|
||||
border: 1pt solid #EEEEEE;
|
||||
}
|
||||
|
||||
ul#logwindow li
|
||||
{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
div#viewcontainer
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.errormessage
|
||||
{
|
||||
position: absolute;
|
||||
display: none;
|
||||
width: 200pt;
|
||||
height: 150pt;
|
||||
left: 0pt;
|
||||
top: 0pt;
|
||||
font-family: sans-serif;
|
||||
font-size: 20pt;
|
||||
font-weight: 200;
|
||||
color: #EE0000;
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
div#chromesuggestion
|
||||
{
|
||||
position: absolute;
|
||||
display: none;
|
||||
width: 200pt;
|
||||
height: 150pt;
|
||||
left: 0pt;
|
||||
top: 0pt;
|
||||
font-family: sans-serif;
|
||||
font-size: 15pt;
|
||||
font-weight: 200;
|
||||
color: #EEEEEE;
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
div#chromesuggestion a,span
|
||||
{
|
||||
text-decoration: none;
|
||||
color: #888888;
|
||||
}
|
||||
|
||||
div#lightoff
|
||||
{
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 0pt;
|
||||
top: 0pt;
|
||||
z-index: 9999999;
|
||||
background: black;
|
||||
opacity: 0.9;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
div#lightbutton
|
||||
{
|
||||
background-image: url(../../images/3las/light.svg);
|
||||
-webkit-background-size: 100% 100%;
|
||||
-moz-background-size: 100% 100%;
|
||||
-o-background-size: 100% 100%;
|
||||
background-size: 100% 100%;
|
||||
position: absolute;
|
||||
width: 50pt;
|
||||
height: 50pt;
|
||||
right: 0;
|
||||
top: 0;
|
||||
z-index: 99999999;
|
||||
cursor: pointer;
|
||||
}
|
||||
@@ -0,0 +1,274 @@
|
||||
div#audioplayer
|
||||
{
|
||||
position: relative;
|
||||
width: 180pt;
|
||||
height: 100pt;
|
||||
|
||||
background: #4c4e5a;
|
||||
background: -moz-linear-gradient(top, #4c4e5a 0%, #2c2d33 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4c4e5a), color-stop(100%,#2c2d33));
|
||||
background: -webkit-linear-gradient(top, #4c4e5a 0%,#2c2d33 100%);
|
||||
background: -o-linear-gradient(top, #4c4e5a 0%,#2c2d33 100%);
|
||||
background: -ms-linear-gradient(top, #4c4e5a 0%,#2c2d33 100%);
|
||||
background: linear-gradient(to bottom, #4c4e5a 0%,#2c2d33 100%);
|
||||
|
||||
-webkit-border-top-left-radius: 2pt;
|
||||
-moz-border-radius-topleft: 2pt;
|
||||
-o-border-radius-topleft: 2pt;
|
||||
border-top-left-radius: 2pt;
|
||||
|
||||
-webkit-border-top-right-radius: 2pt;
|
||||
-moz-border-radius-topright: 2pt;
|
||||
-o-border-radius-topright: 2pt;
|
||||
border-top-right-radius: 2pt;
|
||||
|
||||
-webkit-border-bottom-right-radius: 2pt;
|
||||
-moz-border-radius-bottomright: 2pt;
|
||||
-o-border-radius-bottomright: 2pt;
|
||||
border-bottom-right-radius: 2pt;
|
||||
|
||||
-webkit-border-bottom-left-radius: 2pt;
|
||||
-moz-border-radius-bottomleft: 2pt;
|
||||
-o-border-radius-bottomleft: 2pt;
|
||||
border-bottom-left-radius: 2pt;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
div#audioplayer div#volumebar
|
||||
{
|
||||
position: absolute;
|
||||
visibility: hidden;
|
||||
top: 65pt;
|
||||
left: 15pt;
|
||||
width: 150pt;
|
||||
height: 20pt;
|
||||
}
|
||||
|
||||
div#audioplayer div#activityindicator
|
||||
{
|
||||
position: absolute;
|
||||
top: 5pt;
|
||||
left: 5pt;
|
||||
width: 20pt;
|
||||
height: 20pt;
|
||||
-webkit-border-top-left-radius: 10pt;
|
||||
-moz-border-radius-topleft: 10pt;
|
||||
-o-border-radius-topleft: 10pt;
|
||||
border-top-left-radius: 10pt;
|
||||
|
||||
-webkit-border-top-right-radius: 10pt;
|
||||
-moz-border-radius-topright: 10pt;
|
||||
-o-border-radius-topright: 10pt;
|
||||
border-top-right-radius: 10pt;
|
||||
|
||||
-webkit-border-bottom-right-radius: 10pt;
|
||||
-moz-border-radius-bottomright: 10pt;
|
||||
-o-border-radius-bottomright: 10pt;
|
||||
border-bottom-right-radius: 10pt;
|
||||
|
||||
-webkit-border-bottom-left-radius: 10pt;
|
||||
-moz-border-radius-bottomleft: 10pt;
|
||||
-o-border-radius-bottomleft: 10pt;
|
||||
border-bottom-left-radius: 10pt;
|
||||
|
||||
|
||||
-webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3) inset, 1px 1px 1px rgba(255, 255, 255, 0.25);
|
||||
-moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3) inset, 1px 1px 1px rgba(255, 255, 255, 0.25);
|
||||
-o-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3) inset, 1px 1px 1px rgba(255, 255, 255, 0.25);
|
||||
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3) inset, 1px 1px 1px rgba(255, 255, 255, 0.25);
|
||||
|
||||
}
|
||||
|
||||
div#audioplayer div#activityindicator div#redlighton
|
||||
{
|
||||
position: absolute;
|
||||
visibility: hidden;
|
||||
top: 1pt;
|
||||
left: 1pt;
|
||||
width: 19pt;
|
||||
height: 19pt;
|
||||
background-image: url(../../images/3las/red_light_on.svg);
|
||||
-webkit-background-size: 100% 100%;
|
||||
-moz-background-size: 100% 100%;
|
||||
-o-background-size: 100% 100%;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
div#audioplayer div#activityindicator div#redlightoff
|
||||
{
|
||||
position: absolute;
|
||||
top: 1pt;
|
||||
left: 1pt;
|
||||
width: 19pt;
|
||||
height: 19pt;
|
||||
background-image: url(../../images/3las/red_light_off.svg);
|
||||
-webkit-background-size: 100% 100%;
|
||||
-moz-background-size: 100% 100%;
|
||||
-o-background-size: 100% 100%;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
div#audioplayer div#volumebar *
|
||||
{
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: medium none;
|
||||
outline: medium none;
|
||||
}
|
||||
|
||||
div#audioplayer div#volumebar div#totalvolume
|
||||
{
|
||||
position: absolute;
|
||||
top: 3pt;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 14pt;
|
||||
|
||||
|
||||
-webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3) inset, 1px 1px 1px rgba(255, 255, 255, 0.25);
|
||||
-moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3) inset, 1px 1px 1px rgba(255, 255, 255, 0.25);
|
||||
-o-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3) inset, 1px 1px 1px rgba(255, 255, 255, 0.25);
|
||||
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3) inset, 1px 1px 1px rgba(255, 255, 255, 0.25);
|
||||
|
||||
background: none repeat scroll 0% 0% rgb(33, 34, 39);
|
||||
|
||||
|
||||
-webkit-border-top-left-radius: 7pt;
|
||||
-moz-border-radius-topleft: 7pt;
|
||||
-o-border-radius-topleft: 7pt;
|
||||
border-top-left-radius: 7pt;
|
||||
|
||||
-webkit-border-top-right-radius: 7pt;
|
||||
-moz-border-radius-topright: 7pt;
|
||||
-o-border-radius-topright: 7pt;
|
||||
border-top-right-radius: 7pt;
|
||||
|
||||
-webkit-border-bottom-right-radius: 7pt;
|
||||
-moz-border-radius-bottomright: 7pt;
|
||||
-o-border-radius-bottomright: 7pt;
|
||||
border-bottom-right-radius: 7pt;
|
||||
|
||||
-webkit-border-bottom-left-radius: 7pt;
|
||||
-moz-border-radius-bottomleft: 7pt;
|
||||
-o-border-radius-bottomleft: 7pt;
|
||||
border-bottom-left-radius: 7pt;
|
||||
}
|
||||
|
||||
div#audioplayer div#volumebar div#currentvolume
|
||||
{
|
||||
position: absolute;
|
||||
top: 4pt;
|
||||
left: 1pt;
|
||||
width: 75pt;
|
||||
height: 12pt;
|
||||
background-image: url(../../images/3las/bar.svg);
|
||||
-webkit-border-top-left-radius: 6pt;
|
||||
-moz-border-radius-topleft: 6pt;
|
||||
-o-border-radius-topleft: 6pt;
|
||||
border-top-left-radius: 6pt;
|
||||
-webkit-border-bottom-left-radius: 6pt;
|
||||
-moz-border-radius-bottomleft: 6pt;
|
||||
-o-border-radius-bottomleft: 6pt;
|
||||
border-bottom-left-radius: 6pt;
|
||||
}
|
||||
|
||||
div#audioplayer div#volumebar div#volumeknob
|
||||
{
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 75pt;
|
||||
width: 20pt;
|
||||
height: 20pt;
|
||||
background-image: url(../../images/3las/knob.svg);
|
||||
-webkit-background-size: 100% 100%;
|
||||
-moz-background-size: 100% 100%;
|
||||
-o-background-size: 100% 100%;
|
||||
background-size: 100% 100%;
|
||||
margin-left: -10pt;
|
||||
}
|
||||
|
||||
div#audioplayer div#playbuttonoverlay *
|
||||
{
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: medium none;
|
||||
outline: medium none;
|
||||
}
|
||||
|
||||
div#audioplayer div#playbuttonoverlay
|
||||
{
|
||||
position: absolute;
|
||||
top: 15pt;
|
||||
left: 15pt;
|
||||
width: 150pt;
|
||||
height: 70pt;
|
||||
}
|
||||
|
||||
div#audioplayer div#playbuttonoverlay div#playbutton
|
||||
{
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0pt;
|
||||
left: 40pt;
|
||||
width: 70pt;
|
||||
height: 70pt;
|
||||
background-image: url(../../images/3las/play.svg);
|
||||
-webkit-background-size: 100% 100%;
|
||||
-moz-background-size: 100% 100%;
|
||||
-o-background-size: 100% 100%;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
div#audioplayer div#controlbar *
|
||||
{
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: medium none;
|
||||
outline: medium none;
|
||||
}
|
||||
|
||||
div#audioplayer div#controlbar
|
||||
{
|
||||
position: absolute;
|
||||
visibility: hidden;
|
||||
top: 15pt;
|
||||
left: 15pt;
|
||||
width: 150pt;
|
||||
height: 50pt;
|
||||
}
|
||||
|
||||
div#audioplayer div#controlbar div#mutebutton
|
||||
{
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0pt;
|
||||
left: 51.5pt;
|
||||
width: 47pt;
|
||||
height: 40pt;
|
||||
background-image: url(../../images/3las/mute.svg);
|
||||
-webkit-background-size: 100% 100%;
|
||||
-moz-background-size: 100% 100%;
|
||||
-o-background-size: 100% 100%;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
div#audioplayer div#controlbar div#unmutebutton
|
||||
{
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0pt;
|
||||
left: 51.5pt;
|
||||
width: 47pt;
|
||||
height: 40pt;
|
||||
background-image: url(../../images/3las/unmute.svg);
|
||||
-webkit-background-size: 100% 100%;
|
||||
-moz-background-size: 100% 100%;
|
||||
-o-background-size: 100% 100%;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
@@ -1,3 +1,16 @@
|
||||
.play-button {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 0;
|
||||
border-radius: 30px;
|
||||
transition: 0.3s ease-in-out background-color;
|
||||
background-color: var(--color-4);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.play-button:hover {
|
||||
background-color: var(--color-main-bright);
|
||||
}
|
||||
|
||||
#tune-buttons input[type="text"] {
|
||||
width: 50%;
|
||||
@@ -73,7 +86,7 @@ input[type="range"]::-webkit-slider-thumb {
|
||||
/* creating a custom design */
|
||||
height: 48px;
|
||||
width: 48px;
|
||||
background-color: #fff;
|
||||
background-color: var(--color-4);
|
||||
border-radius: 10px;
|
||||
border: 2px solid var(--color-4);
|
||||
/* slider progress trick */
|
||||
|
||||
@@ -26,6 +26,10 @@
|
||||
color: var(--color-4);
|
||||
}
|
||||
|
||||
.br-5 {
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.flex-container {
|
||||
display: flex;
|
||||
}
|
||||
@@ -36,11 +40,24 @@
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.flex-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.hover-brighten {
|
||||
transition: 0.3s ease-in-out background-color;
|
||||
}
|
||||
|
||||
.hover-brighten:hover {
|
||||
cursor: pointer;
|
||||
background-color: var(--color-2);
|
||||
}
|
||||
|
||||
.text-left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.text-big {
|
||||
font-size: 60px;
|
||||
font-weight: 300;
|
||||
@@ -68,6 +85,22 @@
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.top-10 {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.bottom-20 {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.bottom-50 {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
.p-10 {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 960px) {
|
||||
.text-medium-big {
|
||||
font-size: 32px;
|
||||
|
||||
@@ -44,6 +44,7 @@ body {
|
||||
color: white;
|
||||
background-color: var(--color-main);
|
||||
transition: 0.3s ease-in-out background-color;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
|
||||
@@ -29,10 +29,6 @@
|
||||
min-width: 500px;
|
||||
}
|
||||
|
||||
.modal-content p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.modal-title {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<svg xmlns='http://www.w3.org/2000/svg' width='15' height='30' viewBox='0 0 5 10'>
|
||||
<rect width='110%' x='-5%' y='-5%' height='110%' fill='#82c866'/>
|
||||
<line x1='-2' y1='1' x2='7' y2='10' stroke='#51a646' stroke-width='2'/>
|
||||
<line x1='-2' y1='6' x2='7' y2='15' stroke='#51a646' stroke-width='2'/>
|
||||
<line x1='-2' y1='-4' x2='7' y2='5' stroke='#51a646' stroke-width='2'/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 375 B |
@@ -0,0 +1,869 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
enable-background="new 0 0 52 52"
|
||||
xml:space="preserve"
|
||||
id="svg3883"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="knob.svg"><metadata
|
||||
id="metadata4200"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
|
||||
inkscape:window-height="640"
|
||||
inkscape:window-width="937"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
guidetolerance="10.0"
|
||||
gridtolerance="10.0"
|
||||
objecttolerance="10.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
inkscape:zoom="8.3653846"
|
||||
inkscape:cx="26.000002"
|
||||
inkscape:cy="26"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:current-layer="svg3883"
|
||||
showgrid="false"
|
||||
inkscape:window-maximized="0" />
|
||||
<defs
|
||||
id="defs3885">
|
||||
</defs>
|
||||
<linearGradient
|
||||
id="SVGID_1_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-59.786598"
|
||||
y1="-115.917"
|
||||
x2="-93.212303"
|
||||
y2="-76.081802"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#000000"
|
||||
id="stop3888" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop3890" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="26"
|
||||
id="circle3892"
|
||||
style="fill:url(#SVGID_1_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="26"
|
||||
sodipodi:ry="26"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
<linearGradient
|
||||
id="SVGID_2_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-100.5"
|
||||
y1="-96"
|
||||
x2="-52.5"
|
||||
y2="-96"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#8AADCE"
|
||||
id="stop3895" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop3897" />
|
||||
<stop
|
||||
offset="0.6043"
|
||||
style="stop-color:#E7EAED"
|
||||
id="stop3899" />
|
||||
<stop
|
||||
offset="0.6751"
|
||||
style="stop-color:#DEE4E7"
|
||||
id="stop3901" />
|
||||
<stop
|
||||
offset="0.7358"
|
||||
style="stop-color:#CFD9DD"
|
||||
id="stop3903" />
|
||||
<stop
|
||||
offset="0.791"
|
||||
style="stop-color:#B9CACF"
|
||||
id="stop3905" />
|
||||
<stop
|
||||
offset="0.8425"
|
||||
style="stop-color:#9EB6BD"
|
||||
id="stop3907" />
|
||||
<stop
|
||||
offset="0.891"
|
||||
style="stop-color:#7B9EA7"
|
||||
id="stop3909" />
|
||||
<stop
|
||||
offset="0.9374"
|
||||
style="stop-color:#53828C"
|
||||
id="stop3911" />
|
||||
<stop
|
||||
offset="0.9809"
|
||||
style="stop-color:#25626E"
|
||||
id="stop3913" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0E525F"
|
||||
id="stop3915" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="24"
|
||||
id="circle3917"
|
||||
style="fill:url(#SVGID_2_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="24"
|
||||
sodipodi:ry="24"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
<linearGradient
|
||||
id="SVGID_3_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-98.632797"
|
||||
y1="-96"
|
||||
x2="-54.367199"
|
||||
y2="-96"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#8AADCE"
|
||||
id="stop3920" />
|
||||
<stop
|
||||
offset="0.073"
|
||||
style="stop-color:#8FAECB"
|
||||
id="stop3922" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop3924" />
|
||||
<stop
|
||||
offset="0.5902"
|
||||
style="stop-color:#E7E9ED"
|
||||
id="stop3926" />
|
||||
<stop
|
||||
offset="0.618"
|
||||
style="stop-color:#E4E7EB"
|
||||
id="stop3928" />
|
||||
<stop
|
||||
offset="0.6697"
|
||||
style="stop-color:#E0E4E9"
|
||||
id="stop3930" />
|
||||
<stop
|
||||
offset="0.7211"
|
||||
style="stop-color:#D4DCE1"
|
||||
id="stop3932" />
|
||||
<stop
|
||||
offset="0.7722"
|
||||
style="stop-color:#C0CFD5"
|
||||
id="stop3934" />
|
||||
<stop
|
||||
offset="0.809"
|
||||
style="stop-color:#ADC2C9"
|
||||
id="stop3936" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0E525F"
|
||||
id="stop3938" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="22.132999"
|
||||
id="circle3940"
|
||||
style="fill:url(#SVGID_3_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="22.132999"
|
||||
sodipodi:ry="22.132999"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
<linearGradient
|
||||
id="SVGID_4_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-96.767097"
|
||||
y1="-96"
|
||||
x2="-56.232399"
|
||||
y2="-96"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#8AADCE"
|
||||
id="stop3943" />
|
||||
<stop
|
||||
offset="0.073"
|
||||
style="stop-color:#86A7C4"
|
||||
id="stop3945" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop3947" />
|
||||
<stop
|
||||
offset="0.577"
|
||||
style="stop-color:#E7EAED"
|
||||
id="stop3949" />
|
||||
<stop
|
||||
offset="0.618"
|
||||
style="stop-color:#E1E6EA"
|
||||
id="stop3951" />
|
||||
<stop
|
||||
offset="0.6697"
|
||||
style="stop-color:#DDE3E8"
|
||||
id="stop3953" />
|
||||
<stop
|
||||
offset="0.7211"
|
||||
style="stop-color:#D1DBE1"
|
||||
id="stop3955" />
|
||||
<stop
|
||||
offset="0.7722"
|
||||
style="stop-color:#BDCDD5"
|
||||
id="stop3957" />
|
||||
<stop
|
||||
offset="0.809"
|
||||
style="stop-color:#AAC0CA"
|
||||
id="stop3959" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0E525F"
|
||||
id="stop3961" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="20.267"
|
||||
id="circle3963"
|
||||
style="fill:url(#SVGID_4_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="20.267"
|
||||
sodipodi:ry="20.267"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
<linearGradient
|
||||
id="SVGID_5_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-94.899902"
|
||||
y1="-96"
|
||||
x2="-58.099602"
|
||||
y2="-96"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#8AADCE"
|
||||
id="stop3966" />
|
||||
<stop
|
||||
offset="0.073"
|
||||
style="stop-color:#7E9FBC"
|
||||
id="stop3968" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop3970" />
|
||||
<stop
|
||||
offset="0.5709"
|
||||
style="stop-color:#E6E9ED"
|
||||
id="stop3972" />
|
||||
<stop
|
||||
offset="0.618"
|
||||
style="stop-color:#DFE4E9"
|
||||
id="stop3974" />
|
||||
<stop
|
||||
offset="0.6687"
|
||||
style="stop-color:#DBE1E7"
|
||||
id="stop3976" />
|
||||
<stop
|
||||
offset="0.7193"
|
||||
style="stop-color:#CFD9E0"
|
||||
id="stop3978" />
|
||||
<stop
|
||||
offset="0.7695"
|
||||
style="stop-color:#BBCCD6"
|
||||
id="stop3980" />
|
||||
<stop
|
||||
offset="0.809"
|
||||
style="stop-color:#A6BECA"
|
||||
id="stop3982" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0E525F"
|
||||
id="stop3984" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="18.4"
|
||||
id="circle3986"
|
||||
style="fill:url(#SVGID_5_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="18.4"
|
||||
sodipodi:ry="18.4"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
<linearGradient
|
||||
id="SVGID_6_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-93.033203"
|
||||
y1="-96"
|
||||
x2="-59.966801"
|
||||
y2="-96"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#8AADCE"
|
||||
id="stop3989" />
|
||||
<stop
|
||||
offset="0.073"
|
||||
style="stop-color:#7697B4"
|
||||
id="stop3991" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop3993" />
|
||||
<stop
|
||||
offset="0.5636"
|
||||
style="stop-color:#E6E9ED"
|
||||
id="stop3995" />
|
||||
<stop
|
||||
offset="0.618"
|
||||
style="stop-color:#DCE2E8"
|
||||
id="stop3997" />
|
||||
<stop
|
||||
offset="0.6687"
|
||||
style="stop-color:#D8DFE6"
|
||||
id="stop3999" />
|
||||
<stop
|
||||
offset="0.7193"
|
||||
style="stop-color:#CCD7E0"
|
||||
id="stop4001" />
|
||||
<stop
|
||||
offset="0.7695"
|
||||
style="stop-color:#B8CAD5"
|
||||
id="stop4003" />
|
||||
<stop
|
||||
offset="0.809"
|
||||
style="stop-color:#A3BCCA"
|
||||
id="stop4005" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0E525F"
|
||||
id="stop4007" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="16.533001"
|
||||
id="circle4009"
|
||||
style="fill:url(#SVGID_6_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="16.533001"
|
||||
sodipodi:ry="16.533001"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
<linearGradient
|
||||
id="SVGID_7_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-91.167"
|
||||
y1="-96"
|
||||
x2="-61.833"
|
||||
y2="-96"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#8AADCE"
|
||||
id="stop4012" />
|
||||
<stop
|
||||
offset="0.073"
|
||||
style="stop-color:#6D8FAD"
|
||||
id="stop4014" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop4016" />
|
||||
<stop
|
||||
offset="0.5605"
|
||||
style="stop-color:#E5E8EC"
|
||||
id="stop4018" />
|
||||
<stop
|
||||
offset="0.618"
|
||||
style="stop-color:#DAE1E7"
|
||||
id="stop4020" />
|
||||
<stop
|
||||
offset="0.6679"
|
||||
style="stop-color:#D6DEE5"
|
||||
id="stop4022" />
|
||||
<stop
|
||||
offset="0.7175"
|
||||
style="stop-color:#CAD6DF"
|
||||
id="stop4024" />
|
||||
<stop
|
||||
offset="0.7669"
|
||||
style="stop-color:#B6C9D6"
|
||||
id="stop4026" />
|
||||
<stop
|
||||
offset="0.809"
|
||||
style="stop-color:#9FBACB"
|
||||
id="stop4028" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0E525F"
|
||||
id="stop4030" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="14.667"
|
||||
id="circle4032"
|
||||
style="fill:url(#SVGID_7_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="14.667"
|
||||
sodipodi:ry="14.667"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
<linearGradient
|
||||
id="SVGID_8_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-89.299797"
|
||||
y1="-96"
|
||||
x2="-63.700199"
|
||||
y2="-96"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#8AADCE"
|
||||
id="stop4035" />
|
||||
<stop
|
||||
offset="0.073"
|
||||
style="stop-color:#6587A5"
|
||||
id="stop4037" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop4039" />
|
||||
<stop
|
||||
offset="0.5588"
|
||||
style="stop-color:#E4E8EC"
|
||||
id="stop4041" />
|
||||
<stop
|
||||
offset="0.618"
|
||||
style="stop-color:#D8DFE7"
|
||||
id="stop4043" />
|
||||
<stop
|
||||
offset="0.6675"
|
||||
style="stop-color:#D4DCE5"
|
||||
id="stop4045" />
|
||||
<stop
|
||||
offset="0.7167"
|
||||
style="stop-color:#C8D5E0"
|
||||
id="stop4047" />
|
||||
<stop
|
||||
offset="0.7657"
|
||||
style="stop-color:#B4C8D6"
|
||||
id="stop4049" />
|
||||
<stop
|
||||
offset="0.809"
|
||||
style="stop-color:#9CB8CB"
|
||||
id="stop4051" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0E525F"
|
||||
id="stop4053" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="12.8"
|
||||
id="circle4055"
|
||||
style="fill:url(#SVGID_8_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="12.8"
|
||||
sodipodi:ry="12.8"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
<linearGradient
|
||||
id="SVGID_9_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-87.433098"
|
||||
y1="-96"
|
||||
x2="-65.566399"
|
||||
y2="-96"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#8AADCE"
|
||||
id="stop4058" />
|
||||
<stop
|
||||
offset="0.073"
|
||||
style="stop-color:#5D809D"
|
||||
id="stop4060" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop4062" />
|
||||
<stop
|
||||
offset="0.5567"
|
||||
style="stop-color:#E3E7EC"
|
||||
id="stop4064" />
|
||||
<stop
|
||||
offset="0.618"
|
||||
style="stop-color:#D5DDE6"
|
||||
id="stop4066" />
|
||||
<stop
|
||||
offset="0.6671"
|
||||
style="stop-color:#D1DAE4"
|
||||
id="stop4068" />
|
||||
<stop
|
||||
offset="0.7159"
|
||||
style="stop-color:#C5D3DF"
|
||||
id="stop4070" />
|
||||
<stop
|
||||
offset="0.7645"
|
||||
style="stop-color:#B1C6D6"
|
||||
id="stop4072" />
|
||||
<stop
|
||||
offset="0.809"
|
||||
style="stop-color:#98B5CB"
|
||||
id="stop4074" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0E525F"
|
||||
id="stop4076" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="10.933"
|
||||
id="circle4078"
|
||||
style="fill:url(#SVGID_9_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="10.933"
|
||||
sodipodi:ry="10.933"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
<linearGradient
|
||||
id="SVGID_10_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-85.565903"
|
||||
y1="-96"
|
||||
x2="-67.433601"
|
||||
y2="-96"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#8AADCE"
|
||||
id="stop4081" />
|
||||
<stop
|
||||
offset="0.073"
|
||||
style="stop-color:#547896"
|
||||
id="stop4083" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop4085" />
|
||||
<stop
|
||||
offset="0.5588"
|
||||
style="stop-color:#E1E6EB"
|
||||
id="stop4087" />
|
||||
<stop
|
||||
offset="0.618"
|
||||
style="stop-color:#D3DCE5"
|
||||
id="stop4089" />
|
||||
<stop
|
||||
offset="0.6663"
|
||||
style="stop-color:#CFD9E3"
|
||||
id="stop4091" />
|
||||
<stop
|
||||
offset="0.7143"
|
||||
style="stop-color:#C3D2DF"
|
||||
id="stop4093" />
|
||||
<stop
|
||||
offset="0.7621"
|
||||
style="stop-color:#AFC5D7"
|
||||
id="stop4095" />
|
||||
<stop
|
||||
offset="0.809"
|
||||
style="stop-color:#94B3CC"
|
||||
id="stop4097" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0E525F"
|
||||
id="stop4099" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="9.066"
|
||||
id="circle4101"
|
||||
style="fill:url(#SVGID_10_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="9.066"
|
||||
sodipodi:ry="9.066"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
<linearGradient
|
||||
id="SVGID_11_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-83.700203"
|
||||
y1="-96"
|
||||
x2="-69.299797"
|
||||
y2="-96"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#8AADCE"
|
||||
id="stop4104" />
|
||||
<stop
|
||||
offset="0.073"
|
||||
style="stop-color:#4C708E"
|
||||
id="stop4106" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop4108" />
|
||||
<stop
|
||||
offset="0.5625"
|
||||
style="stop-color:#DEE4EA"
|
||||
id="stop4110" />
|
||||
<stop
|
||||
offset="0.618"
|
||||
style="stop-color:#D0DAE4"
|
||||
id="stop4112" />
|
||||
<stop
|
||||
offset="0.6663"
|
||||
style="stop-color:#CCD7E2"
|
||||
id="stop4114" />
|
||||
<stop
|
||||
offset="0.7143"
|
||||
style="stop-color:#C0D0DE"
|
||||
id="stop4116" />
|
||||
<stop
|
||||
offset="0.7621"
|
||||
style="stop-color:#ACC3D6"
|
||||
id="stop4118" />
|
||||
<stop
|
||||
offset="0.809"
|
||||
style="stop-color:#91B1CC"
|
||||
id="stop4120" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0E525F"
|
||||
id="stop4122" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="7.1999998"
|
||||
id="circle4124"
|
||||
style="fill:url(#SVGID_11_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="7.1999998"
|
||||
sodipodi:ry="7.1999998"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
<linearGradient
|
||||
id="SVGID_12_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-81.833"
|
||||
y1="-96"
|
||||
x2="-71.167"
|
||||
y2="-96"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#8AADCE"
|
||||
id="stop4127" />
|
||||
<stop
|
||||
offset="0.073"
|
||||
style="stop-color:#446986"
|
||||
id="stop4129" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop4131" />
|
||||
<stop
|
||||
offset="0.5757"
|
||||
style="stop-color:#D9E0E8"
|
||||
id="stop4133" />
|
||||
<stop
|
||||
offset="0.618"
|
||||
style="stop-color:#CED8E3"
|
||||
id="stop4135" />
|
||||
<stop
|
||||
offset="0.6655"
|
||||
style="stop-color:#CAD5E2"
|
||||
id="stop4137" />
|
||||
<stop
|
||||
offset="0.7129"
|
||||
style="stop-color:#BECEDD"
|
||||
id="stop4139" />
|
||||
<stop
|
||||
offset="0.7601"
|
||||
style="stop-color:#AAC1D6"
|
||||
id="stop4141" />
|
||||
<stop
|
||||
offset="0.807"
|
||||
style="stop-color:#8EB0CC"
|
||||
id="stop4143" />
|
||||
<stop
|
||||
offset="0.809"
|
||||
style="stop-color:#8DAFCC"
|
||||
id="stop4145" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0E525F"
|
||||
id="stop4147" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="5.3330002"
|
||||
id="circle4149"
|
||||
style="fill:url(#SVGID_12_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="5.3330002"
|
||||
sodipodi:ry="5.3330002"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
<linearGradient
|
||||
id="SVGID_13_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-79.965797"
|
||||
y1="-96"
|
||||
x2="-73.034203"
|
||||
y2="-96"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#8AADCE"
|
||||
id="stop4152" />
|
||||
<stop
|
||||
offset="0.073"
|
||||
style="stop-color:#3B617F"
|
||||
id="stop4154" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop4156" />
|
||||
<stop
|
||||
offset="0.6087"
|
||||
style="stop-color:#CED9E3"
|
||||
id="stop4158" />
|
||||
<stop
|
||||
offset="0.618"
|
||||
style="stop-color:#CBD7E2"
|
||||
id="stop4160" />
|
||||
<stop
|
||||
offset="0.6655"
|
||||
style="stop-color:#C7D4E1"
|
||||
id="stop4162" />
|
||||
<stop
|
||||
offset="0.7129"
|
||||
style="stop-color:#BBCDDD"
|
||||
id="stop4164" />
|
||||
<stop
|
||||
offset="0.7601"
|
||||
style="stop-color:#A7C0D6"
|
||||
id="stop4166" />
|
||||
<stop
|
||||
offset="0.807"
|
||||
style="stop-color:#8BAECD"
|
||||
id="stop4168" />
|
||||
<stop
|
||||
offset="0.809"
|
||||
style="stop-color:#8AADCD"
|
||||
id="stop4170" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0E525F"
|
||||
id="stop4172" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="3.4660001"
|
||||
id="circle4174"
|
||||
style="fill:url(#SVGID_13_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="3.4660001"
|
||||
sodipodi:ry="3.4660001"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
<linearGradient
|
||||
id="SVGID_14_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-78.100098"
|
||||
y1="-96"
|
||||
x2="-74.900398"
|
||||
y2="-96"
|
||||
gradientTransform="matrix(1,0,0,-1,102.5,-70)">
|
||||
<stop
|
||||
offset="0.0056"
|
||||
style="stop-color:#8AADCE"
|
||||
id="stop4177" />
|
||||
<stop
|
||||
offset="0.073"
|
||||
style="stop-color:#335977"
|
||||
id="stop4179" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#EAECEF"
|
||||
id="stop4181" />
|
||||
<stop
|
||||
offset="0.618"
|
||||
style="stop-color:#C9D5E1"
|
||||
id="stop4183" />
|
||||
<stop
|
||||
offset="0.6648"
|
||||
style="stop-color:#C5D3E0"
|
||||
id="stop4185" />
|
||||
<stop
|
||||
offset="0.7114"
|
||||
style="stop-color:#B9CBDC"
|
||||
id="stop4187" />
|
||||
<stop
|
||||
offset="0.758"
|
||||
style="stop-color:#A5BFD6"
|
||||
id="stop4189" />
|
||||
<stop
|
||||
offset="0.8042"
|
||||
style="stop-color:#89ADCE"
|
||||
id="stop4191" />
|
||||
<stop
|
||||
offset="0.809"
|
||||
style="stop-color:#86ABCD"
|
||||
id="stop4193" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0E525F"
|
||||
id="stop4195" />
|
||||
</linearGradient>
|
||||
<circle
|
||||
cx="26"
|
||||
cy="26"
|
||||
r="1.6"
|
||||
id="circle4197"
|
||||
style="fill:url(#SVGID_14_)"
|
||||
sodipodi:cx="26"
|
||||
sodipodi:cy="26"
|
||||
sodipodi:rx="1.6"
|
||||
sodipodi:ry="1.6"
|
||||
transform="matrix(0.923077,0,0,0.923077,0,-4e-6)" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 17 KiB |
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0"?>
|
||||
<svg width="48" height="48" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<linearGradient id="b" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#929470"/>
|
||||
<stop offset=".265" stop-color="#fcffc1"/>
|
||||
<stop offset=".632" stop-color="#f3f5ba"/>
|
||||
<stop offset="1" stop-color="#929470"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="c" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#ffe708"/>
|
||||
<stop offset=".412" stop-color="#ffd604" stop-opacity=".44"/>
|
||||
<stop offset="1" stop-color="#4c3e1c" stop-opacity=".48"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="a" gradientUnits="userSpaceOnUse" x1="19" x2="30.17" y1="37.23" y2="37.23">
|
||||
<stop offset=".006" stop-color="#a3a349"/>
|
||||
<stop offset=".021" stop-color="#acac54"/>
|
||||
<stop offset=".066" stop-color="#c1c172"/>
|
||||
<stop offset=".115" stop-color="#d4d68e"/>
|
||||
<stop offset=".168" stop-color="#e2e4a6"/>
|
||||
<stop offset=".227" stop-color="#edf0b8"/>
|
||||
<stop offset=".296" stop-color="#f3f6c3"/>
|
||||
<stop offset=".405" stop-color="#f5f8c7"/>
|
||||
<stop offset=".524" stop-color="#eef0be"/>
|
||||
<stop offset=".667" stop-color="#dbdda9"/>
|
||||
<stop offset=".821" stop-color="#bebd88"/>
|
||||
<stop offset=".983" stop-color="#989564"/>
|
||||
<stop offset="1" stop-color="#949160"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="e" cx="14.77" cy="74.21" gradientTransform="scale(1.764 .5668)" gradientUnits="userSpaceOnUse" r="7.83">
|
||||
<stop offset="0" stop-opacity=".52"/>
|
||||
<stop offset=".552" stop-opacity=".14"/>
|
||||
<stop offset="1" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="j" gradientTransform="scale(1.026 .9742)" x1="-22.87" x2="-4.39" xlink:href="#a" y1="38.68" y2="38.68"/>
|
||||
<linearGradient id="k" gradientTransform="scale(1.026 .9742)" x1="-10.48" x2="-23.85" xlink:href="#b" y1="39.03" y2="39.14"/>
|
||||
<linearGradient id="f" gradientTransform="matrix(1.763 0 0 1.537 -19.73 -23.88)" gradientUnits="userSpaceOnUse" x1="23.12" x2="26.48" y1="43.17" y2="43.17">
|
||||
<stop offset=".006" stop-color="#686868"/>
|
||||
<stop offset=".03" stop-color="#777"/>
|
||||
<stop offset=".084" stop-color="#929292"/>
|
||||
<stop offset=".142" stop-color="#a7a7a7"/>
|
||||
<stop offset=".207" stop-color="#b6b6b6"/>
|
||||
<stop offset=".285" stop-color="#bebebe"/>
|
||||
<stop offset=".405" stop-color="#c1c1c1"/>
|
||||
<stop offset=".496" stop-color="#bcbcbc"/>
|
||||
<stop offset=".606" stop-color="#adadad"/>
|
||||
<stop offset=".725" stop-color="#959595"/>
|
||||
<stop offset=".85" stop-color="#747474"/>
|
||||
<stop offset=".979" stop-color="#494949"/>
|
||||
<stop offset="1" stop-color="#414141"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="v" gradientTransform="matrix(1.088 0 0 .9166 .7 -1.57)" gradientUnits="userSpaceOnUse" x1="17" x2="32.1" y1="10.06" y2="36.73">
|
||||
<stop offset="0" stop-color="#fff"/>
|
||||
<stop offset="1" stop-color="#fff" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="r" gradientTransform="matrix(.8534 0 0 .9753 1.89 1.66)" gradientUnits="userSpaceOnUse" x1="37.94" x2="-5.25" y1="16.65" y2="3.86">
|
||||
<stop offset="0" stop-color="#fffff1"/>
|
||||
<stop offset="1" stop-color="#f1f3ff" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="p" cx="68.14" cy="29.87" gradientTransform="matrix(.5262 0 0 .7583 -9.57 5.12)" gradientUnits="userSpaceOnUse" r="33.93">
|
||||
<stop offset="0" stop-color="#fff" stop-opacity=".18"/>
|
||||
<stop offset=".882" stop-color="#ffe300"/>
|
||||
<stop offset="1" stop-color="#ffb900"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="n" gradientTransform="matrix(1.53 0 0 .5438 1.03 1.66)" gradientUnits="userSpaceOnUse" x1="17.88" x2="11.91" y1="55.36" y2="54.86">
|
||||
<stop offset="0" stop-color="#d6d87b"/>
|
||||
<stop offset="1" stop-color="#fbe843"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="o" gradientTransform="matrix(-.8645 -.0434 .1809 -.9537 1.03 1.66)" gradientUnits="userSpaceOnUse" x1="-29.01" x2="-37.64" y1="-29.8" y2="-29.6">
|
||||
<stop offset="0" stop-color="#dcd763"/>
|
||||
<stop offset=".265" stop-color="#d9bb05"/>
|
||||
<stop offset=".632" stop-color="#dcd763"/>
|
||||
<stop offset="1" stop-color="#c7a107"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="u" gradientTransform="matrix(1.861 0 0 .467 1.25 5.47)" gradientUnits="userSpaceOnUse" x1="14.64" x2="9.37" y1="31.5" y2="32.25">
|
||||
<stop offset="0" stop-color="#ffb812"/>
|
||||
<stop offset="1" stop-color="#ffb812" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="t" gradientTransform="matrix(.59 0 0 1.473 .9 4.89)" x1="30.62" x2="32.17" xlink:href="#c" y1="10.31" y2="18.16"/>
|
||||
<linearGradient id="s" gradientTransform="matrix(-.59 0 0 1.473 47.1 4.78)" x1="30.62" x2="32.17" xlink:href="#c" y1="10.31" y2="18.16"/>
|
||||
<radialGradient id="d" cx="27.75" cy="18.63" gradientUnits="userSpaceOnUse" r="15.06">
|
||||
<stop offset="0" stop-color="#ffd800" stop-opacity="0"/>
|
||||
<stop offset=".5" stop-color="#ffd800" stop-opacity=".33"/>
|
||||
<stop offset="1" stop-color="#ffd800" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="l" gradientTransform="matrix(.6119 -.1312 .0619 .7364 30.37 9.26)" x1="-22.87" x2="-4.39" xlink:href="#a" y1="38.68" y2="38.68"/>
|
||||
<linearGradient id="m" gradientTransform="matrix(.6119 -.1312 .0619 .7364 30.37 9.26)" x1="-10.48" x2="-23.85" xlink:href="#b" y1="39.03" y2="39.14"/>
|
||||
<linearGradient id="h" gradientTransform="matrix(.5604 .0297 -.1173 .6523 35.38 20.96)" x1="-22.87" x2="-4.39" xlink:href="#a" y1="38.68" y2="38.68"/>
|
||||
<linearGradient id="i" gradientTransform="matrix(.5604 .0297 -.1173 .6523 35.38 20.96)" x1="-10.48" x2="-23.85" xlink:href="#b" y1="39.03" y2="39.14"/>
|
||||
<linearGradient id="g" gradientTransform="matrix(.9917 0 0 .9909 -.41 1.01)" gradientUnits="userSpaceOnUse" x1="24.61" x2="24.61" y1="31.15" y2="26.74">
|
||||
<stop offset="0" stop-color="#4c4428"/>
|
||||
<stop offset="1" stop-color="#e7b600" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="q" gradientUnits="userSpaceOnUse" x1="23.41" x2="23.41" y1="2" y2="34.01">
|
||||
<stop offset="0" stop-color="#ab8104"/>
|
||||
<stop offset=".736" stop-color="#ab8104"/>
|
||||
<stop offset="1" stop-color="#616471"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path d="m24 2.5c-7.5 0-13.5 5.9-13.5 13.2 0 7.5 5.5 8.3 5.5 11 0 3.3 3.2 6.9 8.4 6.8 5.7-.1 8-3.3 8-6.8 0-2.9 5.1-3 5.1-11 0-7.3-6-13.2-13.5-13.2z" fill="#fff"/>
|
||||
<path d="m42.8 18.6a15.1 15.1 0 1 1 -30.1 0 15.1 15.1 0 1 1 30.1 0z" fill="url(#d)" transform="matrix(1.342 0 0 1.09 -13.23 -3.75)"/>
|
||||
<path d="m39.9 42.1a13.8 4.4 0 1 1 -27.6 0 13.8 4.4 0 1 1 27.6 0z" fill="url(#e)" opacity=".8" transform="matrix(1.197 0 0 1.099 -6.2 -3.21)"/>
|
||||
<path d="m21 40.5v1.4c0 1.4 1.4 2.6 3 2.6s3-1.2 3-2.6v-1.4z" fill="url(#f)" stroke="#565656"/>
|
||||
<path d="m23.8 28.5c-3.2 0-6.9 1-4.9 2.8-.5.2-1.2.6-1.2 1.7.1.5.7.9 1.5 1.1-.9.7-1.5 1.3-1.5 1.9.1.6.7 1 1.4 1.2-.8.6-1.4 1.3-1.4 1.9.1 1 2.1 2 6.5 1.9 3.1-.1 5.8-.7 6-1.9.1-.4-.3-.9-.9-1.3.5-.4.8-.9.8-1.3-.1-.6-.6-.9-1.4-1.2.9-.6 1.4-1.3 1.4-1.9-.1-.6-.6-.9-1.4-1.1.9-.7 1.4-1.4 1.4-2-.1-.6-3.2-1.8-6.3-1.8z" fill="#aeae57" stroke="url(#g)" stroke-width="2"/>
|
||||
<path d="m30.2 39.1c-.2 1.2-3.3 1.9-8.2 1.6-3.2-.1-3.3-1-3.1-2.2s2.9-2.1 6-1.9 5.5 1.3 5.3 2.5z" fill="url(#h)" stroke="url(#i)" stroke-width=".1"/>
|
||||
<path d="m-3.5 27.2a10.3 3.3 0 1 1 -20.7 0 10.3 3.3 0 1 1 20.7 0z" fill="url(#j)" stroke="url(#k)" stroke-width=".13" transform="matrix(.5962 -.1278 .0636 .7559 30.37 15.41)"/>
|
||||
<path d="m-3.5 27.2a10.3 3.3 0 1 1 -20.7 0 10.3 3.3 0 1 1 20.7 0z" fill="url(#j)" stroke="url(#k)" stroke-width=".13" transform="matrix(.5962 -.1278 .0636 .7559 30.37 12.33)"/>
|
||||
<path d="m30 30.5c0 1.3-2.6 2.9-6 3.6s-6.2.2-6.3-1.2c-.2-1.3 2.2-2.9 5.6-3.1s6.7-.1 6.7.7z" fill="url(#l)" stroke="url(#m)" stroke-width=".1"/>
|
||||
<path d="m21.5 35.53a1.1 1.1 0 1 1 -2.16 0 1.1 1.1 0 1 1 2.16 0z" fill="#fff"/>
|
||||
<path d="m18.7 34.2c3.4.5 6.9-.1 9.8-1.9.8-.5.9-1.1 1.3-1.6-1.4 1.1-5 4.1-11.1 3.5z" fill-opacity=".23"/>
|
||||
<path d="m21.5 38.51a1.1 1.1 0 1 1 -2.16 0 1.1 1.1 0 1 1 2.16 0z" fill="#fff"/>
|
||||
<path d="m18.8 40.3c3.4.5 6.9-.1 9.8-1.9.8-.5.9-1.1 1.3-1.6-1.4 1.1-5 4.1-11.1 3.5zm.1-3.1c3.3.5 6.9-.1 9.7-1.9.8-.5 1-1.1 1.3-1.6-1.4 1.1-4.9 4.1-11 3.5z" fill-opacity=".23"/>
|
||||
<path d="m18.5 31c0-.8 1.5-1.8 5.3-1.7 3.5 0 5.8.9 5.8 2.1 0 1.3-3.1 2.1-6.4 1.9-3.2-.1-4.7-1.1-4.7-2.3z" fill="url(#n)" stroke="url(#o)" stroke-width=".1"/>
|
||||
<path d="m24 2.5c-7.5 0-13.5 5.9-13.5 13.2 0 7.5 5.5 8.3 5.5 11 0 3.3 3.2 6.9 8.4 6.8 5.7-.1 8-3.3 8-6.8 0-2.9 5.1-3 5.1-11 0-7.3-6-13.2-13.5-13.2z" fill="url(#p)" stroke="url(#q)"/>
|
||||
<path d="M24 3.5c-7 0-12.6 5.6-12.6 12.3 0 7 5.1 7.8 5.1 10.3 0 3.1 3 6.5 7.9 6.3 5.3-.1 7.4-3.1 7.4-6.3 0-2.7 4.8-2.8 4.8-10.3C36.6 9.1 31 3.5 24 3.5z" fill="none" stroke="url(#r)" stroke-width=".92"/>
|
||||
<path d="m29.5 19.1c.3.1.5.4.4.6l-3.6 10.8c-.1.3-.4.5-.7.4s-.5-.4-.4-.7l3.6-10.7c.1-.3.4-.5.7-.4z" fill="url(#s)"/>
|
||||
<path d="m18.5 19.2c-.3.1-.5.4-.4.7l3.6 10.7c.1.3.4.5.7.4s.5-.4.4-.7l-3.6-10.7c-.1-.3-.4-.5-.7-.4z" fill="url(#t)"/>
|
||||
<path d="M18.6 19.1c-.3.1-.4.2-.5.5 0 .2.1.4.3.5 0 0 1.7 1 4 1.5 2.2.5 5.1.6 7.3-1.5.2-.2.2-.4.2-.6s-.2-.3-.4-.4c-.2 0-.4 0-.6.2-1.8 1.8-4.2 1.8-6.3 1.3S19 19.2 19 19.2c-.2-.1-.3-.1-.4-.1z" fill="#ffd800" stroke="url(#u)" stroke-width=".2"/>
|
||||
<path d="m24.3 5.2c-6 0-10.8 4-10.8 8.9 0 1.9.9 3.6 2.2 5.1 1.5.6 3.1 1.1 4.9 1.1 6 0 10.8-4 10.8-8.9 0-2-.9-3.7-2.2-5.2-1.5-.6-3.1-1-4.9-1z" fill="url(#v)" opacity=".6"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.8 KiB |
@@ -0,0 +1,902 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.0"
|
||||
width="47"
|
||||
height="40"
|
||||
id="svg2"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="unmuted.svg">
|
||||
<metadata
|
||||
id="metadata3255">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="979"
|
||||
inkscape:window-height="480"
|
||||
id="namedview3253"
|
||||
showgrid="false"
|
||||
inkscape:zoom="6.9532167"
|
||||
inkscape:cx="6.2151925"
|
||||
inkscape:cy="14.917171"
|
||||
inkscape:window-x="303"
|
||||
inkscape:window-y="104"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg2" />
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient6958">
|
||||
<stop
|
||||
id="stop6960"
|
||||
style="stop-color:#729fcf;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6966"
|
||||
style="stop-color:#729fcf;stop-opacity:1"
|
||||
offset="0.60000002" />
|
||||
<stop
|
||||
id="stop6962"
|
||||
style="stop-color:#729fcf;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6700">
|
||||
<stop
|
||||
id="stop6702"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6704"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6628">
|
||||
<stop
|
||||
id="stop6630"
|
||||
style="stop-color:#000000;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6632"
|
||||
style="stop-color:#000000;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6546">
|
||||
<stop
|
||||
id="stop6548"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6550"
|
||||
style="stop-color:#888a85;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6667">
|
||||
<stop
|
||||
id="stop6669"
|
||||
style="stop-color:#babdb6;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6671"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6651">
|
||||
<stop
|
||||
id="stop6653"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6655"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6643">
|
||||
<stop
|
||||
id="stop6645"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6647"
|
||||
style="stop-color:#d3d7cf;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6633">
|
||||
<stop
|
||||
id="stop6635"
|
||||
style="stop-color:#eeeeec;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6637"
|
||||
style="stop-color:#61635f;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6627">
|
||||
<stop
|
||||
id="stop6629"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6631"
|
||||
style="stop-color:#babdb6;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6607">
|
||||
<stop
|
||||
id="stop6609"
|
||||
style="stop-color:#eeeeec;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6611"
|
||||
style="stop-color:#babdb6;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6589">
|
||||
<stop
|
||||
id="stop6591"
|
||||
style="stop-color:#babdb6;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6593"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6573">
|
||||
<stop
|
||||
id="stop6575"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6577"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6531">
|
||||
<stop
|
||||
id="stop6533"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6535"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient5533">
|
||||
<stop
|
||||
id="stop5535"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop5537"
|
||||
style="stop-color:#babdb6;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient21662">
|
||||
<stop
|
||||
id="stop21664"
|
||||
style="stop-color:#3465a4;stop-opacity:0"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop21666"
|
||||
style="stop-color:#3465a4;stop-opacity:0"
|
||||
offset="0.81927711" />
|
||||
<stop
|
||||
id="stop21668"
|
||||
style="stop-color:#3465a4;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient21644">
|
||||
<stop
|
||||
id="stop21646"
|
||||
style="stop-color:#3465a4;stop-opacity:0"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop21648"
|
||||
style="stop-color:#3465a4;stop-opacity:0"
|
||||
offset="0.73493975" />
|
||||
<stop
|
||||
id="stop21650"
|
||||
style="stop-color:#3465a4;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient21622">
|
||||
<stop
|
||||
id="stop21624"
|
||||
style="stop-color:#3465a4;stop-opacity:0"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop21630"
|
||||
style="stop-color:#3465a4;stop-opacity:0"
|
||||
offset="0.85542166" />
|
||||
<stop
|
||||
id="stop21626"
|
||||
style="stop-color:#3465a4;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient17123">
|
||||
<stop
|
||||
id="stop17125"
|
||||
style="stop-color:#000000;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop17127"
|
||||
style="stop-color:#000000;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient9086">
|
||||
<stop
|
||||
id="stop9088"
|
||||
style="stop-color:#000000;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop9090"
|
||||
style="stop-color:#000000;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6387">
|
||||
<stop
|
||||
id="stop6389"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6391"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6379">
|
||||
<stop
|
||||
id="stop6381"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop21606"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0.5" />
|
||||
<stop
|
||||
id="stop6383"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient2793">
|
||||
<stop
|
||||
id="stop2795"
|
||||
style="stop-color:#babdb6;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop2801"
|
||||
style="stop-color:#eeeeec;stop-opacity:1"
|
||||
offset="0.25301206" />
|
||||
<stop
|
||||
id="stop2797"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
x1="17.25"
|
||||
y1="18.81151"
|
||||
x2="16.1875"
|
||||
y2="32.629498"
|
||||
id="linearGradient6393"
|
||||
xlink:href="#linearGradient6387"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-28,0)" />
|
||||
<radialGradient
|
||||
cx="7.1396246"
|
||||
cy="22.5"
|
||||
r="6"
|
||||
fx="7.1396246"
|
||||
fy="22.5"
|
||||
id="radialGradient8199"
|
||||
xlink:href="#linearGradient9086"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.914836,-0.506192,0.654838,2.477012,-48.62381,-29.61876)" />
|
||||
<radialGradient
|
||||
cx="20.84375"
|
||||
cy="21.84375"
|
||||
r="2.9063251"
|
||||
fx="20.84375"
|
||||
fy="21.84375"
|
||||
id="radialGradient21684"
|
||||
xlink:href="#linearGradient21622"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="20.84375"
|
||||
cy="21.84375"
|
||||
r="2.9063251"
|
||||
fx="20.84375"
|
||||
fy="21.84375"
|
||||
id="radialGradient21686"
|
||||
xlink:href="#linearGradient21662"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="20.84375"
|
||||
cy="21.84375"
|
||||
r="2.9063251"
|
||||
fx="20.84375"
|
||||
fy="21.84375"
|
||||
id="radialGradient21688"
|
||||
xlink:href="#linearGradient21644"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="78.5"
|
||||
y1="-4.0065207"
|
||||
x2="78.5"
|
||||
y2="14.00099"
|
||||
id="linearGradient5545"
|
||||
xlink:href="#linearGradient2793"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.90625,0,0,1,-65.921875,19)" />
|
||||
<linearGradient
|
||||
x1="80.0625"
|
||||
y1="14"
|
||||
x2="80.0625"
|
||||
y2="-4.0087729"
|
||||
id="linearGradient5547"
|
||||
xlink:href="#linearGradient5533"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.90625,0,0,1,-65.921875,19)" />
|
||||
<linearGradient
|
||||
x1="3.8448932"
|
||||
y1="15.561477"
|
||||
x2="3.8448932"
|
||||
y2="39.884338"
|
||||
id="linearGradient6537"
|
||||
xlink:href="#linearGradient6531"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="7.75"
|
||||
y1="33.046577"
|
||||
x2="4.6431866"
|
||||
y2="12.063652"
|
||||
id="linearGradient6545"
|
||||
xlink:href="#linearGradient6627"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9114584,0,0,0.8787879,2.7005208,4.6666545)" />
|
||||
<radialGradient
|
||||
cx="9.3203983"
|
||||
cy="18.817093"
|
||||
r="12.5"
|
||||
fx="9.3203983"
|
||||
fy="18.817093"
|
||||
id="radialGradient6553"
|
||||
xlink:href="#linearGradient6633"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.7132478,0.5221478,-0.9280778,1.1784895,22.517143,-6.7083001)" />
|
||||
<linearGradient
|
||||
x1="12.197592"
|
||||
y1="9.2597418"
|
||||
x2="12.197592"
|
||||
y2="47.496857"
|
||||
id="linearGradient6579"
|
||||
xlink:href="#linearGradient6573"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="23.164974"
|
||||
cy="30.23279"
|
||||
r="8.1890125"
|
||||
fx="23.164974"
|
||||
fy="30.23279"
|
||||
id="radialGradient6595"
|
||||
xlink:href="#linearGradient6667"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.7346265,-0.1698771,0.327755,3.6175226,-27.429343,-73.69679)" />
|
||||
<radialGradient
|
||||
cx="20.8839"
|
||||
cy="20.434256"
|
||||
r="3.9999843"
|
||||
fx="20.8839"
|
||||
fy="20.434256"
|
||||
id="radialGradient6603"
|
||||
xlink:href="#linearGradient6589"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3093938,0,0,1.5604932,-8.3886376,-9.784483)" />
|
||||
<linearGradient
|
||||
x1="20.226221"
|
||||
y1="20.33363"
|
||||
x2="11.4375"
|
||||
y2="21.75"
|
||||
id="linearGradient6641"
|
||||
xlink:href="#linearGradient6379"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.6666667,0,0,1,2,-1)" />
|
||||
<radialGradient
|
||||
cx="23.986883"
|
||||
cy="27.053167"
|
||||
r="7.75"
|
||||
fx="23.986883"
|
||||
fy="27.053167"
|
||||
id="radialGradient6657"
|
||||
xlink:href="#linearGradient6651"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.2432942,0,0,-1.2543129,25.221399,61.870636)" />
|
||||
<linearGradient
|
||||
x1="80.693359"
|
||||
y1="31.561478"
|
||||
x2="77.125"
|
||||
y2="14"
|
||||
id="linearGradient6558"
|
||||
xlink:href="#linearGradient6546"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-70,2)" />
|
||||
<radialGradient
|
||||
cx="30.685316"
|
||||
cy="42.261425"
|
||||
r="8.22791"
|
||||
fx="30.685316"
|
||||
fy="42.261425"
|
||||
id="radialGradient6625"
|
||||
xlink:href="#linearGradient6607"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(3.9866298,0.1169977,0,-2.530036,-104.62676,112.74341)" />
|
||||
<linearGradient
|
||||
x1="23.238182"
|
||||
y1="12.158657"
|
||||
x2="29.892563"
|
||||
y2="26.354361"
|
||||
id="linearGradient6634"
|
||||
xlink:href="#linearGradient6628"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="17.5"
|
||||
y1="25.587416"
|
||||
x2="28.555141"
|
||||
y2="25.699326"
|
||||
id="linearGradient6706"
|
||||
xlink:href="#linearGradient6700"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="33.430557"
|
||||
y1="45.052155"
|
||||
x2="33.430557"
|
||||
y2="0.31037101"
|
||||
id="linearGradient6801"
|
||||
xlink:href="#linearGradient6643"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="72.495682"
|
||||
cy="22.84375"
|
||||
r="4.82023"
|
||||
fx="72.495682"
|
||||
fy="22.84375"
|
||||
id="radialGradient6964"
|
||||
xlink:href="#linearGradient6958"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.6999424,0,0,3.5713875,-122.46854,-58.740132)" />
|
||||
<radialGradient
|
||||
cx="72.495682"
|
||||
cy="22.84375"
|
||||
r="4.82023"
|
||||
fx="72.495682"
|
||||
fy="22.84375"
|
||||
id="radialGradient6968"
|
||||
xlink:href="#linearGradient6958"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.6999424,0,0,3.6828427,-122.46854,-61.286186)" />
|
||||
<radialGradient
|
||||
cx="70.53125"
|
||||
cy="22.734375"
|
||||
r="3.5975378"
|
||||
fx="70.53125"
|
||||
fy="22.734375"
|
||||
id="radialGradient6976"
|
||||
xlink:href="#linearGradient6958"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.8087117,0,0,3.5234273,-57.039447,-57.368542)" />
|
||||
<radialGradient
|
||||
cx="60.640625"
|
||||
cy="22.65625"
|
||||
r="2.6194003"
|
||||
fx="60.640625"
|
||||
fy="22.65625"
|
||||
id="radialGradient6984"
|
||||
xlink:href="#linearGradient6958"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.1454532,0,0,3.0191635,-69.461,-45.746674)" />
|
||||
<radialGradient
|
||||
cx="11.402097"
|
||||
cy="36.863068"
|
||||
r="10.69499"
|
||||
fx="11.402097"
|
||||
fy="36.863068"
|
||||
id="radialGradient7118"
|
||||
xlink:href="#linearGradient17123"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.330579,0,24.67693)" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient17123"
|
||||
id="radialGradient3287"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.330579,0,24.67693)"
|
||||
cx="11.402097"
|
||||
cy="36.863068"
|
||||
fx="11.402097"
|
||||
fy="36.863068"
|
||||
r="10.69499" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2793"
|
||||
id="linearGradient3289"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.90625,0,0,1,-65.921875,19)"
|
||||
x1="78.5"
|
||||
y1="-4.0065207"
|
||||
x2="78.5"
|
||||
y2="14.00099" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5533"
|
||||
id="linearGradient3291"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.90625,0,0,1,-65.921875,19)"
|
||||
x1="80.0625"
|
||||
y1="14"
|
||||
x2="80.0625"
|
||||
y2="-4.0087729" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6531"
|
||||
id="linearGradient3293"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="3.8448932"
|
||||
y1="15.561477"
|
||||
x2="3.8448932"
|
||||
y2="39.884338" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6546"
|
||||
id="linearGradient3295"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-70,2)"
|
||||
x1="80.693359"
|
||||
y1="31.561478"
|
||||
x2="77.125"
|
||||
y2="14" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6633"
|
||||
id="radialGradient3297"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.7132478,0.5221478,-0.9280778,1.1784895,22.517143,-6.7083001)"
|
||||
cx="9.3203983"
|
||||
cy="18.817093"
|
||||
fx="9.3203983"
|
||||
fy="18.817093"
|
||||
r="12.5" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6627"
|
||||
id="linearGradient3299"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9114584,0,0,0.8787879,2.7005208,4.6666545)"
|
||||
x1="7.75"
|
||||
y1="33.046577"
|
||||
x2="4.6431866"
|
||||
y2="12.063652" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6651"
|
||||
id="radialGradient3301"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.2432942,0,0,-1.2543129,25.221399,61.870636)"
|
||||
cx="23.986883"
|
||||
cy="27.053167"
|
||||
fx="23.986883"
|
||||
fy="27.053167"
|
||||
r="7.75" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6379"
|
||||
id="linearGradient3303"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.6666667,0,0,1,2,-1)"
|
||||
x1="20.226221"
|
||||
y1="20.33363"
|
||||
x2="11.4375"
|
||||
y2="21.75" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6573"
|
||||
id="linearGradient3305"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="12.197592"
|
||||
y1="9.2597418"
|
||||
x2="12.197592"
|
||||
y2="47.496857" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6667"
|
||||
id="radialGradient3307"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.7346265,-0.1698771,0.327755,3.6175226,-27.429343,-73.69679)"
|
||||
cx="23.164974"
|
||||
cy="30.23279"
|
||||
fx="23.164974"
|
||||
fy="30.23279"
|
||||
r="8.1890125" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6643"
|
||||
id="linearGradient3309"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="33.430557"
|
||||
y1="45.052155"
|
||||
x2="33.430557"
|
||||
y2="0.31037101" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6589"
|
||||
id="radialGradient3311"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3093938,0,0,1.5604932,-8.3886376,-9.784483)"
|
||||
cx="20.8839"
|
||||
cy="20.434256"
|
||||
fx="20.8839"
|
||||
fy="20.434256"
|
||||
r="3.9999843" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6607"
|
||||
id="radialGradient3313"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(3.9866298,0.1169977,0,-2.530036,-104.62676,112.74341)"
|
||||
cx="30.685316"
|
||||
cy="42.261425"
|
||||
fx="30.685316"
|
||||
fy="42.261425"
|
||||
r="8.22791" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6628"
|
||||
id="linearGradient3315"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="23.238182"
|
||||
y1="12.158657"
|
||||
x2="29.892563"
|
||||
y2="26.354361" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6700"
|
||||
id="linearGradient3317"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="17.5"
|
||||
y1="25.587416"
|
||||
x2="28.555141"
|
||||
y2="25.699326" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6958"
|
||||
id="radialGradient3319"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.8087117,0,0,3.5234273,-57.039447,-57.368542)"
|
||||
cx="70.53125"
|
||||
cy="22.734375"
|
||||
fx="70.53125"
|
||||
fy="22.734375"
|
||||
r="3.5975378" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6958"
|
||||
id="radialGradient3321"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.1454532,0,0,3.0191635,-69.461,-45.746674)"
|
||||
cx="60.640625"
|
||||
cy="22.65625"
|
||||
fx="60.640625"
|
||||
fy="22.65625"
|
||||
r="2.6194003" />
|
||||
</defs>
|
||||
<g
|
||||
id="layer3"
|
||||
style="display:none"
|
||||
transform="translate(0,-8)">
|
||||
<path
|
||||
d="m -8.21875,10.5 -12,12 12,12 0,-24 z"
|
||||
id="path7288"
|
||||
style="opacity:0.83011588;fill:url(#radialGradient8199);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m -7,10.5 -12,12 12,12 0,-24 z"
|
||||
id="path2791"
|
||||
style="opacity:0.76833975;fill:none;stroke:url(#linearGradient6393);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 19.375,9 c -0.174356,0.053023 -0.30606,0.1967002 -0.34375,0.375 -0.703448,2.579311 -2.426833,3.586638 -4.6875,5.09375 -2.260667,1.507112 -4.9844612,3.474121 -7.28125,7.8125 -0.06718,0.138096 -0.06718,0.299404 0,0.4375 2.2967888,4.338379 5.020583,6.305388 7.28125,7.8125 2.260667,1.507112 3.984052,2.514439 4.6875,5.09375 0.07934,0.220992 0.301756,0.357016 0.534629,0.326968 C 19.798752,35.92192 19.979353,35.733894 20,35.5 l 0,-26 C 20.005,9.3425939 19.935556,9.1920293 19.812581,9.0936489 19.689605,8.9952685 19.527469,8.9605689 19.375,9 z"
|
||||
transform="translate(-42,0)"
|
||||
id="path21580"
|
||||
style="opacity:0.63320462;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="M -47.5,22.5 -20,-8 -20,56 -47.5,22.5 z"
|
||||
id="path21676"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 23.6875,21.84375 a 2.84375,2.84375 0 1 1 -5.6875,0 2.84375,2.84375 0 1 1 5.6875,0 z"
|
||||
transform="matrix(7.990397,0,0,7.990397,-220.7725,-152.0403)"
|
||||
id="path21678"
|
||||
style="fill:url(#radialGradient21684);fill-opacity:1;stroke:#204a87;stroke-width:0.12515022;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:1.20000057;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 23.6875,21.84375 a 2.84375,2.84375 0 1 1 -5.6875,0 2.84375,2.84375 0 1 1 5.6875,0 z"
|
||||
transform="matrix(5.528848,0,0,5.528848,-169.4646,-98.27085)"
|
||||
id="path21680"
|
||||
style="fill:url(#radialGradient21686);fill-opacity:1;stroke:#204a87;stroke-width:0.18086948;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:1.20000057;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 23.6875,21.84375 a 2.84375,2.84375 0 1 1 -5.6875,0 2.84375,2.84375 0 1 1 5.6875,0 z"
|
||||
transform="matrix(3.418962,0,0,3.418962,-125.4867,-52.18304)"
|
||||
id="path21682"
|
||||
style="fill:url(#radialGradient21688);fill-opacity:1;stroke:#204a87;stroke-width:0.29248634;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:1.20000057;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g3263"
|
||||
transform="matrix(0.99786871,0,0,1,0.08533812,-4.0000001)">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="layer1">
|
||||
<path
|
||||
style="opacity:0.2;fill:url(#radialGradient3287);fill-opacity:1;stroke:none"
|
||||
id="path16236"
|
||||
transform="matrix(1.5365906,0,0,2.4199734,-1.1723206,-56.384863)"
|
||||
d="m 22.097087,36.863068 a 10.69499,3.5355352 0 1 1 -21.38998041,0 10.69499,3.5355352 0 1 1 21.38998041,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#2e3436;fill-opacity:1;stroke:#555753;stroke-width:1.30267787;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path5330"
|
||||
transform="matrix(0.75,0,0,0.7857143,1.5,4.357156)"
|
||||
d="m 8,25 a 4,7 0 1 1 -8,0 4,7 0 1 1 8,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#babdb6;fill-opacity:1;stroke:none;display:inline"
|
||||
id="path6659"
|
||||
transform="translate(-1.53125,0.65625)"
|
||||
d="m 4.5,20.75 a 0.75,0.75 0 1 1 -1.5,0 0.75,0.75 0 1 1 1.5,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#linearGradient3289);fill-opacity:1;stroke:url(#linearGradient3291);stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path2766"
|
||||
d="m 6.125,15.500014 c -2.0009964,0 -3.6249991,3.808022 -3.625,8.5 0,4.691977 1.6240036,8.500001 3.625,8.5 l 3.625,0 c 2.000996,0 3.625,-3.808024 3.625,-8.5 0,-4.691977 -1.624004,-8.5 -3.625,-8.5 l -3.625,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.6;fill:none;stroke:url(#linearGradient3293);stroke-width:1.0577718;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path5556"
|
||||
transform="matrix(0.89375,0,0,1,1.265625,2)"
|
||||
d="M 5.5,14.5 C 4.974,14.5 4.2339165,15.045895 3.59375,16.40625 2.9535835,17.766605 2.5000005,19.78201 2.5,22 c 0,2.21799 0.4535834,4.233394 1.09375,5.59375 C 4.2339166,28.954106 4.9740003,29.5 5.5,29.5 l 4,0 c 0.525999,0 1.266083,-0.545894 1.90625,-1.90625 C 12.046417,26.233394 12.5,24.217988 12.5,22 12.5,19.782012 12.046417,17.766606 11.40625,16.40625 10.766083,15.045894 10.026,14.5 9.5,14.5 l -4,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#linearGradient3295);fill-opacity:1;stroke:none;display:inline"
|
||||
id="path6556"
|
||||
d="M 9.696925,16 C 7.656226,16 6.000001,19.57702 6,23.984375 c 0,4.407354 1.656226,7.984376 3.696925,7.984375 l 0.6374,0 c 2.040699,0 3.696925,-3.577022 3.696925,-7.984375 C 14.03125,19.577021 12.375024,16 10.334325,16 l -0.6374,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#radialGradient3297);fill-opacity:1;stroke:url(#linearGradient3299);stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path1871"
|
||||
d="m 8.6250003,24 c 0,9.227273 9.1869747,14.499999 14.8750017,14.499999 3.9375,0 7,-6.496003 7,-14.499999 0,-8.003997 -3.0625,-14.4999999 -7,-14.4999999 C 17.811975,9.5000001 8.6250003,14.772728 8.6250003,24 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#radialGradient3301);fill-opacity:1;stroke:none;display:inline"
|
||||
id="path6649"
|
||||
transform="matrix(1.3225807,0,0,1.026415,-12.145162,-4.6754711)"
|
||||
d="m 33,27.9375 a 7.75,16.5625 0 1 1 -15.5,0 7.75,16.5625 0 1 1 15.5,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.7335907;fill:url(#linearGradient3303);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
id="path6639"
|
||||
d="m 16,13.375 c -2.583333,1.394678 -5.458333,4.195921 -8,8.125 2.69956,-1.126087 5.491292,-1.960473 8,-1.75 l 0,-6.375 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.58620689;fill:none;stroke:url(#linearGradient3305);stroke-width:1.12734473;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path6567"
|
||||
transform="matrix(0.9034091,0,0,0.8709678,2.8494318,4.8387095)"
|
||||
d="m 22.8125,6.5 c -2.795799,1e-7 -6.724012,1.4333131 -9.84375,4.09375 C 9.8490125,13.254187 7.5,17.073741 7.5,22 c 0,4.92626 2.3490125,8.745813 5.46875,11.40625 3.119737,2.660437 7.047951,4.09375 9.84375,4.09375 1.582499,0 3.232771,-1.443735 4.53125,-4.25 C 28.642229,30.443735 29.5,26.429214 29.5,22 29.5,17.570787 28.642229,13.556265 27.34375,10.75 26.045271,7.943735 24.394999,6.5 22.8125,6.5 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#radialGradient3307);fill-opacity:1;stroke:url(#linearGradient3309);stroke-width:0.83240509;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path1873"
|
||||
transform="matrix(1.2258059,0,0,1.1773585,-8.9515943,-8.892453)"
|
||||
d="m 33,27.9375 a 7.75,16.5625 0 1 1 -15.5,0 7.75,16.5625 0 1 1 15.5,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#radialGradient3311);fill-opacity:1;stroke:#555753;stroke-width:1.00000048;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
|
||||
id="path3672"
|
||||
d="m 21.616117,24.000008 c 0,2.483997 -2.382932,4.499982 -4.066383,4.499982 -1.683453,0 -3.049733,-2.015998 -3.049733,-4.499995 0,-2.483997 1.36628,-4.499995 3.049733,-4.499995 1.683451,0 4.066383,2.01601 4.066383,4.500008 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#radialGradient3313);fill-opacity:1;stroke:none;display:inline"
|
||||
id="path6605"
|
||||
d="m 22,5 c -2.632448,-1e-7 -4.858028,2.2498264 -6.4375,5.6875 -1.579472,3.437673 -2.53125,8.142625 -2.53125,13.3125 0,5.169874 0.951778,9.874826 2.53125,13.3125 C 17.141972,40.750172 19.367552,43 22,43 c 2.632449,0 4.858028,-2.249827 6.4375,-5.6875 0.98717,-2.148547 1.737111,-4.811219 2.15625,-7.75 0.01322,-0.09267 0.01868,-0.187986 0.03125,-0.28125 0.07641,-0.566948 0.135731,-1.131492 0.1875,-1.71875 0.05087,-0.546414 0.09764,-1.093036 0.125,-1.65625 0.0014,-0.03096 -0.0014,-0.06274 0,-0.09375 0.02747,-0.595848 0.03125,-1.200746 0.03125,-1.8125 0,-0.644361 -8.1e-4,-1.279618 -0.03125,-1.90625 C 30.91165,21.537127 30.86024,20.979033 30.8125,20.4375 30.76073,19.850242 30.701405,19.285698 30.625,18.71875 30.6115,18.62356 30.60796,18.532009 30.59375,18.4375 30.174611,15.498719 29.42467,12.836046 28.4375,10.6875 26.858028,7.249826 24.632449,5 22,5 z m 0.5,2 c 1.922274,2e-7 3.780368,1.7656497 5.1875,4.84375 0.879457,1.923812 1.576879,4.335367 1.96875,7.03125 0.07837,0.539177 0.133595,1.09521 0.1875,1.65625 0.04746,0.525408 0.09908,1.053403 0.125,1.59375 0.03188,0.620494 0.0625,1.236156 0.0625,1.875 0,0.595745 -0.03472,1.170104 -0.0625,1.75 -0.0018,0.04097 0.002,0.08411 0,0.125 -0.02757,0.536772 -0.075,1.073299 -0.125,1.59375 -0.05391,0.561039 -0.109126,1.117073 -0.1875,1.65625 -0.391871,2.695883 -1.089293,5.107438 -1.96875,7.03125 C 26.280368,39.23435 24.422274,41 22.5,41 20.577727,40.999998 18.719632,39.234351 17.3125,36.15625 15.905367,33.078149 14.96875,28.765963 14.96875,24 c 0,-4.765964 0.936618,-9.07815 2.34375,-12.15625 C 18.719631,8.7656496 20.577727,7 22.5,7 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.36637932;fill:none;stroke:url(#linearGradient3315);stroke-width:1.05419946;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path6615"
|
||||
transform="matrix(0.9032258,0,0,0.9962264,-0.3064529,-3.8320749)"
|
||||
d="m 33,27.9375 a 7.75,16.5625 0 1 1 -15.5,0 7.75,16.5625 0 1 1 15.5,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline"
|
||||
id="path6661"
|
||||
transform="translate(-16,5.3125)"
|
||||
d="m 21.5,13.5 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.65517243;fill:none;stroke:url(#linearGradient3317);stroke-width:0.90347946;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path6698"
|
||||
transform="matrix(1.0967748,0,0,1.1169811,-5.6935592,-7.2056602)"
|
||||
d="m 33,27.9375 a 7.75,16.5625 0 1 1 -15.5,0 7.75,16.5625 0 1 1 15.5,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline"
|
||||
id="path5501"
|
||||
transform="translate(-5,-1.875)"
|
||||
d="m 21.5,13.5 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0.5164697,0,0,1.2242975,3.5433952,-4.22187)"
|
||||
id="g27916"
|
||||
style="stroke:#729fcf;display:inline">
|
||||
<path
|
||||
d="M 67.5625,34.78125 C 71.176369,31.899733 73.499999,27.47788 73.5,22.5 c 0,-4.706064 -2.06397,-8.930301 -5.34375,-11.8125"
|
||||
id="path21632"
|
||||
style="fill:none;stroke:url(#radialGradient3319);stroke-width:1.25757563;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:1.20000057;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0.3535062,0,0,1.2242975,13.43562,-3.80102)"
|
||||
id="g28807"
|
||||
style="stroke:#729fcf;display:inline">
|
||||
<path
|
||||
d="M 58.78125,30.15625 C 61.050824,28.375887 62.5,25.606103 62.5,22.5 c 0,-2.939206 -1.311576,-5.560448 -3.375,-7.34375"
|
||||
id="path27920"
|
||||
style="fill:none;stroke:url(#radialGradient3321);stroke-width:1.52005064;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:1.20000057;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1,331 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="30"
|
||||
height="30"
|
||||
id="svg7854"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
version="1.0"
|
||||
sodipodi:docname="pause.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/lapo/Desktop/media-icons.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<defs
|
||||
id="defs7856">
|
||||
<linearGradient
|
||||
id="linearGradient7577">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0.3137255;"
|
||||
offset="0"
|
||||
id="stop7579" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop7581" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient7305">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop7307" />
|
||||
<stop
|
||||
id="stop7313"
|
||||
offset="0.20971029"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.81065089;"
|
||||
offset="0.34936365"
|
||||
id="stop7329" />
|
||||
<stop
|
||||
id="stop7321"
|
||||
offset="0.42850056"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0.52134049"
|
||||
id="stop7323" />
|
||||
<stop
|
||||
id="stop7317"
|
||||
offset="0.55746967"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.56804734;"
|
||||
offset="0.71001518"
|
||||
id="stop7319" />
|
||||
<stop
|
||||
id="stop7416"
|
||||
offset="0.74394959"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1"
|
||||
id="stop7309" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient7344"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop7346"
|
||||
offset="0"
|
||||
style="stop-color:#eeeeec;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop7348"
|
||||
offset="1"
|
||||
style="stop-color:#92948f;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7577"
|
||||
id="linearGradient7649"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-27.669012"
|
||||
y1="13.129915"
|
||||
x2="-24.330988"
|
||||
y2="25.587595" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7344"
|
||||
id="radialGradient7651"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(5.3995166,0,0,2.3034327,-176.14731,-41.851943)"
|
||||
cx="28.541149"
|
||||
cy="31.678772"
|
||||
fx="28.541149"
|
||||
fy="31.678772"
|
||||
r="12.000001" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7344"
|
||||
id="radialGradient7653"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(5.3995166,0,0,2.3034327,-176.14731,-41.851943)"
|
||||
cx="28.541149"
|
||||
cy="31.678772"
|
||||
fx="28.541149"
|
||||
fy="31.678772"
|
||||
r="12.000001" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7305"
|
||||
id="linearGradient7655"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-0.13080163"
|
||||
y1="10.068082"
|
||||
x2="48.130798"
|
||||
y2="37.931931" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#afafaf"
|
||||
borderopacity="1"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="8"
|
||||
inkscape:cx="50.658125"
|
||||
inkscape:cy="22.045276"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
width="48px"
|
||||
height="48px"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1018"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
showgrid="false"
|
||||
inkscape:grid-points="true"
|
||||
showborder="true"
|
||||
showguides="false"
|
||||
inkscape:guide-bbox="true"
|
||||
borderlayer="true"
|
||||
inkscape:window-maximized="1">
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="13.125"
|
||||
id="guide7377" />
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="5.4800776"
|
||||
id="guide7379" />
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="35"
|
||||
id="guide7492" />
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="48"
|
||||
id="guide7046" />
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="-17.5"
|
||||
id="guide7233" />
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="-29"
|
||||
id="guide7235" />
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="22.097087"
|
||||
id="guide7556" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="-76.125"
|
||||
id="guide7644" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="-26.125"
|
||||
id="guide7646" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="24"
|
||||
id="guide7648" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="-125.28125"
|
||||
id="guide7665" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="-175.125"
|
||||
id="guide7667" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="-225.83223"
|
||||
id="guide7685" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="-326.06462"
|
||||
id="guide7695" />
|
||||
<inkscape:grid
|
||||
id="GridFromPre046Settings"
|
||||
type="xygrid"
|
||||
originx="0px"
|
||||
originy="0px"
|
||||
spacingx="0.5px"
|
||||
spacingy="0.5px"
|
||||
color="#3f3fff"
|
||||
empcolor="#3f3fff"
|
||||
opacity="0.15"
|
||||
empopacity="0.38"
|
||||
empspacing="2"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7859">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Lapo Calamandrei</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:source />
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
|
||||
<dc:title>Pause</dc:title>
|
||||
<dc:subject>
|
||||
<rdf:Bag>
|
||||
<rdf:li>playback</rdf:li>
|
||||
<rdf:li>pause</rdf:li>
|
||||
</rdf:Bag>
|
||||
</dc:subject>
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/Notice" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/ShareAlike" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/SourceCode" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-18)">
|
||||
<g
|
||||
id="g7104"
|
||||
transform="translate(41,9)">
|
||||
<path
|
||||
d="m -37.03125,11.03125 c -1.016685,0 -1.9375,0.920815 -1.9375,1.9375 l 0,22.0625 c 0,1.016689 0.9208,1.937508 1.9375,1.9375 l 7.0625,0 c 1.016682,0 1.937504,-0.92081 1.9375,-1.9375 l 0,-22.0625 c 0,-1.016685 -0.920815,-1.9375 -1.9375,-1.9375 l -7.0625,0 z m 15,0 c -1.016685,0 -1.9375,0.920815 -1.9375,1.9375 l 0,22.0625 c 0,1.016689 0.9208,1.937508 1.9375,1.9375 l 7.0625,0 c 1.016682,0 1.9375,-0.920816 1.9375,-1.9375 l 0,-22.0625 c 0,-1.016685 -0.920815,-1.9375 -1.9375,-1.9375 l -7.0625,0 z"
|
||||
id="path7594"
|
||||
style="opacity:0.4;fill:url(#linearGradient7649);fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:original="M -37.03125 12.5 C -37.295499 12.5 -37.5 12.704501 -37.5 12.96875 L -37.5 35.03125 C -37.5 35.295499 -37.295498 35.500002 -37.03125 35.5 L -29.96875 35.5 C -29.704501 35.5 -29.499999 35.2955 -29.5 35.03125 L -29.5 12.96875 C -29.5 12.704501 -29.704501 12.5 -29.96875 12.5 L -37.03125 12.5 z M -22.03125 12.5 C -22.295499 12.5 -22.5 12.704501 -22.5 12.96875 L -22.5 35.03125 C -22.5 35.295499 -22.295498 35.500002 -22.03125 35.5 L -14.96875 35.5 C -14.704501 35.5 -14.5 35.2955 -14.5 35.03125 L -14.5 12.96875 C -14.5 12.704501 -14.704501 12.5 -14.96875 12.5 L -22.03125 12.5 z "
|
||||
inkscape:radius="1.4584078"
|
||||
sodipodi:type="inkscape:offset" />
|
||||
<g
|
||||
id="g7451">
|
||||
<rect
|
||||
style="fill:url(#radialGradient7651);fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.69999992"
|
||||
id="rect7865"
|
||||
width="7.9980135"
|
||||
height="23.000002"
|
||||
x="-37.5"
|
||||
y="12.5"
|
||||
rx="0.47698301"
|
||||
ry="0.47698301" />
|
||||
<rect
|
||||
ry="0.47698301"
|
||||
rx="0.47698301"
|
||||
y="12.5"
|
||||
x="-22.5"
|
||||
height="23.000002"
|
||||
width="7.9980135"
|
||||
id="rect7879"
|
||||
style="fill:url(#radialGradient7653);fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.69999992" />
|
||||
<rect
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.69999992"
|
||||
id="rect7867"
|
||||
width="5.9999704"
|
||||
height="20.999998"
|
||||
x="-36.5"
|
||||
y="13.500002" />
|
||||
<rect
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.69999992"
|
||||
id="rect7889"
|
||||
width="5.9999704"
|
||||
height="20.999998"
|
||||
x="-21.5"
|
||||
y="13.500002" />
|
||||
<path
|
||||
sodipodi:type="inkscape:offset"
|
||||
inkscape:radius="-0.5"
|
||||
inkscape:original="M 12.96875 12.5 C 12.704501 12.5 12.5 12.704501 12.5 12.96875 L 12.5 35.03125 C 12.5 35.295499 12.704501 35.500002 12.96875 35.5 L 20.03125 35.5 C 20.295499 35.5 20.500001 35.2955 20.5 35.03125 L 20.5 12.96875 C 20.5 12.704501 20.295499 12.5 20.03125 12.5 L 12.96875 12.5 z M 27.96875 12.5 C 27.704501 12.5 27.5 12.704501 27.5 12.96875 L 27.5 35.03125 C 27.5 35.295499 27.704502 35.500002 27.96875 35.5 L 35.03125 35.5 C 35.295499 35.5 35.500001 35.2955 35.5 35.03125 L 35.5 12.96875 C 35.5 12.704501 35.295499 12.5 35.03125 12.5 L 27.96875 12.5 z "
|
||||
style="opacity:0.15;fill:url(#linearGradient7655);fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
id="path7402"
|
||||
d="m 13,13 0,22 7,0 0,-22 -7,0 z m 15,0 0,22 7,0 0,-22 -7,0 z"
|
||||
transform="matrix(1,0,0,-1,-50,48)" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,302 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="30"
|
||||
height="30"
|
||||
id="svg7854"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
version="1.0"
|
||||
sodipodi:docname="play.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/lapo/Desktop/media-icons.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<defs
|
||||
id="defs7856">
|
||||
<linearGradient
|
||||
id="linearGradient7577">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0.3137255;"
|
||||
offset="0"
|
||||
id="stop7579" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop7581" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient7305">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop7307" />
|
||||
<stop
|
||||
id="stop7313"
|
||||
offset="0.20971029"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.81065089;"
|
||||
offset="0.34936365"
|
||||
id="stop7329" />
|
||||
<stop
|
||||
id="stop7321"
|
||||
offset="0.42850056"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0.52134049"
|
||||
id="stop7323" />
|
||||
<stop
|
||||
id="stop7317"
|
||||
offset="0.55746967"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.56804734;"
|
||||
offset="0.71001518"
|
||||
id="stop7319" />
|
||||
<stop
|
||||
id="stop7416"
|
||||
offset="0.74394959"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1"
|
||||
id="stop7309" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient7344"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop7346"
|
||||
offset="0"
|
||||
style="stop-color:#eeeeec;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop7348"
|
||||
offset="1"
|
||||
style="stop-color:#92948f;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7577"
|
||||
id="linearGradient7865"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-177.27766"
|
||||
y1="9.2039175"
|
||||
x2="-172.82857"
|
||||
y2="25.808161" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7344"
|
||||
id="radialGradient7867"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.7391664,0,0,2.2478596,-274.85735,-10.683483)"
|
||||
cx="36.126339"
|
||||
cy="18.020473"
|
||||
fx="36.126339"
|
||||
fy="18.020473"
|
||||
r="13.55237" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7305"
|
||||
id="linearGradient7869"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-0.11694507"
|
||||
y1="10.14653"
|
||||
x2="48.025963"
|
||||
y2="37.941853" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#afafaf"
|
||||
borderopacity="1"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.313708"
|
||||
inkscape:cx="37.873071"
|
||||
inkscape:cy="8.6821095"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
width="48px"
|
||||
height="48px"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1018"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
showgrid="false"
|
||||
inkscape:grid-points="true"
|
||||
showborder="true"
|
||||
showguides="false"
|
||||
inkscape:guide-bbox="true"
|
||||
borderlayer="true"
|
||||
inkscape:window-maximized="1">
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="13.125"
|
||||
id="guide7377" />
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="5.4800776"
|
||||
id="guide7379" />
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="35"
|
||||
id="guide7492" />
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="48"
|
||||
id="guide7046" />
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="-17.5"
|
||||
id="guide7233" />
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="-29"
|
||||
id="guide7235" />
|
||||
<sodipodi:guide
|
||||
orientation="horizontal"
|
||||
position="22.097087"
|
||||
id="guide7556" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="-76.125"
|
||||
id="guide7644" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="-26.125"
|
||||
id="guide7646" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="24"
|
||||
id="guide7648" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="-125.28125"
|
||||
id="guide7665" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="-175.125"
|
||||
id="guide7667" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="-225.83223"
|
||||
id="guide7685" />
|
||||
<sodipodi:guide
|
||||
orientation="vertical"
|
||||
position="-326.06462"
|
||||
id="guide7695" />
|
||||
<inkscape:grid
|
||||
id="GridFromPre046Settings"
|
||||
type="xygrid"
|
||||
originx="0px"
|
||||
originy="0px"
|
||||
spacingx="0.5px"
|
||||
spacingy="0.5px"
|
||||
color="#3f3fff"
|
||||
empcolor="#3f3fff"
|
||||
opacity="0.15"
|
||||
empopacity="0.38"
|
||||
empspacing="2"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7859">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Lapo Calamandrei</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:source />
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
|
||||
<dc:title>Play</dc:title>
|
||||
<dc:subject>
|
||||
<rdf:Bag>
|
||||
<rdf:li>play</rdf:li>
|
||||
<rdf:li>playback</rdf:li>
|
||||
<rdf:li>start</rdf:li>
|
||||
<rdf:li>begin</rdf:li>
|
||||
</rdf:Bag>
|
||||
</dc:subject>
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/Notice" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/ShareAlike" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/SourceCode" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-18)">
|
||||
<g
|
||||
id="g7138"
|
||||
transform="translate(190.01626,9.0104672)">
|
||||
<path
|
||||
d="M -186.59375,9 A 1.5027521,1.5027521 0 0 0 -188,10.5 l 0,27 a 1.5027521,1.5027521 0 0 0 2.25,1.28125 l 23,-13.5 a 1.5027521,1.5027521 0 0 0 0,-2.5625 l -23,-13.5 A 1.5027521,1.5027521 0 0 0 -186.59375,9 z"
|
||||
id="path7671"
|
||||
style="opacity:0.4;fill:url(#linearGradient7865);fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
inkscape:original="M -186.5 10.5 L -186.5 37.5 L -163.5 24 L -186.5 10.5 z "
|
||||
inkscape:radius="1.5026019"
|
||||
sodipodi:type="inkscape:offset" />
|
||||
<g
|
||||
id="g7515">
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
id="path7812"
|
||||
d="m -186.5,37.500001 0,-26.999545 23,13.512002 -23,13.487543 z"
|
||||
style="fill:url(#radialGradient7867);fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:0.99999982;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0.69999992"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
id="path7828"
|
||||
d="m -185.5,35.750028 0,-23.4996 20,11.760444 -20,11.739156 z"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.99999982;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0.69999992"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="inkscape:offset"
|
||||
inkscape:radius="-0.5"
|
||||
inkscape:original="M 13.5 10.5 C 13.5 19.499848 13.5 28.500152 13.5 37.5 C 21.166667 33.004153 28.833333 28.495847 36.5 24 C 28.833333 19.495999 21.166667 15.004001 13.5 10.5 z "
|
||||
style="opacity:0.15;fill:url(#linearGradient7869);fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
id="path7354"
|
||||
d="m 14,11.375 0,25.25 C 21.167154,32.421341 28.332238,28.204015 35.5,24 28.332835,19.790152 21.16775,15.585191 14,11.375 z"
|
||||
transform="matrix(1,0,0,-1,-200,48)" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.5 KiB |
@@ -0,0 +1,858 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
width="256"
|
||||
height="256"
|
||||
id="svg2"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="red_light_off.svg">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1028"
|
||||
id="namedview3534"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.84375"
|
||||
inkscape:cx="191.72148"
|
||||
inkscape:cy="133.84078"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" />
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient4716">
|
||||
<stop
|
||||
id="stop4718"
|
||||
style="stop-color:#0a1314;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4720"
|
||||
style="stop-color:#0a1314;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4698">
|
||||
<stop
|
||||
id="stop4700"
|
||||
style="stop-color:#424a4b;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4702"
|
||||
style="stop-color:#424a4b;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4680">
|
||||
<stop
|
||||
id="stop4682"
|
||||
style="stop-color:#0e191c;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4684"
|
||||
style="stop-color:#0e191c;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4662">
|
||||
<stop
|
||||
id="stop4664"
|
||||
style="stop-color:#f5f4f1;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4666"
|
||||
style="stop-color:#f5f4f1;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4632">
|
||||
<stop
|
||||
id="stop4634"
|
||||
style="stop-color:#626463;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4636"
|
||||
style="stop-color:#626463;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4622">
|
||||
<stop
|
||||
id="stop4624"
|
||||
style="stop-color:#b9b5b4;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4626"
|
||||
style="stop-color:#9d9290;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4594">
|
||||
<stop
|
||||
id="stop4596"
|
||||
style="stop-color:#473e3e;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4598"
|
||||
style="stop-color:#473e3e;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4584">
|
||||
<stop
|
||||
id="stop4586"
|
||||
style="stop-color:#b1aba9;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4588"
|
||||
style="stop-color:#b1aba9;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4572">
|
||||
<stop
|
||||
id="stop4574"
|
||||
style="stop-color:#e0d8d4;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4580"
|
||||
style="stop-color:#e0d8d4;stop-opacity:0.45490196"
|
||||
offset="0.67647064" />
|
||||
<stop
|
||||
id="stop4576"
|
||||
style="stop-color:#e0d8d4;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4562">
|
||||
<stop
|
||||
id="stop4564"
|
||||
style="stop-color:#cfcdc7;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4566"
|
||||
style="stop-color:#cfcdc7;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4546">
|
||||
<stop
|
||||
id="stop4548"
|
||||
style="stop-color:#444544;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4550"
|
||||
style="stop-color:#706062;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4454">
|
||||
<stop
|
||||
id="stop4456"
|
||||
style="stop-color:#bebbb6;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4458"
|
||||
style="stop-color:#bebbb6;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4446">
|
||||
<stop
|
||||
id="stop4448"
|
||||
style="stop-color:#8f908a;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4450"
|
||||
style="stop-color:#8f908a;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4438">
|
||||
<stop
|
||||
id="stop4440"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4442"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4430">
|
||||
<stop
|
||||
id="stop4432"
|
||||
style="stop-color:#ea3231;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4434"
|
||||
style="stop-color:#ea3231;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3971">
|
||||
<stop
|
||||
id="stop3973"
|
||||
style="stop-color:#ea1117;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3975"
|
||||
style="stop-color:#d3070e;stop-opacity:1"
|
||||
offset="0.36951563" />
|
||||
<stop
|
||||
id="stop3977"
|
||||
style="stop-color:#c10914;stop-opacity:0.31111112;"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3862">
|
||||
<stop
|
||||
id="stop3864"
|
||||
style="stop-color:#ea1117;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3866"
|
||||
style="stop-color:#ea1117;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3798">
|
||||
<stop
|
||||
id="stop3800"
|
||||
style="stop-color:#f8ee46;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3802"
|
||||
style="stop-color:#d3321c;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3774">
|
||||
<stop
|
||||
id="stop3776"
|
||||
style="stop-color:#ea1117;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3782"
|
||||
style="stop-color:#cd0d14;stop-opacity:1"
|
||||
offset="0.36951563" />
|
||||
<stop
|
||||
id="stop3778"
|
||||
style="stop-color:#c10914;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
id="filter4426">
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur4428"
|
||||
stdDeviation="0.79644532" />
|
||||
</filter>
|
||||
<filter
|
||||
x="-0.014859335"
|
||||
y="-0.10673607"
|
||||
width="1.0297188"
|
||||
height="1.2134721"
|
||||
color-interpolation-filters="sRGB"
|
||||
id="filter4487">
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur4489"
|
||||
stdDeviation="0.49337636" />
|
||||
</filter>
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
id="filter4511">
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur4513"
|
||||
stdDeviation="0.36832783" />
|
||||
</filter>
|
||||
<radialGradient
|
||||
cx="355.6181"
|
||||
cy="263.47437"
|
||||
r="214.64285"
|
||||
fx="355.6181"
|
||||
fy="263.47437"
|
||||
id="radialGradient4735"
|
||||
xlink:href="#linearGradient4662"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.49590542,0.02361451,-0.04756507,0.99886814,191.79733,-8.0995301)" />
|
||||
<radialGradient
|
||||
cx="688.20172"
|
||||
cy="322.61343"
|
||||
r="214.64285"
|
||||
fx="688.20172"
|
||||
fy="322.61343"
|
||||
id="radialGradient4737"
|
||||
xlink:href="#linearGradient4662"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.18891652,0.20859515,-0.74120407,0.67127976,623.54686,-26.528142)" />
|
||||
<radialGradient
|
||||
cx="-50.826534"
|
||||
cy="568.55469"
|
||||
r="214.64285"
|
||||
fx="-50.826534"
|
||||
fy="568.55469"
|
||||
id="radialGradient4739"
|
||||
xlink:href="#linearGradient4662"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.24198071,-0.24251704,0.72109578,0.71950102,-205.95295,-86.121137)" />
|
||||
<radialGradient
|
||||
cx="143.2925"
|
||||
cy="560.57587"
|
||||
r="214.64285"
|
||||
fx="143.2925"
|
||||
fy="560.57587"
|
||||
id="radialGradient4741"
|
||||
xlink:href="#linearGradient4680"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.55737084,1.1227092,-1.0153425,0.5040684,651.47245,105.56632)" />
|
||||
<radialGradient
|
||||
cx="359.53653"
|
||||
cy="680.74078"
|
||||
r="214.64285"
|
||||
fx="359.53653"
|
||||
fy="680.74078"
|
||||
id="radialGradient4743"
|
||||
xlink:href="#linearGradient4698"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.59429926,-0.0196788,0.03309447,0.99945223,124.48576,7.5040537)" />
|
||||
<radialGradient
|
||||
cx="549.07318"
|
||||
cy="531.27026"
|
||||
r="214.64285"
|
||||
fx="549.07318"
|
||||
fy="531.27026"
|
||||
id="radialGradient4745"
|
||||
xlink:href="#linearGradient4716"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.28951144,0.61897854,-1.0261698,-0.47996685,1253.2096,446.39787)" />
|
||||
<radialGradient
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
r="87.547356"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
id="radialGradient4965"
|
||||
xlink:href="#linearGradient3774"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
r="87.547356"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
id="radialGradient4967"
|
||||
xlink:href="#linearGradient3971"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="126.875"
|
||||
cy="125.125"
|
||||
r="44.125"
|
||||
fx="126.875"
|
||||
fy="125.125"
|
||||
id="radialGradient4969"
|
||||
xlink:href="#linearGradient3862"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="493.20697"
|
||||
cy="120.2355"
|
||||
r="20.152544"
|
||||
fx="493.20697"
|
||||
fy="120.2355"
|
||||
id="radialGradient4971"
|
||||
xlink:href="#linearGradient3798"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.75621888,0,0,0.75621888,120.23455,29.311144)" />
|
||||
<linearGradient
|
||||
x1="59.75"
|
||||
y1="853.86218"
|
||||
x2="63.5"
|
||||
y2="848.86218"
|
||||
id="linearGradient4973"
|
||||
xlink:href="#linearGradient4454"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="65.5"
|
||||
y1="878.36218"
|
||||
x2="89"
|
||||
y2="879.86218"
|
||||
id="linearGradient4975"
|
||||
xlink:href="#linearGradient4438"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="159.09903"
|
||||
y1="895.73804"
|
||||
x2="155.03316"
|
||||
y2="895.2077"
|
||||
id="linearGradient4977"
|
||||
xlink:href="#linearGradient4430"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="201.5"
|
||||
y1="859.36218"
|
||||
x2="192.5"
|
||||
y2="865.86218"
|
||||
id="linearGradient4979"
|
||||
xlink:href="#linearGradient4446"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="565.67145"
|
||||
cy="446.36511"
|
||||
r="214.64285"
|
||||
fx="565.67145"
|
||||
fy="446.36511"
|
||||
id="radialGradient4981"
|
||||
xlink:href="#linearGradient4546"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.01141222,0.7200172,-0.98807046,-0.01566569,1003.895,64.801116)" />
|
||||
<radialGradient
|
||||
cx="525.8512"
|
||||
cy="583.23352"
|
||||
r="214.64285"
|
||||
fx="525.8512"
|
||||
fy="583.23352"
|
||||
id="radialGradient4983"
|
||||
xlink:href="#linearGradient4562"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.13019845,0.14665728,-0.25941753,-0.23030421,735.49435,657.5781)" />
|
||||
<radialGradient
|
||||
cx="338.53104"
|
||||
cy="703.86841"
|
||||
r="214.64285"
|
||||
fx="338.53104"
|
||||
fy="703.86841"
|
||||
id="radialGradient4985"
|
||||
xlink:href="#linearGradient4572"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.27995439,0.0091529,-0.01235873,-0.37800452,464.47395,950.87477)" />
|
||||
<radialGradient
|
||||
cx="241.97748"
|
||||
cy="591.31604"
|
||||
r="214.64285"
|
||||
fx="241.97748"
|
||||
fy="591.31604"
|
||||
id="radialGradient4987"
|
||||
xlink:href="#linearGradient4584"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.0653018,0.07876991,-0.51364189,0.42581899,480.05196,325.10195)" />
|
||||
<radialGradient
|
||||
cx="148.8054"
|
||||
cy="479.24811"
|
||||
r="214.64285"
|
||||
fx="148.8054"
|
||||
fy="479.24811"
|
||||
id="radialGradient4989"
|
||||
xlink:href="#linearGradient4594"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.03414964,0.69195514,-1.3162287,0.06495088,774.52389,345.15386)" />
|
||||
<radialGradient
|
||||
cx="361.88593"
|
||||
cy="270.58835"
|
||||
r="214.64285"
|
||||
fx="361.88593"
|
||||
fy="270.58835"
|
||||
id="radialGradient4991"
|
||||
xlink:href="#linearGradient4622"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.50253939,0.0288342,-0.05728614,0.9983578,195.52495,-9.9903306)" />
|
||||
<radialGradient
|
||||
cx="113.19639"
|
||||
cy="362.84845"
|
||||
r="214.64285"
|
||||
fx="113.19639"
|
||||
fy="362.84845"
|
||||
id="radialGradient4993"
|
||||
xlink:href="#linearGradient4632"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.08238352,0.11533689,-0.81373347,-0.58123819,490.52721,552.42839)" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3774"
|
||||
id="radialGradient3598"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3971"
|
||||
id="radialGradient3600"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3862"
|
||||
id="radialGradient3602"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="126.875"
|
||||
cy="125.125"
|
||||
fx="126.875"
|
||||
fy="125.125"
|
||||
r="44.125" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3798"
|
||||
id="radialGradient3604"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.75621888,0,0,0.75621888,120.23455,29.311144)"
|
||||
cx="493.20697"
|
||||
cy="120.2355"
|
||||
fx="493.20697"
|
||||
fy="120.2355"
|
||||
r="20.152544" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4454"
|
||||
id="linearGradient3606"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="59.75"
|
||||
y1="853.86218"
|
||||
x2="63.5"
|
||||
y2="848.86218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4438"
|
||||
id="linearGradient3608"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="65.5"
|
||||
y1="878.36218"
|
||||
x2="89"
|
||||
y2="879.86218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4430"
|
||||
id="linearGradient3610"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="159.09903"
|
||||
y1="895.73804"
|
||||
x2="155.03316"
|
||||
y2="895.2077" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4446"
|
||||
id="linearGradient3612"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="201.5"
|
||||
y1="859.36218"
|
||||
x2="192.5"
|
||||
y2="865.86218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4454"
|
||||
id="linearGradient3641"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="59.75"
|
||||
y1="853.86218"
|
||||
x2="63.5"
|
||||
y2="848.86218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4438"
|
||||
id="linearGradient3643"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="65.5"
|
||||
y1="878.36218"
|
||||
x2="89"
|
||||
y2="879.86218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4430"
|
||||
id="linearGradient3645"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="159.09903"
|
||||
y1="895.73804"
|
||||
x2="155.03316"
|
||||
y2="895.2077" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4446"
|
||||
id="linearGradient3647"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="201.5"
|
||||
y1="859.36218"
|
||||
x2="192.5"
|
||||
y2="865.86218" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3774"
|
||||
id="radialGradient3657"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3971"
|
||||
id="radialGradient3659"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3862"
|
||||
id="radialGradient3661"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="126.875"
|
||||
cy="125.125"
|
||||
fx="126.875"
|
||||
fy="125.125"
|
||||
r="44.125" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3798"
|
||||
id="radialGradient3663"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.75621888,0,0,0.75621888,120.23455,29.311144)"
|
||||
cx="493.20697"
|
||||
cy="120.2355"
|
||||
fx="493.20697"
|
||||
fy="120.2355"
|
||||
r="20.152544" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3774"
|
||||
id="radialGradient3672"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3971"
|
||||
id="radialGradient3674"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3862"
|
||||
id="radialGradient3676"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="126.875"
|
||||
cy="125.125"
|
||||
fx="126.875"
|
||||
fy="125.125"
|
||||
r="44.125" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3798"
|
||||
id="radialGradient3678"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.75621888,0,0,0.75621888,120.23455,29.311144)"
|
||||
cx="493.20697"
|
||||
cy="120.2355"
|
||||
fx="493.20697"
|
||||
fy="120.2355"
|
||||
r="20.152544" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3798"
|
||||
id="radialGradient3682"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(4.0331154,0,0,4.0331154,-1861.1606,-356.92364)"
|
||||
cx="493.20697"
|
||||
cy="120.2355"
|
||||
fx="493.20697"
|
||||
fy="120.2355"
|
||||
r="20.152544" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3862"
|
||||
id="radialGradient3685"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="126.875"
|
||||
cy="125.125"
|
||||
fx="126.875"
|
||||
fy="125.125"
|
||||
r="44.125"
|
||||
gradientTransform="matrix(1.3823324,0,0,1.3823324,-47.383422,-42.199686)" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3971"
|
||||
id="radialGradient3688"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356"
|
||||
gradientTransform="matrix(1.3823324,0,0,1.3823324,-61.870956,-52.134191)" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3774"
|
||||
id="radialGradient3691"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356"
|
||||
gradientTransform="matrix(1.0359425,0,0,1.0359425,-14.292394,-6.9955088)" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3971"
|
||||
id="radialGradient4461"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3635927,0,0,1.3635927,-59.29696,-49.692192)"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3774"
|
||||
id="radialGradient4563"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0359425,0,0,1.0359425,-14.292394,-6.9955088)"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3862"
|
||||
id="radialGradient4565"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3823324,0,0,1.3823324,-47.383422,-42.199686)"
|
||||
cx="126.875"
|
||||
cy="125.125"
|
||||
fx="126.875"
|
||||
fy="125.125"
|
||||
r="44.125" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3971"
|
||||
id="radialGradient4567"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3635927,0,0,1.3635927,-59.29696,-49.692192)"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3798"
|
||||
id="radialGradient4569"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(4.0331154,0,0,4.0331154,-1861.1606,-356.92364)"
|
||||
cx="493.20697"
|
||||
cy="120.2355"
|
||||
fx="493.20697"
|
||||
fy="120.2355"
|
||||
r="20.152544" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3774"
|
||||
id="radialGradient6638"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0359425,0,0,1.0359425,-14.292394,-6.9955088)"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3862"
|
||||
id="radialGradient6640"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3823324,0,0,1.3823324,-47.383422,-42.199686)"
|
||||
cx="126.875"
|
||||
cy="125.125"
|
||||
fx="126.875"
|
||||
fy="125.125"
|
||||
r="44.125" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3971"
|
||||
id="radialGradient6642"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3635927,0,0,1.3635927,-59.29696,-49.692192)"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
</defs>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="g6630"
|
||||
transform="matrix(1.1767728,0,0,1.1767728,-22.626918,-22.676268)">
|
||||
<path
|
||||
d="m 236.3786,127.99996 a 108.37861,108.37861 0 0 1 -216.757217,0 108.37861,108.37861 0 1 1 216.757217,0 z"
|
||||
id="path3768"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.50492537;stroke-opacity:1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
style="opacity:0.33300003"
|
||||
transform="matrix(0.9190225,0,0,0.9190225,10.365119,10.365119)"
|
||||
id="g4471">
|
||||
<path
|
||||
d="m 217.91707,127.99999 a 89.91707,89.91707 0 1 1 -179.834134,0 89.91707,89.91707 0 1 1 179.834134,0 z"
|
||||
id="path3874"
|
||||
style="opacity:0.38050316;fill:url(#radialGradient6638);fill-opacity:1;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 187.95867,130.76466 a 59.958669,59.958669 0 0 1 -119.917337,0 59.958669,59.958669 0 1 1 119.917337,0 z"
|
||||
id="path3860"
|
||||
style="fill:url(#radialGradient6640);fill-opacity:1;stroke:#ef1d00;stroke-width:2.07349849;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g4463">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#radialGradient6642);fill-opacity:1;stroke:none"
|
||||
id="path3772"
|
||||
d="m 246.35624,127.99999 a 118.35625,118.35625 0 1 1 -236.7124824,0 118.35625,118.35625 0 1 1 236.7124824,0 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,830 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
width="256"
|
||||
height="256"
|
||||
id="svg2"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="red_light_on.svg">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1028"
|
||||
id="namedview3534"
|
||||
showgrid="false"
|
||||
inkscape:zoom="2.6074562"
|
||||
inkscape:cx="143.3369"
|
||||
inkscape:cy="163.34134"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true" />
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient4716">
|
||||
<stop
|
||||
id="stop4718"
|
||||
style="stop-color:#0a1314;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4720"
|
||||
style="stop-color:#0a1314;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4698">
|
||||
<stop
|
||||
id="stop4700"
|
||||
style="stop-color:#424a4b;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4702"
|
||||
style="stop-color:#424a4b;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4680">
|
||||
<stop
|
||||
id="stop4682"
|
||||
style="stop-color:#0e191c;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4684"
|
||||
style="stop-color:#0e191c;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4662">
|
||||
<stop
|
||||
id="stop4664"
|
||||
style="stop-color:#f5f4f1;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4666"
|
||||
style="stop-color:#f5f4f1;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4632">
|
||||
<stop
|
||||
id="stop4634"
|
||||
style="stop-color:#626463;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4636"
|
||||
style="stop-color:#626463;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4622">
|
||||
<stop
|
||||
id="stop4624"
|
||||
style="stop-color:#b9b5b4;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4626"
|
||||
style="stop-color:#9d9290;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4594">
|
||||
<stop
|
||||
id="stop4596"
|
||||
style="stop-color:#473e3e;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4598"
|
||||
style="stop-color:#473e3e;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4584">
|
||||
<stop
|
||||
id="stop4586"
|
||||
style="stop-color:#b1aba9;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4588"
|
||||
style="stop-color:#b1aba9;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4572">
|
||||
<stop
|
||||
id="stop4574"
|
||||
style="stop-color:#e0d8d4;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4580"
|
||||
style="stop-color:#e0d8d4;stop-opacity:0.45490196"
|
||||
offset="0.67647064" />
|
||||
<stop
|
||||
id="stop4576"
|
||||
style="stop-color:#e0d8d4;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4562">
|
||||
<stop
|
||||
id="stop4564"
|
||||
style="stop-color:#cfcdc7;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4566"
|
||||
style="stop-color:#cfcdc7;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4546">
|
||||
<stop
|
||||
id="stop4548"
|
||||
style="stop-color:#444544;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4550"
|
||||
style="stop-color:#706062;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4454">
|
||||
<stop
|
||||
id="stop4456"
|
||||
style="stop-color:#bebbb6;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4458"
|
||||
style="stop-color:#bebbb6;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4446">
|
||||
<stop
|
||||
id="stop4448"
|
||||
style="stop-color:#8f908a;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4450"
|
||||
style="stop-color:#8f908a;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4438">
|
||||
<stop
|
||||
id="stop4440"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4442"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4430">
|
||||
<stop
|
||||
id="stop4432"
|
||||
style="stop-color:#ea3231;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop4434"
|
||||
style="stop-color:#ea3231;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3971">
|
||||
<stop
|
||||
id="stop3973"
|
||||
style="stop-color:#ea1117;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3975"
|
||||
style="stop-color:#d3070e;stop-opacity:1"
|
||||
offset="0.36951563" />
|
||||
<stop
|
||||
id="stop3977"
|
||||
style="stop-color:#c10914;stop-opacity:0.31111112;"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3862">
|
||||
<stop
|
||||
id="stop3864"
|
||||
style="stop-color:#ea1117;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3866"
|
||||
style="stop-color:#ea1117;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3798">
|
||||
<stop
|
||||
id="stop3800"
|
||||
style="stop-color:#f8ee46;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3802"
|
||||
style="stop-color:#d3321c;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3774">
|
||||
<stop
|
||||
id="stop3776"
|
||||
style="stop-color:#ea1117;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3782"
|
||||
style="stop-color:#cd0d14;stop-opacity:1"
|
||||
offset="0.36951563" />
|
||||
<stop
|
||||
id="stop3778"
|
||||
style="stop-color:#c10914;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
id="filter4426">
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur4428"
|
||||
stdDeviation="0.79644532" />
|
||||
</filter>
|
||||
<filter
|
||||
x="-0.014859335"
|
||||
y="-0.10673607"
|
||||
width="1.0297188"
|
||||
height="1.2134721"
|
||||
color-interpolation-filters="sRGB"
|
||||
id="filter4487">
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur4489"
|
||||
stdDeviation="0.49337636" />
|
||||
</filter>
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
id="filter4511">
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur4513"
|
||||
stdDeviation="0.36832783" />
|
||||
</filter>
|
||||
<radialGradient
|
||||
cx="355.6181"
|
||||
cy="263.47437"
|
||||
r="214.64285"
|
||||
fx="355.6181"
|
||||
fy="263.47437"
|
||||
id="radialGradient4735"
|
||||
xlink:href="#linearGradient4662"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.49590542,0.02361451,-0.04756507,0.99886814,191.79733,-8.0995301)" />
|
||||
<radialGradient
|
||||
cx="688.20172"
|
||||
cy="322.61343"
|
||||
r="214.64285"
|
||||
fx="688.20172"
|
||||
fy="322.61343"
|
||||
id="radialGradient4737"
|
||||
xlink:href="#linearGradient4662"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.18891652,0.20859515,-0.74120407,0.67127976,623.54686,-26.528142)" />
|
||||
<radialGradient
|
||||
cx="-50.826534"
|
||||
cy="568.55469"
|
||||
r="214.64285"
|
||||
fx="-50.826534"
|
||||
fy="568.55469"
|
||||
id="radialGradient4739"
|
||||
xlink:href="#linearGradient4662"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.24198071,-0.24251704,0.72109578,0.71950102,-205.95295,-86.121137)" />
|
||||
<radialGradient
|
||||
cx="143.2925"
|
||||
cy="560.57587"
|
||||
r="214.64285"
|
||||
fx="143.2925"
|
||||
fy="560.57587"
|
||||
id="radialGradient4741"
|
||||
xlink:href="#linearGradient4680"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.55737084,1.1227092,-1.0153425,0.5040684,651.47245,105.56632)" />
|
||||
<radialGradient
|
||||
cx="359.53653"
|
||||
cy="680.74078"
|
||||
r="214.64285"
|
||||
fx="359.53653"
|
||||
fy="680.74078"
|
||||
id="radialGradient4743"
|
||||
xlink:href="#linearGradient4698"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.59429926,-0.0196788,0.03309447,0.99945223,124.48576,7.5040537)" />
|
||||
<radialGradient
|
||||
cx="549.07318"
|
||||
cy="531.27026"
|
||||
r="214.64285"
|
||||
fx="549.07318"
|
||||
fy="531.27026"
|
||||
id="radialGradient4745"
|
||||
xlink:href="#linearGradient4716"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.28951144,0.61897854,-1.0261698,-0.47996685,1253.2096,446.39787)" />
|
||||
<radialGradient
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
r="87.547356"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
id="radialGradient4965"
|
||||
xlink:href="#linearGradient3774"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
r="87.547356"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
id="radialGradient4967"
|
||||
xlink:href="#linearGradient3971"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="126.875"
|
||||
cy="125.125"
|
||||
r="44.125"
|
||||
fx="126.875"
|
||||
fy="125.125"
|
||||
id="radialGradient4969"
|
||||
xlink:href="#linearGradient3862"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="493.20697"
|
||||
cy="120.2355"
|
||||
r="20.152544"
|
||||
fx="493.20697"
|
||||
fy="120.2355"
|
||||
id="radialGradient4971"
|
||||
xlink:href="#linearGradient3798"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.75621888,0,0,0.75621888,120.23455,29.311144)" />
|
||||
<linearGradient
|
||||
x1="59.75"
|
||||
y1="853.86218"
|
||||
x2="63.5"
|
||||
y2="848.86218"
|
||||
id="linearGradient4973"
|
||||
xlink:href="#linearGradient4454"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="65.5"
|
||||
y1="878.36218"
|
||||
x2="89"
|
||||
y2="879.86218"
|
||||
id="linearGradient4975"
|
||||
xlink:href="#linearGradient4438"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="159.09903"
|
||||
y1="895.73804"
|
||||
x2="155.03316"
|
||||
y2="895.2077"
|
||||
id="linearGradient4977"
|
||||
xlink:href="#linearGradient4430"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="201.5"
|
||||
y1="859.36218"
|
||||
x2="192.5"
|
||||
y2="865.86218"
|
||||
id="linearGradient4979"
|
||||
xlink:href="#linearGradient4446"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="565.67145"
|
||||
cy="446.36511"
|
||||
r="214.64285"
|
||||
fx="565.67145"
|
||||
fy="446.36511"
|
||||
id="radialGradient4981"
|
||||
xlink:href="#linearGradient4546"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.01141222,0.7200172,-0.98807046,-0.01566569,1003.895,64.801116)" />
|
||||
<radialGradient
|
||||
cx="525.8512"
|
||||
cy="583.23352"
|
||||
r="214.64285"
|
||||
fx="525.8512"
|
||||
fy="583.23352"
|
||||
id="radialGradient4983"
|
||||
xlink:href="#linearGradient4562"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.13019845,0.14665728,-0.25941753,-0.23030421,735.49435,657.5781)" />
|
||||
<radialGradient
|
||||
cx="338.53104"
|
||||
cy="703.86841"
|
||||
r="214.64285"
|
||||
fx="338.53104"
|
||||
fy="703.86841"
|
||||
id="radialGradient4985"
|
||||
xlink:href="#linearGradient4572"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.27995439,0.0091529,-0.01235873,-0.37800452,464.47395,950.87477)" />
|
||||
<radialGradient
|
||||
cx="241.97748"
|
||||
cy="591.31604"
|
||||
r="214.64285"
|
||||
fx="241.97748"
|
||||
fy="591.31604"
|
||||
id="radialGradient4987"
|
||||
xlink:href="#linearGradient4584"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.0653018,0.07876991,-0.51364189,0.42581899,480.05196,325.10195)" />
|
||||
<radialGradient
|
||||
cx="148.8054"
|
||||
cy="479.24811"
|
||||
r="214.64285"
|
||||
fx="148.8054"
|
||||
fy="479.24811"
|
||||
id="radialGradient4989"
|
||||
xlink:href="#linearGradient4594"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.03414964,0.69195514,-1.3162287,0.06495088,774.52389,345.15386)" />
|
||||
<radialGradient
|
||||
cx="361.88593"
|
||||
cy="270.58835"
|
||||
r="214.64285"
|
||||
fx="361.88593"
|
||||
fy="270.58835"
|
||||
id="radialGradient4991"
|
||||
xlink:href="#linearGradient4622"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.50253939,0.0288342,-0.05728614,0.9983578,195.52495,-9.9903306)" />
|
||||
<radialGradient
|
||||
cx="113.19639"
|
||||
cy="362.84845"
|
||||
r="214.64285"
|
||||
fx="113.19639"
|
||||
fy="362.84845"
|
||||
id="radialGradient4993"
|
||||
xlink:href="#linearGradient4632"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.08238352,0.11533689,-0.81373347,-0.58123819,490.52721,552.42839)" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3774"
|
||||
id="radialGradient3598"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3971"
|
||||
id="radialGradient3600"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3862"
|
||||
id="radialGradient3602"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="126.875"
|
||||
cy="125.125"
|
||||
fx="126.875"
|
||||
fy="125.125"
|
||||
r="44.125" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3798"
|
||||
id="radialGradient3604"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.75621888,0,0,0.75621888,120.23455,29.311144)"
|
||||
cx="493.20697"
|
||||
cy="120.2355"
|
||||
fx="493.20697"
|
||||
fy="120.2355"
|
||||
r="20.152544" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4454"
|
||||
id="linearGradient3606"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="59.75"
|
||||
y1="853.86218"
|
||||
x2="63.5"
|
||||
y2="848.86218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4438"
|
||||
id="linearGradient3608"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="65.5"
|
||||
y1="878.36218"
|
||||
x2="89"
|
||||
y2="879.86218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4430"
|
||||
id="linearGradient3610"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="159.09903"
|
||||
y1="895.73804"
|
||||
x2="155.03316"
|
||||
y2="895.2077" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4446"
|
||||
id="linearGradient3612"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="201.5"
|
||||
y1="859.36218"
|
||||
x2="192.5"
|
||||
y2="865.86218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4454"
|
||||
id="linearGradient3641"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="59.75"
|
||||
y1="853.86218"
|
||||
x2="63.5"
|
||||
y2="848.86218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4438"
|
||||
id="linearGradient3643"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="65.5"
|
||||
y1="878.36218"
|
||||
x2="89"
|
||||
y2="879.86218" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4430"
|
||||
id="linearGradient3645"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="159.09903"
|
||||
y1="895.73804"
|
||||
x2="155.03316"
|
||||
y2="895.2077" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4446"
|
||||
id="linearGradient3647"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="201.5"
|
||||
y1="859.36218"
|
||||
x2="192.5"
|
||||
y2="865.86218" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3774"
|
||||
id="radialGradient3657"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3971"
|
||||
id="radialGradient3659"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3862"
|
||||
id="radialGradient3661"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="126.875"
|
||||
cy="125.125"
|
||||
fx="126.875"
|
||||
fy="125.125"
|
||||
r="44.125" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3798"
|
||||
id="radialGradient3663"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.75621888,0,0,0.75621888,120.23455,29.311144)"
|
||||
cx="493.20697"
|
||||
cy="120.2355"
|
||||
fx="493.20697"
|
||||
fy="120.2355"
|
||||
r="20.152544" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3774"
|
||||
id="radialGradient3672"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3971"
|
||||
id="radialGradient3674"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3862"
|
||||
id="radialGradient3676"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="126.875"
|
||||
cy="125.125"
|
||||
fx="126.875"
|
||||
fy="125.125"
|
||||
r="44.125" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3798"
|
||||
id="radialGradient3678"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.75621888,0,0,0.75621888,120.23455,29.311144)"
|
||||
cx="493.20697"
|
||||
cy="120.2355"
|
||||
fx="493.20697"
|
||||
fy="120.2355"
|
||||
r="20.152544" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3798"
|
||||
id="radialGradient3682"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(4.0331154,0,0,4.0331154,-1861.1606,-356.92364)"
|
||||
cx="493.20697"
|
||||
cy="120.2355"
|
||||
fx="493.20697"
|
||||
fy="120.2355"
|
||||
r="20.152544" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3862"
|
||||
id="radialGradient3685"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="126.875"
|
||||
cy="125.125"
|
||||
fx="126.875"
|
||||
fy="125.125"
|
||||
r="44.125"
|
||||
gradientTransform="matrix(1.3823324,0,0,1.3823324,-47.383422,-42.199686)" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3971"
|
||||
id="radialGradient3688"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356"
|
||||
gradientTransform="matrix(1.3823324,0,0,1.3823324,-61.870956,-52.134191)" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3774"
|
||||
id="radialGradient3691"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356"
|
||||
gradientTransform="matrix(1.0359425,0,0,1.0359425,-14.292394,-6.9955088)" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3971"
|
||||
id="radialGradient4461"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3635927,0,0,1.3635927,-59.29696,-49.692192)"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3774"
|
||||
id="radialGradient4563"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0359425,0,0,1.0359425,-14.292394,-6.9955088)"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3862"
|
||||
id="radialGradient4565"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3823324,0,0,1.3823324,-47.383422,-42.199686)"
|
||||
cx="126.875"
|
||||
cy="125.125"
|
||||
fx="126.875"
|
||||
fy="125.125"
|
||||
r="44.125" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3971"
|
||||
id="radialGradient4567"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3635927,0,0,1.3635927,-59.29696,-49.692192)"
|
||||
cx="137.3555"
|
||||
cy="130.31177"
|
||||
fx="137.3555"
|
||||
fy="130.31177"
|
||||
r="87.547356" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3798"
|
||||
id="radialGradient4569"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(4.0331154,0,0,4.0331154,-1861.1606,-356.92364)"
|
||||
cx="493.20697"
|
||||
cy="120.2355"
|
||||
fx="493.20697"
|
||||
fy="120.2355"
|
||||
r="20.152544" />
|
||||
</defs>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="g4554"
|
||||
transform="matrix(1.0814807,0,0,1.0814807,-10.429528,-10.478878)">
|
||||
<path
|
||||
d="m 245.92813,127.99996 a 117.92814,117.92814 0 0 1 -235.856272,0 117.92814,117.92814 0 1 1 235.856272,0 z"
|
||||
id="path3768"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.54941565;stroke-opacity:1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g4471">
|
||||
<path
|
||||
d="m 217.91707,127.99999 a 89.91707,89.91707 0 1 1 -179.834134,0 89.91707,89.91707 0 1 1 179.834134,0 z"
|
||||
id="path3874"
|
||||
style="opacity:0.38050316;fill:url(#radialGradient4563);fill-opacity:1;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 187.95867,130.76466 a 59.958669,59.958669 0 0 1 -119.917337,0 59.958669,59.958669 0 1 1 119.917337,0 z"
|
||||
id="path3860"
|
||||
style="fill:url(#radialGradient4565);fill-opacity:1;stroke:#ef1d00;stroke-width:2.07349849;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g4463">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#radialGradient4567);fill-opacity:1;stroke:none"
|
||||
id="path3772"
|
||||
d="m 246.35624,127.99999 a 118.35625,118.35625 0 1 1 -236.7124824,0 118.35625,118.35625 0 1 1 236.7124824,0 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#radialGradient4569);fill-opacity:1;stroke:none"
|
||||
id="path3796"
|
||||
d="m 235.47886,128.00001 a 107.47885,107.47885 0 1 1 -214.957658,0 107.47885,107.47885 0 1 1 214.957658,0 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 24 KiB |
@@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30" height="25.000000000000004" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->
|
||||
<defs>
|
||||
<linearGradient gradientTransform="matrix(1 0 0 -1 25.5 -769)" y2="-799.3781" x2="-11.9995" y1="-786.7451" x1="-11.9995" gradientUnits="userSpaceOnUse" id="svg_17">
|
||||
<stop stop-color="#000000" stop-opacity="0.2353" offset="0"/>
|
||||
<stop stop-color="#FFFFFF" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientTransform="matrix(1 0 0 -1 25.5 -769)" y2="-801.5566" x2="5.5005" y1="-786.8662" x1="5.5005" gradientUnits="userSpaceOnUse" id="svg_16">
|
||||
<stop stop-color="#000000" stop-opacity="0.2353" offset="0"/>
|
||||
<stop stop-color="#FFFFFF" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientTransform="matrix(1 0 0 -1 25.5 -769)" y2="-800.501" x2="-9.9995" y1="-790.3438" x1="-9.9995" gradientUnits="userSpaceOnUse" id="svg_15">
|
||||
<stop stop-color="#FFFFFF" offset="0"/>
|
||||
<stop stop-color="#000000" stop-opacity="0.2353" offset="0.5208"/>
|
||||
<stop stop-color="#000000" stop-opacity="0.2353" offset="0.8003"/>
|
||||
<stop stop-color="#FFFFFF" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientTransform="matrix(1 0 0 -1 25.5 -769)" y2="-800.501" x2="3.5005" y1="-790.3438" x1="3.5005" gradientUnits="userSpaceOnUse" id="svg_14">
|
||||
<stop stop-color="#FFFFFF" offset="0"/>
|
||||
<stop stop-color="#000000" stop-opacity="0.2353" offset="0.5208"/>
|
||||
<stop stop-color="#000000" stop-opacity="0.2353" offset="0.8003"/>
|
||||
<stop stop-color="#FFFFFF" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientTransform="matrix(3.7501 0 0 -1.7575 2255.3855 -478.2007)" y2="-280.3413" x2="-597.8208" y1="-291.1875" x1="-597.8208" gradientUnits="userSpaceOnUse" id="svg_13">
|
||||
<stop stop-color="#92948F" offset="0"/>
|
||||
<stop stop-color="#EEEEEC" offset="1"/>
|
||||
</linearGradient>
|
||||
<radialGradient gradientUnits="userSpaceOnUse" gradientTransform="matrix(3.7501 0 0 -1.7575 2255.3855 -478.2007)" r="13.3534" cy="-289.9043" cx="-592.3057" id="svg_12">
|
||||
<stop stop-color="#92948F" offset="0"/>
|
||||
<stop stop-color="#EEEEEC" offset="1"/>
|
||||
</radialGradient>
|
||||
<linearGradient gradientTransform="matrix(1 0 0 -1 25.5 -769)" y2="-781.046" x2="31.3391" y1="-805.3857" x1="-12.8745" gradientUnits="userSpaceOnUse" id="svg_11">
|
||||
<stop stop-color="#FFFFFF" offset="0"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.2097"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0.8107" offset="0.3494"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.4285"/>
|
||||
<stop stop-color="#FFFFFF" offset="0.5213"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.5575"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0.568" offset="0.71"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.7439"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientTransform="matrix(1 0 0 -1 25.5 -769)" y2="-786.6865" x2="1.2058" y1="-800.0781" x1="-23.1206" gradientUnits="userSpaceOnUse" id="svg_10">
|
||||
<stop stop-color="#FFFFFF" offset="0"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.2097"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0.8107" offset="0.3494"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.4285"/>
|
||||
<stop stop-color="#FFFFFF" offset="0.5213"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.5575"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0.568" offset="0.71"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.7439"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientTransform="matrix(-1 0 0 1 -1063.5 -769.9961)" y2="787.6238" x2="-1097.9995" y1="800.2568" x1="-1097.9995" gradientUnits="userSpaceOnUse" id="svg_9">
|
||||
<stop stop-color="#000000" stop-opacity="0.2353" offset="0"/>
|
||||
<stop stop-color="#FFFFFF" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientTransform="matrix(-1 0 0 1 -1063.5 -769.9961)" y2="785.4443" x2="-1080.4995" y1="800.1357" x1="-1080.4995" gradientUnits="userSpaceOnUse" id="svg_8">
|
||||
<stop stop-color="#000000" stop-opacity="0.2353" offset="0"/>
|
||||
<stop stop-color="#FFFFFF" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientTransform="matrix(-1 0 0 1 -1063.5 -769.9961)" y2="786.499" x2="-1082.4995" y1="796.6572" x1="-1082.4995" gradientUnits="userSpaceOnUse" id="svg_7">
|
||||
<stop stop-color="#FFFFFF" offset="0"/>
|
||||
<stop stop-color="#000000" stop-opacity="0.2353" offset="0.5208"/>
|
||||
<stop stop-color="#000000" stop-opacity="0.2353" offset="0.8003"/>
|
||||
<stop stop-color="#FFFFFF" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientTransform="matrix(-1 0 0 1 -1063.5 -769.9961)" y2="786.499" x2="-1095.9995" y1="796.6572" x1="-1095.9995" gradientUnits="userSpaceOnUse" id="svg_6">
|
||||
<stop stop-color="#FFFFFF" offset="0"/>
|
||||
<stop stop-color="#000000" stop-opacity="0.2353" offset="0.5208"/>
|
||||
<stop stop-color="#000000" stop-opacity="0.2353" offset="0.8003"/>
|
||||
<stop stop-color="#FFFFFF" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientTransform="matrix(-3.7501 0 0 1.7575 -3293.3855 -1060.7954)" y2="622.6445" x2="-887.4136" y1="611.7988" x1="-887.4136" gradientUnits="userSpaceOnUse" id="svg_5">
|
||||
<stop stop-color="#EEEEEC" offset="0"/>
|
||||
<stop stop-color="#808080" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientTransform="matrix(-3.7501 0 0 1.7575 -3293.3855 -1060.7954)" y2="610.1279" x2="-882.7466" y1="622.6455" x1="-882.7466" gradientUnits="userSpaceOnUse" id="svg_4">
|
||||
<stop stop-color="#92948F" offset="0"/>
|
||||
<stop stop-color="#EEEEEC" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientTransform="matrix(-1 0 0 1 -1063.5 -769.9961)" y2="800.313" x2="-1084.7943" y1="786.9229" x1="-1109.1177" gradientUnits="userSpaceOnUse" id="svg_3">
|
||||
<stop stop-color="#FFFFFF" offset="0"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.2097"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0.8107" offset="0.3494"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.4285"/>
|
||||
<stop stop-color="#FFFFFF" offset="0.5213"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.5575"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0.568" offset="0.71"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.7439"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientTransform="matrix(-1 0 0 1 -1063.5 -769.9961)" y2="805.9531" x2="-1054.6606" y1="781.6133" x1="-1098.874" gradientUnits="userSpaceOnUse" id="svg_2">
|
||||
<stop stop-color="#FFFFFF" offset="0"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.2097"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0.8107" offset="0.3494"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.4285"/>
|
||||
<stop stop-color="#FFFFFF" offset="0.5213"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.5575"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0.568" offset="0.71"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="0.7439"/>
|
||||
<stop stop-color="#FFFFFF" stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<symbol viewBox="6.5 9.5 35 29" height="29px" width="35px" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="svg_18">
|
||||
<g>
|
||||
<path d="m7,19.5l0,9.062c0,3.562 2.935,6.5 6.5,6.5l5,0c0.827999,-0.001999 1.499001,-0.672001 1.5,-1.5l0,-2.062l-9,0l0,-14.5" fill="url(#svg_17)" opacity="0.4"/>
|
||||
<path d="m37,17l0,14.5l-16,0c0,0.482 0.233,0.938 0.625,1.219002l7,5c0.457001,0.325996 1.062,0.380997 1.562,0.125s0.810999,-0.782001 0.813,-1.344002l0,-1.438l3.5,0c3.563999,0 6.5,-2.938 6.5,-6.5l0,-9.062" fill="url(#svg_16)" opacity="0.4"/>
|
||||
<path d="m11,17l0,14.5l9,0l0,-1.938c-0.000999,-0.828001 -0.672001,-1.498001 -1.5,-1.5l-4.5,0l0,-8.062" fill="url(#svg_15)" opacity="0.4"/>
|
||||
<path d="m34,20l0,8.062l-3,0l0,-1.562c-0.002001,-0.562 -0.312,-1.087999 -0.812,-1.344s-1.104,-0.201 -1.562,0.125l-7,5c-0.393,0.281 -0.625999,0.737 -0.625999,1.219l16,0l0,-14.5" fill="url(#svg_14)" opacity="0.4"/>
|
||||
<path d="m13.5,14.5c-2.736,0 -5,2.264 -5,5l0,9.062c0,2.733999 2.264,5 5,5l5,0l0,-4l-5,0c-0.589,0 -1,-0.412001 -1,-1l0,-9.062c0,-0.589001 0.411,-1 1,-1" stroke-linejoin="round" stroke-linecap="round" stroke="#555753" fill="url(#svg_13)"/>
|
||||
<path d="m34.5,18.5c0.589001,0 1,0.410999 1,1l0,9.062c0,0.587999 -0.410999,1 -1,1l-5,0l0,-3.062l-7,5l7,5l0,-2.938l5,0c2.736,0 5,-2.266001 5,-5l0,-9.062c0,-2.736 -2.264,-5 -5,-5" stroke-linejoin="round" stroke-linecap="round" stroke="#555753" fill="url(#svg_12)"/>
|
||||
<path d="m13.5,15.406c-2.236,0 -4.094,1.858 -4.094,4.094l0,9.062c0,2.233999 1.858,4.093998 4.094,4.093998l4.094,0l0,-2.187998l-4.094,0c-1.011,0 -1.906,-0.896 -1.906,-1.905001l0,-9.063c0,-1.011 0.896,-1.906 1.906,-1.906" stroke-linecap="round" stroke-width="0.8" stroke="#FFFFFF" fill="none"/>
|
||||
<path d="m34.5,17.594c1.012001,0 1.905998,0.896 1.905998,1.906l0,9.062c0,1.011 -0.896,1.903999 -1.905998,1.903999l-5,0c-0.5,0 -0.906,-0.403999 -0.906,-0.903999l0,-1.281l-4.5,3.219l4.5,3.219002l0,-1.156002c0,-0.5 0.406,-0.903999 0.906,-0.903999l5,0c2.236,0 4.094002,-1.857 4.094002,-4.096001l0,-9.063c0,-2.236 -1.857002,-4.094 -4.094002,-4.094" stroke-linecap="round" stroke-width="0.8" stroke="#FFFFFF" fill="none"/>
|
||||
<path d="m34.5,18c0.821999,0 1.5,0.677999 1.5,1.5l0,9.062c0,0.82 -0.678001,1.5 -1.5,1.5l-5,0c-0.275,0 -0.5,-0.226 -0.5,-0.5l0,-2.096001l-5.656,4.034l5.656,4.030998l0,-1.968998c0,-0.276001 0.225,-0.5 0.5,-0.5l5,0c2.459999,0 4.5,-2.041 4.5,-4.5l0,-9.062c0,-2.459999 -2.040001,-4.5 -4.5,-4.5" fill="url(#svg_11)" opacity="0.4"/>
|
||||
<path d="m13.5,15c-2.46,0 -4.5,2.040001 -4.5,4.5l0,9.062c0,2.459 2.04,4.5 4.5,4.5l4.5,0l0,-3l-4.5,0c-0.822,0 -1.5,-0.68 -1.5,-1.5l0,-9.062c0,-0.822001 0.678,-1.5 1.5,-1.5" fill="url(#svg_10)" opacity="0.4"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="m41,28.504l0,-9.062c0,-3.563999 -2.936001,-6.499999 -6.5,-6.499999l-5,0c-0.827999,0.002 -1.497999,0.672 -1.5,1.5l0,2.061999l9,0l0,14.5" fill="url(#svg_9)" opacity="0.4"/>
|
||||
<path d="m11,31.004l0,-14.5l16,0c0,-0.482 -0.232,-0.936 -0.625,-1.219l-7,-5c-0.457001,-0.326 -1.062,-0.381 -1.562,-0.125c-0.5,0.256001 -0.810999,0.783 -0.813,1.344l0,1.438001l-3.5,0c-3.564,0 -6.5,2.936 -6.5,6.499999l0,9.062" fill="url(#svg_8)" opacity="0.4"/>
|
||||
<path d="m14,28.004l0,-8.062l3,0l0,1.562c0.002001,0.562 0.312,1.087999 0.812,1.344c0.5,0.256001 1.105,0.201 1.562,-0.125l7,-5c0.393999,-0.282 0.625999,-0.737 0.625999,-1.219l-16,0l0,14.5" fill="url(#svg_7)" opacity="0.4"/>
|
||||
<path d="m37,31.004l0,-14.5l-9,0l0,1.938c0.002001,0.828001 0.672001,1.498001 1.5,1.5l4.5,0l0,8.062" fill="url(#svg_6)" opacity="0.4"/>
|
||||
<path d="m34.5,33.504002c2.736,0 5,-2.264002 5,-5.000002l0,-9.062c0,-2.736 -2.264,-4.999999 -5,-4.999999l-5,0l0,3.999999l5,0c0.589001,0 1,0.412001 1,1l0,9.062c0,0.59 -0.410999,1 -1,1" stroke-linejoin="round" stroke-linecap="round" stroke="#555753" fill="url(#svg_5)"/>
|
||||
<path d="m13.5,29.504c-0.589,0 -1,-0.41 -1,-1l0,-9.062c0,-0.587999 0.411,-1 1,-1l5,0l0,3.062l7,-5l-7,-5l0,2.938001l-5,0c-2.736,0 -5,2.263999 -5,4.999999l0,9.062c0,2.736 2.264,5.000002 5,5.000002" stroke-linejoin="round" stroke-linecap="round" stroke="#555753" fill="url(#svg_4)"/>
|
||||
<path d="m13.5,30.41c-1.011,0 -1.906,-0.895 -1.906,-1.906l0,-9.062c0,-1.01 0.896,-1.906 1.906,-1.906l5,0c0.5,0 0.906,0.406 0.906,0.906l0,1.281l4.5,-3.219l-4.5,-3.219l0,1.156c0,0.5 -0.406,0.906 -0.906,0.906l-5,0c-2.236,0 -4.094,1.857 -4.094,4.094l0,9.062c0,2.236 1.856999,4.094999 4.094,4.094999" stroke-linecap="round" stroke-width="0.8" stroke="#FFFFFF" fill="none"/>
|
||||
<path d="m34.5,32.598c2.236,0 4.094002,-1.855 4.094002,-4.094l0,-9.062c0,-2.236 -1.857002,-4.094 -4.094002,-4.094l-4.094,0l0,2.188l4.094,0c1.012001,0 1.905998,0.896 1.905998,1.906l0,9.062c0,1.012001 -0.896,1.906 -1.905998,1.906" stroke-linecap="round" stroke-width="0.8" stroke="#FFFFFF" fill="none"/>
|
||||
<path d="m34.5,33.004002c2.459999,0 4.5,-2.039001 4.5,-4.500002l0,-9.062c0,-2.459 -2.040001,-4.499999 -4.5,-4.499999l-4.5,0l0,2.999999l4.5,0c0.821999,0 1.5,0.678001 1.5,1.5l0,9.062c0,0.822001 -0.678001,1.5 -1.5,1.5" fill="url(#svg_3)" opacity="0.4"/>
|
||||
<path d="m13.5,30.004c-0.822,0 -1.5,-0.677999 -1.5,-1.5l0,-9.062c0,-0.821999 0.678,-1.5 1.5,-1.5l5,0c0.275999,0 0.5,0.225 0.5,0.5l0,2.094l5.656,-4.031l-5.656,-4.032l0,1.969001c0,0.276999 -0.224001,0.5 -0.5,0.5l-5,0c-2.46,0 -4.5,2.040999 -4.5,4.499999l0,9.062c0,2.461 2.04,4.500002 4.5,4.500002" fill="url(#svg_2)" opacity="0.4"/>
|
||||
</g>
|
||||
</symbol>
|
||||
</defs>
|
||||
<g>
|
||||
<title>Layer 1</title>
|
||||
<use x="-0.216642" y="-0.056468" transform="matrix(0.882658, 0, 0, 0.882658, -0.255314, -0.251325)" xlink:href="#svg_18" id="svg_19"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,847 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.0"
|
||||
width="47"
|
||||
height="40"
|
||||
id="svg2"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="Gnome-audio-volume-muted.svg">
|
||||
<metadata
|
||||
id="metadata3577">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="971"
|
||||
inkscape:window-height="480"
|
||||
id="namedview3575"
|
||||
showgrid="false"
|
||||
inkscape:zoom="4.9166667"
|
||||
inkscape:cx="-0.30508475"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-x="194"
|
||||
inkscape:window-y="90"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg2" />
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient6700">
|
||||
<stop
|
||||
id="stop6702"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6704"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6628">
|
||||
<stop
|
||||
id="stop6630"
|
||||
style="stop-color:#000000;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6632"
|
||||
style="stop-color:#000000;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6546">
|
||||
<stop
|
||||
id="stop6548"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6550"
|
||||
style="stop-color:#888a85;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6667">
|
||||
<stop
|
||||
id="stop6669"
|
||||
style="stop-color:#babdb6;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6671"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6651">
|
||||
<stop
|
||||
id="stop6653"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6655"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6643">
|
||||
<stop
|
||||
id="stop6645"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6647"
|
||||
style="stop-color:#d3d7cf;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6633">
|
||||
<stop
|
||||
id="stop6635"
|
||||
style="stop-color:#eeeeec;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6637"
|
||||
style="stop-color:#61635f;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6627">
|
||||
<stop
|
||||
id="stop6629"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6631"
|
||||
style="stop-color:#babdb6;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6607">
|
||||
<stop
|
||||
id="stop6609"
|
||||
style="stop-color:#eeeeec;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6611"
|
||||
style="stop-color:#babdb6;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6589">
|
||||
<stop
|
||||
id="stop6591"
|
||||
style="stop-color:#babdb6;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6593"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6573">
|
||||
<stop
|
||||
id="stop6575"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6577"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6531">
|
||||
<stop
|
||||
id="stop6533"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6535"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient5533">
|
||||
<stop
|
||||
id="stop5535"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop5537"
|
||||
style="stop-color:#babdb6;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient21662">
|
||||
<stop
|
||||
id="stop21664"
|
||||
style="stop-color:#3465a4;stop-opacity:0"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop21666"
|
||||
style="stop-color:#3465a4;stop-opacity:0"
|
||||
offset="0.81927711" />
|
||||
<stop
|
||||
id="stop21668"
|
||||
style="stop-color:#3465a4;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient21644">
|
||||
<stop
|
||||
id="stop21646"
|
||||
style="stop-color:#3465a4;stop-opacity:0"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop21648"
|
||||
style="stop-color:#3465a4;stop-opacity:0"
|
||||
offset="0.73493975" />
|
||||
<stop
|
||||
id="stop21650"
|
||||
style="stop-color:#3465a4;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient21622">
|
||||
<stop
|
||||
id="stop21624"
|
||||
style="stop-color:#3465a4;stop-opacity:0"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop21630"
|
||||
style="stop-color:#3465a4;stop-opacity:0"
|
||||
offset="0.85542166" />
|
||||
<stop
|
||||
id="stop21626"
|
||||
style="stop-color:#3465a4;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient17123">
|
||||
<stop
|
||||
id="stop17125"
|
||||
style="stop-color:#000000;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop17127"
|
||||
style="stop-color:#000000;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient9086">
|
||||
<stop
|
||||
id="stop9088"
|
||||
style="stop-color:#000000;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop9090"
|
||||
style="stop-color:#000000;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6387">
|
||||
<stop
|
||||
id="stop6389"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop6391"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6379">
|
||||
<stop
|
||||
id="stop6381"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop21606"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0.5" />
|
||||
<stop
|
||||
id="stop6383"
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient2793">
|
||||
<stop
|
||||
id="stop2795"
|
||||
style="stop-color:#babdb6;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop2801"
|
||||
style="stop-color:#eeeeec;stop-opacity:1"
|
||||
offset="0.25301206" />
|
||||
<stop
|
||||
id="stop2797"
|
||||
style="stop-color:#555753;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
x1="17.25"
|
||||
y1="18.81151"
|
||||
x2="16.1875"
|
||||
y2="32.629498"
|
||||
id="linearGradient6393"
|
||||
xlink:href="#linearGradient6387"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-28,0)" />
|
||||
<radialGradient
|
||||
cx="7.1396246"
|
||||
cy="22.5"
|
||||
r="6"
|
||||
fx="7.1396246"
|
||||
fy="22.5"
|
||||
id="radialGradient8199"
|
||||
xlink:href="#linearGradient9086"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.914836,-0.506192,0.654838,2.477012,-48.62381,-29.61876)" />
|
||||
<radialGradient
|
||||
cx="20.84375"
|
||||
cy="21.84375"
|
||||
r="2.9063251"
|
||||
fx="20.84375"
|
||||
fy="21.84375"
|
||||
id="radialGradient21684"
|
||||
xlink:href="#linearGradient21622"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="20.84375"
|
||||
cy="21.84375"
|
||||
r="2.9063251"
|
||||
fx="20.84375"
|
||||
fy="21.84375"
|
||||
id="radialGradient21686"
|
||||
xlink:href="#linearGradient21662"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="20.84375"
|
||||
cy="21.84375"
|
||||
r="2.9063251"
|
||||
fx="20.84375"
|
||||
fy="21.84375"
|
||||
id="radialGradient21688"
|
||||
xlink:href="#linearGradient21644"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="78.5"
|
||||
y1="-4.0065207"
|
||||
x2="78.5"
|
||||
y2="14.00099"
|
||||
id="linearGradient5545"
|
||||
xlink:href="#linearGradient2793"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.90625,0,0,1,-65.921875,19)" />
|
||||
<linearGradient
|
||||
x1="80.0625"
|
||||
y1="14"
|
||||
x2="80.0625"
|
||||
y2="-4.0087729"
|
||||
id="linearGradient5547"
|
||||
xlink:href="#linearGradient5533"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.90625,0,0,1,-65.921875,19)" />
|
||||
<linearGradient
|
||||
x1="3.8448932"
|
||||
y1="15.561477"
|
||||
x2="3.8448932"
|
||||
y2="39.884338"
|
||||
id="linearGradient6537"
|
||||
xlink:href="#linearGradient6531"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="7.75"
|
||||
y1="33.046577"
|
||||
x2="4.6431866"
|
||||
y2="12.063652"
|
||||
id="linearGradient6545"
|
||||
xlink:href="#linearGradient6627"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9114584,0,0,0.8787879,2.7005208,4.6666545)" />
|
||||
<radialGradient
|
||||
cx="9.3203983"
|
||||
cy="18.817093"
|
||||
r="12.5"
|
||||
fx="9.3203983"
|
||||
fy="18.817093"
|
||||
id="radialGradient6553"
|
||||
xlink:href="#linearGradient6633"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.7132478,0.5221478,-0.9280778,1.1784895,22.517143,-6.7083001)" />
|
||||
<linearGradient
|
||||
x1="12.197592"
|
||||
y1="9.2597418"
|
||||
x2="12.197592"
|
||||
y2="47.496857"
|
||||
id="linearGradient6579"
|
||||
xlink:href="#linearGradient6573"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="23.164974"
|
||||
cy="30.23279"
|
||||
r="8.1890125"
|
||||
fx="23.164974"
|
||||
fy="30.23279"
|
||||
id="radialGradient6595"
|
||||
xlink:href="#linearGradient6667"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.7346265,-0.1698771,0.327755,3.6175226,-27.429343,-73.69679)" />
|
||||
<radialGradient
|
||||
cx="20.8839"
|
||||
cy="20.434256"
|
||||
r="3.9999843"
|
||||
fx="20.8839"
|
||||
fy="20.434256"
|
||||
id="radialGradient6603"
|
||||
xlink:href="#linearGradient6589"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3093938,0,0,1.5604932,-8.3886376,-9.784483)" />
|
||||
<linearGradient
|
||||
x1="20.226221"
|
||||
y1="20.33363"
|
||||
x2="11.4375"
|
||||
y2="21.75"
|
||||
id="linearGradient6641"
|
||||
xlink:href="#linearGradient6379"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.6666667,0,0,1,2,-1)" />
|
||||
<radialGradient
|
||||
cx="23.986883"
|
||||
cy="27.053167"
|
||||
r="7.75"
|
||||
fx="23.986883"
|
||||
fy="27.053167"
|
||||
id="radialGradient6657"
|
||||
xlink:href="#linearGradient6651"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.2432942,0,0,-1.2543129,25.221399,61.870636)" />
|
||||
<linearGradient
|
||||
x1="80.693359"
|
||||
y1="31.561478"
|
||||
x2="77.125"
|
||||
y2="14"
|
||||
id="linearGradient6558"
|
||||
xlink:href="#linearGradient6546"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-70,2)" />
|
||||
<radialGradient
|
||||
cx="30.685316"
|
||||
cy="42.261425"
|
||||
r="8.22791"
|
||||
fx="30.685316"
|
||||
fy="42.261425"
|
||||
id="radialGradient6625"
|
||||
xlink:href="#linearGradient6607"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(3.9866298,0.1169977,0,-2.530036,-104.62676,112.74341)" />
|
||||
<linearGradient
|
||||
x1="23.238182"
|
||||
y1="12.158657"
|
||||
x2="29.892563"
|
||||
y2="26.354361"
|
||||
id="linearGradient6634"
|
||||
xlink:href="#linearGradient6628"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="17.5"
|
||||
y1="25.587416"
|
||||
x2="28.555141"
|
||||
y2="25.699326"
|
||||
id="linearGradient6706"
|
||||
xlink:href="#linearGradient6700"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="33.430557"
|
||||
y1="45.052155"
|
||||
x2="33.430557"
|
||||
y2="0.31037101"
|
||||
id="linearGradient6801"
|
||||
xlink:href="#linearGradient6643"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
cx="11.402097"
|
||||
cy="36.863068"
|
||||
r="10.69499"
|
||||
fx="11.402097"
|
||||
fy="36.863068"
|
||||
id="radialGradient7118"
|
||||
xlink:href="#linearGradient17123"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.330579,0,24.67693)" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient17123"
|
||||
id="radialGradient3606"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.330579,0,24.67693)"
|
||||
cx="11.402097"
|
||||
cy="36.863068"
|
||||
fx="11.402097"
|
||||
fy="36.863068"
|
||||
r="10.69499" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2793"
|
||||
id="linearGradient3608"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.90625,0,0,1,-65.921875,19)"
|
||||
x1="78.5"
|
||||
y1="-4.0065207"
|
||||
x2="78.5"
|
||||
y2="14.00099" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5533"
|
||||
id="linearGradient3610"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.90625,0,0,1,-65.921875,19)"
|
||||
x1="80.0625"
|
||||
y1="14"
|
||||
x2="80.0625"
|
||||
y2="-4.0087729" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6531"
|
||||
id="linearGradient3612"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="3.8448932"
|
||||
y1="15.561477"
|
||||
x2="3.8448932"
|
||||
y2="39.884338" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6546"
|
||||
id="linearGradient3614"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-70,2)"
|
||||
x1="80.693359"
|
||||
y1="31.561478"
|
||||
x2="77.125"
|
||||
y2="14" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6633"
|
||||
id="radialGradient3616"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.7132478,0.5221478,-0.9280778,1.1784895,22.517143,-6.7083001)"
|
||||
cx="9.3203983"
|
||||
cy="18.817093"
|
||||
fx="9.3203983"
|
||||
fy="18.817093"
|
||||
r="12.5" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6627"
|
||||
id="linearGradient3618"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9114584,0,0,0.8787879,2.7005208,4.6666545)"
|
||||
x1="7.75"
|
||||
y1="33.046577"
|
||||
x2="4.6431866"
|
||||
y2="12.063652" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6651"
|
||||
id="radialGradient3620"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-0.2432942,0,0,-1.2543129,25.221399,61.870636)"
|
||||
cx="23.986883"
|
||||
cy="27.053167"
|
||||
fx="23.986883"
|
||||
fy="27.053167"
|
||||
r="7.75" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6379"
|
||||
id="linearGradient3622"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.6666667,0,0,1,2,-1)"
|
||||
x1="20.226221"
|
||||
y1="20.33363"
|
||||
x2="11.4375"
|
||||
y2="21.75" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6573"
|
||||
id="linearGradient3624"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="12.197592"
|
||||
y1="9.2597418"
|
||||
x2="12.197592"
|
||||
y2="47.496857" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6667"
|
||||
id="radialGradient3626"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.7346265,-0.1698771,0.327755,3.6175226,-27.429343,-73.69679)"
|
||||
cx="23.164974"
|
||||
cy="30.23279"
|
||||
fx="23.164974"
|
||||
fy="30.23279"
|
||||
r="8.1890125" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6643"
|
||||
id="linearGradient3628"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="33.430557"
|
||||
y1="45.052155"
|
||||
x2="33.430557"
|
||||
y2="0.31037101" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6589"
|
||||
id="radialGradient3630"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3093938,0,0,1.5604932,-8.3886376,-9.784483)"
|
||||
cx="20.8839"
|
||||
cy="20.434256"
|
||||
fx="20.8839"
|
||||
fy="20.434256"
|
||||
r="3.9999843" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6607"
|
||||
id="radialGradient3632"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(3.9866298,0.1169977,0,-2.530036,-104.62676,112.74341)"
|
||||
cx="30.685316"
|
||||
cy="42.261425"
|
||||
fx="30.685316"
|
||||
fy="42.261425"
|
||||
r="8.22791" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6628"
|
||||
id="linearGradient3634"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="23.238182"
|
||||
y1="12.158657"
|
||||
x2="29.892563"
|
||||
y2="26.354361" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6700"
|
||||
id="linearGradient3636"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="17.5"
|
||||
y1="25.587416"
|
||||
x2="28.555141"
|
||||
y2="25.699326" />
|
||||
</defs>
|
||||
<g
|
||||
id="layer3"
|
||||
style="display:none"
|
||||
transform="translate(0,-8)">
|
||||
<path
|
||||
d="m -8.21875,10.5 -12,12 12,12 0,-24 z"
|
||||
id="path7288"
|
||||
style="opacity:0.83011588;fill:url(#radialGradient8199);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m -7,10.5 -12,12 12,12 0,-24 z"
|
||||
id="path2791"
|
||||
style="opacity:0.76833975;fill:none;stroke:url(#linearGradient6393);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 19.375,9 c -0.174356,0.053023 -0.30606,0.1967002 -0.34375,0.375 -0.703448,2.579311 -2.426833,3.586638 -4.6875,5.09375 -2.260667,1.507112 -4.9844612,3.474121 -7.28125,7.8125 -0.06718,0.138096 -0.06718,0.299404 0,0.4375 2.2967888,4.338379 5.020583,6.305388 7.28125,7.8125 2.260667,1.507112 3.984052,2.514439 4.6875,5.09375 0.07934,0.220992 0.301756,0.357016 0.534629,0.326968 C 19.798752,35.92192 19.979353,35.733894 20,35.5 l 0,-26 C 20.005,9.3425939 19.935556,9.1920293 19.812581,9.0936489 19.689605,8.9952685 19.527469,8.9605689 19.375,9 z"
|
||||
transform="translate(-42,0)"
|
||||
id="path21580"
|
||||
style="opacity:0.63320462;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="M -47.5,22.5 -20,-8 -20,56 -47.5,22.5 z"
|
||||
id="path21676"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 23.6875,21.84375 a 2.84375,2.84375 0 1 1 -5.6875,0 2.84375,2.84375 0 1 1 5.6875,0 z"
|
||||
transform="matrix(7.990397,0,0,7.990397,-220.7725,-152.0403)"
|
||||
id="path21678"
|
||||
style="fill:url(#radialGradient21684);fill-opacity:1;stroke:#204a87;stroke-width:0.12515022;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:1.20000057;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 23.6875,21.84375 a 2.84375,2.84375 0 1 1 -5.6875,0 2.84375,2.84375 0 1 1 5.6875,0 z"
|
||||
transform="matrix(5.528848,0,0,5.528848,-169.4646,-98.27085)"
|
||||
id="path21680"
|
||||
style="fill:url(#radialGradient21686);fill-opacity:1;stroke:#204a87;stroke-width:0.18086948;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:1.20000057;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 23.6875,21.84375 a 2.84375,2.84375 0 1 1 -5.6875,0 2.84375,2.84375 0 1 1 5.6875,0 z"
|
||||
transform="matrix(3.418962,0,0,3.418962,-125.4867,-52.18304)"
|
||||
id="path21682"
|
||||
style="fill:url(#radialGradient21688);fill-opacity:1;stroke:#204a87;stroke-width:0.29248634;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:1.20000057;display:inline"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g3579"
|
||||
transform="translate(0.08578726,3.9999999)">
|
||||
<g
|
||||
transform="matrix(0.99823623,0,0,1,-1.5130884e-4,-8)"
|
||||
style="display:inline"
|
||||
id="layer1">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.2;fill:url(#radialGradient3606);fill-opacity:1;stroke:none"
|
||||
id="path16236"
|
||||
transform="matrix(1.5365906,0,0,2.4199734,-1.1723206,-56.384863)"
|
||||
d="m 22.097087,36.863068 a 10.69499,3.5355351 0 1 1 -21.38998041,0 10.69499,3.5355351 0 1 1 21.38998041,0 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#2e3436;fill-opacity:1;stroke:#555753;stroke-width:1.30267787;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path5330"
|
||||
transform="matrix(0.75,0,0,0.7857143,1.5,4.357156)"
|
||||
d="m 8,25 a 4,7 0 1 1 -8,0 4,7 0 1 1 8,0 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#babdb6;fill-opacity:1;stroke:none;display:inline"
|
||||
id="path6659"
|
||||
transform="translate(-1.53125,0.65625)"
|
||||
d="m 4.5,20.75 a 0.75,0.75 0 1 1 -1.5,0 0.75,0.75 0 1 1 1.5,0 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#linearGradient3608);fill-opacity:1;stroke:url(#linearGradient3610);stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path2766"
|
||||
d="m 6.125,15.500014 c -2.0009964,0 -3.6249991,3.808022 -3.625,8.5 0,4.691977 1.6240036,8.500001 3.625,8.5 l 3.625,0 c 2.000996,0 3.625,-3.808024 3.625,-8.5 0,-4.691977 -1.624004,-8.5 -3.625,-8.5 l -3.625,0 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.6;fill:none;stroke:url(#linearGradient3612);stroke-width:1.0577718;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path5556"
|
||||
transform="matrix(0.89375,0,0,1,1.265625,2)"
|
||||
d="M 5.5,14.5 C 4.974,14.5 4.2339165,15.045895 3.59375,16.40625 2.9535835,17.766605 2.5000005,19.78201 2.5,22 c 0,2.21799 0.4535834,4.233394 1.09375,5.59375 C 4.2339166,28.954106 4.9740003,29.5 5.5,29.5 l 4,0 c 0.525999,0 1.266083,-0.545894 1.90625,-1.90625 C 12.046417,26.233394 12.5,24.217988 12.5,22 12.5,19.782012 12.046417,17.766606 11.40625,16.40625 10.766083,15.045894 10.026,14.5 9.5,14.5 l -4,0 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#linearGradient3614);fill-opacity:1;stroke:none;display:inline"
|
||||
id="path6556"
|
||||
d="M 9.696925,16 C 7.656226,16 6.000001,19.57702 6,23.984375 c 0,4.407354 1.656226,7.984376 3.696925,7.984375 l 0.6374,0 c 2.040699,0 3.696925,-3.577022 3.696925,-7.984375 C 14.03125,19.577021 12.375024,16 10.334325,16 l -0.6374,0 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#radialGradient3616);fill-opacity:1;stroke:url(#linearGradient3618);stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path1871"
|
||||
d="m 8.6250003,24 c 0,9.227273 9.1869747,14.499999 14.8750017,14.499999 3.9375,0 7,-6.496003 7,-14.499999 0,-8.003997 -3.0625,-14.4999999 -7,-14.4999999 C 17.811975,9.5000001 8.6250003,14.772728 8.6250003,24 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#radialGradient3620);fill-opacity:1;stroke:none;display:inline"
|
||||
id="path6649"
|
||||
transform="matrix(1.3225807,0,0,1.026415,-12.145162,-4.6754711)"
|
||||
d="m 33,27.9375 a 7.75,16.5625 0 1 1 -15.5,0 7.75,16.5625 0 1 1 15.5,0 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.7335907;fill:url(#linearGradient3622);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
id="path6639"
|
||||
d="m 16,13.375 c -2.583333,1.394678 -5.458333,4.195921 -8,8.125 2.69956,-1.126087 5.491292,-1.960473 8,-1.75 l 0,-6.375 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.58620689;fill:none;stroke:url(#linearGradient3624);stroke-width:1.12734473;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path6567"
|
||||
transform="matrix(0.9034091,0,0,0.8709678,2.8494318,4.8387095)"
|
||||
d="m 22.8125,6.5 c -2.795799,1e-7 -6.724012,1.4333131 -9.84375,4.09375 C 9.8490125,13.254187 7.5,17.073741 7.5,22 c 0,4.92626 2.3490125,8.745813 5.46875,11.40625 3.119737,2.660437 7.047951,4.09375 9.84375,4.09375 1.582499,0 3.232771,-1.443735 4.53125,-4.25 C 28.642229,30.443735 29.5,26.429214 29.5,22 29.5,17.570787 28.642229,13.556265 27.34375,10.75 26.045271,7.943735 24.394999,6.5 22.8125,6.5 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#radialGradient3626);fill-opacity:1;stroke:url(#linearGradient3628);stroke-width:0.83240509;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="path1873"
|
||||
transform="matrix(1.2258059,0,0,1.1773585,-8.9515943,-8.892453)"
|
||||
d="m 33,27.9375 a 7.75,16.5625 0 1 1 -15.5,0 7.75,16.5625 0 1 1 15.5,0 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#radialGradient3630);fill-opacity:1;stroke:#555753;stroke-width:1.00000048;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
|
||||
id="path3672"
|
||||
d="m 21.616117,24.000008 c 0,2.483997 -2.382932,4.499982 -4.066383,4.499982 -1.683453,0 -3.049733,-2.015998 -3.049733,-4.499995 0,-2.483997 1.36628,-4.499995 3.049733,-4.499995 1.683451,0 4.066383,2.01601 4.066383,4.500008 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:url(#radialGradient3632);fill-opacity:1;stroke:none;display:inline"
|
||||
id="path6605"
|
||||
d="m 22,5 c -2.632448,-1e-7 -4.858028,2.2498264 -6.4375,5.6875 -1.579472,3.437673 -2.53125,8.142625 -2.53125,13.3125 0,5.169874 0.951778,9.874826 2.53125,13.3125 C 17.141972,40.750172 19.367552,43 22,43 c 2.632449,0 4.858028,-2.249827 6.4375,-5.6875 0.98717,-2.148547 1.737111,-4.811219 2.15625,-7.75 0.01322,-0.09267 0.01868,-0.187986 0.03125,-0.28125 0.07641,-0.566948 0.135731,-1.131492 0.1875,-1.71875 0.05087,-0.546414 0.09764,-1.093036 0.125,-1.65625 0.0014,-0.03096 -0.0014,-0.06274 0,-0.09375 0.02747,-0.595848 0.03125,-1.200746 0.03125,-1.8125 0,-0.644361 -8.1e-4,-1.279618 -0.03125,-1.90625 C 30.91165,21.537127 30.86024,20.979033 30.8125,20.4375 30.76073,19.850242 30.701405,19.285698 30.625,18.71875 30.6115,18.62356 30.60796,18.532009 30.59375,18.4375 30.174611,15.498719 29.42467,12.836046 28.4375,10.6875 26.858028,7.249826 24.632449,5 22,5 z m 0.5,2 c 1.922274,2e-7 3.780368,1.7656497 5.1875,4.84375 0.879457,1.923812 1.576879,4.335367 1.96875,7.03125 0.07837,0.539177 0.133595,1.09521 0.1875,1.65625 0.04746,0.525408 0.09908,1.053403 0.125,1.59375 0.03188,0.620494 0.0625,1.236156 0.0625,1.875 0,0.595745 -0.03472,1.170104 -0.0625,1.75 -0.0018,0.04097 0.002,0.08411 0,0.125 -0.02757,0.536772 -0.075,1.073299 -0.125,1.59375 -0.05391,0.561039 -0.109126,1.117073 -0.1875,1.65625 -0.391871,2.695883 -1.089293,5.107438 -1.96875,7.03125 C 26.280368,39.23435 24.422274,41 22.5,41 20.577727,40.999998 18.719632,39.234351 17.3125,36.15625 15.905367,33.078149 14.96875,28.765963 14.96875,24 c 0,-4.765964 0.936618,-9.07815 2.34375,-12.15625 C 18.719631,8.7656496 20.577727,7 22.5,7 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.36637932;fill:none;stroke:url(#linearGradient3634);stroke-width:1.05419946;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path6615"
|
||||
transform="matrix(0.9032258,0,0,0.9962264,-0.3064529,-3.8320749)"
|
||||
d="m 33,27.9375 a 7.75,16.5625 0 1 1 -15.5,0 7.75,16.5625 0 1 1 15.5,0 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline"
|
||||
id="path6661"
|
||||
transform="translate(-16,5.3125)"
|
||||
d="m 21.5,13.5 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.65517243;fill:none;stroke:url(#linearGradient3636);stroke-width:0.90347946;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path6698"
|
||||
transform="matrix(1.0967748,0,0,1.1169811,-5.6935592,-7.2056602)"
|
||||
d="m 33,27.9375 a 7.75,16.5625 0 1 1 -15.5,0 7.75,16.5625 0 1 1 15.5,0 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline"
|
||||
id="path5501"
|
||||
transform="translate(-5,-1.875)"
|
||||
d="m 21.5,13.5 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0.99823623,0,0,1,-1.5130884e-4,-8)"
|
||||
id="layer2">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="layer4"
|
||||
transform="matrix(1.0828519,0,0,1.0830642,1.5587564,-0.36757)">
|
||||
<g
|
||||
id="g4694"
|
||||
transform="translate(-2,0)">
|
||||
<rect
|
||||
style="fill:#ef2929;fill-opacity:1;stroke:#a40000;stroke-width:0.92015547;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:1.20000057;display:inline"
|
||||
id="rect2021"
|
||||
y="16.498245"
|
||||
x="31.498245"
|
||||
ry="1.4868355"
|
||||
rx="1.4868355"
|
||||
height="12.00351"
|
||||
width="12.00351" />
|
||||
<rect
|
||||
style="opacity:0.3;fill:none;stroke:#ffffff;stroke-width:0.92339665;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:1.20000057;display:inline"
|
||||
id="rect3795"
|
||||
y="17.420549"
|
||||
x="32.420815"
|
||||
ry="0.49373779"
|
||||
rx="0.49383482"
|
||||
height="10.156369"
|
||||
width="10.158366" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.38509536;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path4682"
|
||||
d="m 35,20 5,5" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.38509536;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
id="path4684"
|
||||
d="m 40,20 -5,5" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 18 KiB |
@@ -8,11 +8,44 @@
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<link rel="icon" type="image/png" href="favicon2.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<!-- 3LAS Scripts for Audio streaming -->
|
||||
<script src="js/3las/util/3las.helpers.js"></script>
|
||||
<script src="js/3las/util/3las.logging.js"></script>
|
||||
<script src="js/3las/fallback/3las.liveaudioplayer.js"></script>
|
||||
<script src="js/3las/fallback/3las.formatreader.js"></script>
|
||||
<script src="js/3las/fallback/formats/3las.formatreader.mpeg.js"></script>
|
||||
<script src="js/3las/fallback/formats/3las.formatreader.wav.js"></script>
|
||||
<script src="js/3las/util/3las.websocketclient.js"></script>
|
||||
<script src="js/3las/fallback/3las.fallback.js"></script>
|
||||
<script src="js/3las/3las.webrtc.js"></script>
|
||||
<script src="js/3las/3las.js"></script>
|
||||
<script src="js/3las/main.js"></script>
|
||||
<script type="text/javascript">
|
||||
var RtcConfig = {
|
||||
|
||||
iceServers: [
|
||||
{
|
||||
urls: "turns:turnserver.example.org",
|
||||
},
|
||||
{
|
||||
urls: "stun.l.google.com:19302"
|
||||
}
|
||||
]
|
||||
|
||||
};
|
||||
var AudioTagId = "audioTag";
|
||||
window.addEventListener('load', Init, false);
|
||||
document.ontouchmove = function(e){
|
||||
e.preventDefault();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<audio id="audioTag"></audio>
|
||||
<div id="wrapper">
|
||||
<canvas id="signal-canvas" width="1240" height="200"></canvas>
|
||||
|
||||
|
||||
<div class="flex-container">
|
||||
<div class="panel-90 bg-none">
|
||||
<div class="flex-container">
|
||||
@@ -34,7 +67,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex-container">
|
||||
<div class="panel-33 hover-brighten" id="pi-code-container">
|
||||
<h2>PI CODE</h2>
|
||||
@@ -58,24 +90,25 @@
|
||||
|
||||
<div class="flex-container">
|
||||
<div class="panel-33" style="height: 48px;">
|
||||
<input type="range" id="volumeSlider" min="0" max="1" step="0.01" value="1">
|
||||
<button id="playbutton" class="play-button"><i class="fa-solid fa-play"></i></button>
|
||||
</div>
|
||||
|
||||
<div class="panel-33 flex-container flex-phone" id="tune-buttons" style="opacity: 1;">
|
||||
<button id="freq-down">◀</button>
|
||||
<button id="freq-down"><i class="fa-solid fa-chevron-left"></i></button>
|
||||
<input type="text" id="commandinput" inputmode="numeric" placeholder="Frequency">
|
||||
<button id="freq-up">▶</button>
|
||||
<button id="freq-up"><i class="fa-solid fa-chevron-right"></i></button>
|
||||
</div>
|
||||
|
||||
<div class="panel-33" style="height: 48px;">
|
||||
<label class="toggleSwitch nolabel" onclick="">
|
||||
<input type="range" id="volumeSlider" min="0" max="1" step="0.01" value="1">
|
||||
<!--<label class="toggleSwitch nolabel" onclick="">
|
||||
<input id="signal-units-toggle" type="checkbox"/>
|
||||
<a></a>
|
||||
<span>
|
||||
<span class="left-span">dBf</span>
|
||||
<span class="right-span">dBµV</span>
|
||||
</span>
|
||||
</label>
|
||||
</label>-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -134,17 +167,24 @@
|
||||
<div class="form-group" style="margin-left: 10px;">
|
||||
<label for="signal" style="margin-top: 50px;"><i class="fa-solid fa-signal"></i> Signal units:</label>
|
||||
<select name="signal" style="margin-bottom: 15px;" id="signal-selector">
|
||||
<option value="dBf">dBf</option>
|
||||
<option value="dBuV">dBuV</option>
|
||||
<option value="dBm">dBm</option>
|
||||
<option value="dbf">dBf</option>
|
||||
<option value="dbuv">dBuV</option>
|
||||
<option value="dbm">dBm</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom: 20px;">
|
||||
<div class="bottom-20">
|
||||
<label for="themes"><i class="fa-solid fa-user"></i> Users online:</label>
|
||||
<span id="users-online" name="users-online">0</span>
|
||||
</div>
|
||||
<p class="text-small" style="margin-bottom: 50px;">FM-DX WebServer uses librdsparser by <a href="https://fmdx.pl" target="_blank">Konrad Kosmatka</a>.</p>
|
||||
<div class="flex-container flex-left text-left hover-brighten p-10 br-5">
|
||||
<i class="fa-brands fa-discord"></i> <span>Join our <strong>Discord</strong> community!</span>
|
||||
</div>
|
||||
<div class="flex-container flex-left text-left bottom-20 hover-brighten p-10 br-5">
|
||||
<i class="fa-solid fa-hand-holding-medical"></i> <span><strong>Support</strong> the developer!</span>
|
||||
</div>
|
||||
<p class="text-small">FM-DX WebServer by <a href="https://noobish.eu" target="_blank">Noobish</a> & the OpenRadio community.</p>
|
||||
<p class="text-small bottom-50">This app uses librdsparser by <a href="https://fmdx.pl" target="_blank">Konrad Kosmatka</a>.</p>
|
||||
<button class="button-close" id="closeModalButton">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
var _3LAS_Settings = /** @class */ (function () {
|
||||
function _3LAS_Settings() {
|
||||
this.SocketHost = document.location.hostname ? document.location.hostname : "127.0.0.1";
|
||||
this.SocketPort = localStorage.getItem('audioPort') ? localStorage.getItem('audioPort') : 8081;
|
||||
this.SocketPath = "/audio";
|
||||
this.WebRTC = new WebRTC_Settings();
|
||||
this.Fallback = new Fallback_Settings();
|
||||
}
|
||||
return _3LAS_Settings;
|
||||
}());
|
||||
var _3LAS = /** @class */ (function () {
|
||||
function _3LAS(logger, settings) {
|
||||
this.Logger = logger;
|
||||
if (!this.Logger) {
|
||||
this.Logger = new Logging(null, null);
|
||||
}
|
||||
this.Settings = settings;
|
||||
try {
|
||||
this.WebRTC = new WebRTC(this.Logger, this.Settings.WebRTC);
|
||||
this.WebRTC.ActivityCallback = this.OnActivity.bind(this);
|
||||
this.WebRTC.DisconnectCallback = this.OnSocketDisconnect.bind(this);
|
||||
}
|
||||
catch (_a) {
|
||||
this.WebRTC = null;
|
||||
}
|
||||
if (this.WebRTC == null || this.WebRTC !== null) {
|
||||
try {
|
||||
this.Fallback = new Fallback(this.Logger, this.Settings.Fallback);
|
||||
this.Fallback.ActivityCallback = this.OnActivity.bind(this);
|
||||
}
|
||||
catch (_b) {
|
||||
this.Fallback = null;
|
||||
}
|
||||
}
|
||||
if (this.WebRTC == null && this.Fallback == null) {
|
||||
this.Logger.Log('3LAS: Browser does not support either media handling methods.');
|
||||
throw new Error();
|
||||
}
|
||||
if (isAndroid) {
|
||||
this.WakeLock = new WakeLock(this.Logger);
|
||||
}
|
||||
}
|
||||
Object.defineProperty(_3LAS.prototype, "Volume", {
|
||||
get: function () {
|
||||
if (this.WebRTC)
|
||||
return this.WebRTC.Volume;
|
||||
else
|
||||
return this.Fallback.Volume;
|
||||
},
|
||||
set: function (value) {
|
||||
if (this.WebRTC)
|
||||
this.WebRTC.Volume = value;
|
||||
else
|
||||
this.Fallback.Volume = value;
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
_3LAS.prototype.CanChangeVolume = function () {
|
||||
if (this.WebRTC)
|
||||
return this.WebRTC.CanChangeVolume();
|
||||
else
|
||||
return true;
|
||||
};
|
||||
_3LAS.prototype.Start = function () {
|
||||
this.ConnectivityFlag = false;
|
||||
// This is stupid, but required for iOS/iPadOS... thanks Apple :(
|
||||
if (this.Settings && this.Settings.WebRTC && this.Settings.WebRTC.AudioTag)
|
||||
this.Settings.WebRTC.AudioTag.play();
|
||||
// This is stupid, but required for Android.... thanks Google :(
|
||||
if (this.WakeLock)
|
||||
this.WakeLock.Begin();
|
||||
try {
|
||||
this.WebSocket = new WebSocketClient(this.Logger, 'ws://' + this.Settings.SocketHost + ':' + this.Settings.SocketPort.toString() + this.Settings.SocketPath, this.OnSocketError.bind(this), this.OnSocketConnect.bind(this), this.OnSocketDataReady.bind(this), this.OnSocketDisconnect.bind(this));
|
||||
this.Logger.Log("Init of WebSocketClient succeeded");
|
||||
this.Logger.Log("Trying to connect to server.");
|
||||
}
|
||||
catch (e) {
|
||||
this.Logger.Log("Init of WebSocketClient failed: " + e);
|
||||
throw new Error();
|
||||
}
|
||||
};
|
||||
_3LAS.prototype.OnActivity = function () {
|
||||
if (this.ActivityCallback)
|
||||
this.ActivityCallback();
|
||||
if (!this.ConnectivityFlag) {
|
||||
this.ConnectivityFlag = true;
|
||||
if (this.ConnectivityCallback)
|
||||
this.ConnectivityCallback(true);
|
||||
}
|
||||
};
|
||||
// Callback function from socket connection
|
||||
_3LAS.prototype.OnSocketError = function (message) {
|
||||
this.Logger.Log("Network error: " + message);
|
||||
if (this.WebRTC)
|
||||
this.WebRTC.OnSocketError(message);
|
||||
else
|
||||
this.Fallback.OnSocketError(message);
|
||||
};
|
||||
_3LAS.prototype.OnSocketConnect = function () {
|
||||
this.Logger.Log("Established connection with server.");
|
||||
if (this.WebRTC)
|
||||
this.WebRTC.OnSocketConnect();
|
||||
else
|
||||
this.Fallback.OnSocketConnect();
|
||||
if (this.WebRTC)
|
||||
this.WebRTC.Init(this.WebSocket);
|
||||
else
|
||||
this.Fallback.Init(this.WebSocket);
|
||||
};
|
||||
_3LAS.prototype.OnSocketDisconnect = function () {
|
||||
this.Logger.Log("Lost connection to server.");
|
||||
if (this.WebRTC)
|
||||
this.WebRTC.OnSocketDisconnect();
|
||||
else
|
||||
this.Fallback.OnSocketDisconnect();
|
||||
if (this.WebRTC)
|
||||
this.WebRTC.Reset();
|
||||
else
|
||||
this.Fallback.Reset();
|
||||
if (this.ConnectivityFlag) {
|
||||
this.ConnectivityFlag = false;
|
||||
if (this.ConnectivityCallback)
|
||||
this.ConnectivityCallback(false);
|
||||
}
|
||||
this.Start();
|
||||
};
|
||||
_3LAS.prototype.OnSocketDataReady = function (data) {
|
||||
if (this.WebRTC)
|
||||
this.WebRTC.OnSocketDataReady(data);
|
||||
else
|
||||
this.Fallback.OnSocketDataReady(data);
|
||||
};
|
||||
return _3LAS;
|
||||
}());
|
||||
@@ -0,0 +1,177 @@
|
||||
/*
|
||||
RTC live audio is part of 3LAS (Low Latency Live Audio Streaming)
|
||||
https://github.com/JoJoBond/3LAS
|
||||
*/
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
var WebRTC_Settings = /** @class */ (function () {
|
||||
function WebRTC_Settings() {
|
||||
}
|
||||
return WebRTC_Settings;
|
||||
}());
|
||||
var WebRTC = /** @class */ (function () {
|
||||
function WebRTC(logger, settings) {
|
||||
this.Logger = logger;
|
||||
if (!this.Logger) {
|
||||
this.Logger = new Logging(null, null);
|
||||
}
|
||||
this.AudioTag = settings.AudioTag;
|
||||
// Create RTC peer connection
|
||||
if (typeof RTCPeerConnection !== "undefined")
|
||||
this.RtcPeer = new RTCPeerConnection(settings.RtcConfig);
|
||||
else if (typeof webkitRTCPeerConnection !== "undefined")
|
||||
this.RtcPeer = new webkitRTCPeerConnection(settings.RtcConfig);
|
||||
else if (typeof mozRTCPeerConnection !== "undefined")
|
||||
this.RtcPeer = new mozRTCPeerConnection(settings.RtcConfig);
|
||||
else {
|
||||
this.Logger.Log('3LAS: Browser does not support "WebRTC".');
|
||||
throw new Error();
|
||||
}
|
||||
this.Logger.Log("Using WebRTC");
|
||||
this.RtcPeer.addTransceiver('audio');
|
||||
this.RtcPeer.ontrack = this.OnTrack.bind(this);
|
||||
this.RtcPeer.oniceconnectionstatechange = this.OnConnectionStateChange.bind(this);
|
||||
}
|
||||
Object.defineProperty(WebRTC.prototype, "Volume", {
|
||||
get: function () {
|
||||
if (!this.CanChangeVolume()) {
|
||||
if (this.AudioTag.muted == true)
|
||||
return 0.0;
|
||||
else
|
||||
return 1.0;
|
||||
}
|
||||
return this.AudioTag.volume;
|
||||
},
|
||||
set: function (value) {
|
||||
if (!this.CanChangeVolume()) {
|
||||
if (value <= 0.0)
|
||||
this.AudioTag.muted = true;
|
||||
else
|
||||
this.AudioTag.muted = false;
|
||||
return;
|
||||
}
|
||||
this.AudioTag.volume = value;
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
WebRTC.prototype.CanChangeVolume = function () {
|
||||
return !(isIOS || isIPadOS);
|
||||
};
|
||||
WebRTC.prototype.Init = function (webSocket) {
|
||||
this.WebSocket = webSocket;
|
||||
this.WebSocket.Send(JSON.stringify({
|
||||
"type": "webrtc",
|
||||
"data": null
|
||||
}));
|
||||
this.ActivityTimer = setInterval(this.OnActivityTimerTick.bind(this), 1000);
|
||||
};
|
||||
WebRTC.prototype.OnActivityTimerTick = function () {
|
||||
if ((this.RtcPeer.iceConnectionState == "connected" || this.RtcPeer.iceConnectionState == "completed") && this.ActivityCallback)
|
||||
this.ActivityCallback();
|
||||
};
|
||||
WebRTC.prototype.OnConnectionStateChange = function () {
|
||||
if ((this.RtcPeer.iceConnectionState == "closed" ||
|
||||
this.RtcPeer.iceConnectionState == "disconnected" ||
|
||||
this.RtcPeer.iceConnectionState == "failed") && this.DisconnectCallback)
|
||||
this.DisconnectCallback();
|
||||
};
|
||||
WebRTC.prototype.OnTrack = function (event) {
|
||||
if (event.streams != null && event.streams.length > 0)
|
||||
this.AudioTag.srcObject = event.streams[0];
|
||||
else if (event.track != null)
|
||||
this.AudioTag.srcObject = new MediaStream([event.track]);
|
||||
this.AudioTag.play();
|
||||
};
|
||||
WebRTC.prototype.OnSocketError = function (message) {
|
||||
};
|
||||
WebRTC.prototype.OnSocketConnect = function () {
|
||||
};
|
||||
WebRTC.prototype.OnSocketDisconnect = function () {
|
||||
};
|
||||
WebRTC.prototype.Reset = function () {
|
||||
if (this.ActivityTimer) {
|
||||
clearInterval(this.ActivityTimer);
|
||||
this.ActivityTimer = 0;
|
||||
}
|
||||
if (this.RtcPeer) {
|
||||
this.RtcPeer.close();
|
||||
delete this.RtcPeer;
|
||||
this.RtcPeer = null;
|
||||
}
|
||||
this.WebSocket = null;
|
||||
};
|
||||
WebRTC.prototype.OnSocketDataReady = function (data) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
var message, answer;
|
||||
var _this = this;
|
||||
return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0:
|
||||
message = JSON.parse(data.toString());
|
||||
if (!(message.type == "offer")) return [3 /*break*/, 4];
|
||||
return [4 /*yield*/, this.RtcPeer.setRemoteDescription(new RTCSessionDescription(message.data))];
|
||||
case 1:
|
||||
_a.sent();
|
||||
return [4 /*yield*/, this.RtcPeer.createAnswer()];
|
||||
case 2:
|
||||
answer = _a.sent();
|
||||
return [4 /*yield*/, this.RtcPeer.setLocalDescription(new RTCSessionDescription(answer))];
|
||||
case 3:
|
||||
_a.sent();
|
||||
this.WebSocket.Send(JSON.stringify({
|
||||
"type": "answer",
|
||||
"data": answer
|
||||
}));
|
||||
return [3 /*break*/, 5];
|
||||
case 4:
|
||||
if (message.type == "candidate") {
|
||||
(function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, this.RtcPeer.addIceCandidate(message.data)];
|
||||
case 1: return [2 /*return*/, _a.sent()];
|
||||
}
|
||||
}); }); })();
|
||||
}
|
||||
_a.label = 5;
|
||||
case 5: return [2 /*return*/];
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
return WebRTC;
|
||||
}());
|
||||
@@ -0,0 +1,167 @@
|
||||
/*
|
||||
Socket fallback is part of 3LAS (Low Latency Live Audio Streaming)
|
||||
https://github.com/JoJoBond/3LAS
|
||||
*/
|
||||
var Fallback_Settings = /** @class */ (function () {
|
||||
function Fallback_Settings() {
|
||||
this.Formats = [
|
||||
{ "Mime": "audio/mpeg", "Name": "mp3" },
|
||||
{ "Mime": "audio/wave", "Name": "wav" }
|
||||
];
|
||||
this.MaxVolume = 1.0;
|
||||
this.AutoCorrectSpeed = false;
|
||||
this.InitialBufferLength = 1.0 / 3.0;
|
||||
}
|
||||
return Fallback_Settings;
|
||||
}());
|
||||
var Fallback = /** @class */ (function () {
|
||||
function Fallback(logger, settings) {
|
||||
this.Logger = logger;
|
||||
if (!this.Logger) {
|
||||
this.Logger = new Logging(null, null);
|
||||
}
|
||||
// Create audio context
|
||||
if (typeof AudioContext !== "undefined")
|
||||
this.Audio = new AudioContext();
|
||||
else if (typeof webkitAudioContext !== "undefined")
|
||||
this.Audio = new webkitAudioContext();
|
||||
else if (typeof mozAudioContext !== "undefined")
|
||||
this.Audio = new mozAudioContext();
|
||||
else {
|
||||
this.Logger.Log('3LAS: Browser does not support "AudioContext".');
|
||||
throw new Error();
|
||||
}
|
||||
this.Settings = settings;
|
||||
this.Logger.Log("Detected: " +
|
||||
(OSName == "MacOSX" ? "Mac OSX" : (OSName == "Unknown" ? "Unknown OS" : OSName)) + ", " +
|
||||
(BrowserName == "IE" ? "Internet Explorer" : (BrowserName == "NativeChrome" ? "Chrome legacy" : (BrowserName == "Unknown" ? "Unknown Browser" : BrowserName))));
|
||||
this.SelectedFormatMime = "";
|
||||
this.SelectedFormatName = "";
|
||||
for (var i = 0; i < this.Settings.Formats.length; i++) {
|
||||
if (!AudioFormatReader.CanDecodeTypes([this.Settings.Formats[i].Mime]))
|
||||
continue;
|
||||
this.SelectedFormatMime = this.Settings.Formats[i].Mime;
|
||||
this.SelectedFormatName = this.Settings.Formats[i].Name;
|
||||
break;
|
||||
}
|
||||
if (this.SelectedFormatMime == "" || this.SelectedFormatName == "") {
|
||||
this.Logger.Log("None of the available MIME types are supported.");
|
||||
throw new Error();
|
||||
}
|
||||
this.Logger.Log("Using websocket fallback with MIME: " + this.SelectedFormatMime);
|
||||
try {
|
||||
this.Player = new LiveAudioPlayer(this.Audio, this.Logger, this.Settings.MaxVolume, this.Settings.InitialBufferLength, this.Settings.AutoCorrectSpeed);
|
||||
this.Logger.Log("Init of LiveAudioPlayer succeeded");
|
||||
}
|
||||
catch (e) {
|
||||
this.Logger.Log("Init of LiveAudioPlayer failed: " + e);
|
||||
throw new Error();
|
||||
}
|
||||
try {
|
||||
this.FormatReader = AudioFormatReader.Create(this.SelectedFormatMime, this.Audio, this.Logger, this.OnReaderError.bind(this), this.Player.CheckBeforeDecode, this.OnReaderDataReady.bind(this), AudioFormatReader.DefaultSettings());
|
||||
this.Logger.Log("Init of AudioFormatReader succeeded");
|
||||
}
|
||||
catch (e) {
|
||||
this.Logger.Log("Init of AudioFormatReader failed: " + e);
|
||||
throw new Error();
|
||||
}
|
||||
this.PacketModCounter = 0;
|
||||
this.LastCheckTime = 0;
|
||||
this.FocusChecker = 0;
|
||||
}
|
||||
Fallback.prototype.Init = function (webSocket) {
|
||||
this.MobileUnmute();
|
||||
this.WebSocket = webSocket;
|
||||
this.WebSocket.Send(JSON.stringify({
|
||||
"type": "fallback",
|
||||
"data": this.SelectedFormatName
|
||||
}));
|
||||
this.StartFocusChecker();
|
||||
};
|
||||
Fallback.prototype.MobileUnmute = function () {
|
||||
var amplification = this.Audio.createGain();
|
||||
// Set volume to max
|
||||
amplification.gain.value = 1.0;
|
||||
// Connect gain node to context
|
||||
amplification.connect(this.Audio.destination);
|
||||
// Create one second buffer with silence
|
||||
var audioBuffer = this.Audio.createBuffer(2, this.Audio.sampleRate, this.Audio.sampleRate);
|
||||
// Create new audio source for the buffer
|
||||
var sourceNode = this.Audio.createBufferSource();
|
||||
// Make sure the node deletes itself after playback
|
||||
sourceNode.onended = function (_ev) {
|
||||
sourceNode.disconnect();
|
||||
amplification.disconnect();
|
||||
};
|
||||
// Pass audio data to source
|
||||
sourceNode.buffer = audioBuffer;
|
||||
// Connect the source to the gain node
|
||||
sourceNode.connect(amplification);
|
||||
// Play source
|
||||
sourceNode.start();
|
||||
};
|
||||
Object.defineProperty(Fallback.prototype, "Volume", {
|
||||
get: function () {
|
||||
return this.Player.Volume / this.Settings.MaxVolume;
|
||||
},
|
||||
set: function (value) {
|
||||
this.Player.Volume = value * this.Settings.MaxVolume;
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
// Callback functions from format reader
|
||||
Fallback.prototype.OnReaderError = function () {
|
||||
this.Logger.Log("Reader error: Decoding failed.");
|
||||
};
|
||||
Fallback.prototype.OnReaderDataReady = function () {
|
||||
while (this.FormatReader.SamplesAvailable()) {
|
||||
this.Player.PushBuffer(this.FormatReader.PopSamples());
|
||||
}
|
||||
};
|
||||
// Callback function from socket connection
|
||||
Fallback.prototype.OnSocketError = function (message) {
|
||||
};
|
||||
Fallback.prototype.OnSocketConnect = function () {
|
||||
};
|
||||
Fallback.prototype.OnSocketDisconnect = function () {
|
||||
};
|
||||
Fallback.prototype.OnSocketDataReady = function (data) {
|
||||
this.PacketModCounter++;
|
||||
if (this.PacketModCounter > 100) {
|
||||
if (this.ActivityCallback)
|
||||
this.ActivityCallback();
|
||||
this.PacketModCounter = 0;
|
||||
}
|
||||
this.FormatReader.PushData(new Uint8Array(data));
|
||||
};
|
||||
Fallback.prototype.StartFocusChecker = function () {
|
||||
if (!this.FocusChecker) {
|
||||
this.LastCheckTime = Date.now();
|
||||
this.FocusChecker = window.setInterval(this.CheckFocus.bind(this), 2000);
|
||||
}
|
||||
};
|
||||
Fallback.prototype.StopFocusChecker = function () {
|
||||
if (this.FocusChecker) {
|
||||
window.clearInterval(this.FocusChecker);
|
||||
this.FocusChecker = 0;
|
||||
}
|
||||
};
|
||||
Fallback.prototype.CheckFocus = function () {
|
||||
var checkTime = Date.now();
|
||||
// Check if focus was lost
|
||||
if (checkTime - this.LastCheckTime > 10000) {
|
||||
// If so, drop all samples in the buffer
|
||||
this.Logger.Log("Focus lost, purging format reader.");
|
||||
this.FormatReader.PurgeData();
|
||||
}
|
||||
this.LastCheckTime = checkTime;
|
||||
};
|
||||
Fallback.prototype.Reset = function () {
|
||||
this.StopFocusChecker();
|
||||
this.FormatReader.Reset();
|
||||
this.Player.Reset();
|
||||
this.WebSocket = null;
|
||||
};
|
||||
return Fallback;
|
||||
}());
|
||||
@@ -0,0 +1,193 @@
|
||||
/*
|
||||
Audio format reader is part of 3LAS (Low Latency Live Audio Streaming)
|
||||
https://github.com/JoJoBond/3LAS
|
||||
*/
|
||||
var AudioFormatReader = /** @class */ (function () {
|
||||
function AudioFormatReader(audio, logger, errorCallback, beforeDecodeCheck, dataReadyCallback) {
|
||||
if (!audio)
|
||||
throw new Error('AudioFormatReader: audio must be specified');
|
||||
// Check callback argument
|
||||
if (typeof errorCallback !== 'function')
|
||||
throw new Error('AudioFormatReader: errorCallback must be specified');
|
||||
if (typeof beforeDecodeCheck !== 'function')
|
||||
throw new Error('AudioFormatReader: beforeDecodeCheck must be specified');
|
||||
if (typeof dataReadyCallback !== 'function')
|
||||
throw new Error('AudioFormatReader: dataReadyCallback must be specified');
|
||||
this.Audio = audio;
|
||||
this.Logger = logger;
|
||||
this.ErrorCallback = errorCallback;
|
||||
this.BeforeDecodeCheck = beforeDecodeCheck;
|
||||
this.DataReadyCallback = dataReadyCallback;
|
||||
this.Id = 0;
|
||||
this.LastPushedId = -1;
|
||||
this.Samples = new Array();
|
||||
this.BufferStore = {};
|
||||
this.DataBuffer = new Uint8Array(0);
|
||||
}
|
||||
// Pushes frame data into the buffer
|
||||
AudioFormatReader.prototype.PushData = function (data) {
|
||||
// Append data to framedata buffer
|
||||
this.DataBuffer = this.ConcatUint8Array(this.DataBuffer, data);
|
||||
// Try to extract frames
|
||||
this.ExtractAll();
|
||||
};
|
||||
// Check if samples are available
|
||||
AudioFormatReader.prototype.SamplesAvailable = function () {
|
||||
return (this.Samples.length > 0);
|
||||
};
|
||||
// Get a single bunch of sampels from the reader
|
||||
AudioFormatReader.prototype.PopSamples = function () {
|
||||
if (this.Samples.length > 0) {
|
||||
// Get first bunch of samples, remove said bunch from the array and hand it back to callee
|
||||
return this.Samples.shift();
|
||||
}
|
||||
else
|
||||
return null;
|
||||
};
|
||||
// Deletes all encoded and decoded data from the reader (does not effect headers, etc.)
|
||||
AudioFormatReader.prototype.PurgeData = function () {
|
||||
this.Id = 0;
|
||||
this.LastPushedId = -1;
|
||||
this.Samples = new Array();
|
||||
this.BufferStore = {};
|
||||
this.DataBuffer = new Uint8Array(0);
|
||||
};
|
||||
// Used to force frame extraction externaly
|
||||
AudioFormatReader.prototype.Poke = function () {
|
||||
this.ExtractAll();
|
||||
};
|
||||
// Deletes all data from the reader (does effect headers, etc.)
|
||||
AudioFormatReader.prototype.Reset = function () {
|
||||
this.PurgeData();
|
||||
};
|
||||
// Extracts and converts the raw data
|
||||
AudioFormatReader.prototype.ExtractAll = function () {
|
||||
};
|
||||
// Checks if a decode makes sense
|
||||
AudioFormatReader.prototype.OnBeforeDecode = function (id, duration) {
|
||||
return true;
|
||||
//TODO Fix this
|
||||
/*
|
||||
if(this.BeforeDecodeCheck(duration)) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
this.OnDataReady(id, this.Audio.createBuffer(1, Math.ceil(duration * this.Audio.sampleRate), this.Audio.sampleRate));
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
};
|
||||
// Stores the converted bnuches of samples in right order
|
||||
AudioFormatReader.prototype.OnDataReady = function (id, audioBuffer) {
|
||||
if (this.LastPushedId + 1 == id) {
|
||||
// Push samples into array
|
||||
this.Samples.push(audioBuffer);
|
||||
this.LastPushedId++;
|
||||
while (this.BufferStore[this.LastPushedId + 1]) {
|
||||
// Push samples we decoded earlier in correct order
|
||||
this.Samples.push(this.BufferStore[this.LastPushedId + 1]);
|
||||
delete this.BufferStore[this.LastPushedId + 1];
|
||||
this.LastPushedId++;
|
||||
}
|
||||
// Callback to tell that data is ready
|
||||
this.DataReadyCallback();
|
||||
}
|
||||
else {
|
||||
// Is out of order, will be pushed later
|
||||
this.BufferStore[id] = audioBuffer;
|
||||
}
|
||||
};
|
||||
// Used to concatenate two Uint8Array (b comes BEHIND a)
|
||||
AudioFormatReader.prototype.ConcatUint8Array = function (a, b) {
|
||||
var tmp = new Uint8Array(a.length + b.length);
|
||||
tmp.set(a, 0);
|
||||
tmp.set(b, a.length);
|
||||
return tmp;
|
||||
};
|
||||
AudioFormatReader.CanDecodeTypes = function (mimeTypes) {
|
||||
var audioTag = new Audio();
|
||||
var result = false;
|
||||
for (var i = 0; i < mimeTypes.length; i++) {
|
||||
var mimeType = mimeTypes[i];
|
||||
var answer = audioTag.canPlayType(mimeType);
|
||||
if (answer != "probably" && answer != "maybe")
|
||||
continue;
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
audioTag = null;
|
||||
return result;
|
||||
};
|
||||
AudioFormatReader.DefaultSettings = function () {
|
||||
var settings = {};
|
||||
// WAV
|
||||
settings["wav"] = {};
|
||||
// Duration of wave samples to decode together
|
||||
settings["wav"]["BatchDuration"] = 1 / 10; // 0.1 seconds
|
||||
/*
|
||||
if (isAndroid && isNativeChrome)
|
||||
settings["wav"]["BatchDuration"] = 96 / 375;
|
||||
else if (isAndroid && isFirefox)
|
||||
settings["wav"]["BatchDuration"] = 96 / 375;
|
||||
else
|
||||
settings["wav"]["BatchDuration"] = 16 / 375;
|
||||
*/
|
||||
// Duration of addtional samples to decode to account for edge effects
|
||||
settings["wav"]["ExtraEdgeDuration"] = 1 / 300; // 0.00333... seconds
|
||||
/*
|
||||
if (isAndroid && isNativeChrome)
|
||||
settings["wav"]["ExtraEdgeDuration"] = 1 / 1000;
|
||||
else if (isAndroid && isFirefox)
|
||||
settings["wav"]["ExtraEdgeDuration"] = 1 / 1000;
|
||||
else
|
||||
settings["wav"]["ExtraEdgeDuration"] = 1 / 1000;
|
||||
*/
|
||||
// MPEG
|
||||
settings["mpeg"] = {};
|
||||
// Adds a minimal ID3v2 tag before decoding frames.
|
||||
settings["mpeg"]["AddID3Tag"] = false;
|
||||
// Minimum number of frames to decode together
|
||||
// Theoretical minimum is 2.
|
||||
// Recommended value is 3 or higher.
|
||||
if (isAndroid)
|
||||
settings["mpeg"]["MinDecodeFrames"] = 17;
|
||||
else
|
||||
settings["mpeg"]["MinDecodeFrames"] = 3;
|
||||
return settings;
|
||||
};
|
||||
AudioFormatReader.Create = function (mime, audio, logger, errorCallback, beforeDecodeCheck, dataReadyCallback, settings) {
|
||||
if (settings === void 0) { settings = null; }
|
||||
if (typeof mime !== "string")
|
||||
throw new Error('CreateAudioFormatReader: Invalid MIME-Type, must be string');
|
||||
if (!settings)
|
||||
settings = this.DefaultSettings();
|
||||
var fullMime = mime;
|
||||
if (mime.indexOf("audio/pcm") == 0)
|
||||
mime = "audio/pcm";
|
||||
// Load format handler according to MIME-Type
|
||||
switch (mime.replace(/\s/g, "")) {
|
||||
// MPEG Audio (mp3)
|
||||
case "audio/mpeg":
|
||||
case "audio/MPA":
|
||||
case "audio/mpa-robust":
|
||||
if (!AudioFormatReader.CanDecodeTypes(new Array("audio/mpeg", "audio/MPA", "audio/mpa-robust")))
|
||||
throw new Error('CreateAudioFormatReader: Browser can not decode specified MIME-Type (' + mime + ')');
|
||||
return new AudioFormatReader_MPEG(audio, logger, errorCallback, beforeDecodeCheck, dataReadyCallback, settings["mpeg"]["AddID3Tag"], settings["mpeg"]["MinDecodeFrames"]);
|
||||
break;
|
||||
// Waveform Audio File Format
|
||||
case "audio/vnd.wave":
|
||||
case "audio/wav":
|
||||
case "audio/wave":
|
||||
case "audio/x-wav":
|
||||
if (!AudioFormatReader.CanDecodeTypes(new Array("audio/wav", "audio/wave")))
|
||||
throw new Error('CreateAudioFormatReader: Browser can not decode specified MIME-Type (' + mime + ')');
|
||||
return new AudioFormatReader_WAV(audio, logger, errorCallback, beforeDecodeCheck, dataReadyCallback, settings["wav"]["BatchDuration"], settings["wav"]["ExtraEdgeDuration"]);
|
||||
break;
|
||||
// Unknown codec
|
||||
default:
|
||||
throw new Error('CreateAudioFormatReader: Specified MIME-Type (' + mime + ') not supported');
|
||||
break;
|
||||
}
|
||||
};
|
||||
return AudioFormatReader;
|
||||
}());
|
||||
@@ -0,0 +1,147 @@
|
||||
/*
|
||||
Live audio player is part of 3LAS (Low Latency Live Audio Streaming)
|
||||
https://github.com/JoJoBond/3LAS
|
||||
*/
|
||||
var LiveAudioPlayer = /** @class */ (function () {
|
||||
function LiveAudioPlayer(audio, logger, maxVolume, startOffset, variableSpeed) {
|
||||
if (maxVolume === void 0) { maxVolume = 1.0; }
|
||||
if (startOffset === void 0) { startOffset = 0.33; }
|
||||
if (variableSpeed === void 0) { variableSpeed = false; }
|
||||
this.Audio = audio;
|
||||
this.Logger = logger;
|
||||
this.MaxVolume = maxVolume;
|
||||
this.StartOffset = startOffset;
|
||||
this.VariableSpeed = variableSpeed;
|
||||
this.OffsetMin = this.StartOffset - LiveAudioPlayer.OffsetVariance;
|
||||
this.OffsetMax = this.StartOffset + LiveAudioPlayer.OffsetVariance;
|
||||
// Set speed to default
|
||||
this.PlaybackSpeed = 1.0;
|
||||
// Reset variable for scheduling times
|
||||
this.NextScheduleTime = 0.0;
|
||||
// Create gain node for volume control
|
||||
this.Amplification = this.Audio.createGain();
|
||||
// Set volume to max
|
||||
this.Amplification.gain.value = 1.0;
|
||||
// Connect gain node to context
|
||||
this.Amplification.connect(this.Audio.destination);
|
||||
}
|
||||
Object.defineProperty(LiveAudioPlayer.prototype, "Volume", {
|
||||
get: function () {
|
||||
// Get volume from gain node
|
||||
return this.Amplification.gain.value;
|
||||
},
|
||||
set: function (value) {
|
||||
// Clamp value to [1e-20 ; MaxVolume]
|
||||
if (value > 1.0)
|
||||
value = this.MaxVolume;
|
||||
else if (value <= 0.0)
|
||||
value = 1e-20;
|
||||
// Cancel any scheduled ramps
|
||||
this.Amplification.gain.cancelScheduledValues(this.Audio.currentTime);
|
||||
// Change volume following a ramp (more userfriendly)
|
||||
this.Amplification.gain.exponentialRampToValueAtTime(value, this.Audio.currentTime + 0.5);
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
// Recieves an audiobuffer and schedules it for seamless playback
|
||||
LiveAudioPlayer.prototype.PushBuffer = function (buffer) {
|
||||
// Check if this is the first buffer we received
|
||||
if (this.NextScheduleTime == 0.0) {
|
||||
// Start playing [StartOffset] s from now
|
||||
this.NextScheduleTime = this.Audio.currentTime + this.StartOffset;
|
||||
}
|
||||
var duration;
|
||||
if (this.VariableSpeed)
|
||||
duration = buffer.duration / this.PlaybackSpeed; // Use regular duration
|
||||
else
|
||||
duration = buffer.duration; // Use duration adjusted for playback speed
|
||||
// Before creating a buffer and scheduling playback, check if playing this buffer makes sense at all
|
||||
// If a buffer should have been started so far in the past that it would have finished playing by now, we are better of skipping it.
|
||||
// But we still need to move the time forward to keep future timings right.
|
||||
if (this.NextScheduleTime + duration > this.Audio.currentTime) {
|
||||
var skipDurationTime = void 0;
|
||||
// If the playback start time is in the past but the playback end time is in the future, we need to partially play the buffer.
|
||||
if (this.Audio.currentTime >= this.NextScheduleTime) {
|
||||
// Calculate the time we need to skip
|
||||
skipDurationTime = this.Audio.currentTime - this.NextScheduleTime + 0.05;
|
||||
}
|
||||
else {
|
||||
// No skipping needed
|
||||
skipDurationTime = 0.0;
|
||||
}
|
||||
// Check if we'd skip the whole buffer anyway
|
||||
if (skipDurationTime < duration) {
|
||||
// Create new audio source for the buffer
|
||||
var sourceNode_1 = this.Audio.createBufferSource();
|
||||
// Make sure the node deletes itself after playback
|
||||
sourceNode_1.onended = function (_ev) {
|
||||
sourceNode_1.disconnect();
|
||||
};
|
||||
// Prevent looping (the standard says that it should be off by default)
|
||||
sourceNode_1.loop = false;
|
||||
// Pass audio data to source
|
||||
sourceNode_1.buffer = buffer;
|
||||
//Connect the source to the gain node
|
||||
sourceNode_1.connect(this.Amplification);
|
||||
if (this.VariableSpeed) {
|
||||
var scheduleOffset = this.NextScheduleTime - this.Audio.currentTime;
|
||||
// Check if we are to far or too close to target schedule time
|
||||
if (this.NextScheduleTime - this.Audio.currentTime > this.OffsetMax) {
|
||||
if (this.PlaybackSpeed < 1.0 + LiveAudioPlayer.SpeedCorrectionFactor) {
|
||||
// We are too slow, speed up playback (somewhat noticeable)
|
||||
this.Logger.Log("Buffer size too large, speeding up playback.");
|
||||
this.PlaybackSpeed = 1.0 + LiveAudioPlayer.SpeedCorrectionFactor;
|
||||
duration = buffer.duration / this.PlaybackSpeed;
|
||||
}
|
||||
}
|
||||
else if (this.NextScheduleTime - this.Audio.currentTime < this.OffsetMin) {
|
||||
if (this.PlaybackSpeed > 1.0 - LiveAudioPlayer.SpeedCorrectionFactor) {
|
||||
// We are too fast, slow down playback (somewhat noticeable)
|
||||
this.Logger.Log("Buffer size too small, slowing down playback.");
|
||||
this.PlaybackSpeed = 1.0 - LiveAudioPlayer.SpeedCorrectionFactor;
|
||||
duration = buffer.duration / this.PlaybackSpeed;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Check if we are in time
|
||||
if ((this.PlaybackSpeed > 1.0 && (this.NextScheduleTime - this.Audio.currentTime < this.StartOffset)) ||
|
||||
(this.PlaybackSpeed < 1.0 && (this.NextScheduleTime - this.Audio.currentTime > this.StartOffset))) {
|
||||
// We are within our min/max offset, set playpacks to default
|
||||
this.Logger.Log("Buffer size within limits, using normal playback speed.");
|
||||
this.PlaybackSpeed = 1.0;
|
||||
duration = buffer.duration;
|
||||
}
|
||||
}
|
||||
// Set playback speed
|
||||
sourceNode_1.playbackRate.value = this.PlaybackSpeed;
|
||||
}
|
||||
// Schedule playback
|
||||
sourceNode_1.start(this.NextScheduleTime + skipDurationTime, skipDurationTime);
|
||||
}
|
||||
else {
|
||||
this.Logger.Log("Skipped buffer because it became too old.");
|
||||
}
|
||||
}
|
||||
else {
|
||||
this.Logger.Log("Skipped buffer because it was too old.");
|
||||
}
|
||||
// Move time forward
|
||||
this.NextScheduleTime += duration;
|
||||
};
|
||||
LiveAudioPlayer.prototype.Reset = function () {
|
||||
this.NextScheduleTime = 0.0;
|
||||
};
|
||||
LiveAudioPlayer.prototype.CheckBeforeDecode = function (playbackLength) {
|
||||
if (this.NextScheduleTime == 0)
|
||||
return true;
|
||||
return this.NextScheduleTime + playbackLength > this.Audio.currentTime;
|
||||
};
|
||||
// Crystal oscillator have a variance of about +/- 20ppm
|
||||
// So worst case would be a difference of 40ppm between two oscillators.
|
||||
LiveAudioPlayer.SpeedCorrectionFactor = 40 / 1.0e6;
|
||||
// Hystersis value for speed up/down trigger
|
||||
LiveAudioPlayer.OffsetVariance = 0.2;
|
||||
return LiveAudioPlayer;
|
||||
}());
|
||||
//# sourceMappingURL=3las.liveaudioplayer.js.map
|
||||
@@ -0,0 +1,284 @@
|
||||
/*
|
||||
MPEG audio format reader is part of 3LAS (Low Latency Live Audio Streaming)
|
||||
https://github.com/JoJoBond/3LAS
|
||||
*/
|
||||
var __extends = (this && this.__extends) || (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
var MPEGFrameInfo = /** @class */ (function () {
|
||||
function MPEGFrameInfo(data, sampleCount, sampleRate) {
|
||||
this.Data = data;
|
||||
this.SampleCount = sampleCount;
|
||||
this.SampleRate = sampleRate;
|
||||
}
|
||||
return MPEGFrameInfo;
|
||||
}());
|
||||
var AudioFormatReader_MPEG = /** @class */ (function (_super) {
|
||||
__extends(AudioFormatReader_MPEG, _super);
|
||||
function AudioFormatReader_MPEG(audio, logger, errorCallback, beforeDecodeCheck, dataReadyCallback, addId3Tag, minDecodeFrames) {
|
||||
var _this = _super.call(this, audio, logger, errorCallback, beforeDecodeCheck, dataReadyCallback) || this;
|
||||
_this._OnDecodeSuccess = _this.OnDecodeSuccess.bind(_this);
|
||||
_this._OnDecodeError = _this.OnDecodeError.bind(_this);
|
||||
_this.AddId3Tag = addId3Tag;
|
||||
_this.MinDecodeFrames = minDecodeFrames;
|
||||
_this.Frames = new Array();
|
||||
_this.FrameStartIdx = -1;
|
||||
_this.FrameEndIdx = -1;
|
||||
_this.FrameSamples = 0;
|
||||
_this.FrameSampleRate = 0;
|
||||
_this.TimeBudget = 0;
|
||||
return _this;
|
||||
}
|
||||
// Deletes all frames from the databuffer and framearray and all samples from the samplearray
|
||||
AudioFormatReader_MPEG.prototype.PurgeData = function () {
|
||||
_super.prototype.PurgeData.call(this);
|
||||
this.Frames = new Array();
|
||||
this.FrameStartIdx = -1;
|
||||
this.FrameEndIdx = -1;
|
||||
this.FrameSamples = 0;
|
||||
this.FrameSampleRate = 0;
|
||||
this.TimeBudget = 0;
|
||||
};
|
||||
// Extracts all currently possible frames
|
||||
AudioFormatReader_MPEG.prototype.ExtractAll = function () {
|
||||
// Look for frames
|
||||
this.FindFrame();
|
||||
// Repeat as long as we can extract frames
|
||||
while (this.CanExtractFrame()) {
|
||||
// Extract frame and push into array
|
||||
this.Frames.push(this.ExtractFrame());
|
||||
// Look for frames
|
||||
this.FindFrame();
|
||||
}
|
||||
// Check if we have enough frames to decode
|
||||
if (this.Frames.length >= this.MinDecodeFrames) {
|
||||
// Note:
|
||||
// =====
|
||||
// mp3 frames have an overlap of [granule size] so we can't use the first or last [granule size] samples.
|
||||
// [granule size] is equal to half of a [frame size] in samples (using the mp3's sample rate).
|
||||
// Sum up the playback time of each decoded frame and data buffer lengths
|
||||
// Note: Since mp3-Frames overlap by half of their sample-length we expect the
|
||||
// first and last frame to be only half as long. Some decoders will still output
|
||||
// the full frame length by adding zeros.
|
||||
var bufferLength = 0;
|
||||
var expectedTotalPlayTime_1 = 0;
|
||||
expectedTotalPlayTime_1 += this.Frames[0].SampleCount / this.Frames[0].SampleRate / 2.0; // Only half of data is usable due to overlap
|
||||
bufferLength += this.Frames[0].Data.length;
|
||||
for (var i = 1; i < this.Frames.length - 1; i++) {
|
||||
expectedTotalPlayTime_1 += this.Frames[i].SampleCount / this.Frames[i].SampleRate;
|
||||
bufferLength += this.Frames[i].Data.length;
|
||||
}
|
||||
expectedTotalPlayTime_1 += this.Frames[this.Frames.length - 1].SampleCount / this.Frames[this.Frames.length - 1].SampleRate / 2.0; // Only half of data is usable due to overlap
|
||||
bufferLength += this.Frames[this.Frames.length - 1].Data.length;
|
||||
// If needed, add some space for the ID3v2 tag
|
||||
if (this.AddId3Tag) {
|
||||
bufferLength += AudioFormatReader_MPEG.Id3v2Tag.length;
|
||||
}
|
||||
// Create a buffer long enough to hold everything
|
||||
var decodeBuffer = new Uint8Array(bufferLength);
|
||||
var offset = 0;
|
||||
// If needed, add ID3v2 tag to beginning of buffer
|
||||
if (this.AddId3Tag) {
|
||||
decodeBuffer.set(AudioFormatReader_MPEG.Id3v2Tag, offset);
|
||||
offset += AudioFormatReader_MPEG.Id3v2Tag.length;
|
||||
}
|
||||
// Add the frames to the window
|
||||
for (var i = 0; i < this.Frames.length; i++) {
|
||||
decodeBuffer.set(this.Frames[i].Data, offset);
|
||||
offset += this.Frames[i].Data.length;
|
||||
}
|
||||
// Remove the used frames from the array
|
||||
this.Frames.splice(0, this.Frames.length - 1);
|
||||
// Increment Id
|
||||
var id_1 = this.Id++;
|
||||
// Check if decoded frames might be too far back in the past
|
||||
if (!this.OnBeforeDecode(id_1, expectedTotalPlayTime_1))
|
||||
return;
|
||||
// Push window to the decoder
|
||||
this.Audio.decodeAudioData(decodeBuffer.buffer, (function (decodedData) {
|
||||
var _id = id_1;
|
||||
var _expectedTotalPlayTime = expectedTotalPlayTime_1;
|
||||
this._OnDecodeSuccess(decodedData, _id, _expectedTotalPlayTime);
|
||||
}).bind(this), this._OnDecodeError.bind(this));
|
||||
}
|
||||
};
|
||||
// Finds frame boundries within the data buffer
|
||||
AudioFormatReader_MPEG.prototype.FindFrame = function () {
|
||||
// Find frame start
|
||||
if (this.FrameStartIdx < 0) {
|
||||
var i = 0;
|
||||
// Make sure we don't exceed array bounds
|
||||
while ((i + 1) < this.DataBuffer.length) {
|
||||
// Look for MPEG sync word
|
||||
if (this.DataBuffer[i] == 0xFF && (this.DataBuffer[i + 1] & 0xE0) == 0xE0) {
|
||||
// Sync found, set frame start
|
||||
this.FrameStartIdx = i;
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
// Find frame end
|
||||
if (this.FrameStartIdx >= 0 && this.FrameEndIdx < 0) {
|
||||
// Check if we have enough data to process the header
|
||||
if ((this.FrameStartIdx + 2) < this.DataBuffer.length) {
|
||||
// Get header data
|
||||
// Version index
|
||||
var ver = (this.DataBuffer[this.FrameStartIdx + 1] & 0x18) >>> 3;
|
||||
// Layer index
|
||||
var lyr = (this.DataBuffer[this.FrameStartIdx + 1] & 0x06) >>> 1;
|
||||
// Padding? 0/1
|
||||
var pad = (this.DataBuffer[this.FrameStartIdx + 2] & 0x02) >>> 1;
|
||||
// Bitrate index
|
||||
var brx = (this.DataBuffer[this.FrameStartIdx + 2] & 0xF0) >>> 4;
|
||||
// SampRate index
|
||||
var srx = (this.DataBuffer[this.FrameStartIdx + 2] & 0x0C) >>> 2;
|
||||
// Resolve flags to real values
|
||||
var bitrate = AudioFormatReader_MPEG.MPEG_bitrates[ver][lyr][brx] * 1000;
|
||||
var samprate = AudioFormatReader_MPEG.MPEG_srates[ver][srx];
|
||||
var samples = AudioFormatReader_MPEG.MPEG_frame_samples[ver][lyr];
|
||||
var slot_size = AudioFormatReader_MPEG.MPEG_slot_size[lyr];
|
||||
// In-between calculations
|
||||
var bps = samples / 8.0;
|
||||
var fsize = ((bps * bitrate) / samprate) + ((pad == 1) ? slot_size : 0);
|
||||
// Truncate to integer
|
||||
var frameSize = Math.floor(fsize);
|
||||
// Store number of samples and samplerate for frame
|
||||
this.FrameSamples = samples;
|
||||
this.FrameSampleRate = samprate;
|
||||
// Set end frame boundry
|
||||
this.FrameEndIdx = this.FrameStartIdx + frameSize;
|
||||
}
|
||||
}
|
||||
};
|
||||
// Checks if there is a frame ready to be extracted
|
||||
AudioFormatReader_MPEG.prototype.CanExtractFrame = function () {
|
||||
if (this.FrameStartIdx < 0 || this.FrameEndIdx < 0)
|
||||
return false;
|
||||
else if (this.FrameEndIdx <= this.DataBuffer.length)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
};
|
||||
// Extract a single frame from the buffer
|
||||
AudioFormatReader_MPEG.prototype.ExtractFrame = function () {
|
||||
// Extract frame data from buffer
|
||||
var frameArray = this.DataBuffer.buffer.slice(this.FrameStartIdx, this.FrameEndIdx);
|
||||
// Remove frame from buffer
|
||||
if ((this.FrameEndIdx + 1) < this.DataBuffer.length)
|
||||
this.DataBuffer = new Uint8Array(this.DataBuffer.buffer.slice(this.FrameEndIdx));
|
||||
else
|
||||
this.DataBuffer = new Uint8Array(0);
|
||||
// Reset Start/End indices
|
||||
this.FrameStartIdx = 0;
|
||||
this.FrameEndIdx = -1;
|
||||
return new MPEGFrameInfo(new Uint8Array(frameArray), this.FrameSamples, this.FrameSampleRate);
|
||||
};
|
||||
// Is called if the decoding of the window succeeded
|
||||
AudioFormatReader_MPEG.prototype.OnDecodeSuccess = function (decodedData, id, expectedTotalPlayTime) {
|
||||
var extractSampleCount;
|
||||
var extractSampleOffset;
|
||||
// Check if we got the expected number of samples
|
||||
if (expectedTotalPlayTime > decodedData.duration) {
|
||||
// We got less samples than expect, we suspect that they were truncated equally at start and end.
|
||||
// This can happen in case of sample rate conversions.
|
||||
extractSampleCount = decodedData.length;
|
||||
extractSampleOffset = 0;
|
||||
this.TimeBudget += (expectedTotalPlayTime - decodedData.duration);
|
||||
}
|
||||
else if (expectedTotalPlayTime < decodedData.duration) {
|
||||
// We got more samples than expect, we suspect that zeros were added equally at start and end.
|
||||
// This can happen in case of sample rate conversions or edge frame handling.
|
||||
extractSampleCount = Math.ceil(expectedTotalPlayTime * decodedData.sampleRate);
|
||||
var budgetSamples = this.TimeBudget * decodedData.sampleRate;
|
||||
if (budgetSamples > 1.0) {
|
||||
if (budgetSamples > decodedData.length - extractSampleCount) {
|
||||
budgetSamples = decodedData.length - extractSampleCount;
|
||||
}
|
||||
extractSampleCount += budgetSamples;
|
||||
this.TimeBudget -= (budgetSamples / decodedData.sampleRate);
|
||||
}
|
||||
extractSampleOffset = Math.floor((decodedData.length - extractSampleCount) / 2);
|
||||
}
|
||||
else {
|
||||
// We got the expected number of samples, no adaption needed
|
||||
extractSampleCount = decodedData.length;
|
||||
extractSampleOffset = 0;
|
||||
}
|
||||
// Create a buffer that can hold the frame to extract
|
||||
var audioBuffer = this.Audio.createBuffer(decodedData.numberOfChannels, extractSampleCount, decodedData.sampleRate);
|
||||
// Fill buffer with the last part of the decoded frame leave out last granule
|
||||
for (var i = 0; i < decodedData.numberOfChannels; i++)
|
||||
audioBuffer.getChannelData(i).set(decodedData.getChannelData(i).subarray(extractSampleOffset, extractSampleOffset + extractSampleCount));
|
||||
this.OnDataReady(id, audioBuffer);
|
||||
};
|
||||
// Is called in case the decoding of the window fails
|
||||
AudioFormatReader_MPEG.prototype.OnDecodeError = function (_error) {
|
||||
this.ErrorCallback();
|
||||
};
|
||||
// MPEG versions - use [version]
|
||||
AudioFormatReader_MPEG.MPEG_versions = new Array(25, 0, 2, 1);
|
||||
// Layers - use [layer]
|
||||
AudioFormatReader_MPEG.MPEG_layers = new Array(0, 3, 2, 1);
|
||||
// Bitrates - use [version][layer][bitrate]
|
||||
AudioFormatReader_MPEG.MPEG_bitrates = new Array(new Array(// Version 2.5
|
||||
new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), // Reserved
|
||||
new Array(0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 0), // Layer 3
|
||||
new Array(0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 0), // Layer 2
|
||||
new Array(0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256, 0) // Layer 1
|
||||
), new Array(// Reserved
|
||||
new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), // Invalid
|
||||
new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), // Invalid
|
||||
new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), // Invalid
|
||||
new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) // Invalid
|
||||
), new Array(// Version 2
|
||||
new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), // Reserved
|
||||
new Array(0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 0), // Layer 3
|
||||
new Array(0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 0), // Layer 2
|
||||
new Array(0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256, 0) // Layer 1
|
||||
), new Array(// Version 1
|
||||
new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), // Reserved
|
||||
new Array(0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 0), // Layer 3
|
||||
new Array(0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, 0), // Layer 2
|
||||
new Array(0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, 0) // Layer 1
|
||||
));
|
||||
// Sample rates - use [version][srate]
|
||||
AudioFormatReader_MPEG.MPEG_srates = new Array(new Array(11025, 12000, 8000, 0), // MPEG 2.5
|
||||
new Array(0, 0, 0, 0), // Reserved
|
||||
new Array(22050, 24000, 16000, 0), // MPEG 2
|
||||
new Array(44100, 48000, 32000, 0) // MPEG 1
|
||||
);
|
||||
// Samples per frame - use [version][layer]
|
||||
AudioFormatReader_MPEG.MPEG_frame_samples = new Array(
|
||||
// Rsvd 3 2 1 < Layer v Version
|
||||
new Array(0, 576, 1152, 384), // 2.5
|
||||
new Array(0, 0, 0, 0), // Reserved
|
||||
new Array(0, 576, 1152, 384), // 2
|
||||
new Array(0, 1152, 1152, 384) // 1
|
||||
);
|
||||
AudioFormatReader_MPEG.Id3v2Tag = new Uint8Array(new Array(0x49, 0x44, 0x33, // File identifier: "ID3"
|
||||
0x03, 0x00, // Version 2.3
|
||||
0x00, // Flags: no unsynchronisation, no extended header, no experimental indicator
|
||||
0x00, 0x00, 0x00, 0x0D, // Size of the (tag-)frames, extended header and padding
|
||||
0x54, 0x49, 0x54, 0x32, // Title frame: "TIT2"
|
||||
0x00, 0x00, 0x00, 0x02, // Size of the frame data
|
||||
0x00, 0x00, // Frame Flags
|
||||
0x00, 0x20, 0x00 // Frame data (space character) and padding
|
||||
));
|
||||
// Slot size (MPEG unit of measurement) - use [layer]
|
||||
AudioFormatReader_MPEG.MPEG_slot_size = new Array(0, 1, 1, 4); // Rsvd, 3, 2, 1
|
||||
return AudioFormatReader_MPEG;
|
||||
}(AudioFormatReader));
|
||||
//# sourceMappingURL=3las.formatreader.mpeg.js.map
|
||||
@@ -0,0 +1,223 @@
|
||||
/*
|
||||
WAV audio format reader is part of 3LAS (Low Latency Live Audio Streaming)
|
||||
https://github.com/JoJoBond/3LAS
|
||||
*/
|
||||
var __extends = (this && this.__extends) || (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
var AudioFormatReader_WAV = /** @class */ (function (_super) {
|
||||
__extends(AudioFormatReader_WAV, _super);
|
||||
function AudioFormatReader_WAV(audio, logger, errorCallback, beforeDecodeCheck, dataReadyCallback, batchDuration, extraEdgeDuration) {
|
||||
var _this = _super.call(this, audio, logger, errorCallback, beforeDecodeCheck, dataReadyCallback) || this;
|
||||
_this._OnDecodeSuccess = _this.OnDecodeSuccess.bind(_this);
|
||||
_this._OnDecodeError = _this.OnDecodeError.bind(_this);
|
||||
_this.BatchDuration = batchDuration;
|
||||
_this.ExtraEdgeDuration = extraEdgeDuration;
|
||||
_this.GotHeader = false;
|
||||
_this.RiffHeader = null;
|
||||
_this.WaveSampleRate = 0;
|
||||
_this.WaveBitsPerSample = 0;
|
||||
_this.WaveBytesPerSample = 0;
|
||||
_this.WaveBlockAlign = 0;
|
||||
_this.WaveChannels = 0;
|
||||
_this.BatchSamples = 0;
|
||||
_this.BatchBytes = 0;
|
||||
_this.ExtraEdgeSamples = 0;
|
||||
_this.TotalBatchSampleSize = 0;
|
||||
_this.TotalBatchByteSize = 0;
|
||||
_this.SampleBudget = 0;
|
||||
return _this;
|
||||
}
|
||||
// Deletes all samples from the databuffer and the samplearray
|
||||
AudioFormatReader_WAV.prototype.PurgeData = function () {
|
||||
_super.prototype.PurgeData.call(this);
|
||||
this.SampleBudget = 0;
|
||||
};
|
||||
// Deletes all data from the reader (deos effect headers, etc.)
|
||||
AudioFormatReader_WAV.prototype.Reset = function () {
|
||||
_super.prototype.Reset.call(this);
|
||||
this.GotHeader = false;
|
||||
this.RiffHeader = null;
|
||||
this.WaveSampleRate = 0;
|
||||
this.WaveBitsPerSample = 0;
|
||||
this.WaveBytesPerSample = 0;
|
||||
this.WaveBlockAlign = 0;
|
||||
this.WaveChannels = 0;
|
||||
this.BatchSamples = 0;
|
||||
this.BatchBytes = 0;
|
||||
this.ExtraEdgeSamples = 0;
|
||||
this.TotalBatchSampleSize = 0;
|
||||
this.TotalBatchByteSize = 0;
|
||||
this.SampleBudget = 0;
|
||||
};
|
||||
AudioFormatReader_WAV.prototype.ExtractAll = function () {
|
||||
if (!this.GotHeader)
|
||||
this.FindAndExtractHeader();
|
||||
else {
|
||||
var _loop_1 = function () {
|
||||
// Extract samples
|
||||
var tmpSamples = this_1.ExtractIntSamples();
|
||||
// Increment Id
|
||||
var id = this_1.Id++;
|
||||
if (!this_1.OnBeforeDecode(id, this_1.BatchDuration))
|
||||
return "continue";
|
||||
// Note:
|
||||
// =====
|
||||
// When audio data is resampled we get edge-effects at beginnging and end.
|
||||
// We should be able to compensate for that by keeping the last sample of the
|
||||
// previous batch and adding it to the beginning of the current one, but then
|
||||
// cutting it out AFTER the resampling (since the same effects apply to it)
|
||||
// The effects at the end can be compensated by cutting the resampled samples shorter
|
||||
// This is not trivial for non-natural ratios (e.g. 16kHz -> 44.1kHz). Because we would have
|
||||
// to cut out a non-natural number of samples at beginning and end.
|
||||
// TODO: All of the above...
|
||||
// Create a buffer long enough to hold everything
|
||||
var samplesBuffer = new Uint8Array(this_1.RiffHeader.length + tmpSamples.length);
|
||||
var offset = 0;
|
||||
// Add header
|
||||
samplesBuffer.set(this_1.RiffHeader, offset);
|
||||
offset += this_1.RiffHeader.length;
|
||||
// Add samples
|
||||
samplesBuffer.set(tmpSamples, offset);
|
||||
// Push pages to the decoder
|
||||
this_1.Audio.decodeAudioData(samplesBuffer.buffer, (function (decodedData) {
|
||||
var _id = id;
|
||||
this._OnDecodeSuccess(decodedData, _id);
|
||||
}).bind(this_1), this_1._OnDecodeError);
|
||||
};
|
||||
var this_1 = this;
|
||||
while (this.CanExtractSamples()) {
|
||||
_loop_1();
|
||||
}
|
||||
}
|
||||
};
|
||||
// Finds riff header within the data buffer and extracts it
|
||||
AudioFormatReader_WAV.prototype.FindAndExtractHeader = function () {
|
||||
var curpos = 0;
|
||||
// Make sure a whole header can fit
|
||||
if (!((curpos + 4) < this.DataBuffer.length))
|
||||
return;
|
||||
// Check chunkID, should be "RIFF"
|
||||
if (!(this.DataBuffer[curpos] == 0x52 && this.DataBuffer[curpos + 1] == 0x49 && this.DataBuffer[curpos + 2] == 0x46 && this.DataBuffer[curpos + 3] == 0x46))
|
||||
return;
|
||||
curpos += 8;
|
||||
if (!((curpos + 4) < this.DataBuffer.length))
|
||||
return;
|
||||
// Check riffType, should be "WAVE"
|
||||
if (!(this.DataBuffer[curpos] == 0x57 && this.DataBuffer[curpos + 1] == 0x41 && this.DataBuffer[curpos + 2] == 0x56 && this.DataBuffer[curpos + 3] == 0x45))
|
||||
return;
|
||||
curpos += 4;
|
||||
if (!((curpos + 4) < this.DataBuffer.length))
|
||||
return;
|
||||
// Check for format subchunk, should be "fmt "
|
||||
if (!(this.DataBuffer[curpos] == 0x66 && this.DataBuffer[curpos + 1] == 0x6d && this.DataBuffer[curpos + 2] == 0x74 && this.DataBuffer[curpos + 3] == 0x20))
|
||||
return;
|
||||
curpos += 4;
|
||||
if (!((curpos + 4) < this.DataBuffer.length))
|
||||
return;
|
||||
var subChunkSize = this.DataBuffer[curpos] | this.DataBuffer[curpos + 1] << 8 | this.DataBuffer[curpos + 2] << 16 | this.DataBuffer[curpos + 3] << 24;
|
||||
if (!((curpos + 4 + subChunkSize) < this.DataBuffer.length))
|
||||
return;
|
||||
curpos += 6;
|
||||
this.WaveChannels = this.DataBuffer[curpos] | this.DataBuffer[curpos + 1] << 8;
|
||||
curpos += 2;
|
||||
this.WaveSampleRate = this.DataBuffer[curpos] | this.DataBuffer[curpos + 1] << 8 | this.DataBuffer[curpos + 2] << 16 | this.DataBuffer[curpos + 3] << 24;
|
||||
curpos += 8;
|
||||
this.WaveBlockAlign = this.DataBuffer[curpos] | this.DataBuffer[curpos + 1] << 8;
|
||||
curpos += 2;
|
||||
this.WaveBitsPerSample = this.DataBuffer[curpos] | this.DataBuffer[curpos + 1] << 8;
|
||||
this.WaveBytesPerSample = this.WaveBitsPerSample / 8;
|
||||
curpos += subChunkSize - 14;
|
||||
while (true) {
|
||||
if ((curpos + 8) < this.DataBuffer.length) {
|
||||
subChunkSize = this.DataBuffer[curpos + 4] | this.DataBuffer[curpos + 5] << 8 | this.DataBuffer[curpos + 6] << 16 | this.DataBuffer[curpos + 7] << 24;
|
||||
// Check for data subchunk, should be "data"
|
||||
if (this.DataBuffer[curpos] == 0x64 && this.DataBuffer[curpos + 1] == 0x61 && this.DataBuffer[curpos + 2] == 0x74 && this.DataBuffer[curpos + 3] == 0x61) // Data chunk found
|
||||
break;
|
||||
else
|
||||
curpos += 8 + subChunkSize;
|
||||
}
|
||||
else
|
||||
return;
|
||||
}
|
||||
curpos += 8;
|
||||
this.RiffHeader = new Uint8Array(this.DataBuffer.buffer.slice(0, curpos));
|
||||
this.BatchSamples = Math.ceil(this.BatchDuration * this.WaveSampleRate);
|
||||
this.ExtraEdgeSamples = Math.ceil(this.ExtraEdgeDuration * this.WaveSampleRate);
|
||||
this.BatchBytes = this.BatchSamples * this.WaveBlockAlign;
|
||||
this.TotalBatchSampleSize = (this.BatchSamples + this.ExtraEdgeSamples);
|
||||
this.TotalBatchByteSize = this.TotalBatchSampleSize * this.WaveBlockAlign;
|
||||
var chunkSize = this.RiffHeader.length + this.TotalBatchByteSize - 8;
|
||||
// Fix header chunksizes
|
||||
this.RiffHeader[4] = chunkSize & 0xFF;
|
||||
this.RiffHeader[5] = (chunkSize & 0xFF00) >>> 8;
|
||||
this.RiffHeader[6] = (chunkSize & 0xFF0000) >>> 16;
|
||||
this.RiffHeader[7] = (chunkSize & 0xFF000000) >>> 24;
|
||||
this.RiffHeader[this.RiffHeader.length - 4] = (this.TotalBatchByteSize & 0xFF);
|
||||
this.RiffHeader[this.RiffHeader.length - 3] = (this.TotalBatchByteSize & 0xFF00) >>> 8;
|
||||
this.RiffHeader[this.RiffHeader.length - 2] = (this.TotalBatchByteSize & 0xFF0000) >>> 16;
|
||||
this.RiffHeader[this.RiffHeader.length - 1] = (this.TotalBatchByteSize & 0xFF000000) >>> 24;
|
||||
this.GotHeader = true;
|
||||
};
|
||||
// Checks if there is a samples ready to be extracted
|
||||
AudioFormatReader_WAV.prototype.CanExtractSamples = function () {
|
||||
if (this.DataBuffer.length >= this.TotalBatchByteSize)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
};
|
||||
// Extract a single batch of samples from the buffer
|
||||
AudioFormatReader_WAV.prototype.ExtractIntSamples = function () {
|
||||
// Extract sample data from buffer
|
||||
var intSampleArray = new Uint8Array(this.DataBuffer.buffer.slice(0, this.TotalBatchByteSize));
|
||||
// Remove samples from buffer
|
||||
this.DataBuffer = new Uint8Array(this.DataBuffer.buffer.slice(this.BatchBytes));
|
||||
return intSampleArray;
|
||||
};
|
||||
// Is called if the decoding of the samples succeeded
|
||||
AudioFormatReader_WAV.prototype.OnDecodeSuccess = function (decodedData, id) {
|
||||
// Calculate the length of the parts
|
||||
var pickSize = this.BatchDuration * decodedData.sampleRate;
|
||||
this.SampleBudget += (pickSize - Math.ceil(pickSize));
|
||||
pickSize = Math.ceil(pickSize);
|
||||
var pickOffset = (decodedData.length - pickSize) / 2.0;
|
||||
if (pickOffset < 0)
|
||||
pickOffset = 0; // This should never happen!
|
||||
else
|
||||
pickOffset = Math.floor(pickOffset);
|
||||
if (this.SampleBudget < -1.0) {
|
||||
var correction = -1.0 * Math.floor(Math.abs(this.SampleBudget));
|
||||
this.SampleBudget -= correction;
|
||||
pickSize += correction;
|
||||
}
|
||||
else if (this.SampleBudget > 1.0) {
|
||||
var correction = Math.floor(this.SampleBudget);
|
||||
this.SampleBudget -= correction;
|
||||
pickSize += correction;
|
||||
}
|
||||
// Create a buffer that can hold a single part
|
||||
var audioBuffer = this.Audio.createBuffer(decodedData.numberOfChannels, pickSize, decodedData.sampleRate);
|
||||
// Fill buffer with the last part of the decoded frame
|
||||
for (var i = 0; i < decodedData.numberOfChannels; i++)
|
||||
audioBuffer.getChannelData(i).set(decodedData.getChannelData(i).slice(pickOffset, -pickOffset));
|
||||
this.OnDataReady(id, audioBuffer);
|
||||
};
|
||||
// Is called in case the decoding of the window fails
|
||||
AudioFormatReader_WAV.prototype.OnDecodeError = function (_error) {
|
||||
this.ErrorCallback();
|
||||
};
|
||||
return AudioFormatReader_WAV;
|
||||
}(AudioFormatReader));
|
||||
//# sourceMappingURL=3las.formatreader.wav.js.map
|
||||
@@ -0,0 +1,49 @@
|
||||
var Stream;
|
||||
var DefaultVolume = 0.5;
|
||||
function Init(_ev) {
|
||||
// Load default settings
|
||||
var settings = new _3LAS_Settings();
|
||||
if (typeof RtcConfig == 'undefined')
|
||||
RtcConfig = {};
|
||||
settings.WebRTC.RtcConfig = RtcConfig;
|
||||
if (typeof SocketPort != 'undefined')
|
||||
settings.SocketPort = SocketPort;
|
||||
if (typeof SocketPath != 'undefined')
|
||||
settings.SocketPath = SocketPath;
|
||||
if (typeof AudioTagId == 'undefined')
|
||||
settings.WebRTC.AudioTag = null;
|
||||
else
|
||||
settings.WebRTC.AudioTag = document.getElementById(AudioTagId);
|
||||
try {
|
||||
Stream = new _3LAS(null, settings);
|
||||
}
|
||||
catch (_ex) {
|
||||
console.log(_ex);
|
||||
return;
|
||||
}
|
||||
Stream.ConnectivityCallback = OnConnectivityCallback;
|
||||
document.getElementById("playbutton").onclick = OnPlayButtonClick;
|
||||
$("#volumeSlider").on("change", updateVolume);
|
||||
}
|
||||
|
||||
function OnConnectivityCallback(isConnected) {
|
||||
if (isConnected) {
|
||||
Stream.Volume = 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
function OnPlayButtonClick(_ev) {
|
||||
try {
|
||||
Stream.Start();
|
||||
$('#playbutton').prop('disabled', true);
|
||||
$('#playbutton').find('.fa-solid').removeClass('fa-play').addClass('fa-pause');
|
||||
}
|
||||
catch (_ex) {
|
||||
}
|
||||
}
|
||||
|
||||
function updateVolume() {
|
||||
Stream.Volume = $(this).val();
|
||||
}
|
||||
|
||||
var lastTapTime = -1;
|
||||
@@ -0,0 +1,130 @@
|
||||
/*
|
||||
Helpers is part of 3LAS (Low Latency Live Audio Streaming)
|
||||
https://github.com/JoJoBond/3LAS
|
||||
*/
|
||||
var isAndroid;
|
||||
var isIOS;
|
||||
var isIPadOS;
|
||||
var isWindows;
|
||||
var isLinux;
|
||||
var isBSD;
|
||||
var isMacOSX;
|
||||
var isInternetExplorer;
|
||||
var isEdge;
|
||||
;
|
||||
var isSafari;
|
||||
;
|
||||
var isOpera;
|
||||
;
|
||||
var isChrome;
|
||||
;
|
||||
var isFirefox;
|
||||
;
|
||||
var webkitVer;
|
||||
var isNativeChrome;
|
||||
;
|
||||
var BrowserName;
|
||||
var OSName;
|
||||
{
|
||||
var ua = navigator.userAgent.toLowerCase();
|
||||
isAndroid = (ua.match('android') ? true : false);
|
||||
isIOS = (ua.match(/(iphone|ipod)/g) ? true : false);
|
||||
isIPadOS = ((ua.match('ipad') || (navigator.platform == 'MacIntel' && navigator.maxTouchPoints > 1)) ? true : false);
|
||||
isWindows = (ua.match('windows') ? true : false);
|
||||
isLinux = (ua.match('android') ? false : (ua.match('linux') ? true : false));
|
||||
isBSD = (ua.match('bsd') ? true : false);
|
||||
isMacOSX = !isIOS && !isIPadOS && (ua.match('mac osx') ? true : false);
|
||||
isInternetExplorer = (ua.match('msie') ? true : false);
|
||||
isEdge = (ua.match('edg') ? true : false);
|
||||
isSafari = (ua.match(/(chromium|chrome|crios)/g) ? false : (ua.match('safari') ? true : false));
|
||||
isOpera = (ua.match('opera') ? true : false);
|
||||
isChrome = !isSafari && (ua.match(/(chromium|chrome|crios)/g) ? true : false);
|
||||
isFirefox = (ua.match('like gecko') ? false : (ua.match(/(gecko|fennec|firefox)/g) ? true : false));
|
||||
webkitVer = parseInt((/WebKit\/([0-9]+)/.exec(navigator.appVersion) || ["", "0"])[1], 10) || void 0; // also match AppleWebKit
|
||||
isNativeChrome = isAndroid && webkitVer <= 537 && navigator.vendor.toLowerCase().indexOf('google') == 0;
|
||||
BrowserName = "Unknown";
|
||||
if (isInternetExplorer)
|
||||
BrowserName = "IE";
|
||||
else if (isEdge)
|
||||
BrowserName = "Edge";
|
||||
else if (isSafari)
|
||||
BrowserName = "Safari";
|
||||
else if (isOpera)
|
||||
BrowserName = "Opera";
|
||||
else if (isChrome)
|
||||
BrowserName = "Chrome";
|
||||
else if (isFirefox)
|
||||
BrowserName = "Firefox";
|
||||
else if (isNativeChrome)
|
||||
BrowserName = "NativeChrome";
|
||||
else
|
||||
BrowserName = "Unknown";
|
||||
OSName = "Unknown";
|
||||
if (isAndroid)
|
||||
OSName = "Android";
|
||||
else if (isIOS)
|
||||
OSName = "iOS";
|
||||
else if (isIPadOS)
|
||||
OSName = "iPadOS";
|
||||
else if (isWindows)
|
||||
OSName = "Windows";
|
||||
else if (isLinux)
|
||||
OSName = "Linux";
|
||||
else if (isBSD)
|
||||
OSName = "BSD";
|
||||
else if (isMacOSX)
|
||||
OSName = "MacOSX";
|
||||
else
|
||||
OSName = "Unknown";
|
||||
}
|
||||
;
|
||||
var WakeLock = /** @class */ (function () {
|
||||
function WakeLock(logger) {
|
||||
this.Logger = logger;
|
||||
this.Logger.Log("Preparing WakeLock");
|
||||
if (typeof navigator.wakeLock == "undefined") {
|
||||
this.Logger.Log("Using video loop method.");
|
||||
var video = document.createElement('video');
|
||||
video.setAttribute('loop', '');
|
||||
video.setAttribute('style', 'position: fixed; opacity: 0.1; pointer-events: none;');
|
||||
WakeLock.AddSourceToVideo(video, 'webm', 'data:video/webm;base64,' + WakeLock.VideoWebm);
|
||||
WakeLock.AddSourceToVideo(video, 'mp4', 'data:video/mp4;base64,' + WakeLock.VideoMp4);
|
||||
document.body.appendChild(video);
|
||||
this.LockElement = video;
|
||||
}
|
||||
else {
|
||||
this.Logger.Log("Using WakeLock API.");
|
||||
this.LockElement = null;
|
||||
}
|
||||
}
|
||||
WakeLock.prototype.Begin = function () {
|
||||
var _this = this;
|
||||
if (this.LockElement == null) {
|
||||
try {
|
||||
navigator.wakeLock.request("screen").then(function (obj) {
|
||||
_this.Logger.Log("WakeLock request successful. Lock acquired.");
|
||||
_this.LockElement = obj;
|
||||
}, function () {
|
||||
_this.Logger.Log("WakeLock request failed.");
|
||||
});
|
||||
}
|
||||
catch (err) {
|
||||
this.Logger.Log("WakeLock request failed.");
|
||||
}
|
||||
}
|
||||
else {
|
||||
this.Logger.Log("WakeLock video loop started.");
|
||||
this.LockElement.play();
|
||||
}
|
||||
};
|
||||
WakeLock.AddSourceToVideo = function (element, type, dataURI) {
|
||||
var source = document.createElement('source');
|
||||
source.src = dataURI;
|
||||
source.type = 'video/' + type;
|
||||
element.appendChild(source);
|
||||
};
|
||||
WakeLock.VideoWebm = 'GkXfo0AgQoaBAUL3gQFC8oEEQvOBCEKCQAR3ZWJtQoeBAkKFgQIYU4BnQI0VSalmQCgq17FAAw9CQE2AQAZ3aGFtbXlXQUAGd2hhbW15RIlACECPQAAAAAAAFlSua0AxrkAu14EBY8WBAZyBACK1nEADdW5khkAFVl9WUDglhohAA1ZQOIOBAeBABrCBCLqBCB9DtnVAIueBAKNAHIEAAIAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AAA=';
|
||||
WakeLock.VideoMp4 = 'AAAAHGZ0eXBpc29tAAACAGlzb21pc28ybXA0MQAAAAhmcmVlAAAAG21kYXQAAAGzABAHAAABthADAowdbb9/AAAC6W1vb3YAAABsbXZoZAAAAAB8JbCAfCWwgAAAA+gAAAAAAAEAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIVdHJhawAAAFx0a2hkAAAAD3wlsIB8JbCAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAIAAAACAAAAAABsW1kaWEAAAAgbWRoZAAAAAB8JbCAfCWwgAAAA+gAAAAAVcQAAAAAAC1oZGxyAAAAAAAAAAB2aWRlAAAAAAAAAAAAAAAAVmlkZW9IYW5kbGVyAAAAAVxtaW5mAAAAFHZtaGQAAAABAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAAEcc3RibAAAALhzdHNkAAAAAAAAAAEAAACobXA0dgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAIAAgASAAAAEgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj//wAAAFJlc2RzAAAAAANEAAEABDwgEQAAAAADDUAAAAAABS0AAAGwAQAAAbWJEwAAAQAAAAEgAMSNiB9FAEQBFGMAAAGyTGF2YzUyLjg3LjQGAQIAAAAYc3R0cwAAAAAAAAABAAAAAQAAAAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAEAAAABAAAAFHN0c3oAAAAAAAAAEwAAAAEAAAAUc3RjbwAAAAAAAAABAAAALAAAAGB1ZHRhAAAAWG1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAAK2lsc3QAAAAjqXRvbwAAABtkYXRhAAAAAQAAAABMYXZmNTIuNzguMw==';
|
||||
return WakeLock;
|
||||
}());
|
||||
//# sourceMappingURL=3las.helpers.js.map
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
Logging is part of 3LAS (Low Latency Live Audio Streaming)
|
||||
https://github.com/JoJoBond/3LAS
|
||||
*/
|
||||
var Logging = /** @class */ (function () {
|
||||
function Logging(parentElement, childElementType) {
|
||||
this.ParentElement = parentElement;
|
||||
this.ChildElementType = childElementType;
|
||||
}
|
||||
Logging.prototype.Log = function (message) {
|
||||
var dateTime = new Date();
|
||||
var lineText = "[" + (dateTime.getHours() > 9 ? dateTime.getHours() : "0" + dateTime.getHours()) + ":" +
|
||||
(dateTime.getMinutes() > 9 ? dateTime.getMinutes() : "0" + dateTime.getMinutes()) + ":" +
|
||||
(dateTime.getSeconds() > 9 ? dateTime.getSeconds() : "0" + dateTime.getSeconds()) +
|
||||
"] " + message;
|
||||
if (this.ParentElement && this.ChildElementType) {
|
||||
var line = document.createElement(this.ChildElementType);
|
||||
line.innerText = lineText;
|
||||
this.ParentElement.appendChild(line);
|
||||
}
|
||||
else {
|
||||
console.log(lineText);
|
||||
}
|
||||
};
|
||||
return Logging;
|
||||
}());
|
||||
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
WebSocket client is part of 3LAS (Low Latency Live Audio Streaming)
|
||||
https://github.com/JoJoBond/3LAS
|
||||
*/
|
||||
var WebSocketClient = /** @class */ (function () {
|
||||
function WebSocketClient(logger, uri, errorCallback, connectCallback, dataReadyCallback, disconnectCallback) {
|
||||
this.Logger = logger;
|
||||
this.Uri = uri;
|
||||
// Check callback argument
|
||||
if (typeof errorCallback !== 'function')
|
||||
throw new Error('WebSocketClient: ErrorCallback must be specified');
|
||||
if (typeof connectCallback !== 'function')
|
||||
throw new Error('WebSocketClient: ConnectCallback must be specified');
|
||||
if (typeof dataReadyCallback !== 'function')
|
||||
throw new Error('WebSocketClient: DataReadyCallback must be specified');
|
||||
if (typeof disconnectCallback !== 'function')
|
||||
throw new Error('WebSocketClient: DisconnectCallback must be specified');
|
||||
this.ErrorCallback = errorCallback;
|
||||
this.ConnectCallback = connectCallback;
|
||||
this.DataReadyCallback = dataReadyCallback;
|
||||
this.DisconnectCallback = disconnectCallback;
|
||||
// Client is not yet connected
|
||||
this.IsConnected = false;
|
||||
// Create socket, connect to URI
|
||||
if (typeof WebSocket !== "undefined")
|
||||
this.Socket = new WebSocket(this.Uri);
|
||||
else if (typeof webkitWebSocket !== "undefined")
|
||||
this.Socket = new webkitWebSocket(this.Uri);
|
||||
else if (typeof mozWebSocket !== "undefined")
|
||||
this.Socket = new mozWebSocket(this.Uri);
|
||||
else
|
||||
throw new Error('WebSocketClient: Browser does not support "WebSocket".');
|
||||
this.Socket.binaryType = 'arraybuffer';
|
||||
this.Socket.addEventListener("open", this.OnOpen.bind(this));
|
||||
this.Socket.addEventListener("error", this.OnError.bind(this));
|
||||
this.Socket.addEventListener("close", this.OnClose.bind(this));
|
||||
this.Socket.addEventListener("message", this.OnMessage.bind(this));
|
||||
}
|
||||
Object.defineProperty(WebSocketClient.prototype, "Connected", {
|
||||
get: function () {
|
||||
return this.IsConnected;
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
WebSocketClient.prototype.Send = function (message) {
|
||||
if (!this.IsConnected)
|
||||
return;
|
||||
this.Socket.send(message);
|
||||
};
|
||||
// Handle errors
|
||||
WebSocketClient.prototype.OnError = function (_ev) {
|
||||
if (this.IsConnected == true)
|
||||
this.ErrorCallback("Socket fault.");
|
||||
else
|
||||
this.ErrorCallback("Could not connect to server.");
|
||||
};
|
||||
// Change connetion status once connected
|
||||
WebSocketClient.prototype.OnOpen = function (_ev) {
|
||||
if (this.Socket.readyState == 1) {
|
||||
this.IsConnected = true;
|
||||
this.ConnectCallback();
|
||||
}
|
||||
};
|
||||
// Change connetion status on disconnect
|
||||
WebSocketClient.prototype.OnClose = function (_ev) {
|
||||
if (this.IsConnected == true && (this.Socket.readyState == 2 || this.Socket.readyState == 3)) {
|
||||
this.IsConnected = false;
|
||||
this.DisconnectCallback();
|
||||
}
|
||||
};
|
||||
// Handle incomping data
|
||||
WebSocketClient.prototype.OnMessage = function (ev) {
|
||||
// Trigger callback
|
||||
this.DataReadyCallback(ev.data);
|
||||
};
|
||||
return WebSocketClient;
|
||||
}());
|
||||
@@ -36,6 +36,8 @@ $(document).ready(function() {
|
||||
localStorage.setItem('qthLatitude', data.qthLatitude);
|
||||
localStorage.setItem('qthLongitude', data.qthLongitude);
|
||||
localStorage.setItem('webServerName', data.webServerName);
|
||||
localStorage.setItem('audioPort', data.audioPort);
|
||||
localStorage.setItem('streamEnabled', data.streamEnabled);
|
||||
|
||||
document.title = 'FM-DX Webserver [' + data.webServerName + ']';
|
||||
},
|
||||
@@ -195,7 +197,26 @@ $(document).ready(function() {
|
||||
$('#data-rt1').html(processString(parsedData.rt1, parsedData.rt1_errors));
|
||||
$('#data-flag').html('<i title="' + parsedData.country_name + '" class="flag-sm flag-sm-' + parsedData.country_iso + '"></i>');
|
||||
|
||||
const signalValue = signalToggle.is(':checked') ? (parsedData.signal - 11.75) : parsedData.signal;
|
||||
const signalUnit = localStorage.getItem('signalUnit');
|
||||
let signalText = $('#signal-units');
|
||||
let signalValue;
|
||||
|
||||
switch (signalUnit) {
|
||||
case 'dbuv':
|
||||
signalValue = parsedData.signal - 11.75;
|
||||
signalText.text('dBµV');
|
||||
break;
|
||||
|
||||
case 'dbm':
|
||||
signalValue = parsedData.signal - 120;
|
||||
signalText.text('dBm');
|
||||
break;
|
||||
default:
|
||||
signalValue = parsedData.signal;
|
||||
signalText.text('dBf');
|
||||
break;
|
||||
}
|
||||
//const signalValue = signalToggle.is(':checked') ? (parsedData.signal - 11.75) : parsedData.signal;
|
||||
const integerPart = Math.floor(signalValue);
|
||||
const decimalPart = (signalValue - integerPart).toFixed(1).slice(1); // Adjusted this line
|
||||
|
||||
@@ -205,11 +226,14 @@ $(document).ready(function() {
|
||||
}
|
||||
|
||||
signalToggle.on("change", function() {
|
||||
const signalText = $('#signal-units');
|
||||
if (signalToggle.prop('checked')) {
|
||||
const signalText = localStorage.getItem('signalUnit');
|
||||
|
||||
if (signalText == 'dbuv') {
|
||||
signalText.text('dBµV');
|
||||
} else {
|
||||
} else if (signalText == 'dbf') {
|
||||
signalText.text('dBf');
|
||||
} else {
|
||||
signalText.text('dBm');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/* Themes */
|
||||
const themes = {
|
||||
theme1: ['#1d1838', '#8069fa'],
|
||||
theme2: ['#381818', '#ff7070'],
|
||||
@@ -30,4 +31,24 @@ $(document).ready(() => {
|
||||
setTheme(selectedTheme);
|
||||
localStorage.setItem('theme', selectedTheme);
|
||||
});
|
||||
});
|
||||
|
||||
/* Signal Units */
|
||||
const signalUnits = {
|
||||
dbf: ['dBf'],
|
||||
dbuv: ['dBµV'],
|
||||
dbm: ['dBm'],
|
||||
};
|
||||
|
||||
$(document).ready(() => {
|
||||
const signalSelector = $('#signal-selector');
|
||||
|
||||
if (localStorage.getItem('signalUnit')) {
|
||||
signalSelector.val(localStorage.getItem('signalUnit'));
|
||||
}
|
||||
|
||||
signalSelector.on('change', (event) => {
|
||||
const selectedSignalUnit = event.target.value;
|
||||
localStorage.setItem('signalUnit', selectedSignalUnit);
|
||||
});
|
||||
});
|
||||
@@ -1,3 +1,3 @@
|
||||
$.getScript('/js/main.js');
|
||||
$.getScript('/js/modal.js');
|
||||
$.getScript('/js/themes.js');
|
||||
$.getScript('/js/settings.js');
|
||||