Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
ximper-welcome
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ximper Linux
ximper-welcome
Commits
4524b06d
Commit
4524b06d
authored
Jan 29, 2020
by
Bilal Elmoussaoui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Address inital design review
parent
f49627c6
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
153 additions
and
89 deletions
+153
-89
resources.gresource.xml
data/resources.gresource.xml
+1
-0
help.svg
data/resources/assets/help.svg
+2
-0
style.css
data/resources/style.css
+4
-36
headerbar.rs
src/widgets/headerbar.rs
+25
-21
image.rs
src/widgets/pages/image.rs
+51
-13
mod.rs
src/widgets/pages/mod.rs
+2
-0
page.rs
src/widgets/pages/page.rs
+6
-0
paginator.rs
src/widgets/paginator.rs
+10
-5
window.rs
src/widgets/window.rs
+52
-14
No files found.
data/resources.gresource.xml
View file @
4524b06d
...
@@ -7,5 +7,6 @@
...
@@ -7,5 +7,6 @@
<file
compressed=
"true"
alias=
"search.svg"
>
resources/assets/search.svg
</file>
<file
compressed=
"true"
alias=
"search.svg"
>
resources/assets/search.svg
</file>
<file
compressed=
"true"
alias=
"software.svg"
>
resources/assets/software.svg
</file>
<file
compressed=
"true"
alias=
"software.svg"
>
resources/assets/software.svg
</file>
<file
compressed=
"true"
alias=
"status-menu.svg"
>
resources/assets/status-menu.svg
</file>
<file
compressed=
"true"
alias=
"status-menu.svg"
>
resources/assets/status-menu.svg
</file>
<file
compressed=
"true"
alias=
"help.svg"
>
resources/assets/help.svg
</file>
</gresource>
</gresource>
</gresources>
</gresources>
data/resources/assets/help.svg
0 → 100644
View file @
4524b06d
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"1200"
height=
"600"
><defs><linearGradient
gradientTransform=
"matrix(0 6 -12 0 -64 209.997)"
gradientUnits=
"userSpaceOnUse"
x2=
"1"
id=
"d"
><stop
stop-color=
"#b6b4b2"
/><stop
offset=
".119"
stop-color=
"#dcdbda"
/><stop
offset=
".185"
stop-color=
"#deddda"
/><stop
offset=
".861"
stop-color=
"#deddda"
/><stop
stop-color=
"#b2b0ab"
offset=
".973"
/><stop
stop-color=
"#c0bfbc"
offset=
"1"
/></linearGradient><linearGradient
gradientTransform=
"matrix(.84814 0 0 .84814 893.295 163.932)"
xlink:href=
"#a"
id=
"s"
x1=
"70"
y1=
"256"
x2=
"70"
y2=
"264"
gradientUnits=
"userSpaceOnUse"
/><linearGradient
id=
"f"
><stop
offset=
"0"
stop-color=
"#fff"
/><stop
offset=
"1"
stop-color=
"#648cf9"
stop-opacity=
"0"
/></linearGradient><linearGradient
y2=
"254"
x2=
"37"
y1=
"249"
x1=
"37"
gradientTransform=
"matrix(.26458 0 0 .26458 633.225 349.875)"
gradientUnits=
"userSpaceOnUse"
id=
"p"
xlink:href=
"#b"
/><linearGradient
id=
"b"
><stop
offset=
"0"
stop-color=
"#d5d1cc"
/><stop
offset=
".183"
stop-color=
"#f6f5f4"
/><stop
offset=
".395"
stop-color=
"#fff"
/><stop
offset=
".784"
stop-color=
"#d7d3ce"
/><stop
offset=
"1"
stop-color=
"#c8c2bb"
/></linearGradient><linearGradient
xlink:href=
"#b"
id=
"q"
gradientUnits=
"userSpaceOnUse"
gradientTransform=
"matrix(.26458 0 0 -.26458 633.225 479.52)"
x1=
"37"
y1=
"249"
x2=
"37"
y2=
"254"
/><linearGradient
xlink:href=
"#c"
id=
"n"
gradientUnits=
"userSpaceOnUse"
gradientTransform=
"translate(804 -220.033)"
x1=
"144.906"
y1=
"245.525"
x2=
"159.094"
y2=
"298.475"
/><linearGradient
id=
"c"
><stop
offset=
"0"
stop-color=
"#2e3436"
/><stop
offset=
"1"
stop-color=
"#555753"
/></linearGradient><linearGradient
xlink:href=
"#d"
id=
"r"
gradientUnits=
"userSpaceOnUse"
x1=
"36"
y1=
"276"
x2=
"-28"
y2=
"276"
gradientTransform=
"matrix(.84814 0 0 .84814 954.36 150.362)"
/><linearGradient
id=
"a"
><stop
offset=
"0"
/><stop
offset=
"1"
stop-opacity=
"0"
/></linearGradient><linearGradient
gradientTransform=
"translate(889.957 177.037) scale(.80683)"
gradientUnits=
"userSpaceOnUse"
y2=
"86"
x2=
"85"
y1=
"107.162"
x1=
"85"
id=
"m"
xlink:href=
"#e"
/><linearGradient
id=
"e"
><stop
offset=
"0"
stop-color=
"#eef4fc"
/><stop
offset=
"1"
stop-color=
"#fff"
/></linearGradient><linearGradient
gradientUnits=
"userSpaceOnUse"
y2=
"234"
x2=
"44"
y1=
"234"
x1=
"66"
id=
"j"
xlink:href=
"#f"
/><clipPath
id=
"i"
clipPathUnits=
"userSpaceOnUse"
><rect
transform=
"scale(-1)"
style=
"marker:none"
width=
"96"
height=
"90"
x=
"-110"
y=
"-290"
rx=
"0"
ry=
"0"
fill=
"#e66100"
stroke-width=
".004"
enable-background=
"new"
/></clipPath><clipPath
clipPathUnits=
"userSpaceOnUse"
id=
"l"
><path
d=
"M96.504 52.927c10.224 13.91 20.11 38.975 12.212 57.59C101.892 126.603 85.626 134 72 134c-17.296 0-35.251-9.851-38.379-28.04-4.784-27.822 26.136-38 26.136-55.97 0-15.33-8.568-25.061-8.568-25.061 22.009 1.916 40.085 18.184 37.165 46.565 5.43-5.261 6.607-12.809 8.15-18.567z"
fill=
"url(#radialGradient1189)"
stroke-width=
"2.786"
stroke-linecap=
"square"
stroke-linejoin=
"round"
stroke-dasharray=
"8.35714285,8.35714285"
/></clipPath><clipPath
id=
"o"
clipPathUnits=
"userSpaceOnUse"
><rect
ry=
"32"
rx=
"32"
y=
"-116"
x=
"32"
height=
"358.794"
width=
"448.707"
fill=
"#26a269"
stroke-linejoin=
"round"
stroke-dasharray=
"4,2"
/></clipPath><clipPath
clipPathUnits=
"userSpaceOnUse"
id=
"g"
><circle
r=
"60"
cy=
"236"
cx=
"64"
style=
"marker:none"
fill=
"#3584e4"
stroke-width=
"4.286"
enable-background=
"new"
/></clipPath><filter
height=
"1.037"
y=
"-.018"
width=
"1.468"
x=
"-.234"
id=
"k"
color-interpolation-filters=
"sRGB"
><feGaussianBlur
stdDeviation=
"2.342"
/></filter></defs><g
transform=
"translate(82.06 156.185)"
><rect
width=
"256.911"
height=
"108.693"
x=
"423.739"
y=
"180.868"
rx=
"19.762"
ry=
"19.762"
fill=
"#98c1f1"
enable-background=
"new"
/><path
style=
"marker:none"
fill=
"#e7f0fc"
enable-background=
"new"
d=
"M423.739 52.412H680.65v217.386H423.739z"
/><g
transform=
"matrix(2.4703 0 0 2.4703 394.095 -421.885)"
fill=
"#1a5fb4"
><circle
cx=
"50"
cy=
"201"
r=
"5"
/><circle
r=
"5"
cy=
"201"
cx=
"78"
/></g><path
d=
"M517.61 72.175V52.412c0-19.16 15.425-34.584 34.584-34.584 19.16 0 34.584 15.425 34.584 34.584v19.763"
fill=
"none"
stroke=
"#62a0ea"
stroke-width=
"9.881"
stroke-linecap=
"round"
stroke-linejoin=
"round"
enable-background=
"new"
/><path
style=
"marker:none"
d=
"M552.194 111.7a49.406 49.406 0 00-49.406 49.405 49.406 49.406 0 0049.406 49.406 49.406 49.406 0 0049.406-49.406 49.406 49.406 0 00-49.406-49.406zm-19.762 24.702a4.94 4.94 0 014.94 4.941 4.94 4.94 0 01-4.94 4.94 4.94 4.94 0 01-4.94-4.94 4.94 4.94 0 014.94-4.94zm19.762 0a4.94 4.94 0 014.94 4.941 4.94 4.94 0 01-4.94 4.94 4.94 4.94 0 01-4.94-4.94 4.94 4.94 0 014.94-4.94zm19.763 0a4.94 4.94 0 014.94 4.941 4.94 4.94 0 01-4.94 4.94 4.94 4.94 0 01-4.941-4.94 4.94 4.94 0 014.94-4.94zm-39.525 19.763a4.94 4.94 0 014.94 4.94 4.94 4.94 0 01-4.94 4.941 4.94 4.94 0 01-4.94-4.94 4.94 4.94 0 014.94-4.941zm19.762 0a4.94 4.94 0 014.94 4.94 4.94 4.94 0 01-4.94 4.941 4.94 4.94 0 01-4.94-4.94 4.94 4.94 0 014.94-4.941zm19.763 0a4.94 4.94 0 014.94 4.94 4.94 4.94 0 01-4.94 4.941 4.94 4.94 0 01-4.941-4.94 4.94 4.94 0 014.94-4.941zm-39.525 19.762a4.94 4.94 0 014.94 4.94 4.94 4.94 0 01-4.94 4.941 4.94 4.94 0 01-4.94-4.94 4.94 4.94 0 014.94-4.94zm19.762 0a4.94 4.94 0 014.94 4.94 4.94 4.94 0 01-4.94 4.941 4.94 4.94 0 01-4.94-4.94 4.94 4.94 0 014.94-4.94zm19.763 0a4.94 4.94 0 014.94 4.94 4.94 4.94 0 01-4.94 4.941 4.94 4.94 0 01-4.941-4.94 4.94 4.94 0 014.94-4.94z"
fill=
"#3584e4"
enable-background=
"new"
/><g
opacity=
".317"
fill=
"#3584e4"
stroke-width=
".668"
><path
d=
"M446.209-117.57l-33.215 33.226 26.32 14.733 31.962-10.344V-91.24z"
style=
"marker:none"
color=
"#000"
overflow=
"visible"
fill=
"#fff"
enable-background=
"new"
/><path
d=
"M445.684-119.496c-3.017 0-5.955 1.129-8.267 3.517l-41.132 42.41a12.515 12.515 0 00-3.513 8.481v.207c0 9.088 24.264.266 26.456 11.378 1.187 6.014-13.228 3.259-13.228 9.31 0 7.097 20.403 2.216 26.25 8.068 2.401 5.85-7.812 4.906-5.994 10.343 3.424 3.537 11.128 1.532 12.608 7.241 1.69 6.522 12.761 5.397 19.222.62 3.425-3.537-5.285-5.152-1.86-8.69 3.424-3.536 20.34-2.82 20.462-10.55-1.616-4.855-7.963-5.64-8.06-11.378-.341-4.86 5.197-3.439 22.735-8.275 7.013-3.29 7.261-5.04 7.234-8.068v-.207c-.04-3.054-1.454-6.14-3.72-8.482l-40.925-42.41c-2.312-2.388-5.25-3.516-8.268-3.516zm.827 8.896c3.108.026 11.624 10.539 19.222 18.412 2.138 2.86-.826 5.792-.826 5.792l-15.915-8.689-7.028 9.517-6.2-9.31-3.721 14.482-10.955-6.62 2.894-3.724 17.155-17.585c1.316-1.338 2.324-2.299 5.374-2.275zm47.126 63.718c-.836-.027-1.68.04-2.274.206-1.12.323-6.431.512-5.994 4.551 4.812 2.019 12.147 3.625 13.022-.413.656-3.029-2.246-4.252-4.754-4.344zM411.58-33.436c-.467.054-.784.24-1.24.414-3.65 1.388-6.097 4.309-2.688 5.585 3.41 1.276 5.693-.072 8.681-1.655 2.99-1.583 2.903-1.872 2.687-2.482-.414.083-3.132-1.61-5.994-1.862a7.51 7.51 0 00-1.446 0z"
fill-rule=
"evenodd"
stroke-width=
".46"
/></g><path
d=
"M812.088 28.46a16.856 16.856 0 00-10.762 4.188c-10.032 8.777-2.24 17.896-10.988 25.549-8.749 7.654-16.5-1.494-26.533 7.282v.02a17.24 17.24 0 00-4.808 6.97c-.019.024-.019.033-.019.05a17.06 17.06 0 00-.504 1.608c-.063.242-.135.487-.187.73-.005.032-.018.05-.018.082-.11.515-.19 1.031-.254 1.553v.019c-.004.032-.019.05-.019.081-.033.243-.05.486-.072.73-.019.184-.033.37-.042.555-.004.094-.019.19-.019.284v.095c-.004.246-.004.485 0 .73.001.124.019.252.019.376.018.185.032.37.042.554.028.272.05.54.078.81v.02c.062.522.143 1.038.254 1.553.004.033.019.05.019.082.05.246.122.487.187.73.141.544.31 1.077.506 1.607.018.024.018.033.018.05a17.243 17.243 0 004.809 6.972v.018c10.032 8.777 17.784-.37 26.532 7.283 8.749 7.653.957 16.772 10.989 25.549 7.13 6.238 17.892 5.422 24.041-1.81 6.15-7.233 5.36-18.15-1.771-24.388-10.032-8.776-17.784.386-26.532-7.268-4.42-3.867-4.613-8.117-5.022-12.498.409-4.381.604-8.631 5.022-12.497 8.748-7.654 16.5 1.507 26.532-7.27 7.13-6.237 7.921-17.154 1.771-24.386-3.459-4.069-8.367-6.107-13.279-6z"
style=
"marker:none"
color=
"#000"
overflow=
"visible"
opacity=
".317"
fill=
"#3584e4"
fill-rule=
"evenodd"
enable-background=
"accumulate"
/><g
opacity=
".317"
stroke-width=
".505"
><circle
r=
"224"
cy=
"44"
cx=
"256"
style=
"marker:none"
fill=
"#3584e4"
stroke=
"#3584e4"
stroke-width=
"22.854"
enable-background=
"new"
transform=
"matrix(.21618 0 0 .21618 566.31 -76.257)"
/><path
d=
"M38 176v4l10 8v8l8 8h4v-4l6-6v-4l4-4v-10zm-4 16H4s.509 40.442 0 40l20 18v-6l-4-4 6-6h4l4 4 .125-8.402L40 224h4v-4l4-4v-6l-4.272-3.875L34 206v8h-4l-4-4v-4l6-6h6v-4zm60 2l-6 6v4h6v-2.143h4v4.268L96 208H86v4h-4v6h-8v8h10v-4h8v2l4 4h2v-2l-2-2v-2h4l6 6h6v2l-2 2h-4l18 18v-56H96zm12 38H94l-2-2H78l-8 8v8l8 8h6l4 4v2l2 2v12l14 14h8v-30l4-4v-8l-10-10zm-2-12h4l6 6h-4zm-74 28l-4 4v10l8.125 8.143L34 296h8v-8l6-6v-4l6-6v-4l4-4v-8l-4-4h-8l-4-4z"
clip-path=
"url(#g)"
style=
"marker:none"
transform=
"matrix(.80709 0 0 .80709 570 -257.217)"
color=
"#000"
overflow=
"visible"
fill=
"#fff"
enable-background=
"accumulate"
/><g
transform=
"matrix(.26656 0 0 .26656 372.585 -178.103)"
stroke=
"#98c1f1"
color=
"#000"
fill=
"none"
stroke-linejoin=
"round"
><circle
r=
"36.271"
cy=
"372.218"
cx=
"883.604"
style=
"marker:none"
overflow=
"visible"
opacity=
".668"
stroke-width=
"8.548"
/><circle
r=
"68.972"
cy=
"372.218"
cx=
"883.604"
style=
"marker:none"
overflow=
"visible"
opacity=
".668"
stroke-width=
"5.905"
/><circle
r=
"103.121"
cy=
"372.218"
cx=
"883.604"
style=
"marker:none"
overflow=
"visible"
opacity=
".668"
stroke-width=
"3.028"
/></g><path
style=
"marker:none"
d=
"M608.408-78.598L569.857-41.18l17.575.567-7.37 15.308c-2.268 6.803 7.937 9.354 9.637 4.252l6.804-15.308 12.472 13.323z"
color=
"#000"
overflow=
"visible"
fill=
"#fff"
fill-rule=
"evenodd"
stroke=
"#3584e4"
stroke-width=
"2.47050249"
enable-background=
"new"
/></g><g
opacity=
".317"
stroke-width=
".505"
><circle
r=
"224"
cy=
"44"
cx=
"256"
style=
"marker:none"
fill=
"#3584e4"
stroke=
"#3584e4"
stroke-width=
"22.854"
enable-background=
"new"
transform=
"matrix(.21618 0 0 .21618 41.889 -76.257)"
/><path
d=
"M38 176v4l10 8v8l8 8h4v-4l6-6v-4l4-4v-10zm-4 16H4s.509 40.442 0 40l20 18v-6l-4-4 6-6h4l4 4 .125-8.402L40 224h4v-4l4-4v-6l-4.272-3.875L34 206v8h-4l-4-4v-4l6-6h6v-4zm60 2l-6 6v4h6v-2.143h4v4.268L96 208H86v4h-4v6h-8v8h10v-4h8v2l4 4h2v-2l-2-2v-2h4l6 6h6v2l-2 2h-4l18 18v-56H96zm12 38H94l-2-2H78l-8 8v8l8 8h6l4 4v2l2 2v12l14 14h8v-30l4-4v-8l-10-10zm-2-12h4l6 6h-4zm-74 28l-4 4v10l8.125 8.143L34 296h8v-8l6-6v-4l6-6v-4l4-4v-8l-4-4h-8l-4-4z"
clip-path=
"url(#g)"
style=
"marker:none"
transform=
"matrix(.80709 0 0 .80709 45.578 -257.217)"
color=
"#000"
overflow=
"visible"
fill=
"#fff"
enable-background=
"accumulate"
/><g
transform=
"matrix(.26656 0 0 .26656 -151.836 -178.103)"
stroke=
"#98c1f1"
color=
"#000"
fill=
"none"
stroke-linejoin=
"round"
><circle
r=
"36.271"
cy=
"372.218"
cx=
"883.604"
style=
"marker:none"
overflow=
"visible"
opacity=
".668"
stroke-width=
"8.548"
/><circle
r=
"68.972"
cy=
"372.218"
cx=
"883.604"
style=
"marker:none"
overflow=
"visible"
opacity=
".668"
stroke-width=
"5.905"
/><circle
r=
"103.121"
cy=
"372.218"
cx=
"883.604"
style=
"marker:none"
overflow=
"visible"
opacity=
".668"
stroke-width=
"3.028"
/></g><path
style=
"marker:none"
d=
"M83.987-78.598L45.436-41.18l17.575.567-7.37 15.308c-2.268 6.803 7.937 9.354 9.637 4.252l6.804-15.308 12.472 13.323z"
color=
"#000"
overflow=
"visible"
fill=
"#fff"
fill-rule=
"evenodd"
stroke=
"#3584e4"
stroke-width=
"2.47050249"
enable-background=
"new"
/></g><g
transform=
"matrix(.80709 0 0 .80709 43.61 -110.24)"
opacity=
".317"
stroke-width=
".505"
><rect
style=
"marker:none"
width=
"98.04"
height=
"120.322"
x=
"14.98"
y=
"173.839"
rx=
"4.501"
ry=
"4.501"
fill=
"#fff"
stroke=
"#3584e4"
stroke-width=
"3.189"
/><path
d=
"M28 183.125c-2.216 0-4 1.784-4 4V216h80v-28.875c0-2.216-1.784-4-4-4zM24 218v30h80v-30zm0 32v29c0 2.216 1.784 4 4 4h72c2.216 0 4-1.784 4-4v-29z"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><g
fill=
"#fff"
><path
d=
"M55 196c-1.662 0-3 1.338-3 3v5h4.031l-.015-2H72v2h4v-5c0-2-1.338-3-3-3zM55 229.333c-1.662 0-3 1.338-3 3v5h4.031l-.015-2H72v2h4v-5c0-2-1.338-3-3-3zM55 259.636c-1.662 0-3 1.338-3 3v5h4.031l-.015-2H72v2h4v-5c0-2-1.338-3-3-3z"
style=
"marker:none"
/></g></g><g
transform=
"matrix(3.35827 0 0 3.35827 -1969.432 -1295.488)"
opacity=
".317"
><use
height=
"100%"
width=
"100%"
transform=
"matrix(-1 0 0 1 1334.712 0)"
xlink:href=
"#h"
enable-background=
"new"
/><path
style=
"marker:none"
id=
"h"
display=
"inline"
opacity=
"1"
vector-effect=
"none"
fill=
"#3584e4"
fill-opacity=
"1"
stroke=
"none"
stroke-width=
".971"
stroke-linecap=
"butt"
stroke-linejoin=
"miter"
stroke-miterlimit=
"4"
stroke-dasharray=
"none"
stroke-dashoffset=
"0"
stroke-opacity=
"1"
enable-background=
"new"
d=
"M672.648 401.204h2.117v4.233h-2.117z"
/><circle
style=
"marker:none"
cx=
"667.356"
cy=
"413.375"
r=
"12.171"
fill=
"#3584e4"
enable-background=
"new"
/><circle
cx=
"-147.774"
cy=
"219.223"
r=
"36"
transform=
"matrix(.25557 .06848 .06848 -.25557 690.11 479.52)"
enable-background=
"new"
fill=
"#fff"
/><path
style=
"marker:none"
d=
"M667.356 407.554l-1.587 3.175h3.175z"
fill=
"#3584e4"
fill-rule=
"evenodd"
enable-background=
"new"
/><circle
style=
"marker:none"
r=
"3.704"
cy=
"413.904"
cx=
"667.356"
fill=
"#3584e4"
enable-background=
"new"
/><g
stroke=
"#1a5fb4"
fill=
"none"
stroke-width=
"2"
><path
d=
"M667.356 422.37v-1.587M667.356 405.967v-1.588M676.352 413.375h-1.588M659.948 413.375h-1.588M660.995 419.736l1.123-1.122M672.595 408.137l1.122-1.123M673.717 419.736l-1.122-1.122M662.118 408.137l-1.123-1.123"
stroke-width=
".52916"
/></g><g
opacity=
".2"
fill=
"#1a5fb4"
stroke=
"#1a5fb4"
><path
d=
"M665.601 422.198l.207-1.038M668.905 405.59l.206-1.038M676.179 415.13l-1.038-.206M659.571 411.827l-1.038-.207M659.876 418.373l.88-.588M673.956 408.965l.88-.588M672.354 420.855l-.588-.88M662.946 406.775l-.588-.88M663.913 421.686l.405-.978M670.394 406.042l.405-.978M675.667 416.818l-.978-.405M660.023 410.338l-.978-.405M659.045 416.818l.978-.405M674.69 410.338l.977-.405M670.799 421.686l-.405-.978M664.318 406.042l-.405-.978M662.358 420.855l.588-.88M671.766 406.775l.588-.88M674.836 418.373l-.88-.588M660.756 408.965l-.88-.588M658.533 415.13l1.038-.206M675.141 411.827l1.038-.207M669.111 422.198l-.206-1.038M665.808 405.59l-.207-1.038"
stroke-width=
".26458"
/></g><path
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1;marker:none"
d=
"M667.355 393.797c-4.079 0-7.408 3.33-7.408 7.408h2.117a5.276 5.276 0 015.291-5.293 5.278 5.278 0 015.293 5.293h2.116c0-4.079-3.33-7.408-7.409-7.408z"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#3584e4"
enable-background=
"new"
/></g><g
transform=
"translate(-3585.518 -2312.924) scale(5.57778)"
opacity=
".317"
><path
d=
"M683.427 395.286c-.755 0-1.364.609-1.364 1.364v12.277c0 .756.609 1.364 1.364 1.364h8.442v-15.005z"
fill=
"#1a5fb4"
enable-background=
"new"
/><path
style=
"marker:none"
d=
"M683.427 394.945c-.755 0-1.364.609-1.364 1.364v12.277c0 .756.609 1.364 1.364 1.364h8.442v-15.005z"
fill=
"#3584e4"
enable-background=
"new"
/><path
style=
"marker:none"
d=
"M685.219 403.13v.852h.852M685.9 403.3v1.364"
fill=
"none"
stroke=
"#fff"
stroke-width=
".341"
enable-background=
"new"
/><g
fill=
"none"
stroke=
"#fff"
stroke-width=
"2"
><path
style=
"marker:none"
d=
"M686.753 403.13h.512v.682h-.512zM686.412 403.812h1.023v.682h-1.023z"
stroke-width=
".34102"
/></g><path
style=
"marker:none"
d=
"M688.117 403.13h.682v.682h-.682v.682h.853M689.993 404.494h.341v-1.364h-.853v.682h.853"
fill=
"none"
stroke=
"#fff"
stroke-width=
".341"
enable-background=
"new"
/><path
style=
"marker:none"
fill=
"#95bef1"
enable-background=
"new"
d=
"M684.025 406.881h5.456v1.364h-5.456z"
/><path
style=
"marker:none"
fill=
"#deddda"
enable-background=
"new"
d=
"M684.025 405.517h3.41v.682h-3.41z"
/><path
style=
"marker:none"
d=
"M691.57 394.945v15.005h6.778v-2.046h2.728v-10.913h-2.728v-2.046z"
fill=
"#3584e4"
enable-background=
"new"
/><path
style=
"marker:none"
fill=
"#fff"
enable-background=
"new"
d=
"M692.892 402.448h2.728v2.728h-2.728z"
/><path
style=
"marker:none"
fill=
"#deddda"
enable-background=
"new"
d=
"M695.62 402.448h2.728v2.728h-2.728z"
/><g
clip-path=
"url(#i)"
transform=
"matrix(-.1705 0 0 .1705 702.76 360.843)"
><path
style=
"marker:none"
fill=
"url(#j)"
d=
"M32 200h34v88H32z"
/><path
transform=
"matrix(-.33333 0 0 -.3787 194.09 258.312)"
d=
"M372.268-113.052v304h24v-304z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#6bf9f4"
filter=
"url(#k)"
enable-background=
"new"
/><path
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
d=
"M68 301.125V186h-4v115.125z"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
enable-background=
"new"
/></g><path
style=
"marker:none"
fill=
"#73aaec"
enable-background=
"new"
d=
"M695.62 405.176h2.728v2.728h-2.728z"
/><rect
width=
"3.41"
height=
"3.41"
x=
"764.859"
y=
"-204.427"
style=
"marker:none"
rx=
".67"
ry=
".67"
transform=
"rotate(45)"
fill=
"#8fbbf0"
enable-background=
"new"
/><rect
transform=
"rotate(45)"
ry=
".67"
rx=
".67"
y=
"-206.115"
x=
"766.547"
height=
"3.41"
width=
"3.41"
fill=
"#fff"
enable-background=
"new"
/><path
style=
"marker:none"
d=
"M686.583 397.479l-.744.744a.668.668 0 000 .947l.744.744.744-.744a.668.668 0 000-.947z"
fill=
"#3584e4"
enable-background=
"new"
/></g><g
transform=
"translate(-1134.492 -1206.668) scale(3.05594)"
opacity=
".317"
><rect
ry=
".78"
rx=
"1.151"
y=
"360.718"
x=
"664.247"
height=
"4.681"
width=
"5.757"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><rect
ry=
"2.117"
rx=
"2.108"
y=
"360.794"
x=
"666.666"
height=
"25.332"
width=
"27.518"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><rect
ry=
"2.117"
rx=
"2.11"
y=
"358.59"
x=
"666.643"
height=
"26.484"
width=
"27.542"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><rect
ry=
"0"
rx=
"0"
y=
"360.794"
x=
"668.744"
height=
"22.151"
width=
"23.317"
style=
"marker:none"
fill=
"#fff"
enable-background=
"new"
/><path
d=
"M676.337 364.824v6.975h-5.218l9.23 9.145 9.23-9.145h-5.182v-6.975z"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><rect
ry=
"0"
rx=
"0"
y=
"363.097"
x=
"668.852"
height=
".576"
width=
"23.03"
style=
"marker:none"
fill=
"#aaa"
enable-background=
"new"
/><path
d=
"M667.536 358.49c8.12-1.389 16.585-1.675 25.662 0 1.165.216 2.138 1.028 2.138 2.304v4.605c0 1.276-.969 2.114-2.138 2.303-9.107 1.476-17.705 1.594-25.662 0-1.161-.232-2.138-1.027-2.138-2.303v-4.605c0-1.276.97-2.104 2.138-2.303z"
style=
"marker:none"
fill=
"#3584e4"
stroke-width=
".643"
/></g><g
opacity=
".317"
><path
d=
"M930.427 87.439H916.71v15.433l13.718 13.719 6.86-15.434z"
style=
"marker:none"
fill=
"#c061cb"
enable-background=
"new"
/><path
d=
"M957.864 87.439l-20.577 6.86-6.86 20.577v1.715l8.87 8.869a6.843 6.843 0 009.699 0l22.599-22.6-.002-1.713-1.725-11.993z"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><path
style=
"marker:none"
d=
"M930.427 60.002l3.43-10.29 10.289-3.429 6.86 13.719-6.86 13.718-12.004-1.715z"
fill=
"#85b5ef"
enable-background=
"new"
/><path
d=
"M957.864 87.439l13.73 13.708 6.848-13.708-6.859-13.719-10.289 3.43z"
style=
"marker:none"
fill=
"#fff"
enable-background=
"new"
/><path
style=
"marker:none"
d=
"M944.146 73.72l6.86-20.578 20.577-6.859 6.86 17.148-6.86 10.29-13.719 13.718h-13.718z"
fill=
"#85b5ef"
enable-background=
"new"
/><path
style=
"marker:none"
d=
"M957.864 87.439l-27.437 27.437V87.439l3.43-10.29 10.289-3.429zM944.146 46.283l3.43-11.146 10.288-2.573 13.719 13.719-27.437 27.437z"
fill=
"#fff"
enable-background=
"new"
/><path
d=
"M916.735 46.256l-11.488 11.488-11.392 11.421a6.811 6.811 0 00-1.742 4.555h-.001v1.715h.001a6.818 6.818 0 002.008 4.85l8.869 8.869v-1.715l20.578-6.86 6.86-20.577-3.43-10.29z"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><path
d=
"M944.146 21.68a6.836 6.836 0 00-4.85 2.016L916.71 46.283l13.718 6.86 13.719-6.86 13.707-13.73-8.857-8.857a6.836 6.836 0 00-4.85-2.015z"
style=
"marker:none"
fill=
"#85b5ef"
enable-background=
"new"
/><path
d=
"M971.583 46.283l-.057 29.067 13.789 13.79 8.855-8.855a6.818 6.818 0 002.008-4.85h.002V73.72h-.002a6.817 6.817 0 00-2.008-4.85zM944.146 46.283l13.718 13.719 13.719-13.719-13.719-13.719z"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><path
d=
"M916.709 46.283l13.718 13.719 13.719-13.719z"
style=
"marker:none"
fill=
"#fff"
enable-background=
"new"
/><path
d=
"M971.583 73.72l.013 29.14 13.707-13.706v-1.7z"
style=
"marker:none"
fill=
"#85b5ef"
enable-background=
"new"
/><path
d=
"M916.729 73.7L902.99 87.44v1.715l13.719 13.718v-1.715l13.718-13.718-3.43-10.29z"
style=
"marker:none"
fill=
"#fff"
enable-background=
"new"
/><path
d=
"M944.146 73.72L930.427 87.44 916.728 73.7l13.7-6.84z"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><path
style=
"marker:none"
d=
"M944.146 73.72l-13.719-13.718L916.71 73.72z"
fill=
"#85b5ef"
enable-background=
"new"
/><path
d=
"M892.112 73.72v1.715h.001a6.818 6.818 0 002.008 4.85l45.175 45.175a6.843 6.843 0 009.7 0l45.174-45.175a6.818 6.818 0 002.008-4.85h.002V73.72h-.002a6.817 6.817 0 01-2.008 4.85l-45.174 45.175a6.843 6.843 0 01-9.7 0L894.121 78.57a6.818 6.818 0 01-2.008-4.85z"
style=
"marker:none"
opacity=
".2"
enable-background=
"new"
/></g><g
opacity=
".317"
><path
d=
"M107.718 245.607c-11.168 0-20.221-8.54-20.221-19.073 0-10.533 9.053-19.072 20.221-19.072 11.17 0 20.223 8.54 20.223 19.072 0 10.533-9.053 19.073-20.223 19.073z"
fill=
"#fff"
/><path
d=
"M96.075 224.385c.148-2.676 1.462-5.037 3.439-6.71 1.942-1.643 4.552-2.647 7.403-2.647 2.85 0 5.46 1.004 7.403 2.648 1.977 1.672 3.289 4.033 3.44 6.707.15 2.754-.955 5.313-2.895 7.205-1.978 1.929-4.796 3.14-7.948 3.14s-5.973-1.211-7.95-3.14c-1.94-1.893-3.044-4.45-2.891-7.203"
style=
"marker:none"
fill=
"#3584e4"
/><path
d=
"M78.806 229.803c.018 1.045.353 3.081.854 4.675 1.054 3.366 2.842 6.48 5.331 9.227a27.557 27.557 0 009.324 6.694 29.979 29.979 0 0012.247 2.548 30.071 30.071 0 0012.242-2.588c3.63-1.624 6.768-3.897 9.32-6.724 2.485-2.755 4.27-5.878 5.326-9.246a23.505 23.505 0 001-5.16 23.487 23.487 0 00-.165-5.125 23.833 23.833 0 00-3.398-9.3 26.064 26.064 0 00-6.2-6.836l.005-.003-25.087-19.266-.064-.051c-1.65-1.262-4.417-1.26-6.226.008-1.832 1.282-2.039 3.398-.411 4.736l-.005.005 10.462 8.512-31.895.032h-.045c-2.635.001-5.167 1.734-5.672 3.918-.512 2.228 1.28 4.074 4.018 4.087v.007l16.164-.03-28.85 22.142-.11.084c-2.719 2.082-3.6 5.549-1.888 7.742 1.742 2.231 5.44 2.233 8.19.01l15.744-12.882s-.227 1.74-.211 2.784zm40.455 5.821c-3.243 3.308-7.781 5.182-12.7 5.19-4.918.011-9.46-1.848-12.705-5.149a15.093 15.093 0 01-3.469-5.428 14.12 14.12 0 01-.797-6.064 14.341 14.341 0 011.741-5.71 15.772 15.772 0 013.86-4.59c3.152-2.571 7.164-3.961 11.367-3.967 4.202-.005 8.215 1.374 11.367 3.934a15.697 15.697 0 013.86 4.574 14.374 14.374 0 011.74 5.708 14.13 14.13 0 01-.797 6.063 15.175 15.175 0 01-3.467 5.439"
style=
"marker:none"
fill=
"#3584e4"
/></g><g
opacity=
".317"
><path
d=
"M816.45 196.778c9.916 13.49 19.502 37.797 11.844 55.85-6.618 15.599-22.393 22.772-35.607 22.772-16.773 0-34.185-9.553-37.218-27.192-4.64-26.981 25.346-36.851 25.346-54.278 0-14.866-8.309-24.303-8.309-24.303 21.343 1.858 38.872 17.634 36.041 45.157 5.265-5.103 6.408-12.422 7.904-18.006z"
style=
"marker:none"
fill=
"#3584e4"
/><g
clip-path=
"url(#l)"
transform=
"matrix(.96977 0 0 .96977 722.864 145.451)"
><path
d=
"M70.441 135.596c6.19-11.614-30.82-15.722-15.6-46.13 4.782-9.555 18.874-14.95 19.445-29.37 13.223 13.444 3.023 27.078 12.32 37.77 17.896 20.584-13.794 41.825-16.165 37.73z"
style=
"marker:none"
fill=
"#9fc5f2"
/><path
d=
"M73.186 133.812c14.48-11.366-8.729-8.355-2.515-29.162 3.735-12.506 15.826-3.73 24.697-17.677 2.144 7.573 2.357 18.743.345 25.12-2.9 9.194-21.34 26.129-22.527 21.72z"
style=
"marker:none"
opacity=
".442"
fill=
"#afcef4"
/><path
d=
"M70.5 136.64s1.474-8.705-5.564-17.437c-11.284-15.353-2.989-27.06 10.375-35.375-.001 0-4.136 11.26 3.917 20.25 15.739 17.573-6.874 36.27-8.728 32.561z"
fill=
"#fff"
fill-opacity=
".551"
/></g></g><g
transform=
"translate(748.136 187.307) scale(.74187)"
opacity=
".317"
><path
style=
"marker:none"
d=
"M-151.418 190.902l-41.037 27.348h-43.049v18h.014a59.504 59.504 0 00.943 10.049l-.053.035.075.074a59.504 59.504 0 0028.773 41.123 59.504 59.504 0 0059.504 0 59.504 59.504 0 0029.746-51.281h.002v-.084a59.504 59.504 0 00.004-.166h-.004v-17.75l-.098-27.348-35.168 23.577z"
fill=
"#3584e4"
enable-background=
"new"
/><path
style=
"marker:none"
d=
"M-184 228.75a4.574 4.574 0 00-4.56 4.56v14a4.574 4.574 0 004.56 4.561 4.574 4.574 0 004.56-4.56v-14a4.574 4.574 0 00-4.56-4.561zM-164 228.75a4.574 4.574 0 00-4.56 4.56v14a4.574 4.574 0 004.56 4.561 4.574 4.574 0 004.56-4.56v-14a4.574 4.574 0 00-4.56-4.561z"
fill=
"#fff"
enable-background=
"new"
/><circle
style=
"marker:none"
cx=
"-223"
cy=
"217"
r=
"15"
fill=
"#3584e4"
enable-background=
"new"
/></g><g
transform=
"matrix(.2039 0 0 .2039 393.672 356.122)"
opacity=
".317"
><rect
ry=
"32"
rx=
"32"
y=
"4"
x=
"32"
height=
"240"
width=
"448"
style=
"marker:none"
fill=
"#3584e4"
/><rect
style=
"marker:none"
width=
"448"
height=
"240"
x=
"32"
y=
"-116"
rx=
"32"
ry=
"32"
fill=
"#acccf4"
/><path
style=
"marker:none"
fill=
"#3584e4"
d=
"M64-84h384V92H64z"
/><circle
cx=
"256"
cy=
"4"
r=
"56"
fill=
"#57e389"
/><g
fill=
"#acccf4"
><circle
style=
"marker:none"
cx=
"64"
cy=
"-84"
r=
"32"
/><circle
r=
"32"
cy=
"92"
cx=
"64"
style=
"marker:none"
/><circle
r=
"32"
cy=
"-84"
cx=
"448"
style=
"marker:none"
/><circle
style=
"marker:none"
cx=
"448"
cy=
"92"
r=
"32"
/></g><rect
style=
"marker:none"
width=
"192"
height=
"80"
x=
"160"
y=
"-36"
rx=
"24"
ry=
"24"
fill=
"#acccf4"
/><g
fill=
"#f6f5f4"
stroke-width=
"1.414"
><path
d=
"M208-116h96v360h-96z"
/><path
fill=
"#d5d3cf"
d=
"M208 124h96v120h-96z"
/></g><path
d=
"M440 68c-17.673 0-37.589 15.234-32 32l8 24 56-56z"
opacity=
".1"
enable-background=
"new"
/><path
d=
"M448 60c-17.673 0-32 14.327-32 32v32l64-64z"
fill=
"#fff"
enable-background=
"new"
/></g><g
opacity=
".317"
><path
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
d=
"M910.934 189.946h71.001v71.001h-71.001z"
/><path
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
d=
"M996.459 225.447l-50.024 50.024-50.023-50.024 50.023-50.023z"
/><circle
cy=
"225.447"
cx=
"946.435"
style=
"marker:none"
fill=
"#9cc3f2"
enable-background=
"new"
r=
"38.728"
/><path
style=
"marker:none"
d=
"M967.413 231.902a16.133 16.133 0 00-14.65 9.414 12.104 12.104 0 00-5.521-1.346c-6.366.005-11.638 4.945-12.061 11.297h-.042a8.067 8.067 0 00-7.393 4.84h-.676v3.228a8.068 8.068 0 008.069 8.068h45.182a9.682 9.682 0 009.682-9.682v-3.227h-.57a9.682 9.682 0 00-5.913-5.9l.028-.555c0-8.912-7.224-16.137-16.136-16.137z"
fill=
"#9ac2f2"
enable-background=
"new"
/><path
d=
"M967.413 228.674a16.133 16.133 0 00-14.65 9.414 12.104 12.104 0 00-5.521-1.345c-6.366.005-11.638 4.945-12.061 11.297l-.042-.001a8.068 8.068 0 000 16.137h45.182a9.682 9.682 0 009.682-9.683 9.682 9.682 0 00-6.483-9.127l.028-.554c0-8.912-7.224-16.137-16.136-16.137z"
fill=
"url(#m)"
enable-background=
"new"
/></g><g
opacity=
".317"
><path
d=
"M222.807 234.036c6.109 20.374 25 35.217 47.362 35.217 27.305 0 49.439-22.134 49.439-49.439 0-27.301-22.134-49.435-49.44-49.435-26.198 0-47.638 20.38-49.332 46.153 3.203 5.373 4.45 8.694 1.97 17.501z"
style=
"marker:none"
fill=
"#3584e4"
/><path
d=
"M267.626 207.432v.244l-12.095 17.574a13.552 13.552 0 00-5.792 1.023 13.453 13.453 0 00-2.312 1.222l-26.568-10.937s-.614 10.115 1.948 17.65l18.779 7.75a13.697 13.697 0 0026.024 2.298 13.77 13.77 0 001.056-5.646l17.31-12.37.426.007c10.358 0 18.779-8.444 18.779-18.815 0-10.369-8.42-18.81-18.78-18.81-10.355 0-18.778 8.438-18.778 18.81zm-2.906 35.613a10.586 10.586 0 01-13.832 5.706 10.517 10.517 0 01-5.445-5.195l6.115 2.536a7.8 7.8 0 005.99-14.397l-6.32-2.622a10.514 10.514 0 017.8.12 10.5 10.5 0 015.712 5.745 10.544 10.544 0 01-.02 8.107m21.682-23.079a12.538 12.538 0 01-12.512-12.534c0-6.905 5.614-12.532 12.512-12.532 6.901 0 12.515 5.627 12.515 12.532 0 6.91-5.614 12.534-12.515 12.534m-9.375-12.554a9.41 9.41 0 019.395-9.415 9.41 9.41 0 019.4 9.415 9.408 9.408 0 01-9.4 9.414 9.404 9.404 0 01-9.395-9.411z"
fill=
"#fff"
/></g><g
transform=
"matrix(.2346 0 0 .2346 542.53 348.394)"
opacity=
".317"
><path
style=
"marker:none"
d=
"M1260 76c13.255 0 24 10.745 24 24v48l-24 24h-24v-72c0-13.255 10.745-24 24-24zM1148 76c-13.255 0-24 10.745-24 24v48l24 24h24v-72c0-13.255-10.745-24-24-24z"
fill=
"#3584e4"
enable-background=
"new"
/><rect
style=
"marker:none"
width=
"96"
height=
"112"
x=
"1156"
y=
"-20.033"
rx=
"48"
ry=
"48"
fill=
"#3584e4"
/><rect
style=
"marker:none"
width=
"144"
height=
"160"
x=
"1020"
y=
"-156.033"
rx=
"72"
ry=
"72"
fill=
"#3584e4"
/><rect
style=
"marker:none"
width=
"176"
height=
"192"
x=
"868"
y=
"-36.033"
rx=
"88"
ry=
"88"
fill=
"#3584e4"
/><path
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1;marker:none"
d=
"M1077.373-129.287l-11.314 11.314L894.746 53.34l67.88 67.88 182.628-182.626zm0 45.256L1100-61.406 962.627 75.967 940 53.34z"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#3584e4"
enable-background=
"new"
/><path
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
d=
"M860 203.967h192v32H860z"
/><g
fill=
"#3584e4"
><path
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1;marker:none"
d=
"M908 19.967v128c0 17.673-14.327 32-32 32h-16v32h192v-32h-16c-17.673 0-32-14.327-32-32v-128z"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
enable-background=
"accumulate"
/><path
style=
"marker:none"
enable-background=
"new"
d=
"M860 179.967h192v32H860z"
/></g><path
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1;marker:none"
d=
"M1204 18.996l-72.484 72.486 16.968 16.971L1204 52.937l55.516 55.516 16.968-16.97z"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#619fea"
enable-background=
"accumulate"
/><circle
r=
"48"
cy=
"35.967"
cx=
"1204"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><path
style=
"marker:none"
d=
"M1260 68c13.255 0 24 10.745 24 24v48l-24 24h-24V92c0-13.255 10.745-24 24-24z"
fill=
"#3584e4"
enable-background=
"new"
/><path
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1;marker:none"
d=
"M1077.373-137.287l-11.314 11.314L894.746 45.34l67.88 67.88 182.628-182.626zm0 45.256L1100-69.406 962.627 67.967 940 45.34z"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#a3c7f3"
enable-background=
"new"
/><circle
style=
"marker:none"
cx=
"956"
cy=
"59.967"
r=
"88"
fill=
"#3584e4"
enable-background=
"new"
/><circle
style=
"marker:none"
cx=
"956"
cy=
"51.967"
r=
"88"
fill=
"#a3c7f3"
/><path
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1;marker:none"
d=
"M1107.143-98.176l-28.286 28.285 128 128 28.286-28.285z"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#619fea"
enable-background=
"new"
/><circle
style=
"marker:none"
cx=
"1092"
cy=
"-76.033"
r=
"72"
fill=
"#3584e4"
enable-background=
"new"
/><circle
style=
"marker:none"
cx=
"1092"
cy=
"-84.033"
r=
"72"
fill=
"#a3c7f3"
enable-background=
"new"
/><circle
r=
"48"
cy=
"27.967"
cx=
"1204"
style=
"marker:none"
fill=
"#a3c7f3"
/><circle
style=
"marker:none"
cx=
"1092"
cy=
"-84.033"
fill=
"#3584e4"
enable-background=
"new"
r=
"48"
/><circle
style=
"marker:none"
cx=
"956"
cy=
"51.967"
r=
"56"
fill=
"#3584e4"
enable-background=
"new"
/><circle
style=
"marker:none"
cx=
"956"
cy=
"51.967"
r=
"32"
fill=
"url(#n)"
enable-background=
"new"
/><circle
style=
"marker:none"
cx=
"956"
cy=
"51.967"
r=
"32"
fill=
"#619fea"
enable-background=
"new"
/><circle
style=
"marker:none"
cx=
"1092"
cy=
"-84.033"
r=
"24"
fill=
"#619fea"
enable-background=
"new"
/><circle
style=
"marker:none"
cx=
"1204"
cy=
"27.967"
fill=
"#3584e4"
enable-background=
"new"
r=
"32"
/><circle
style=
"marker:none"
cx=
"1204"
cy=
"27.967"
r=
"16"
fill=
"#619fea"
enable-background=
"new"
/><circle
r=
"8"
style=
"marker:none"
cx=
"1260"
cy=
"92"
fill=
"#a3c7f3"
enable-background=
"new"
/><path
style=
"marker:none"
d=
"M1148 68c-13.255 0-24 10.745-24 24v48l24 24h24V92c0-13.255-10.745-24-24-24z"
fill=
"#3584e4"
enable-background=
"new"
/><circle
r=
"8"
style=
"marker:none"
cx=
"-1148"
cy=
"92"
transform=
"scale(-1 1)"
fill=
"#a3c7f3"
enable-background=
"new"
/></g><g
transform=
"matrix(3.31967 0 0 3.31967 -1855.013 -1009.94)"
opacity=
".317"
><rect
ry=
"32.051"
rx=
"32"
y=
"-85.781"
x=
"30.021"
height=
"328.574"
width=
"448"
style=
"marker:none"
transform=
"matrix(.06615 0 0 .06604 622.772 412.422)"
fill=
"#3584e4"
enable-background=
"new"
/><path
d=
"M626.872 404.644c-1.171 0-2.114.947-2.114 2.124v19.035c0 1.177.943 2.124 2.114 2.124h25.406c1.17 0 2.113-.947 2.113-2.124v-19.035a2.114 2.114 0 00-2.113-2.124h-1.062a2.117 2.117 0 01-2.116 2.116 2.117 2.117 0 01-2.117-2.116z"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><path
d=
"M632.166 417.31v3.1l-1.168 1.167h-1.323l-1.742 1.743v3.25h.53v-3.031l1.432-1.433h1.323l1.478-1.478v-3.317z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
enable-background=
"accumulate"
/><path
d=
"M633.225 418.366v2.837l-2.646 2.646v2.226h.53v-2.007l2.645-2.646v-3.056z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
enable-background=
"accumulate"
/><g
clip-path=
"url(#o)"
transform=
"matrix(.06615 0 0 .06604 622.772 412.422)"
fill=
"#fff"
stroke-width=
"1.001"
paint-order=
"markers fill stroke"
><path
d=
"M402.021 182.22c6.648 0 12 5.351 12 12v56c0 6.647-5.352 12-12 12s-12-5.353-12-12v-56c0-6.649 5.352-12 12-12zm-40 0c6.648 0 12 5.351 12 12v56c0 6.647-5.352 12-12 12s-12-5.353-12-12v-56c0-6.649 5.352-12 12-12zm-40 0c6.648 0 12 5.351 12 12v56c0 6.647-5.352 12-12 12s-12-5.353-12-12v-56c0-6.649 5.352-12 12-12zm-40 0c6.648 0 12 5.351 12 12v56c0 6.647-5.352 12-12 12s-12-5.353-12-12v-56c0-6.649 5.352-12 12-12zm-40 0c6.648 0 12 5.351 12 12v56c0 6.647-5.352 12-12 12s-12-5.353-12-12v-56c0-6.649 5.352-12 12-12zm-40 0c6.648 0 12 5.351 12 12v56c0 6.647-5.352 12-12 12s-12-5.353-12-12v-56c0-6.649 5.352-12 12-12zm-40 0c6.648 0 12 5.351 12 12v56c0 6.647-5.352 12-12 12s-12-5.353-12-12v-56c0-6.649 5.352-12 12-12zm-40 0c6.648 0 12 5.351 12 12v56c0 6.647-5.352 12-12 12s-12-5.353-12-12v-56c0-6.649 5.352-12 12-12zm-40 0c6.648 0 12 5.351 12 12v56c0 6.647-5.352 12-12 12s-12-5.353-12-12v-56c0-6.649 5.352-12 12-12z"
/><path
d=
"M350.021 234.781h24v16h-24zm-40 0h24v16h-24zm-40 0h24v16h-24zm-40 0h24v16h-24zm-40 0h24v16h-24zm-40 0h24v16h-24zm-40 0h24v16h-24zm-40 0h24v16h-24z"
enable-background=
"new"
/><rect
ry=
"0"
rx=
"0"
y=
"234.219"
x=
"390.021"
height=
"16"
width=
"24"
enable-background=
"new"
/></g><path
d=
"M624.758 425.539v.264c0 1.177.943 2.124 2.114 2.124h25.406c1.17 0 2.113-.947 2.113-2.124v-.264a2.114 2.114 0 01-2.113 2.124h-25.406a2.114 2.114 0 01-2.114-2.124z"
fill=
"#fff"
fill-opacity=
".126"
enable-background=
"new"
/><path
d=
"M636.4 418.402v3.55l2.116 2.116v1.213h.529v-1.431l-2.115-2.118v-3.33zM635.342 418.402v4.608l.53.53v1.741h.528v-1.96l-.529-.53v-4.389zM634.283 418.402v3.33l-1.058 1.059v2.49h.529v-2.271l1.058-1.059v-3.549z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
enable-background=
"new"
/><rect
ry=
".794"
rx=
".794"
y=
"412.317"
x=
"631.108"
height=
"6.085"
width=
"7.938"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><path
d=
"M634.018 407.818v.53h2.802l.639.638v3.067h.527v-3.285l-.947-.95z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
enable-background=
"new"
/><path
d=
"M635.793 407.896l-.373.374.98.982v2.8h.53v-3.02z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
enable-background=
"new"
/><path
d=
"M634.47 407.896l-.374.374 1.246 1.246v2.537h.53v-2.756z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
enable-background=
"new"
/><path
d=
"M631.107 409.406v.53h2.801l.375.375v1.742h.53v-1.963l-.684-.684z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
enable-background=
"new"
/><path
d=
"M633.225 409.936v2.117h.529v-2.117zM632.166 409.936v2.117h.53v-2.117z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
enable-background=
"new"
/><path
d=
"M632.431 410.728a.264.264 0 00-.265.265v1.06h.53v-1.06a.264.264 0 00-.265-.265zm1.058 0a.264.264 0 00-.264.265v1.06h.529v-1.06a.264.264 0 00-.265-.265zm1.059 0a.264.264 0 00-.265.265v1.06h.53v-1.06a.264.264 0 00-.265-.265zm1.058 0a.264.264 0 00-.265.265v1.06h.53v-1.06a.264.264 0 00-.265-.265zm1.058 0a.264.264 0 00-.264.265v1.06h.529v-1.06a.264.264 0 00-.265-.265zm1.059 0a.264.264 0 00-.265.265v1.06h.53v-1.06a.264.264 0 00-.265-.265z"
fill=
"#fff"
paint-order=
"markers fill stroke"
enable-background=
"new"
/><rect
style=
"marker:none"
width=
"7.938"
height=
"6.35"
x=
"631.108"
y=
"411.523"
rx=
".794"
ry=
".794"
fill=
"#a3c7f3"
enable-background=
"new"
/><path
d=
"M637.459 418.402v1.961l3.703 3.705v.95h.53v-1.168l-3.706-3.705v-1.743z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
enable-background=
"new"
/><rect
width=
"3.969"
height=
".529"
x=
"632.166"
y=
"413.11"
rx=
"0"
ry=
"0"
paint-order=
"markers fill stroke"
enable-background=
"new"
fill=
"none"
/><rect
ry=
"0"
rx=
"0"
y=
"414.169"
x=
"632.166"
height=
"1.058"
width=
"2.117"
paint-order=
"markers fill stroke"
enable-background=
"new"
fill=
"none"
/><rect
width=
"2.91"
height=
"1.058"
x=
"634.548"
y=
"414.169"
rx=
"0"
ry=
"0"
paint-order=
"markers fill stroke"
enable-background=
"new"
fill=
"none"
/><path
d=
"M642.484 417.873a.796.796 0 00-.793.793c0 .435.358.795.793.795a.8.8 0 00.795-.795.798.798 0 00-.795-.793zm0 .53a.26.26 0 01.266.263c0 .15-.116.266-.266.266a.26.26 0 01-.263-.266.26.26 0 01.263-.264zM644.602 417.873a.796.796 0 00-.793.793c0 .435.357.795.793.795a.8.8 0 00.794-.795.798.798 0 00-.794-.793zm0 .53a.26.26 0 01.265.263c0 .15-.116.266-.265.266a.26.26 0 01-.264-.266.26.26 0 01.264-.264zM647.777 417.873a.798.798 0 00-.795.793.8.8 0 00.795.795c.436 0 .793-.36.793-.795a.796.796 0 00-.793-.793zm0 .53a.26.26 0 01.264.263.26.26 0 01-.264.266.262.262 0 01-.265-.266.26.26 0 01.265-.264zM647.777 415.756a.8.8 0 00-.795.795c0 .435.36.793.795.793a.796.796 0 00.793-.793.798.798 0 00-.793-.795zm0 .53a.26.26 0 01.264.265.26.26 0 01-.264.263.26.26 0 01-.265-.263c0-.15.116-.266.265-.266z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
paint-order=
"markers fill stroke"
enable-background=
"new"
/><path
d=
"M642.22 419.195v.639l1.589 1.588v3.86h.529v-4.079l-1.588-1.588v-.42zM644.338 419.195v.639l.683.686h2.336l.684-.686v-.639h-.53v.42l-.372.375h-1.899l-.373-.375v-.42z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
enable-background=
"new"
/><path
d=
"M633.49 407.29a.8.8 0 00-.795.794c0 .435.36.793.795.793a.796.796 0 00.793-.793.798.798 0 00-.793-.795zm0 .528a.26.26 0 01.264.266.26.26 0 01-.264.264.26.26 0 01-.265-.264c0-.15.116-.266.265-.266zM630.578 408.877a.798.798 0 00-.793.795c0 .435.358.793.793.793a.798.798 0 00.795-.793.8.8 0 00-.795-.795zm0 .53c.15 0 .266.116.266.265a.26.26 0 01-.266.264.26.26 0 01-.264-.264.26.26 0 01.264-.266z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
paint-order=
"markers fill stroke"
enable-background=
"new"
/><path
fill=
"#fff"
paint-order=
"markers fill stroke"
enable-background=
"new"
d=
"M625.816 418.931h2.117v1.587h-2.117zM625.816 417.873h2.117v.529h-2.117zM627.933 414.698h2.117v.529h-2.117zM627.933 412.581h2.117v1.587h-2.117zM627.933 411.523h2.117v.529h-2.117z"
/><path
d=
"M646.982 412.844a.8.8 0 00.795.795c.436 0 .793-.36.793-.795a.796.796 0 00-.793-.793.798.798 0 00-.795.793zm.53 0a.26.26 0 01.265-.264.26.26 0 01.264.264.26.26 0 01-.264.265.262.262 0 01-.265-.265zM646.982 409.67c0 .435.36.793.795.793a.796.796 0 00.793-.793.798.798 0 00-.793-.795.8.8 0 00-.795.795zm.53 0c0-.15.116-.266.265-.266a.26.26 0 01.264.266.26.26 0 01-.264.264.26.26 0 01-.265-.264zM644.867 409.67c0 .435.358.793.793.793a.796.796 0 00.793-.793.798.798 0 00-.793-.795.798.798 0 00-.793.795zm.53 0a.26.26 0 01.263-.266.26.26 0 01.264.266.26.26 0 01-.264.264.26.26 0 01-.264-.264z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
paint-order=
"markers fill stroke"
enable-background=
"new"
/><path
d=
"M648.307 409.404v.53h.42l.373.375v1.896l-.373.375h-.42v.53h.638l.684-.684v-2.336l-.684-.686z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#fff"
enable-background=
"new"
/><rect
ry=
".529"
rx=
".529"
y=
"413.375"
x=
"642.221"
height=
"2.91"
width=
"3.704"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><path
d=
"M642.75 416.02v.795a.264.264 0 10.529 0v-.794zm1.058 0v.795a.264.264 0 10.53 0v-.794zm1.058 0v.795a.264.264 0 10.53 0v-.794z"
fill=
"url(#p)"
paint-order=
"markers fill stroke"
enable-background=
"new"
/><path
d=
"M642.75 413.375v-.794a.264.264 0 11.529 0v.794zm1.058 0v-.794a.264.264 0 11.53 0v.794zm1.058 0v-.794a.264.264 0 11.53 0v.794z"
fill=
"url(#q)"
paint-order=
"markers fill stroke"
enable-background=
"new"
/><rect
style=
"marker:none"
width=
"3.704"
height=
"3.175"
x=
"642.221"
y=
"412.581"
rx=
".529"
ry=
".529"
fill=
"#a3c7f3"
enable-background=
"new"
/><rect
ry=
"0"
rx=
"0"
y=
"413.11"
x=
"642.75"
height=
".529"
width=
"2.117"
paint-order=
"markers fill stroke"
enable-background=
"new"
fill=
"none"
/><rect
width=
"1.058"
height=
".529"
x=
"642.75"
y=
"414.169"
rx=
"0"
ry=
"0"
paint-order=
"markers fill stroke"
enable-background=
"new"
fill=
"none"
/><g
fill=
"#fff"
paint-order=
"markers fill stroke"
><path
d=
"M650.158 421.048h1.588v1.587h-1.588z"
/><path
d=
"M650.158 421.048h1.588v1.058h-1.588z"
/><path
d=
"M650.158 421.048h.53v1.058h-.53zM650.158 422.635h.53v-.529h-.53zM651.746 421.048h.529v1.058h-.53zM651.746 422.635h.529v-.529h-.53z"
/></g><g
fill=
"#fff"
paint-order=
"markers fill stroke"
><path
d=
"M650.158 419.46h1.588v1.588h-1.588z"
/><path
d=
"M650.158 419.46h1.588v1.059h-1.588z"
/><path
d=
"M650.158 419.46h.53v1.059h-.53z"
/><path
d=
"M650.158 421.048h.53v-.53h-.53zM651.746 419.46h.529v1.059h-.53z"
/><path
d=
"M651.746 421.048h.529v-.53h-.53z"
/></g><g
fill=
"#fff"
paint-order=
"markers fill stroke"
><path
d=
"M650.158 417.873h1.588v1.587h-1.588z"
/><path
d=
"M650.158 417.873h1.588v1.058h-1.588z"
/><path
d=
"M650.158 417.873h.53v1.058h-.53zM650.158 419.46h.53v-.529h-.53zM651.746 417.873h.529v1.058h-.53zM651.746 419.46h.529v-.529h-.53z"
/></g><g
fill=
"#fff"
paint-order=
"markers fill stroke"
><path
d=
"M640.633 407.819v-2.117h1.058v2.117z"
/><path
d=
"M640.633 407.819v-2.117h.53v2.117z"
/><path
d=
"M640.633 407.819v-.53h1.058v.53zM640.633 406.231v-.529h1.058v.53z"
/></g><g
fill=
"#fff"
paint-order=
"markers fill stroke"
><path
d=
"M643.808 407.819v-2.117h1.058v2.117z"
/><path
d=
"M643.808 407.819v-2.117h.53v2.117z"
/><path
d=
"M643.808 407.819v-.53h1.058v.53zM643.808 406.231v-.529h1.058v.53z"
/></g><g
fill=
"#fff"
paint-order=
"markers fill stroke"
><path
d=
"M642.22 407.819v-2.117h1.059v2.117z"
/><path
d=
"M642.22 407.819v-2.117h.53v2.117z"
/><path
d=
"M642.22 407.819v-.53h1.059v.53zM642.22 406.231v-.529h1.059v.53z"
/></g><path
d=
"M632.166 418.138v1.058a.264.264 0 10.53 0v-1.058zm1.059 0v1.058a.264.264 0 10.529 0v-1.058zm1.058 0v1.058a.264.264 0 10.53 0v-1.058zm1.058 0v1.058a.264.264 0 10.53 0v-1.058zm1.059 0v1.058a.264.264 0 10.529 0v-1.058zm1.058 0v1.058a.264.264 0 10.53 0v-1.058z"
fill=
"#fff"
paint-order=
"markers fill stroke"
enable-background=
"new"
/></g><g
opacity=
".317"
><path
style=
"marker:none"
d=
"M91.815 371.538h48.55v34.573c0 4.863-2.245 8.778-7.513 8.778H91.809z"
fill=
"#3584e4"
/><path
d=
"M133.464 324.72a6.921 6.921 0 016.936 6.936v72.829a6.921 6.921 0 01-6.936 6.936H91.847V324.72z"
style=
"marker:none"
fill=
"#a3c7f3"
enable-background=
"new"
/><path
style=
"marker:none"
opacity=
".1"
enable-background=
"new"
d=
"M109.153 385.41v3.469h17.34v-3.468zM109.153 392.347v3.468h17.34v-3.468z"
/><path
style=
"marker:none"
fill=
"#fff"
enable-background=
"new"
d=
"M109.153 383.677v3.468h17.34v-3.468zM109.153 390.613v3.468h17.34v-3.468z"
/><path
d=
"M57.166 328.187a6.921 6.921 0 00-6.936 6.937v72.829a6.921 6.921 0 006.936 6.936h38.149v-86.702z"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><path
style=
"marker:none"
d=
"M57.166 324.72a6.921 6.921 0 00-6.936 6.936v72.829a6.921 6.921 0 006.936 6.936h38.149V324.72z"
fill=
"#3584e4"
enable-background=
"new"
/><path
style=
"marker:none"
d=
"M71.005 381.942v6.937h-6.936v3.468h6.936v6.936h3.468v-6.936h6.936v-3.468h-6.936v-6.937z"
opacity=
".2"
enable-background=
"new"
/><path
d=
"M71.005 380.208v6.937h-6.936v3.468h6.936v6.936h3.468v-6.936h6.936v-3.468h-6.936v-6.937z"
style=
"marker:none"
fill=
"#fff"
enable-background=
"new"
/><path
style=
"marker:none"
opacity=
".1"
enable-background=
"new"
d=
"M64.068 347.262v3.468h17.34v-3.468z"
/><path
style=
"marker:none"
fill=
"#fff"
enable-background=
"new"
d=
"M64.068 345.528v3.468h17.34v-3.468z"
/><path
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1;marker:none"
d=
"M50.195 368.07v1.734h45.053v-1.734z"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
fill=
"#a3c7f3"
fill-rule=
"evenodd"
enable-background=
"accumulate"
/></g><g
opacity=
".317"
><path
d=
"M998.464 340.345h-55.977l-6.785 6.785v54.28c0 6.785 6.785 6.785 6.785 6.785h55.977l-6.785-35.621z"
style=
"marker:none"
fill=
"#3584e4"
fill-rule=
"evenodd"
enable-background=
"new"
/><path
d=
"M942.487 326.774v54.281h-6.785v20.355a6.785 6.785 0 016.785-6.785h35.621s6.786 0 6.786-6.785v-54.28l-6.786-6.786h-28.836z"
opacity=
".317"
fill=
"url(#r)"
fill-rule=
"evenodd"
enable-background=
"new"
/><path
d=
"M896.688 340.345h27.14l5.089 61.065c0 6.786-6.785 6.786-6.785 6.786h-25.444l6.784-35.622z"
style=
"marker:none"
fill=
"#3584e4"
fill-rule=
"evenodd"
enable-background=
"new"
/><path
d=
"M942.487 331.316h-6.785v70.094a6.785 6.785 0 016.785-6.785h35.621s6.786 0 6.786-6.785v-54.28z"
fill=
"#fff"
fill-rule=
"evenodd"
enable-background=
"new"
/><path
d=
"M917.043 381.055a6.785 6.785 0 000 13.57h5.089c4.24 0 6.785 3.328 6.785 6.785v-20.355z"
fill=
"#fff"
enable-background=
"new"
/><path
d=
"M928.917 375.966v14.03s-6.777-5.548-11.874-5.548c-5.084 0-6.785 2.416-6.785 4.002v-5.699a6.77 6.77 0 016.785-6.785z"
opacity=
".106"
fill=
"url(#s)"
enable-background=
"new"
/><path
d=
"M917.043 323.382a6.77 6.77 0 00-6.785 6.785v57.673a6.77 6.77 0 016.785-6.785h61.066a6.77 6.77 0 016.785 6.785v-57.673a6.77 6.77 0 00-6.786-6.785z"
style=
"marker:none"
fill=
"#3584e4"
enable-background=
"new"
/><path
d=
"M954.243 350.3c-1.102.794-4.512-2.672-5.87-2.678-1.358-.005-4.798 3.433-5.894 2.63-1.095-.802 1.147-5.117.733-6.41-.414-1.293-4.747-3.503-4.322-4.793.424-1.29 5.22-.49 6.323-1.284 1.102-.793 1.864-5.597 3.223-5.591 1.357.005 2.079 4.814 3.174 5.616 1.096.803 5.9.044 6.314 1.337.415 1.293-3.936 3.466-4.36 4.755-.426 1.29 1.78 5.624.679 6.419zM941.754 369.879c-1.101.793-4.511-2.673-5.87-2.678-1.357-.006-4.798 3.432-5.893 2.63-1.096-.803 1.147-5.118.733-6.41-.415-1.294-4.747-3.504-4.322-4.794.424-1.29 5.22-.49 6.322-1.283 1.102-.794 1.865-5.598 3.223-5.592 1.358.005 2.08 4.814 3.175 5.616 1.095.803 5.9.044 6.314 1.338.414 1.293-3.936 3.465-4.36 4.754-.426 1.29 1.78 5.624.678 6.419zM966.809 369.879c-1.102.793-4.512-2.673-5.87-2.678-1.358-.006-4.798 3.432-5.894 2.63-1.096-.803 1.147-5.118.733-6.41-.414-1.294-4.747-3.504-4.322-4.794.424-1.29 5.22-.49 6.322-1.283 1.103-.794 1.865-5.598 3.223-5.592 1.358.005 2.08 4.814 3.175 5.616 1.095.803 5.9.044 6.314 1.338.415 1.293-3.936 3.465-4.36 4.754-.426 1.29 1.78 5.624.679 6.419z"
style=
"marker:none"
color=
"#000"
overflow=
"visible"
enable-background=
"accumulate"
opacity=
".317"
fill=
"#fff"
/></g><path
d=
"M758.17-111.942a9.685 9.685 0 00-9.684 9.685 9.685 9.685 0 006.456 9.12v52.785a9.685 9.685 0 00-6.456 9.12 9.685 9.685 0 009.685 9.684 9.685 9.685 0 008.378-4.842h54.272a9.685 9.685 0 008.374 4.842 9.685 9.685 0 009.685-9.685 9.685 9.685 0 00-6.457-9.119v-52.786a9.685 9.685 0 006.457-9.119 9.685 9.685 0 00-9.685-9.685 9.685 9.685 0 00-9.539 8.071H767.72a9.685 9.685 0 00-9.548-8.07zm8.38 14.528h54.271a9.685 9.685 0 00.212.369l-8.369 8.368a6.457 6.457 0 00-2.839-.666 6.457 6.457 0 00-6.242 4.842h-19.794a6.457 6.457 0 00-6.247-4.842 6.457 6.457 0 00-2.843.664l-8.372-8.372a9.685 9.685 0 00.224-.363zm-5.15 4.565l9.697 9.698a6.457 6.457 0 00-.01.264 6.457 6.457 0 003.228 5.585v21.116a6.457 6.457 0 00-3.228 5.582 6.457 6.457 0 00.663 2.842l-8.372 8.372a9.685 9.685 0 00-1.976-.963zm64.566 0v52.497a9.685 9.685 0 00-1.983.957l-8.369-8.37a6.457 6.457 0 00.667-2.838 6.457 6.457 0 00-3.229-5.585v-21.117a6.457 6.457 0 003.229-5.581 6.457 6.457 0 00-.01-.269zM781.8-78.044h23.762a6.457 6.457 0 001.034.742v21.117a6.457 6.457 0 00-3.014 3.968h-19.794a6.457 6.457 0 00-3.019-3.971v-21.117a6.457 6.457 0 001.031-.74zm0 32.284h23.762a6.457 6.457 0 004.262 1.614 6.457 6.457 0 00.269-.01l9.906 9.907a9.685 9.685 0 00-.342 1.402H767.72a9.685 9.685 0 00-.356-1.398l9.913-9.913a6.457 6.457 0 00.266.009 6.457 6.457 0 004.26-1.615z"
style=
"line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1;marker:none"
color=
"#000"
font-weight=
"400"
font-family=
"sans-serif"
overflow=
"visible"
opacity=
".317"
fill=
"#3584e4"
enable-background=
"new"
/></g></svg>
\ No newline at end of file
data/resources/style.css
View file @
4524b06d
.large-title
{
.large-title
{
font-weight
:
300
;
font-weight
:
300
;
font-size
:
24pt
;
font-size
:
24pt
;
letter-spacing
:
0.2rem
;
letter-spacing
:
0.2rem
;
}
}
.page-head
{
.page-title
{
font-weight
:
300
;
font-weight
:
600
;
font-size
:
20pt
;
}
.title-1
{
font-weight
:
800
;
font-size
:
20pt
;
font-size
:
20pt
;
}
}
.title-2
{
.page-body
{
font-weight
:
800
;
font-size
:
15pt
;
}
.title-3
{
font-weight
:
700
;
font-size
:
15pt
;
}
.title-4
{
font-weight
:
700
;
font-size
:
13pt
;
}
.heading
{
font-weight
:
700
;
font-size
:
11pt
;
}
.body
{
font-weight
:
400
;
font-size
:
11pt
;
}
.caption-heading
{
font-weight
:
700
;
font-size
:
9pt
;
}
.caption
{
font-weight
:
400
;
font-weight
:
400
;
font-size
:
9
pt
;
font-size
:
12
pt
;
}
}
src/widgets/headerbar.rs
View file @
4524b06d
use
gtk
::
prelude
::
*
;
use
gtk
::
prelude
::
*
;
pub
struct
HeaderBar
{
pub
struct
HeaderBar
{
pub
widget
:
gtk
::
HeaderBar
,
pub
widget
:
gtk
::
Stack
,
container
:
gtk
::
Stack
,
headerbar
:
gtk
::
HeaderBar
,
next_btn
:
gtk
::
Button
,
next_btn
:
gtk
::
Button
,
}
}
impl
HeaderBar
{
impl
HeaderBar
{
pub
fn
new
()
->
Self
{
pub
fn
new
()
->
Self
{
let
widget
=
gtk
::
HeaderBar
::
new
();
let
widget
=
gtk
::
Stack
::
new
();
let
container
=
gtk
::
Stack
::
new
();
let
headerbar
=
gtk
::
HeaderBar
::
new
();
let
next_btn
=
gtk
::
Button
::
new
();
let
next_btn
=
gtk
::
Button
::
new
();
widget
.set_show_title_buttons
(
true
);
let
headerbar
=
Self
{
widget
,
headerbar
,
next_btn
};
let
headerbar
=
Self
{
widget
,
container
,
next_btn
};
headerbar
.init
();
headerbar
.init
();
headerbar
headerbar
}
}
pub
fn
start_tour
(
&
self
)
{
pub
fn
start_tour
(
&
self
)
{
self
.
container
.set_visible_child_name
(
"pages"
);
self
.
widget
.set_visible_child_name
(
"pages"
);
self
.
widget
.set_show_title_buttons
(
false
);
self
.
headerbar
.set_show_title_buttons
(
false
);
}
}
pub
fn
set_page_nr
(
&
self
,
page_nr
:
i32
,
total_pages
:
i32
)
{
pub
fn
set_page_nr
(
&
self
,
page_nr
:
i32
,
total_pages
:
i32
)
{
...
@@ -32,18 +30,26 @@ impl HeaderBar {
...
@@ -32,18 +30,26 @@ impl HeaderBar {
}
}
}
}
pub
fn
set_page_title
(
&
self
,
title
:
&
str
)
{
self
.headerbar
.set_title
(
Some
(
title
));
}
pub
fn
end_tour
(
&
self
)
{
pub
fn
end_tour
(
&
self
)
{
self
.
container
.set_visible_child_name
(
"welcome"
);
self
.
widget
.set_visible_child_name
(
"welcome"
);
self
.
widget
.set_show_title_buttons
(
true
);
self
.
headerbar
.set_show_title_buttons
(
true
);
}
}
fn
init
(
&
self
)
{
fn
init
(
&
self
)
{
self
.container
.set_hexpand
(
true
);
self
.headerbar
.set_show_title_buttons
(
true
);
self
.container
.set_transition_type
(
gtk
::
StackTransitionType
::
SlideLeftRight
);
self
.widget
.set_hexpand
(
true
);
self
.container
.set_transition_duration
(
300
);
self
.widget
.set_transition_type
(
gtk
::
StackTransitionType
::
SlideLeftRight
);
self
.container
.add_named
(
&
gtk
::
Label
::
new
(
None
),
"welcome"
);
self
.widget
.set_transition_duration
(
300
);
self
.widget
.get_style_context
()
.add_class
(
"titlebar"
);
let
pages_container
=
gtk
::
Box
::
new
(
gtk
::
Orientation
::
Horizontal
,
0
);
let
container
=
gtk
::
HeaderBar
::
new
();
container
.set_show_title_buttons
(
true
);
container
.set_title
(
Some
(
"Welcome Tour"
));
self
.widget
.add_named
(
&
container
,
"welcome"
);
let
previous_btn
=
gtk
::
Button
::
new
();
let
previous_btn
=
gtk
::
Button
::
new
();
previous_btn
.add
(
&
gtk
::
Label
::
new
(
Some
(
"Previous"
)));
previous_btn
.add
(
&
gtk
::
Label
::
new
(
Some
(
"Previous"
)));
...
@@ -59,10 +65,8 @@ impl HeaderBar {
...
@@ -59,10 +65,8 @@ impl HeaderBar {
self
.next_btn
.set_hexpand
(
true
);
self
.next_btn
.set_hexpand
(
true
);
self
.next_btn
.set_property_width_request
(
60
);
self
.next_btn
.set_property_width_request
(
60
);
pages_container
.add
(
&
previous_btn
);
self
.headerbar
.pack_start
(
&
previous_btn
);
pages_container
.add
(
&
self
.next_btn
);
self
.headerbar
.pack_end
(
&
self
.next_btn
);
self
.container
.add_named
(
&
pages_container
,
"pages"
);
self
.widget
.add_named
(
&
self
.headerbar
,
"pages"
);
self
.widget
.set_custom_title
(
Some
(
&
self
.container
));
}
}
}
}
src/widgets/pages/image.rs
View file @
4524b06d
use
super
::
page
::
Pageable
;
use
gtk
::
prelude
::
*
;
use
gtk
::
prelude
::
*
;
pub
struct
ImagePageWidget
{
pub
struct
ImagePageWidget
{
pub
widget
:
gtk
::
Box
,
pub
widget
:
gtk
::
Box
,
resource_uri
:
String
,
pub
title
:
String
,
pub
head
:
String
,
pub
body
:
String
,
}
impl
Pageable
for
ImagePageWidget
{
fn
get_widget
(
&
self
)
->
gtk
::
Widget
{
self
.widget
.clone
()
.upcast
::
<
gtk
::
Widget
>
()
}
fn
get_title
(
&
self
)
->
String
{
self
.title
.clone
()
}
fn
get_head
(
&
self
)
->
String
{
self
.head
.clone
()
}
fn
get_body
(
&
self
)
->
String
{
self
.body
.clone
()
}
}
}
impl
ImagePageWidget
{
impl
ImagePageWidget
{
pub
fn
new
(
resource_uri
:
&
str
,
t
ext
:
&
str
)
->
Self
{
pub
fn
new
(
resource_uri
:
&
str
,
t
itle
:
&
str
,
head
:
&
str
,
body
:
&
str
)
->
Self
{
let
widget
=
gtk
::
Box
::
new
(
gtk
::
Orientation
::
Vertical
,
48
);
let
widget
=
gtk
::
Box
::
new
(
gtk
::
Orientation
::
Vertical
,
12
);
let
image_page
=
Self
{
widget
};
let
image_page
=
Self
{
widget
,
resource_uri
:
resource_uri
.to_string
(),
title
:
title
.to_string
(),
head
:
head
.to_string
(),
body
:
body
.to_string
(),
};
image_page
.init
(
resource_uri
,
text
);
image_page
.init
();
image_page
image_page
}
}
fn
init
(
&
self
,
resource_uri
:
&
str
,
text
:
&
str
)
{
fn
init
(
&
self
)
{
self
.widget
.set_halign
(
gtk
::
Align
::
Center
);
self
.widget
.set_halign
(
gtk
::
Align
::
Center
);
self
.widget
.set_valign
(
gtk
::
Align
::
Center
);
self
.widget
.set_valign
(
gtk
::
Align
::
Center
);
self
.widget
.set_property_margin
(
48
);
self
.widget
.set_property_margin
(
48
);
let
image
=
gtk
::
Picture
::
new_for_resource
(
Some
(
resource_uri
));
let
image
=
gtk
::
Picture
::
new_for_resource
(
Some
(
&
self
.
resource_uri
));
image
.set_valign
(
gtk
::
Align
::
Start
);
image
.set_valign
(
gtk
::
Align
::
Start
);
self
.widget
.add
(
&
image
);
self
.widget
.add
(
&
image
);
let
label
=
gtk
::
Label
::
new
(
Some
(
text
));
let
head_label
=
gtk
::
Label
::
new
(
Some
(
&
self
.get_head
()));
label
.set_lines
(
2
);
head_label
.set_justify
(
gtk
::
Justification
::
Center
);
label
.set_property_wrap
(
true
);
head_label
.set_valign
(
gtk
::
Align
::
Center
);
label
.set_justify
(
gtk
::
Justification
::
Center
);
head_label
.set_margin_top
(
36
);
label
.set_valign
(
gtk
::
Align
::
Center
);
head_label
.get_style_context
()
.add_class
(
"page-title"
);
label
.get_style_context
()
.add_class
(
"page-head"
);
self
.widget
.add
(
&
label
);
self
.widget
.add
(
&
head_label
);
let
body_label
=
gtk
::
Label
::
new
(
Some
(
&
self
.get_body
()));
body_label
.set_lines
(
2
);
body_label
.set_property_wrap
(
true
);
body_label
.set_justify
(
gtk
::
Justification
::
Center
);
body_label
.set_valign
(
gtk
::
Align
::
Center
);
body_label
.get_style_context
()
.add_class
(
"page-body"
);
body_label
.set_margin_top
(
12
);
self
.widget
.add
(
&
body_label
);
}
}
}
}
src/widgets/pages/mod.rs
View file @
4524b06d
mod
image
;
mod
image
;
mod
page
;
mod
welcome
;
mod
welcome
;
pub
use
image
::
ImagePageWidget
;
pub
use
image
::
ImagePageWidget
;
pub
use
page
::
Pageable
;
pub
use
welcome
::
WelcomePageWidget
;
pub
use
welcome
::
WelcomePageWidget
;
src/widgets/pages/page.rs
0 → 100644
View file @
4524b06d
pub
trait
Pageable
{
fn
get_widget
(
&
self
)
->
gtk
::
Widget
;
fn
get_title
(
&
self
)
->
String
;
fn
get_head
(
&
self
)
->
String
;
fn
get_body
(
&
self
)
->
String
;
}
src/widgets/paginator.rs
View file @
4524b06d
...
@@ -2,11 +2,11 @@ use gtk::prelude::*;
...
@@ -2,11 +2,11 @@ use gtk::prelude::*;
use
std
::
cell
::
RefCell
;
use
std
::
cell
::
RefCell
;
use
std
::
convert
::
TryInto
;
use
std
::
convert
::
TryInto
;
use
super
::
pages
::
ImagePageWidget
;
use
super
::
pages
::
Pageable
;
pub
struct
PaginatorWidget
{
pub
struct
PaginatorWidget
{
pub
widget
:
gtk
::
Stack
,
pub
widget
:
gtk
::
Stack
,
pages
:
Vec
<
ImagePageWidget
>
,
pages
:
Vec
<
Box
<
dyn
Pageable
>
>
,
current_page
:
RefCell
<
i32
>
,
current_page
:
RefCell
<
i32
>
,
}
}
...
@@ -27,10 +27,15 @@ impl PaginatorWidget {
...
@@ -27,10 +27,15 @@ impl PaginatorWidget {
self
.pages
.len
()
.try_into
()
.unwrap_or
(
1
)
self
.pages
.len
()
.try_into
()
.unwrap_or
(
1
)
}
}
pub
fn
get_current_page
(
&
self
)
->
i32
{
pub
fn
get_current_page
_nr
(
&
self
)
->
i32
{
self
.current_page
.borrow
()
.clone
()
self
.current_page
.borrow
()
.clone
()
}
}
pub
fn
get_current_page
(
&
self
)
->
Option
<&
Box
<
dyn
Pageable
>>
{
let
current_page_idx
:
usize
=
(
self
.get_current_page_nr
()
-
1
)
.try_into
()
.unwrap_or
(
0
);
self
.pages
.get
(
current_page_idx
)
}
pub
fn
next
(
&
self
)
{
pub
fn
next
(
&
self
)
{
let
next_page
=
self
.current_page
.borrow
()
.clone
()
+
1
;
let
next_page
=
self
.current_page
.borrow
()
.clone
()
+
1
;
self
.go_to
(
next_page
);
self
.go_to
(
next_page
);
...
@@ -41,11 +46,11 @@ impl PaginatorWidget {
...
@@ -41,11 +46,11 @@ impl PaginatorWidget {
self
.go_to
(
previous_page
);
self
.go_to
(
previous_page
);
}
}
pub
fn
add_page
(
&
mut
self
,
page
:
ImagePageWidget
)
{
pub
fn
add_page
(
&
mut
self
,
page
:
Box
<
dyn
Pageable
>
)
{
let
page_nr
=
self
.pages
.len
()
+
1
;
let
page_nr
=
self
.pages
.len
()
+
1
;
let
page_name
=
format!
(
"page-{}"
,
page_nr
);
let
page_name
=
format!
(
"page-{}"
,
page_nr
);
self
.widget
.add_named
(
&
page
.
widget
,
&
page_name
);
self
.widget
.add_named
(
&
page
.
get_widget
()
,
&
page_name
);
self
.pages
.push
(
page
);
self
.pages
.push
(
page
);
}
}
...
...
src/widgets/window.rs
View file @
4524b06d
...
@@ -31,6 +31,9 @@ impl Window {
...
@@ -31,6 +31,9 @@ impl Window {
}
}
pub
fn
start_tour
(
&
self
)
{
pub
fn
start_tour
(
&
self
)
{
if
let
Some
(
page
)
=
self
.paginator
.get_current_page
()
{
self
.headerbar
.set_page_title
(
&
page
.get_title
());
}
self
.container
.set_visible_child_name
(
"pages"
);
self
.container
.set_visible_child_name
(
"pages"
);
self
.headerbar
.start_tour
();
self
.headerbar
.start_tour
();
}
}
...
@@ -42,7 +45,7 @@ impl Window {
...
@@ -42,7 +45,7 @@ impl Window {
pub
fn
next_page
(
&
self
)
{
pub
fn
next_page
(
&
self
)
{
let
total_pages
=
self
.paginator
.get_total_pages
();
let
total_pages
=
self
.paginator
.get_total_pages
();
let
current_page
=
self
.paginator
.get_current_page
();
let
current_page
=
self
.paginator
.get_current_page
_nr
();
self
.headerbar
.set_page_nr
(
current_page
+
1
,
total_pages
);
self
.headerbar
.set_page_nr
(
current_page
+
1
,
total_pages
);
if
current_page
==
total_pages
{
if
current_page
==
total_pages
{
...
@@ -50,17 +53,24 @@ impl Window {
...
@@ -50,17 +53,24 @@ impl Window {
}
else
{
}
else
{
self
.paginator
.next
();
self
.paginator
.next
();
}
}
if
let
Some
(
page
)
=
self
.paginator
.get_current_page
()
{
self
.headerbar
.set_page_title
(
&
page
.get_title
());
}
}
}
pub
fn
previous_page
(
&
self
)
{
pub
fn
previous_page
(
&
self
)
{
let
total_pages
=
self
.paginator
.get_total_pages
();
let
total_pages
=
self
.paginator
.get_total_pages
();
let
current_page
=
self
.paginator
.get_current_page
();
let
current_page
=
self
.paginator
.get_current_page
_nr
();
self
.headerbar
.set_page_nr
(
current_page
-
1
,
total_pages
);
self
.headerbar
.set_page_nr
(
current_page
-
1
,
total_pages
);
match
current_page
{
match
current_page
{
1
=>
self
.end_tour
(),
1
=>
self
.end_tour
(),
_
=>
self
.paginator
.previous
(),
_
=>
self
.paginator
.previous
(),
}
}
if
let
Some
(
page
)
=
self
.paginator
.get_current_page
()
{
self
.headerbar
.set_page_title
(
&
page
.get_title
());
}
}
}
fn
init
(
&
mut
self
)
{
fn
init
(
&
mut
self
)
{
...
@@ -78,20 +88,48 @@ impl Window {
...
@@ -78,20 +88,48 @@ impl Window {
let
welcome_page
=
WelcomePageWidget
::
new
();
let
welcome_page
=
WelcomePageWidget
::
new
();
self
.container
.add_named
(
&
welcome_page
.widget
,
"welcome"
);
self
.container
.add_named
(
&
welcome_page
.widget
,
"welcome"
);
self
.paginator
self
.paginator
.add_page
(
Box
::
new
(
ImagePageWidget
::
new
(
.add_page
(
ImagePageWidget
::
new
(
"/org/gnome/Tour/activities.svg"
,
"Click Activities to view windows, launch apps and search"
));
"/org/gnome/Tour/activities.svg"
,
self
.paginator
"Activities Overview"
,
.add_page
(
ImagePageWidget
::
new
(
"/org/gnome/Tour/search.svg"
,
"In the Activities Overview, just start typing to search"
));
"Open Activities to start apps"
,
self
.paginator
"You can also view open windows, search and use workspaces."
,
.add_page
(
ImagePageWidget
::
new
(
"/org/gnome/Tour/calendar.svg"
,
"Click the time to view the calendar, notifications and weather"
));
)));
self
.paginator
.add_page
(
ImagePageWidget
::
new
(
self
.paginator
.add_page
(
Box
::
new
(
ImagePageWidget
::
new
(
"/org/gnome/Tour/search.svg"
,
"Search"
,
"In the Activities Overview, just start typing to search"
,
"Search can be used to launch apps, find settings, do calculations and much more."
,
)));
self
.paginator
.add_page
(
Box
::
new
(
ImagePageWidget
::
new
(
"/org/gnome/Tour/calendar.svg"
,
"Date & Time"
,
"Click the time to see your now and next"
,
"This includes notifications, media controls, calendar events, the weather and world clocks."
,
)));
self
.paginator
.add_page
(
Box
::
new
(
ImagePageWidget
::
new
(
"/org/gnome/Tour/status-menu.svg"
,
"/org/gnome/Tour/status-menu.svg"
,
"Use the status menu to view system information and access settings"
,
"System Menu"
,
));
"View system information and settings"
,
self
.paginator
"Get an overview of the system status and quickly change settings."
,
.add_page
(
ImagePageWidget
::
new
(
"/org/gnome/Tour/software.svg"
,
"Use the Software app to find and install apps"
));
)));
self
.container
.add_named
(
&
self
.paginator.widget
,
"pages"
);
self
.paginator
.add_page
(
Box
::
new
(
ImagePageWidget
::
new
(
"/org/gnome/Tour/software.svg"
,
"Software"
,
"Find and install apps"
,
"The Software app makese it easy to find and install all the apps you need."
,
)));
self
.paginator
.add_page
(
Box
::
new
(
ImagePageWidget
::
new
(
"/org/gnome/Tour/help.svg"
,
"Learn More"
,
"That's it! To learn more, see the Help"
,
"The help app contains information, tips and tricks."
,
)));
self
.container
.add_named
(
&
self
.paginator.widget
,
"pages"
);
self
.widget
.add
(
&
self
.container
);
self
.widget
.add
(
&
self
.container
);
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment