koishi-plugin-zaoan-leafing 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/lib/config.d.ts +35 -0
  2. package/lib/constants.d.ts +11 -0
  3. package/lib/database.d.ts +48 -0
  4. package/lib/index.d.ts +10 -0
  5. package/lib/index.js +5743 -0
  6. package/lib/services/background.d.ts +18 -0
  7. package/lib/services/card.d.ts +17 -0
  8. package/lib/services/leaderboard.d.ts +48 -0
  9. package/lib/services/location.d.ts +13 -0
  10. package/lib/services/pexels.d.ts +7 -0
  11. package/lib/services/pig-icon.d.ts +5 -0
  12. package/lib/services/summary.d.ts +69 -0
  13. package/lib/services/sunrise.d.ts +6 -0
  14. package/lib/services/travel.d.ts +21 -0
  15. package/lib/services/unsplash.d.ts +7 -0
  16. package/lib/services/worldmap.d.ts +52 -0
  17. package/lib/types.d.ts +11 -0
  18. package/lib/utils/countryMapping.d.ts +2 -0
  19. package/package.json +28 -0
  20. package/pig_svgs/black-white-pig.svg +16 -0
  21. package/pig_svgs/crystal-pig.svg +379 -0
  22. package/pig_svgs/demon-pig.svg +19 -0
  23. package/pig_svgs/doll-pig.svg +199 -0
  24. package/pig_svgs/explosive-pig.svg +75 -0
  25. package/pig_svgs/heaven-pig.svg +21 -0
  26. package/pig_svgs/magic-pig.svg +43 -0
  27. package/pig_svgs/mechanical-pig.svg +71 -0
  28. package/pig_svgs/owl.svg +1 -0
  29. package/pig_svgs/pig-ball.svg +16 -0
  30. package/pig_svgs/pig-cat.svg +41 -0
  31. package/pig_svgs/pig-human.svg +19 -0
  32. package/pig_svgs/pig-stamp.svg +19 -0
  33. package/pig_svgs/pig.svg +13 -0
  34. package/pig_svgs/pork-skewer.svg +11 -0
  35. package/pig_svgs/skeleton-pig.svg +125 -0
  36. package/pig_svgs/snow-pig.svg +15 -0
  37. package/pig_svgs/soul-pig.svg +16 -0
  38. package/pig_svgs/zhuge-liang.svg +55 -0
  39. package/pig_svgs/zombie-pig.svg +14 -0
  40. package/readme.md +35 -0
@@ -0,0 +1,18 @@
1
+ import { Context } from 'koishi';
2
+ /**
3
+ * 获取群组统一背景图(从 pig_guild_config 表)
4
+ * 仅返回管理员设置的群组背景,不再从用户个人设置中获取
5
+ */
6
+ export declare function getAdminBackgroundImage(ctx: Context, platform: string, guildId: string): Promise<string | undefined>;
7
+ /**
8
+ * 设置群组统一背景图(仅管理员可调用)
9
+ */
10
+ export declare function setGuildBackgroundImage(ctx: Context, platform: string, guildId: string, backgroundImage: string | null, setByUserId: string): Promise<void>;
11
+ /**
12
+ * 获取群组背景配置信息(包含设置者信息)
13
+ */
14
+ export declare function getGuildBackgroundInfo(ctx: Context, platform: string, guildId: string): Promise<{
15
+ backgroundImage?: string;
16
+ setBy?: string;
17
+ setAt?: Date;
18
+ } | undefined>;
@@ -0,0 +1,17 @@
1
+ import { Context } from 'koishi';
2
+ import { Location } from '../constants';
3
+ import { Config } from '../config';
4
+ import { UserInfo } from './travel';
5
+ export interface CardData {
6
+ location: Location;
7
+ msg: string;
8
+ reward?: {
9
+ value: number;
10
+ currency: string;
11
+ };
12
+ }
13
+ export interface CardResult {
14
+ buffer: Buffer;
15
+ filename: string;
16
+ }
17
+ export declare function generateFootprintCard(ctx: Context, config: Config, data: CardData, userInfo: UserInfo, platform: string, backgroundUrl: string | null): Promise<CardResult>;
@@ -0,0 +1,48 @@
1
+ import { Context } from 'koishi';
2
+ import { Config } from '../config';
3
+ export interface PigLeaderboardEntry {
4
+ userId: string;
5
+ username: string;
6
+ avatarUrl: string;
7
+ tripCount: number;
8
+ countryCount: number;
9
+ score: number;
10
+ }
11
+ export interface SleepLeaderboardEntry {
12
+ userId: string;
13
+ username: string;
14
+ avatarUrl: string;
15
+ nightOwlCount: number;
16
+ totalMessageCount: number;
17
+ nightMessageCount: number;
18
+ peakHour: number;
19
+ }
20
+ export interface LeaderboardData {
21
+ guildId: string;
22
+ platform: string;
23
+ entries: PigLeaderboardEntry[] | SleepLeaderboardEntry[];
24
+ currentUserId?: string;
25
+ currentUserRank?: number;
26
+ }
27
+ /**
28
+ * 获取群组内猪排行榜数据
29
+ */
30
+ export declare function getPigLeaderboard(ctx: Context, guildId: string, platform: string, limit?: number): Promise<PigLeaderboardEntry[]>;
31
+ /**
32
+ * 获取群组内作息排行榜数据
33
+ */
34
+ export declare function getSleepLeaderboard(ctx: Context, guildId: string, platform: string, limit?: number): Promise<SleepLeaderboardEntry[]>;
35
+ /**
36
+ * 生成猪排行榜卡片
37
+ */
38
+ export declare function generatePigLeaderboardCard(ctx: Context, config: Config, entries: PigLeaderboardEntry[], guildId: string, backgroundImage?: string): Promise<{
39
+ buffer: Buffer;
40
+ filename: string;
41
+ }>;
42
+ /**
43
+ * 生成作息排行榜卡片
44
+ */
45
+ export declare function generateSleepLeaderboardCard(ctx: Context, config: Config, entries: SleepLeaderboardEntry[], guildId: string, backgroundImage?: string): Promise<{
46
+ buffer: Buffer;
47
+ filename: string;
48
+ }>;
@@ -0,0 +1,13 @@
1
+ import { Context } from 'koishi';
2
+ import '../types';
3
+ import { Config } from '../config';
4
+ import { Location } from '../constants';
5
+ /**
6
+ * Get a random location from the static LOCATIONS array
7
+ */
8
+ export declare function getRandomStaticLocation(): Location;
9
+ /**
10
+ * Generate a random location
11
+ * Now simply aliases getRandomStaticLocation since LLM support is removed
12
+ */
13
+ export declare function generateLocationWithLLM(ctx: Context, config: Config): Promise<Location>;
@@ -0,0 +1,7 @@
1
+ import { Context } from 'koishi';
2
+ /**
3
+ * Search for a photo on Pexels and return a randomly selected large-sized URL
4
+ * Fetches multiple results and randomly selects one to avoid repetitive images
5
+ * @returns The photo URL or null if not found/error
6
+ */
7
+ export declare function searchPexelsPhoto(ctx: Context, apiKey: string, query: string, debug?: boolean): Promise<string | null>;
@@ -0,0 +1,5 @@
1
+ export declare function setPigSvgDir(dir: string): void;
2
+ export declare function getPigSvgDirResolved(): Promise<string | null>;
3
+ export declare function getRandomPigSvgDataUrl(): Promise<string | null>;
4
+ export declare function getPigSvgDataUrlByName(filename: string): Promise<string | null>;
5
+ export declare function ensurePigSvgAssets(targetDir: string): Promise<void>;
@@ -0,0 +1,69 @@
1
+ import { Context } from 'koishi';
2
+ import { Config } from '../config';
3
+ import { PigTravelLog } from '../database';
4
+ export interface MonthlySummaryData {
5
+ userId: string;
6
+ platform: string;
7
+ username: string;
8
+ avatarUrl: string;
9
+ year: number;
10
+ month: number;
11
+ logs: PigTravelLog[];
12
+ totalTrips: number;
13
+ countriesVisited: string[];
14
+ locationsVisited: string[];
15
+ backgroundImage?: string;
16
+ }
17
+ export interface MonthlySummaryGroupUser {
18
+ userId: string;
19
+ platform: string;
20
+ username: string;
21
+ avatarUrl: string;
22
+ totalTrips: number;
23
+ countriesCount: number;
24
+ locationsCount: number;
25
+ }
26
+ export interface MonthlySummaryGroupData {
27
+ year: number;
28
+ month: number;
29
+ totalUsers: number;
30
+ totalTrips: number;
31
+ countriesVisited: string[];
32
+ locationsVisited: string[];
33
+ users: MonthlySummaryGroupUser[];
34
+ backgroundImage?: string;
35
+ }
36
+ export interface SummaryCardResult {
37
+ buffer: Buffer;
38
+ filename: string;
39
+ }
40
+ /**
41
+ * 获取指定用户指定月份的旅行记录
42
+ */
43
+ export declare function getMonthlyLogs(ctx: Context, userId: string, platform: string, year: number, month: number, guildId?: string): Promise<PigTravelLog[]>;
44
+ /**
45
+ * 获取所有有旅行记录的用户(指定月份)
46
+ */
47
+ export declare function getUsersWithLogsInMonth(ctx: Context, year: number, month: number, guildId?: string): Promise<{
48
+ userId: string;
49
+ platform: string;
50
+ }[]>;
51
+ /**
52
+ * 准备月度合照数据(按月汇总)
53
+ */
54
+ export declare function prepareMonthlySummaryGroup(ctx: Context, year: number, month: number, guildId?: string, profiles?: Map<string, {
55
+ username?: string;
56
+ avatarUrl?: string;
57
+ }>): Promise<MonthlySummaryGroupData>;
58
+ /**
59
+ * 生成月度总结卡片
60
+ */
61
+ export declare function generateMonthlySummaryCard(ctx: Context, config: Config, data: MonthlySummaryData): Promise<SummaryCardResult>;
62
+ /**
63
+ * 生成月度合照卡片
64
+ */
65
+ export declare function generateMonthlySummaryGroupCard(ctx: Context, config: Config, data: MonthlySummaryGroupData): Promise<SummaryCardResult>;
66
+ /**
67
+ * 准备月度总结数据
68
+ */
69
+ export declare function prepareMonthlySummary(ctx: Context, userId: string, platform: string, username: string, avatarUrl: string, year: number, month: number, guildId?: string): Promise<MonthlySummaryData>;
@@ -0,0 +1,6 @@
1
+ import { Context } from 'koishi';
2
+ export interface SunriseInfo {
3
+ sunrise: Date;
4
+ sunset: Date;
5
+ }
6
+ export declare function getSunriseInfo(ctx: Context, lat: number, lng: number, date?: string): Promise<SunriseInfo>;
@@ -0,0 +1,21 @@
1
+ import { Context } from 'koishi';
2
+ import '../types';
3
+ import { Config } from '../config';
4
+ import { Location } from '../constants';
5
+ export interface TravelResult {
6
+ location: Location;
7
+ imageBuffer: Buffer | null;
8
+ imageUrl: string | null;
9
+ isAIGC: boolean;
10
+ msg: string;
11
+ reward?: {
12
+ value: number;
13
+ currency: string;
14
+ };
15
+ }
16
+ export interface UserInfo {
17
+ userId: string;
18
+ username: string;
19
+ avatarUrl: string;
20
+ }
21
+ export declare function triggerTravelSequence(ctx: Context, config: Config, userInfo: UserInfo, platform: string, guildId?: string): Promise<TravelResult>;
@@ -0,0 +1,7 @@
1
+ import { Context } from 'koishi';
2
+ /**
3
+ * Search for a photo on Unsplash and return a randomly selected regular-sized URL
4
+ * Fetches multiple results and randomly selects one to avoid repetitive images
5
+ * @returns The photo URL or null if not found/error
6
+ */
7
+ export declare function searchUnsplashPhoto(ctx: Context, accessKey: string, query: string, debug?: boolean): Promise<string | null>;
@@ -0,0 +1,52 @@
1
+ import { Context } from 'koishi';
2
+ import { Config } from '../config';
3
+ export interface VisitedCountry {
4
+ isoCode: string;
5
+ countryName: string;
6
+ countryNameZh: string;
7
+ visitCount: number;
8
+ firstVisit: Date;
9
+ lastVisit: Date;
10
+ }
11
+ export interface WorldMapData {
12
+ userId: string;
13
+ platform: string;
14
+ username: string;
15
+ avatarUrl: string;
16
+ visitedCountries: VisitedCountry[];
17
+ totalCountries: number;
18
+ totalTrips: number;
19
+ firstTrip?: Date;
20
+ lastTrip?: Date;
21
+ backgroundImage?: string;
22
+ isGuildMode?: boolean;
23
+ uniqueUsers?: number;
24
+ }
25
+ export declare function getWorldMapSvg(ctx: Context): Promise<string>;
26
+ export declare function getUserVisitedCountries(ctx: Context, userId: string, platform: string, guildId?: string): Promise<{
27
+ visitedCountries: VisitedCountry[];
28
+ totalTrips: number;
29
+ firstTrip?: Date;
30
+ lastTrip?: Date;
31
+ }>;
32
+ export declare function getGuildVisitedCountries(ctx: Context, guildId: string, platform: string): Promise<{
33
+ visitedCountries: VisitedCountry[];
34
+ totalTrips: number;
35
+ firstTrip?: Date;
36
+ lastTrip?: Date;
37
+ uniqueUsers: number;
38
+ }>;
39
+ export declare function prepareWorldMapData(ctx: Context, userId: string, platform: string, username: string, avatarUrl: string, guildId?: string, backgroundImage?: string): Promise<WorldMapData>;
40
+ export declare function prepareGuildWorldMapData(ctx: Context, guildId: string, platform: string, guildName: string, guildAvatarUrl?: string, backgroundImage?: string): Promise<WorldMapData>;
41
+ /**
42
+ * Add visited class to country paths in SVG.
43
+ * Supports multiple SVG formats:
44
+ * - id="NO" (ISO code)
45
+ * - name="Norway" (full name)
46
+ * - class="Norway" (SimpleMaps format)
47
+ */
48
+ export declare function processMapSvg(svgContent: string, visitedCountries: VisitedCountry[]): string;
49
+ export declare function generateWorldMapCard(ctx: Context, config: Config, data: WorldMapData): Promise<{
50
+ buffer: Buffer;
51
+ filename: string;
52
+ }>;
package/lib/types.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import { Service } from 'koishi';
2
+ interface Puppeteer extends Service {
3
+ page(): Promise<any>;
4
+ render(html: string): Promise<string>;
5
+ }
6
+ declare module 'koishi' {
7
+ interface Context {
8
+ puppeteer: Puppeteer;
9
+ }
10
+ }
11
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare const COUNTRY_NAME_TO_ISO: Record<string, string>;
2
+ export declare function getCountryISOCode(countryName: string): string | null;
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "koishi-plugin-zaoan-leafing",
3
+ "description": "",
4
+ "version": "0.0.1",
5
+ "main": "lib/index.js",
6
+ "typings": "lib/index.d.ts",
7
+ "files": [
8
+ "lib",
9
+ "dist",
10
+ "pig_svgs"
11
+ ],
12
+ "license": "MIT",
13
+ "scripts": {},
14
+ "keywords": [
15
+ "chatbot",
16
+ "koishi",
17
+ "plugin"
18
+ ],
19
+ "peerDependencies": {
20
+ "koishi": "^4.18.7"
21
+ },
22
+ "dependencies": {
23
+ "koishi-plugin-monetary": "^0.1.3",
24
+ "koishi-plugin-cron": "^3.1.0",
25
+ "koishi-plugin-glyph": "^3.0.6",
26
+ "koishi-thirdeye": "^11.0.0"
27
+ }
28
+ }
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Generator: visioncortex VTracer 0.6.4 -->
3
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="240" height="240">
4
+ <path d="M0 0 C3.681677 3.405551 5.232403 5.70692 6.0625 10.6875 C5.376943 15.105533 3.809657 16.664175 0.617188 19.636719 C0.248516 20.189727 -0.120156 20.742734 -0.5 21.3125 C0.10987 22.67275 0.79037 24.001528 1.5 25.3125 C2.134249 31.43374 2.416013 37.269087 -0.125 42.9375 C-2.747058 45.559558 -5.253402 47.51651 -8.5 49.3125 C-9.49 49.3125 -10.48 49.3125 -11.5 49.3125 C-10.878946 51.682646 -10.153515 53.79697 -9.25 56.0625 C-3.617224 70.725598 -2.581554 89.764811 -8.296875 104.636719 C-8.693906 105.519727 -9.090937 106.402734 -9.5 107.3125 C-16.51195 123.817901 -20.11108 138.622797 -21.512207 156.448486 C-22.865809 173.364276 -22.865809 173.364276 -26.59375 177.808594 C-27.387812 178.449258 -28.181875 179.089922 -29 179.75 C-29.794062 180.408711 -30.588125 181.067422 -31.40625 181.746094 C-37.235703 186.107308 -46.483045 185.236287 -53.5 184.3125 C-57.160948 182.889828 -59.792328 181.143543 -62.5 178.3125 C-63.055586 177.744023 -63.611172 177.175547 -64.183594 176.589844 C-66.038751 173.380478 -66.028685 170.240241 -66.125 166.625 C-65.891239 162.103895 -65.891239 162.103895 -67.5 158.3125 C-67.646953 159.490059 -67.646953 159.490059 -67.796875 160.691406 C-68.91761 168.565532 -70.041119 174.183036 -76.125 179.6875 C-80.461602 182.654649 -84.11986 182.56412 -89.25 182.625 C-90.049219 182.654004 -90.848437 182.683008 -91.671875 182.712891 C-97.1131 182.771062 -100.31724 182.106861 -104.5 178.3125 C-106.354771 175.741169 -107.975845 173.091049 -109.5 170.3125 C-109.519819 171.104226 -109.539639 171.895952 -109.560059 172.71167 C-109.655472 176.308108 -109.765086 179.903978 -109.875 183.5 C-109.905937 184.745879 -109.936875 185.991758 -109.96875 187.275391 C-110.007422 188.477441 -110.046094 189.679492 -110.085938 190.917969 C-110.133069 192.575421 -110.133069 192.575421 -110.181152 194.266357 C-110.697327 199.197679 -112.028971 202.367753 -115.875 205.5 C-116.752852 206.232832 -116.752852 206.232832 -117.648438 206.980469 C-124.033044 211.573614 -130.942695 210.806233 -138.5 210.3125 C-143.986863 209.38822 -147.749514 206.829968 -151.262451 202.61499 C-154.239542 197.076039 -152.978108 189.954142 -152.734375 183.857422 C-152.684936 179.52636 -152.684936 179.52636 -153.5 175.3125 C-155.804223 173.966866 -157.091878 173.951588 -159.714355 174.3479 C-160.303618 174.666218 -160.892881 174.984536 -161.5 175.3125 C-162.120771 178.597127 -162.171352 180.742634 -161.875 184 C-161.20331 194.378423 -161.20331 194.378423 -163.5 198.3125 C-165.121094 200.078125 -165.121094 200.078125 -166.9375 201.5625 C-167.832754 202.312734 -167.832754 202.312734 -168.746094 203.078125 C-172.622918 205.80658 -176.76914 205.529547 -181.3125 205.5625 C-182.361475 205.593437 -182.361475 205.593437 -183.431641 205.625 C-189.385446 205.669556 -193.370935 204.264143 -197.75 200.25 C-202.966635 191.493505 -201.829633 180.076496 -201.802734 170.242188 C-201.832705 168.559961 -201.832705 168.559961 -201.863281 166.84375 C-201.866262 165.828613 -201.869243 164.813477 -201.872314 163.767578 C-202.079451 162.957402 -202.286587 162.147227 -202.5 161.3125 C-204.846813 160.025921 -204.846813 160.025921 -207.5 159.3125 C-209.56313 157.693477 -211.46585 156.094068 -213.375 154.3125 C-213.900937 153.823381 -214.426875 153.334263 -214.96875 152.830322 C-223.980399 144.227916 -230.871729 133.435277 -231.661133 120.716309 C-231.707001 117.706593 -231.735263 114.697535 -231.75 111.6875 C-231.770625 110.657539 -231.79125 109.627578 -231.8125 108.566406 C-231.873032 96.535753 -228.945676 83.947727 -220.5 74.9375 C-219.84 74.07125 -219.18 73.205 -218.5 72.3125 C-218.940859 71.732422 -219.381719 71.152344 -219.835938 70.554688 C-223.2701 65.927435 -222.28857 59.763919 -221.5 54.3125 C-219.703546 49.903021 -217.217426 46.205586 -214.5 42.3125 C-213.527402 40.744355 -213.527402 40.744355 -212.535156 39.144531 C-208.044095 31.985513 -203.398949 26.201624 -196.0625 21.875 C-189.697801 20.477871 -184.290495 20.969455 -178.324219 23.558594 C-175.134758 24.876722 -173.385334 25.599103 -169.976562 24.495605 C-169.035547 24.061353 -168.094531 23.6271 -167.125 23.179688 C-166.067083 22.705232 -165.009165 22.230776 -163.919189 21.741943 C-162.790857 21.228977 -161.662524 20.716011 -160.5 20.1875 C-152.39184 16.632137 -144.426848 13.348587 -135.8125 11.25 C-135.086113 11.071304 -134.359727 10.892607 -133.611328 10.708496 C-120.682027 7.788138 -107.822454 6.934303 -94.625 7 C-93.508304 7.002236 -93.508304 7.002236 -92.369049 7.004517 C-77.472816 7.058091 -64.243959 8.742073 -50.039062 13.542969 C-47.46368 14.457524 -47.46368 14.457524 -44.5 14.3125 C-42.442011 12.581441 -42.442011 12.581441 -40.4375 10.375 C-36.727747 6.457998 -35.126801 5.290607 -29.75 5.0625 C-24.360728 4.596569 -22.349072 2.978282 -18.5 -0.6875 C-12.556773 -2.75747 -5.615958 -2.707694 0 0 Z " fill="#EEEEEE" transform="translate(234.5,22.6875)"/>
5
+ <path d="M0 0 C3.681677 3.405551 5.232403 5.70692 6.0625 10.6875 C5.376943 15.105533 3.809657 16.664175 0.617188 19.636719 C0.248516 20.189727 -0.120156 20.742734 -0.5 21.3125 C0.10987 22.67275 0.79037 24.001528 1.5 25.3125 C2.134249 31.43374 2.416013 37.269087 -0.125 42.9375 C-2.747058 45.559558 -5.253402 47.51651 -8.5 49.3125 C-9.49 49.3125 -10.48 49.3125 -11.5 49.3125 C-10.878946 51.682646 -10.153515 53.79697 -9.25 56.0625 C-3.617224 70.725598 -2.581554 89.764811 -8.296875 104.636719 C-8.693906 105.519727 -9.090937 106.402734 -9.5 107.3125 C-16.51195 123.817901 -20.11108 138.622797 -21.512207 156.448486 C-22.865809 173.364276 -22.865809 173.364276 -26.59375 177.808594 C-27.387812 178.449258 -28.181875 179.089922 -29 179.75 C-29.794062 180.408711 -30.588125 181.067422 -31.40625 181.746094 C-37.235703 186.107308 -46.483045 185.236287 -53.5 184.3125 C-57.160948 182.889828 -59.792328 181.143543 -62.5 178.3125 C-63.055586 177.744023 -63.611172 177.175547 -64.183594 176.589844 C-66.038751 173.380478 -66.028685 170.240241 -66.125 166.625 C-65.891239 162.103895 -65.891239 162.103895 -67.5 158.3125 C-67.646953 159.490059 -67.646953 159.490059 -67.796875 160.691406 C-68.91761 168.565532 -70.041119 174.183036 -76.125 179.6875 C-80.461602 182.654649 -84.11986 182.56412 -89.25 182.625 C-90.049219 182.654004 -90.848437 182.683008 -91.671875 182.712891 C-97.1131 182.771062 -100.31724 182.106861 -104.5 178.3125 C-106.354771 175.741169 -107.975845 173.091049 -109.5 170.3125 C-109.519819 171.104226 -109.539639 171.895952 -109.560059 172.71167 C-109.655472 176.308108 -109.765086 179.903978 -109.875 183.5 C-109.905937 184.745879 -109.936875 185.991758 -109.96875 187.275391 C-110.007422 188.477441 -110.046094 189.679492 -110.085938 190.917969 C-110.133069 192.575421 -110.133069 192.575421 -110.181152 194.266357 C-110.697327 199.197679 -112.028971 202.367753 -115.875 205.5 C-116.752852 206.232832 -116.752852 206.232832 -117.648438 206.980469 C-124.033044 211.573614 -130.942695 210.806233 -138.5 210.3125 C-143.986863 209.38822 -147.749514 206.829968 -151.262451 202.61499 C-154.239542 197.076039 -152.978108 189.954142 -152.734375 183.857422 C-152.684936 179.52636 -152.684936 179.52636 -153.5 175.3125 C-155.804223 173.966866 -157.091878 173.951588 -159.714355 174.3479 C-160.303618 174.666218 -160.892881 174.984536 -161.5 175.3125 C-162.120771 178.597127 -162.171352 180.742634 -161.875 184 C-161.20331 194.378423 -161.20331 194.378423 -163.5 198.3125 C-165.121094 200.078125 -165.121094 200.078125 -166.9375 201.5625 C-167.832754 202.312734 -167.832754 202.312734 -168.746094 203.078125 C-172.622918 205.80658 -176.76914 205.529547 -181.3125 205.5625 C-182.361475 205.593437 -182.361475 205.593437 -183.431641 205.625 C-189.385446 205.669556 -193.370935 204.264143 -197.75 200.25 C-202.966635 191.493505 -201.829633 180.076496 -201.802734 170.242188 C-201.832705 168.559961 -201.832705 168.559961 -201.863281 166.84375 C-201.866262 165.828613 -201.869243 164.813477 -201.872314 163.767578 C-202.079451 162.957402 -202.286587 162.147227 -202.5 161.3125 C-204.846813 160.025921 -204.846813 160.025921 -207.5 159.3125 C-209.56313 157.693477 -211.46585 156.094068 -213.375 154.3125 C-213.900937 153.823381 -214.426875 153.334263 -214.96875 152.830322 C-223.980399 144.227916 -230.871729 133.435277 -231.661133 120.716309 C-231.707001 117.706593 -231.735263 114.697535 -231.75 111.6875 C-231.770625 110.657539 -231.79125 109.627578 -231.8125 108.566406 C-231.873032 96.535753 -228.945676 83.947727 -220.5 74.9375 C-219.84 74.07125 -219.18 73.205 -218.5 72.3125 C-218.940859 71.732422 -219.381719 71.152344 -219.835938 70.554688 C-223.2701 65.927435 -222.28857 59.763919 -221.5 54.3125 C-219.703546 49.903021 -217.217426 46.205586 -214.5 42.3125 C-213.527402 40.744355 -213.527402 40.744355 -212.535156 39.144531 C-208.044095 31.985513 -203.398949 26.201624 -196.0625 21.875 C-189.697801 20.477871 -184.290495 20.969455 -178.324219 23.558594 C-175.134758 24.876722 -173.385334 25.599103 -169.976562 24.495605 C-169.035547 24.061353 -168.094531 23.6271 -167.125 23.179688 C-166.067083 22.705232 -165.009165 22.230776 -163.919189 21.741943 C-162.790857 21.228977 -161.662524 20.716011 -160.5 20.1875 C-152.39184 16.632137 -144.426848 13.348587 -135.8125 11.25 C-135.086113 11.071304 -134.359727 10.892607 -133.611328 10.708496 C-120.682027 7.788138 -107.822454 6.934303 -94.625 7 C-93.508304 7.002236 -93.508304 7.002236 -92.369049 7.004517 C-77.472816 7.058091 -64.243959 8.742073 -50.039062 13.542969 C-47.46368 14.457524 -47.46368 14.457524 -44.5 14.3125 C-42.442011 12.581441 -42.442011 12.581441 -40.4375 10.375 C-36.727747 6.457998 -35.126801 5.290607 -29.75 5.0625 C-24.360728 4.596569 -22.349072 2.978282 -18.5 -0.6875 C-12.556773 -2.75747 -5.615958 -2.707694 0 0 Z M-20.5 11.3125 C-20.5 11.9725 -20.5 12.6325 -20.5 13.3125 C-21.49 12.9825 -22.48 12.6525 -23.5 12.3125 C-27.593632 11.926308 -29.968801 12.052108 -33.6875 13.875 C-37.108171 16.839581 -38.570237 19.230309 -40.5 23.3125 C-40.5 24.3025 -40.5 25.2925 -40.5 26.3125 C-42.330566 25.535889 -42.330566 25.535889 -44.976562 24.042969 C-52.52245 20.429191 -59.710188 20.497173 -67.875 20.625 C-68.625003 20.630479 -69.375005 20.635957 -70.147736 20.641602 C-83.057131 20.768004 -94.434018 22.541344 -106.5 27.3125 C-107.287939 27.60689 -108.075879 27.901279 -108.887695 28.20459 C-114.548511 30.328259 -120.030033 32.740966 -125.5 35.3125 C-126.30792 35.678755 -127.11584 36.04501 -127.948242 36.422363 C-139.006033 41.520436 -147.777916 47.787639 -156.4375 56.375 C-157.272087 57.201611 -158.106675 58.028223 -158.966553 58.879883 C-164.129521 64.248393 -167.605888 69.466954 -170.5 76.3125 C-170.86134 77.137581 -171.222681 77.962661 -171.594971 78.812744 C-172.662299 81.299292 -173.68087 83.800832 -174.6875 86.3125 C-175.029746 87.1375 -175.371992 87.9625 -175.724609 88.8125 C-177.817877 94.015185 -179.092493 98.854538 -179.750977 104.433838 C-179.998154 105.053796 -180.245332 105.673755 -180.5 106.3125 C-183.083453 106.917594 -185.129012 106.743666 -187.769531 106.492188 C-192.917565 106.153404 -197.333197 107.623734 -201.394531 110.789062 C-204.444577 113.917681 -205.428142 115.859795 -206.125 120.25 C-205.642545 125.67237 -203.661903 130.150597 -199.804688 134.007812 C-196.080354 137.008389 -192.68028 138.640621 -188.125 140.0625 C-185.550781 141 -185.550781 141 -183.5 142.3125 C-182.551315 144.806696 -182.312176 147.0656 -182.035156 149.714844 C-181.074698 154.376923 -177.850254 157.125846 -174.5 160.3125 C-173.613125 161.240625 -172.72625 162.16875 -171.8125 163.125 C-166.544459 166.603895 -160.024178 168.843266 -153.664795 167.885498 C-148.416729 167.219953 -148.416729 167.219953 -145.5 168.3125 C-144.107323 172.97652 -144.753612 177.71143 -145.1875 182.5 C-146.394602 191.222963 -146.394602 191.222963 -144.269531 199.325439 C-141.318051 201.835548 -138.319623 203.03967 -134.5 203.3125 C-132.550938 203.467188 -132.550938 203.467188 -130.5625 203.625 C-125.446525 203.557431 -122.343359 201.183914 -118.815674 197.602539 C-116.956929 194.36724 -117.419455 192.110478 -117.761719 188.421875 C-118.83152 171.914457 -118.83152 171.914457 -116.5 164.3125 C-111.659412 158.962698 -104.220333 158.048089 -97.400879 156.873535 C-93.110187 156.043708 -89.177779 154.537862 -85.125 152.9375 C-84.448162 152.697009 -83.771323 152.456519 -83.073975 152.20874 C-81.52229 151.646262 -80.005195 150.989622 -78.5 150.3125 C-78.5 149.6525 -78.5 148.9925 -78.5 148.3125 C-75.796875 148.265625 -75.796875 148.265625 -72.25 148.5625 C-71.089844 148.650156 -69.929688 148.737812 -68.734375 148.828125 C-64.972228 149.391538 -62.6057 149.853396 -60.265625 152.941406 C-58.97042 156.952576 -59.216122 161.19659 -59.285156 165.380859 C-59.21458 168.277217 -59.080045 170.614162 -57.185547 172.89502 C-52.134024 177.16549 -48.684699 177.65647 -42.265625 177.597656 C-37.623022 177.11897 -35.02444 174.918414 -31.905762 171.633057 C-30.012806 168.508266 -29.799723 165.495572 -29.507812 161.933594 C-29.361983 160.448934 -29.215727 158.964317 -29.069092 157.479736 C-28.997176 156.706752 -28.925261 155.933768 -28.851166 155.13736 C-27.171709 137.409363 -24.639811 120.94701 -16.910889 104.733643 C-10.872917 92.04242 -10.287111 75.74687 -14.328125 62.308594 C-18.092725 52.683767 -22.583468 44.091828 -29.210938 36.132812 C-30.5 34.3125 -30.5 34.3125 -31.125 31.0625 C-30.418231 27.952714 -29.399103 25.868984 -27.5 23.3125 C-26.51 22.8175 -26.51 22.8175 -25.5 22.3125 C-25.38731 25.536413 -25.575562 28.723588 -25.722656 31.945312 C-25.475174 35.687935 -24.81936 37.396437 -22.5 40.3125 C-18.872185 42.817774 -15.846117 42.517641 -11.628906 41.90625 C-9.258872 41.396183 -9.258872 41.396183 -6.9375 39.25 C-5.075464 35.444971 -4.514073 32.401197 -5.5 28.3125 C-7.166073 25.041307 -9.050459 22.053955 -11.5 19.3125 C-12.16 19.3125 -12.82 19.3125 -13.5 19.3125 C-12.914062 17.371094 -12.914062 17.371094 -11.5 15.3125 C-9.335938 14.660156 -9.335938 14.660156 -6.875 14.375 C-4.498492 14.008711 -4.498492 14.008711 -2.5 13.3125 C-1.583333 10.8125 -1.583333 10.8125 -2.5 8.3125 C-4.959939 5.852561 -5.850019 5.962575 -9.25 5.875 C-14.671751 5.961434 -16.900186 7.333758 -20.5 11.3125 Z " fill="#BBBBBB" transform="translate(234.5,22.6875)"/>
6
+ <path d="M0 0 C0 0.33 0 0.66 0 1 C-2.085672 1.088182 -4.174185 1.108116 -6.261719 1.105469 C-22.721833 1.207702 -37.448943 2.041123 -53 8 C-53.79084 8.292939 -54.58168 8.585879 -55.396484 8.887695 C-61.053585 11.011985 -66.534975 13.425465 -72 16 C-72.813237 16.371572 -73.626475 16.743145 -74.464355 17.125977 C-85.255695 22.145498 -93.966924 28.166558 -102.4375 36.5625 C-103.224473 37.341497 -104.011445 38.120493 -104.822266 38.923096 C-109.844896 44.157927 -113.16884 49.33932 -116 56 C-116.356667 56.825725 -116.713335 57.65145 -117.080811 58.502197 C-118.128392 60.989503 -119.132818 63.490131 -120.125 66 C-120.458867 66.825 -120.792734 67.65 -121.136719 68.5 C-122.861346 72.828476 -124.243272 76.998338 -125.316406 81.535156 C-126.043945 84.031738 -126.043945 84.031738 -127 86 C-130.144531 87.308594 -130.144531 87.308594 -133.8125 87.4375 C-140.228057 87.760685 -144.560532 88.753122 -149.375 93.1875 C-151.512004 96.88616 -151.722165 99.887458 -151 104 C-149.235885 110.226977 -145.845939 113.361634 -140.453125 116.71875 C-138.030285 117.984182 -135.639551 118.852189 -133.0625 119.75 C-130.792969 120.6875 -130.792969 120.6875 -129 122 C-128.136833 124.478839 -127.870032 126.793745 -127.574219 129.398438 C-126.169703 135.761752 -120.010721 140.27775 -115 144 C-114.01 144.99 -114.01 144.99 -113 146 C-113.66 146 -114.32 146 -115 146 C-115.214455 148.357367 -115.214455 148.357367 -115.054688 151.292969 C-115.030195 152.39834 -115.005703 153.503711 -114.980469 154.642578 C-114.910729 156.986593 -114.832742 159.330378 -114.746094 161.673828 C-114.72418 162.785645 -114.702266 163.897461 -114.679688 165.042969 C-114.646011 166.064148 -114.612334 167.085327 -114.577637 168.137451 C-115.113698 171.770583 -116.487792 173.377394 -119 176 C-123.306137 178.583682 -128.119178 178.661661 -133 178 C-136.305575 176.617669 -138.280715 175.620207 -139.773438 172.257812 C-141.946383 163.912443 -142.206104 154.5699 -141.882812 145.992188 C-141.838984 144.736641 -141.795156 143.481094 -141.75 142.1875 C-141.682969 141.04668 -141.615938 139.905859 -141.546875 138.730469 C-141.771172 137.378887 -141.771172 137.378887 -142 136 C-144.276774 134.676326 -144.276774 134.676326 -147 134 C-156.6912 127.86224 -163.196355 120.393341 -168 110 C-168.342891 109.265234 -168.685781 108.530469 -169.039062 107.773438 C-173.559994 95.816208 -172.376547 80.599243 -167.554688 68.980469 C-165.635559 65.301335 -163.465406 62.163828 -160.746094 59.035156 C-158.981306 56.978211 -157.593405 54.83629 -156.125 52.5625 C-153.839002 49.463567 -152.279431 48.476814 -148.5 47.75 C-147.733008 47.636562 -146.966016 47.523125 -146.175781 47.40625 C-141.370819 46.509094 -138.577873 43.749673 -135.6875 40 C-134.306885 37.545574 -133.422998 35.749485 -133 33 C-137.038945 34.009736 -139.796276 35.49336 -143 38.0625 C-146.24827 40.600016 -148.709037 42.209315 -153 42 C-153.847656 40.308594 -153.847656 40.308594 -154 38 C-152.8125 35.589844 -152.8125 35.589844 -151 32.9375 C-150.351602 31.97457 -149.703203 31.011641 -149.035156 30.019531 C-148.363555 29.023086 -147.691953 28.026641 -147 27 C-145.810411 25.042935 -144.622834 23.084645 -143.4375 21.125 C-140.14459 15.968317 -137.219886 12.335075 -131.4375 9.9375 C-127.909517 10.027961 -126.43778 11.56222 -124 14 C-124 14.66 -124 15.32 -124 16 C-121.461674 15.096045 -121.461674 15.096045 -118.359375 13.5625 C-117.14164 12.993374 -115.923609 12.424878 -114.705322 11.856934 C-114.060237 11.553259 -113.415152 11.249584 -112.750519 10.936707 C-78.684181 -5.014236 -36.394512 -14.557805 0 0 Z " fill="#313131" transform="translate(181,43)"/>
7
+ <path d="M0 0 C0.33 0.99 0.66 1.98 1 3 C2.776365 3.588843 2.776365 3.588843 4.9375 3.8125 C12.12023 5.221552 18.715868 8.646516 23.125 14.625 C25.915028 19.80648 25.971775 25.28982 25 31 C23.570869 34.494192 21.377337 36.304671 17.980469 38.019531 C7.863601 41.899731 -1.151109 39.944426 -11 36 C-17.918785 32.425127 -22.493097 28.520709 -25 21 C-25.573223 16.086663 -25.629866 13.178466 -22.5625 9.1875 C-18.254661 4.768686 -13.314108 3.078577 -7.199219 2.933594 C-5.421675 2.976335 -3.644424 3.057942 -1.871094 3.1875 C-1.253633 3.125625 -0.636172 3.06375 0 3 C0 2.01 0 1.02 0 0 Z " fill="#F88088" transform="translate(54,126)"/>
8
+ <path d="M0 0 C0.86625 0.185625 1.7325 0.37125 2.625 0.5625 C2.625 3.539752 1.281012 5.078482 -0.375 7.5625 C-0.153974 13.04265 1.402826 16.410758 4.5 20.875 C5.198672 21.902383 5.897344 22.929766 6.617188 23.988281 C8.765539 26.742685 10.317791 28.365272 13.851562 28.898438 C14.643047 28.911328 15.434531 28.924219 16.25 28.9375 C17.046641 28.965859 17.843281 28.994219 18.664062 29.023438 C19.311172 28.871328 19.958281 28.719219 20.625 28.5625 C21.585706 25.79697 21.755951 23.178999 21.800781 20.269531 C21.824629 19.474824 21.848477 18.680117 21.873047 17.861328 C21.916312 16.192325 21.9474 14.522966 21.966797 12.853516 C22.050781 10.457031 22.050781 10.457031 22.625 6.5625 C24.55542 5.713623 24.55542 5.713623 26.625 5.5625 C30.583788 9.521288 30.791497 13.940497 30.875 19.3125 C30.810939 25.878755 29.92392 30.845595 25.5625 36 C21.730114 39.090634 18.384485 39.023817 13.574219 38.960938 C6.722223 38.035237 2.137025 33.479959 -2.1875 28.375 C-6.501248 22.412173 -9.31796 16.098997 -9.4375 8.6875 C-7.69298 3.556559 -5.428789 0.904798 0 0 Z " fill="#9E9E9E" transform="translate(115.375,80.4375)"/>
9
+ <path d="M0 0 C0.779573 7.103995 -0.751261 15.585822 -4 22 C-6.500058 24.969682 -8.614657 25.869186 -12.523438 26.238281 C-20.242767 26.439195 -20.242767 26.439195 -24.125 24.1875 C-27.357603 20.41613 -27.698712 16.236459 -27.646973 11.410645 C-27 9 -27 9 -25.169434 7.452637 C-22.546924 6.222499 -19.952647 5.299832 -17.1875 4.4375 C-16.25873 4.109434 -15.329961 3.781367 -14.373047 3.443359 C-11.926628 2.586671 -9.470941 1.782442 -7 1 C-4 0 -4 0 0 0 Z " fill="#393939" transform="translate(160,172)"/>
10
+ <path d="M0 0 C0.33 0.66 0.66 1.32 1 2 C-0.663854 2.685117 -2.334486 3.361083 -4.042969 3.925781 C-8.874007 6.577549 -11.670429 12.435112 -14.5625 17 C-14.948574 17.603281 -15.334648 18.206563 -15.732422 18.828125 C-16.829278 20.547218 -17.914914 22.273454 -19 24 C-19.586523 24.9075 -20.173047 25.815 -20.777344 26.75 C-22.238731 29.012536 -22.238731 29.012536 -22 32 C-16.390634 32.28766 -13.193852 28.993483 -9.246094 25.496094 C-6.594537 23.729926 -5.126557 23.475263 -2 24 C-1.700551 28.092463 -3.213273 30.61108 -5.6875 33.6875 C-9.966483 38.259841 -13.78685 40.139988 -20.0625 40.4375 C-23.400416 40.311636 -25.04963 39.976178 -28.125 38.5 C-30.221573 35.70457 -30.781863 33.757288 -30.542969 30.257812 C-29.425289 25.610194 -26.64706 21.911579 -24 18 C-23.042871 16.468594 -23.042871 16.468594 -22.066406 14.90625 C-11.03834 -2.463492 -11.03834 -2.463492 0 0 Z " fill="#9D9D9D" transform="translate(50,52)"/>
11
+ <path d="M0 0 C2.375 1.5 2.375 1.5 4 4 C4.825886 8.508663 4.518709 11.940969 2.5 16.0625 C-0.543108 18.420909 -2.324196 18.681086 -6.097656 18.414062 C-8 18 -8 18 -10.4375 16.4375 C-12.529888 13.173375 -12.933224 10.873034 -13 7 C-11.833263 3.745419 -10.906175 1.71869 -8.1875 -0.4375 C-5.093661 -1.233059 -3.059053 -0.892224 0 0 Z " fill="#EEEEEE" transform="translate(47,104)"/>
12
+ <path d="M0 0 C2.9375 0.5625 2.9375 0.5625 5.3125 2 C7.725889 5.805729 7.694084 9.178995 6.9375 13.5625 C5.375 16.625 5.375 16.625 2.9375 18.5625 C-0.5625 19.1875 -0.5625 19.1875 -4.0625 18.5625 C-6.62704 16.458262 -7.778489 14.891456 -8.476562 11.625 C-8.765439 7.611134 -8.318276 5.923596 -5.9375 2.5625 C-3.0625 0.5625 -3.0625 0.5625 0 0 Z " fill="#333333" transform="translate(99.0625,114.4375)"/>
13
+ <path d="M0 0 C2.4375 -0.4375 2.4375 -0.4375 5 0 C7.179991 1.80413 7.908821 3.16115 8.214844 5.976562 C8.303477 11.393046 8.303477 11.393046 7 14 C4.6875 14.4375 4.6875 14.4375 2 14 C-0.88383 11.349994 -1.906051 9.782911 -2.375 5.875 C-2 3 -2 3 0 0 Z " fill="#323131" transform="translate(41,138)"/>
14
+ <path d="M0 0 C2.375 0.8125 2.375 0.8125 3.375 1.8125 C3.542969 3.773438 3.542969 3.773438 3.5625 6.1875 C3.57668 6.978984 3.590859 7.770469 3.605469 8.585938 C3.375 10.8125 3.375 10.8125 1.375 13.8125 C-1.125 14.1875 -1.125 14.1875 -3.625 13.8125 C-6.098423 10.102366 -6.010035 8.201897 -5.625 3.8125 C-4.088393 0.577537 -3.650276 -0.260734 0 0 Z " fill="#2E2E2E" transform="translate(61.625,141.1875)"/>
15
+ <path d="M0 0 C2.560661 0.731617 3.753525 1.65963 5.3125 3.8125 C6.192132 6.611331 5.967582 8.246112 5 11 C4.01 11.33 3.02 11.66 2 12 C1.34 11.67 0.68 11.34 0 11 C-0.335938 8.425781 -0.335938 8.425781 -0.375 5.3125 C-0.403359 4.277383 -0.431719 3.242266 -0.460938 2.175781 C-0.308828 1.457773 -0.156719 0.739766 0 0 Z " fill="#BEBEBE" transform="translate(216,46)"/>
16
+ </svg>