Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Add Boat Rental Quest #5741

Merged
merged 10 commits into from
Nov 26, 2024
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ import de.westnordost.streetcomplete.quests.bike_shop.AddBikeRepairAvailability
import de.westnordost.streetcomplete.quests.bike_shop.AddSecondHandBicycleAvailability
import de.westnordost.streetcomplete.quests.board_name.AddBoardName
import de.westnordost.streetcomplete.quests.board_type.AddBoardType
import de.westnordost.streetcomplete.quests.boat_rental.AddBoatRental
import de.westnordost.streetcomplete.quests.bollard_type.AddBollardType
import de.westnordost.streetcomplete.quests.bridge_structure.AddBridgeStructure
import de.westnordost.streetcomplete.quests.building_entrance.AddEntrance
Expand Down Expand Up @@ -455,6 +456,8 @@ fun questTypeRegistry(

/* ↓ 4.quests that may need to go inside ------------------------------------------------ */

174 to AddBoatRental(),

112 to AddWheelchairAccessPublicTransport(), // need to look out for lifts etc, maybe even enter the station

113 to AddIsAmenityIndoor(getFeature), // need to go inside in case it is inside (or gone)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package de.westnordost.streetcomplete.quests.boat_rental

import de.westnordost.streetcomplete.R
import de.westnordost.streetcomplete.data.osm.geometry.ElementGeometry
import de.westnordost.streetcomplete.data.osm.osmquests.OsmFilterQuestType
import de.westnordost.streetcomplete.data.user.achievements.EditTypeAchievement.OUTDOORS
import de.westnordost.streetcomplete.data.user.achievements.EditTypeAchievement.RARE
import de.westnordost.streetcomplete.osm.Tags

class AddBoatRental : OsmFilterQuestType<List<BoatRental>>() {

override val elementFilter = """
nodes, ways with
amenity = boat_rental
and (
${BoatRental.entries.joinToString(" and ") { "!${it.osmValue}" }}
or ${DEPRECATED_RENTALS.joinToString(" or ")}
)
"""
override val changesetComment = "Specify boats for rental"
override val wikiLink = "Tag:amenity=boat_rental"
override val icon = R.drawable.ic_quest_boat
override val achievements = listOf(OUTDOORS, RARE)

override fun getTitle(tags: Map<String, String>) = R.string.quest_boat_rental_title

override fun createForm() = AddBoatRentalForm()

override fun applyAnswerTo(answer: List<BoatRental>, tags: Tags, geometry: ElementGeometry, timestampEdited: Long) {
answer.forEach { tags[it.osmValue] = "yes" }
// remove ambiguous ones that should have been specified correctly by the user's answer
DEPRECATED_RENTALS.forEach { tags.remove(it) }
}
}

private val DEPRECATED_RENTALS = listOf(
// ambiguous:
// motor or rowing? what kind of board? rowing what?
"dinghy_rental", "paddleboard_rental", "board_rental", "rowing_rental"
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package de.westnordost.streetcomplete.quests.boat_rental

import android.os.Bundle
import de.westnordost.streetcomplete.R
import de.westnordost.streetcomplete.quests.AImageListQuestForm

class AddBoatRentalForm : AImageListQuestForm<BoatRental, List<BoatRental>>() {

override val items = BoatRental.entries.map { it.asItem() }
override val itemsPerRow = 3

override val maxSelectableItems = -1
override val moveFavoritesToFront = false

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
imageSelector.cellLayoutId = R.layout.cell_icon_select_with_label_below
}

override fun onClickOk(selectedItems: List<BoatRental>) {
applyAnswer(selectedItems)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package de.westnordost.streetcomplete.quests.boat_rental

enum class BoatRental(val osmValue: String) {
// sort order: first the small things
CANOE("canoe_rental"),
KAYAK("kayak_rental"),
PEDALBOAT("pedalboat_rental"),
SUP("standup_paddleboard_rental"),
ROWBOAT("rowboat_rental"),
SAILBOAT("sailboat_rental"),
RAFT("raft_rental"),
SURFBOARD("surfboard_rental"),
SAILBOARD("sailboard_rental"),
// then the big things
MOTORBOAT("motorboat_rental"),
JETSKI("jetski_rental"),
HOUSEBOAT("houseboat_rental"),
YACHT("yacht_rental"),
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package de.westnordost.streetcomplete.quests.boat_rental

import de.westnordost.streetcomplete.R
import de.westnordost.streetcomplete.quests.boat_rental.BoatRental.*
import de.westnordost.streetcomplete.view.image_select.Item

fun BoatRental.asItem() = Item(this, iconResId, titleResId)

private val BoatRental.titleResId: Int get() = when (this) {
CANOE -> R.string.quest_boat_rental_canoe
KAYAK -> R.string.quest_boat_rental_kayak
PEDALBOAT -> R.string.quest_boat_rental_pedalboat
SUP -> R.string.quest_boat_rental_standup_paddleboard
ROWBOAT -> R.string.quest_boat_rental_rowboat
SAILBOAT -> R.string.quest_boat_rental_sailboat
RAFT -> R.string.quest_boat_rental_raft
SURFBOARD -> R.string.quest_boat_rental_surfboard
SAILBOARD -> R.string.quest_boat_rental_sailboard
MOTORBOAT -> R.string.quest_boat_rental_motorboat
JETSKI -> R.string.quest_boat_rental_jetski
HOUSEBOAT -> R.string.quest_boat_rental_houseboat
YACHT -> R.string.quest_boat_rental_yacht
}
private val BoatRental.iconResId: Int get() = when (this) {
CANOE -> R.drawable.ic_boat_rental_canoe
KAYAK -> R.drawable.ic_boat_rental_kayak
PEDALBOAT -> R.drawable.ic_boat_rental_pedalboat
SUP -> R.drawable.ic_boat_rental_standup_paddleboard
ROWBOAT -> R.drawable.ic_boat_rental_rowboat
SAILBOAT -> R.drawable.ic_boat_rental_sailboat
RAFT -> R.drawable.ic_boat_rental_raft
SURFBOARD -> R.drawable.ic_boat_rental_surfboard
SAILBOARD -> R.drawable.ic_boat_rental_sailboard
MOTORBOAT -> R.drawable.ic_boat_rental_motorboat
JETSKI -> R.drawable.ic_boat_rental_jetski
HOUSEBOAT -> R.drawable.ic_boat_rental_houseboat
YACHT -> R.drawable.ic_boat_rental_yacht
}
33 changes: 33 additions & 0 deletions app/src/main/res/drawable/ic_boat_rental_canoe.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="96dp"
android:height="96dp"
android:viewportWidth="96"
android:viewportHeight="96">
<path
android:pathData="m26.36,31.57c0.859,-1.504 2.792,-2.148 4.296,-1.289l12.244,6.659 16.375,2.962 -5.667,7.244 -12.212,-3.977c-0.43,0 -0.644,-0.215 -0.859,-0.43l-12.673,-7.088c-1.718,-0.644 -2.363,-2.578 -1.504,-4.081z"
android:fillColor="#f9a825"/>
<path
android:pathData="m60.728,39.303c3.006,-0.099 5.585,1.933 6.659,4.726l6.229,18.902c0.859,2.578 0.215,5.155 -1.504,6.873l-11.599,-2.578 -7.303,-18.687c-0.023,-5.944 2.123,-9.059 7.518,-9.236z"
android:fillColor="#5ec08f"/>
<path
android:pathData="m52.994,47.895c0.215,0 2.148,0.215 3.652,-0.644l8.77,22.27 -4.903,-2.294z"
android:fillColor="#41a571"/>
<path
android:pathData="m96,64.851v14.243l-67.656,0.017c-10.314,0.003 -28.644,-7.193 -10.394,-31.87 16.648,23.832 52.46,18.196 78.05,17.61z"
android:fillColor="#ff754c"/>
<path
android:pathData="m89.748,71.331s-2.084,4.167 -8.335,4.167 -8.335,-4.167 -8.335,-4.167 -2.084,4.167 -8.335,4.167c-6.251,0 -8.335,-4.167 -8.335,-4.167s-2.084,4.167 -8.335,4.167 -8.335,-4.167 -8.335,-4.167 -2.084,4.167 -8.335,4.167c-6.251,0 -8.335,-4.167 -8.335,-4.167s-2.084,4.167 -8.335,4.167c-6.251,0 -8.335,-4.167 -8.335,-4.167s-1.817,3.125 -6.401,3.959v12.71h96v-12.723c-4.585,-0.834 -6.252,-3.946 -6.252,-3.946z"
android:fillColor="#7e8ccf"/>
<path
android:pathData="m89.748,75.498s-2.084,4.167 -8.335,4.167 -8.335,-4.167 -8.335,-4.167 -2.084,4.167 -8.335,4.167c-6.251,0 -8.335,-4.167 -8.335,-4.167s-2.084,4.167 -8.335,4.167 -8.335,-4.167 -8.335,-4.167 -2.084,4.167 -8.335,4.167c-6.251,0 -8.335,-4.167 -8.335,-4.167s-2.084,4.167 -8.335,4.167c-6.251,0 -8.335,-4.167 -8.335,-4.167s-1.817,3.125 -6.401,3.959v16.543h96v-16.543c-4.585,-0.834 -6.252,-3.959 -6.252,-3.959z"
android:fillColor="#c5cae9"/>
<path
android:pathData="m55.143,19.972c-4.081,0 -7.518,3.437 -7.518,7.518 0,4.081 3.437,7.518 7.518,7.518 4.081,0 7.518,-3.437 7.518,-7.518 0,-4.081 -3.437,-7.518 -7.518,-7.518z"
android:fillColor="#ffb74d"/>
<path
android:pathData="m31.196,33.235 l5.667,31.769c1.046,4.511 4.927,5.645 5.869,14.127l0.624,6.287c-2.939,2.881 -7.143,3.659 -11.719,2.295l-0.957,-6.509c-0.504,-9.569 2.987,-11.809 2.651,-17.182h0.025l-5.492,-30.371c-0.224,-2.509 2.893,-2.962 3.332,-0.416z"
android:fillColor="#546e7a"/>
<path
android:pathData="m33.448,56.701 l10.096,-5.155 12.709,-11.298c3.55,-2.298 8.655,2.679 4.296,6.444l-12.709,10.009c-0.215,0.215 -0.43,0.43 -0.859,0.644l-12.673,6.229c-3,1.027 -6.73,-3.976 -0.859,-6.873z"
android:fillColor="#ffb74d"/>
</vector>
34 changes: 34 additions & 0 deletions app/src/main/res/drawable/ic_boat_rental_houseboat.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="96dp"
android:height="96dp"
android:viewportWidth="96"
android:viewportHeight="96">
<path
android:pathData="m9.021,71.567c1.257,1.923 1.908,6.999 3.075,8.072 12.482,11.455 70.248,4.565 70.248,4.565s1.503,-7.361 2.631,-12.636z"
android:fillColor="#c84747"/>
<path
android:pathData="m21.679,71.561h53.8v-31.647l-28.482,-18.988 -25.319,18.988z"
android:fillColor="#deb486"/>
<path
android:pathData="M24.844,11.442h12.659v18.988h-12.659z"
android:fillColor="#deb486"/>
<path
android:pathData="m15.35,43.075 l31.647,-28.482 34.812,28.482"
android:strokeWidth="10"
android:strokeColor="#c84747"/>
<path
android:pathData="M50.161,46.242h12.659v25.319h-12.659z"
android:fillColor="#c08268"/>
<path
android:pathData="M28.009,49.409h15.824v12.659h-15.824z"
android:fillColor="#95685e"/>
<path
android:pathData="M28.009,46.242h15.824v3.165h-15.824z"
android:fillColor="#c08268"/>
<path
android:pathData="m96.003,81.601c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8 -9.6,-4.8 -9.6,-4.8 -2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8v14.4h96v-14.4z"
android:fillColor="#7e8ccf"/>
<path
android:pathData="m96.003,86.401c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8 -9.6,-4.8 -9.6,-4.8 -2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8v9.6h96v-9.6z"
android:fillColor="#c5cae9"/>
</vector>
39 changes: 39 additions & 0 deletions app/src/main/res/drawable/ic_boat_rental_jetski.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="96dp"
android:height="96dp"
android:viewportWidth="96"
android:viewportHeight="96">
<path
android:pathData="m6.806,68.424 l82.08,-6.48s-19.224,25.92 -38.88,25.92h-10.8s-31.752,-4.32 -32.4,-19.44z"
android:fillColor="#546e7a"/>
<path
android:pathData="m38.126,5.784c4.104,0 7.56,3.456 7.56,7.56 0,4.104 -3.456,7.56 -7.56,7.56 -4.104,0 -7.56,-3.456 -7.56,-7.56 0,-4.104 3.456,-7.56 7.56,-7.56"
android:fillColor="#ffba57"/>
<path
android:pathData="m91.046,61.944s-8.208,-11.448 -23.976,-10.152c-15.768,1.296 -25.92,4.104 -34.344,3.672 -8.424,-0.432 -15.984,1.08 -15.984,1.08l-9.936,11.88z"
android:fillColor="#5ec08f"/>
<path
android:pathData="m50.261,36.358 l11.664,4.535 -0.074,0.189 -11.664,-4.535z"
android:fillColor="#455a64"/>
<path
android:pathData="m6.806,48.984h7.56c3.024,0 5.184,2.16 9.72,2.16h21.6l6.48,6.48h-17.28c-14.688,0 -18.144,-1.08 -18.144,-1.08 -5.832,-4.104 -9.936,-5.4 -9.936,-5.4v-2.16z"
android:fillColor="#546e7a"/>
<path
android:pathData="m45.686,51.144 l15.12,-12.96s19.008,6.264 30.24,23.76c0,0 -7.992,-6.264 -21.6,-6.48 -4.536,0 -11.664,0.432 -17.28,2.16z"
android:fillColor="#76dda6"/>
<path
android:pathData="m96,79.2c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8 -9.6,-4.8 -9.6,-4.8 -2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8v16.8h96v-16.8z"
android:fillColor="#7e8ccf"/>
<path
android:pathData="m96,84c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8 -9.6,-4.8 -9.6,-4.8 -2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8v12h96v-12z"
android:fillColor="#c5cae9"/>
<path
android:pathData="m18.686,40.344 l5.184,-12.528c1.08,-3.024 3.672,-4.752 6.696,-4.752 3.024,0 4.752,1.944 5.832,3.456 0,0 2.376,3.888 1.512,6.264l-8.424,18.36h-5.4c-5.184,0 -7.344,-2.808 -6.264,-8.208 0.432,-0.864 0.648,-1.728 0.864,-2.592z"
android:fillColor="#9575cd"/>
<path
android:pathData="m37.91,32.136 l-8.424,19.008 -3.888,-0.648 10.152,-22.464z"
android:fillColor="#7e57c2"/>
<path
android:pathData="m54.326,38.4c0.648,-1.728 -0.216,-3.456 -1.944,-4.104l-19.656,-10.8c-1.728,-0.648 -3.456,0.216 -4.104,1.944 -0.648,1.728 0.216,3.456 1.944,4.104l19.656,10.8c1.512,0.432 3.456,-0.216 4.104,-1.944zM29.486,68.424c1.296,0 2.592,-0.864 3.024,-2.16l6.48,-17.28c0.432,-1.08 0.216,-2.16 -0.432,-3.024 -0.432,-0.864 -1.512,-1.296 -2.592,-1.296h-12.96c-1.728,0 -3.24,1.512 -3.24,3.24 0,1.728 1.512,3.24 3.24,3.24h8.208l-4.752,12.96c-0.648,1.728 0.216,3.456 1.944,4.104 0.432,0.216 0.648,0.216 1.08,0.216z"
android:fillColor="#ffba57"/>
</vector>
31 changes: 31 additions & 0 deletions app/src/main/res/drawable/ic_boat_rental_kayak.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="96dp"
android:height="96dp"
android:viewportWidth="96"
android:viewportHeight="96">
<path
android:pathData="m49.68,37.491c3.672,0 6.48,2.808 6.48,6.48s-2.808,6.48 -6.48,6.48c-3.672,0 -6.48,-2.808 -6.48,-6.48s2.808,-6.48 6.48,-6.48"
android:fillColor="#ffba57"/>
<path
android:pathData="m51.122,22.291 l19.891,43.315"
android:strokeWidth="2.7"
android:strokeColor="#546e7a"/>
<path
android:pathData="m12.96,63.411h17.28c10.584,0 25.056,2.16 39.744,6.696 -0.864,5.4 -7.56,12.744 -15.984,14.904 -8.424,2.16 -41.04,2.16 -41.04,2.16h-12.96v-23.112z"
android:fillColor="#5ec08f"/>
<path
android:pathData="m45.36,64.707s-6.912,-1.296 -15.12,-1.296h-19.224c0,1.08 -0.216,1.944 -0.216,2.16 0,5.616 8.64,8.64 17.28,8.64 8.64,0 17.28,-3.024 17.28,-8.64z"
android:fillColor="#0d7c6f"/>
<path
android:pathData="m68.904,58.227c-0.432,-1.728 -2.376,-2.808 -4.104,-2.16 -12.96,3.888 -22.032,-4.32 -25.92,-9.072 1.08,-15.336 12.312,-15.984 14.04,-15.984 1.728,0 3.24,-1.512 3.24,-3.24 0,-1.728 -1.512,-3.24 -3.24,-3.24 -7.776,0 -22.032,4.968 -22.68,23.76 -3.024,2.808 -6.912,7.344 -10.584,14.904 -0.648,1.08 -1.08,2.376 -1.728,3.672l-0.432,1.08c2.16,1.08 5.832,1.944 10.368,1.944 3.456,0 6.048,-0.432 8.208,-1.08 1.08,-1.944 1.944,-3.456 2.808,-4.536 1.512,-1.944 2.592,-3.024 3.24,-3.456 3.888,1.296 9.72,2.808 16.2,2.808 2.592,0 5.184,-0.432 8.208,-1.08 1.944,-0.864 3.024,-2.592 2.376,-4.32z"
android:fillColor="#ff754c"/>
<path
android:pathData="m52.272,24.747c3.24,-1.512 1.296,-11.016 -3.888,-21.816l-11.664,5.4c4.968,10.8 12.312,17.928 15.552,16.416zM68.688,60.603c-3.24,1.728 -1.512,11.664 3.888,22.248l11.664,-5.832c-5.4,-10.584 -12.312,-17.928 -15.552,-16.416z"
android:fillColor="#546e7a"/>
<path
android:pathData="m96,81.6c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8v14.4h96v-14.4z"
android:fillColor="#7e8ccf"/>
<path
android:pathData="m96,86.4c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8v9.6h96v-9.6z"
android:fillColor="#c5cae9"/>
</vector>
42 changes: 42 additions & 0 deletions app/src/main/res/drawable/ic_boat_rental_motorboat.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="96dp"
android:height="96dp"
android:viewportWidth="96"
android:viewportHeight="96">
<path
android:pathData="m45.653,65.528 l-8.955,-6.478 2.668,-3.239 8.574,6.669z"
android:fillColor="#546e7a"/>
<path
android:pathData="m19.07,65.111 l2.615,-6.911c1.868,-6.164 -3.923,-8.032 -3.923,-8.032h-2.802c-2.615,0 -4.857,1.681 -5.791,4.109l-3.549,10.834z"
android:fillColor="#ff754c"/>
<path
android:pathData="m18.883,55.771h3.362c-0.187,0.747 -0.374,1.494 -0.56,2.428l-3.736,9.9 -4.67,2.615z"
android:fillColor="#e64a19"/>
<path
android:pathData="m19.63,33.356c3.549,0 6.538,2.989 6.538,6.538s-2.989,6.538 -6.538,6.538 -6.538,-2.989 -6.538,-6.538 2.989,-6.538 6.538,-6.538"
android:fillColor="#ffba57"/>
<path
android:pathData="m25.234,63.243c-0.747,0 -1.494,-0.187 -2.055,-0.747l-7.472,-7.472c-1.121,-1.121 -1.121,-2.802 0,-3.923s2.802,-1.121 3.923,0l5.977,5.977 7.472,-4.483c1.308,-0.747 2.989,-0.374 3.923,0.934 0.747,1.308 0.374,2.989 -0.934,3.923l-9.34,5.604c-0.56,0 -0.934,0.187 -1.494,0.187z"
android:fillColor="#ff754c"/>
<path
android:pathData="m86.4,64.8c-6.554,18.498 -20.114,21.375 -28.8,21.6h-57.599v-21.6z"
android:fillColor="#5ec08f"/>
<path
android:pathData="m95.999,81.6c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8 -9.6,-4.8 -9.6,-4.8 -2.4,4.8 -9.6,4.8 -9.6,-4.8 -9.6,-4.8 -2.4,4.8 -9.6,4.8 -9.6,-4.8 -9.6,-4.8 -2.4,4.8 -9.6,4.8 -9.6,-4.8 -9.6,-4.8 -2.4,4.8 -9.6,4.8v14.4h96z"
android:fillColor="#7e8ccf"/>
<path
android:pathData="m95.999,86.4c-7.2,0 -9.6,-4.8 -9.6,-4.8s-2.4,4.8 -9.6,4.8 -9.6,-4.8 -9.6,-4.8 -2.4,4.8 -9.6,4.8 -9.6,-4.8 -9.6,-4.8 -2.4,4.8 -9.6,4.8 -9.6,-4.8 -9.6,-4.8 -2.4,4.8 -9.6,4.8 -9.6,-4.8 -9.6,-4.8 -2.4,4.8 -9.6,4.8v9.6h96z"
android:fillColor="#c5cae9"/>
<path
android:pathData="m42.513,52.27 l-8.964,10.549"
android:strokeWidth="2"
android:strokeColor="#546e7a"/>
<path
android:pathData="m61.855,52.268c-14.443,1.563 -21.927,5.937 -30.296,12.727h40.72z"
android:fillColor="#82cdc6"/>
<path
android:pathData="m0,66.407 l86.563,-0.097"
android:strokeWidth="4"
android:strokeColor="#0d7c6f"
android:strokeLineCap="round"/>
</vector>
Loading