react-toolkits 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 (50) hide show
  1. package/.eslintignore +2 -0
  2. package/.eslintrc.js +4 -0
  3. package/.turbo/turbo-build.log +20 -0
  4. package/CHANGELOG.md +10 -0
  5. package/dist/512_orange_nobackground-L6MFCL6M.png +0 -0
  6. package/dist/index.css +230 -0
  7. package/dist/index.css.map +1 -0
  8. package/dist/index.d.mts +191 -0
  9. package/dist/index.esm.js +3152 -0
  10. package/dist/index.esm.js.map +1 -0
  11. package/package.json +63 -0
  12. package/postcss.config.js +9 -0
  13. package/src/assets/512_orange_nobackground.png +0 -0
  14. package/src/components/DynamicTags/index.tsx +160 -0
  15. package/src/components/FilterForm/index.tsx +62 -0
  16. package/src/components/FormModal/hooks.tsx +48 -0
  17. package/src/components/FormModal/index.tsx +138 -0
  18. package/src/components/Highlight/index.tsx +51 -0
  19. package/src/components/PermissionButton/index.tsx +36 -0
  20. package/src/components/QueryList/index.tsx +158 -0
  21. package/src/components/index.ts +27 -0
  22. package/src/constants/index.ts +3 -0
  23. package/src/features/permission/components/PermissionList.tsx +129 -0
  24. package/src/features/permission/hooks/index.ts +140 -0
  25. package/src/features/permission/index.ts +5 -0
  26. package/src/features/permission/types/index.ts +33 -0
  27. package/src/hooks/index.ts +2 -0
  28. package/src/hooks/use-fetcher.tsx +102 -0
  29. package/src/hooks/use-permission.tsx +58 -0
  30. package/src/index.ts +7 -0
  31. package/src/layouts/Layout.tsx +81 -0
  32. package/src/layouts/NavBar.tsx +176 -0
  33. package/src/layouts/index.ts +6 -0
  34. package/src/pages/Login/default.tsx +864 -0
  35. package/src/pages/Login/index.tsx +111 -0
  36. package/src/pages/index.ts +4 -0
  37. package/src/pages/permission/RoleDetail.tsx +40 -0
  38. package/src/pages/permission/RoleList.tsx +226 -0
  39. package/src/pages/permission/UserList.tsx +248 -0
  40. package/src/pages/permission/index.tsx +31 -0
  41. package/src/shims.d.ts +20 -0
  42. package/src/stores/index.ts +3 -0
  43. package/src/stores/menu.ts +27 -0
  44. package/src/stores/queryTrigger.ts +27 -0
  45. package/src/stores/token.ts +25 -0
  46. package/src/styles/index.css +5 -0
  47. package/src/types/index.ts +27 -0
  48. package/tailwind.config.js +5 -0
  49. package/tsconfig.json +11 -0
  50. package/tsup.config.ts +26 -0
@@ -0,0 +1,3152 @@
1
+ import * as Icon from '@ant-design/icons';
2
+ import Icon__default, { AliyunOutlined, UserAddOutlined, UsergroupAddOutlined, PlusOutlined } from '@ant-design/icons';
3
+ import { App, Spin, Row, Col, Card, Alert, Divider, Space, Button, theme, Layout as Layout$1, Tag, Form, Input, Breadcrumb, Skeleton, Descriptions, Typography, Modal, Tooltip, Result, Table, Select, Menu, Collapse, Checkbox } from 'antd';
4
+ import { lazy, useState, useRef, useCallback, useMemo, useEffect, Suspense, forwardRef, useId, useImperativeHandle } from 'react';
5
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
+ import { createPortal, flushSync } from 'react-dom';
7
+ import { createRoot } from 'react-dom/client';
8
+ import { create } from 'zustand';
9
+ import { persist } from 'zustand/middleware';
10
+ import axios from 'axios';
11
+ import { useNavigate, useSearchParams, Navigate, Link, Outlet, useParams, useLocation } from 'react-router-dom';
12
+ import useSWRImmutable from 'swr/immutable';
13
+ import useSWRMutation2 from 'swr/mutation';
14
+ import useSWR from 'swr';
15
+ import logo from './512_orange_nobackground-L6MFCL6M.png';
16
+
17
+ var __defProp = Object.defineProperty;
18
+ var __defProps = Object.defineProperties;
19
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
20
+ var __getOwnPropNames = Object.getOwnPropertyNames;
21
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
22
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
23
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
24
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
25
+ var __spreadValues = (a, b) => {
26
+ for (var prop in b || (b = {}))
27
+ if (__hasOwnProp.call(b, prop))
28
+ __defNormalProp(a, prop, b[prop]);
29
+ if (__getOwnPropSymbols)
30
+ for (var prop of __getOwnPropSymbols(b)) {
31
+ if (__propIsEnum.call(b, prop))
32
+ __defNormalProp(a, prop, b[prop]);
33
+ }
34
+ return a;
35
+ };
36
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
37
+ var __objRest = (source, exclude) => {
38
+ var target = {};
39
+ for (var prop in source)
40
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
41
+ target[prop] = source[prop];
42
+ if (source != null && __getOwnPropSymbols)
43
+ for (var prop of __getOwnPropSymbols(source)) {
44
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
45
+ target[prop] = source[prop];
46
+ }
47
+ return target;
48
+ };
49
+ var __esm = (fn, res) => function __init() {
50
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
51
+ };
52
+ var __export = (target, all) => {
53
+ for (var name in all)
54
+ __defProp(target, name, { get: all[name], enumerable: true });
55
+ };
56
+ var __async = (__this, __arguments, generator) => {
57
+ return new Promise((resolve, reject) => {
58
+ var fulfilled = (value) => {
59
+ try {
60
+ step(generator.next(value));
61
+ } catch (e) {
62
+ reject(e);
63
+ }
64
+ };
65
+ var rejected = (value) => {
66
+ try {
67
+ step(generator.throw(value));
68
+ } catch (e) {
69
+ reject(e);
70
+ }
71
+ };
72
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
73
+ step((generator = generator.apply(__this, __arguments)).next());
74
+ });
75
+ };
76
+
77
+ // ../../node_modules/.pnpm/tsup@7.1.0_postcss@8.4.27_typescript@5.1.6/node_modules/tsup/assets/esm_shims.js
78
+ var init_esm_shims = __esm({
79
+ "../../node_modules/.pnpm/tsup@7.1.0_postcss@8.4.27_typescript@5.1.6/node_modules/tsup/assets/esm_shims.js"() {
80
+ }
81
+ });
82
+ var DynamicTags, DynamicTags_default;
83
+ var init_DynamicTags = __esm({
84
+ "src/components/DynamicTags/index.tsx"() {
85
+ init_esm_shims();
86
+ DynamicTags = (props) => {
87
+ const { initialTags, addable, removable, addCallback, removeCallback } = props;
88
+ const { token } = theme.useToken();
89
+ const [tags, setTags] = useState([]);
90
+ const [inputVisible, setInputVisible] = useState(false);
91
+ const [inputValue, setInputValue] = useState("");
92
+ const [editInputIndex, setEditInputIndex] = useState(-1);
93
+ const [editInputValue, setEditInputValue] = useState("");
94
+ const inputRef = useRef(null);
95
+ const editInputRef = useRef(null);
96
+ useEffect(() => {
97
+ setTags(initialTags != null ? initialTags : []);
98
+ }, [initialTags]);
99
+ useEffect(() => {
100
+ var _a;
101
+ if (inputVisible) {
102
+ (_a = inputRef.current) == null ? void 0 : _a.focus();
103
+ }
104
+ }, [inputVisible]);
105
+ useEffect(() => {
106
+ var _a;
107
+ (_a = editInputRef.current) == null ? void 0 : _a.focus();
108
+ }, [inputValue]);
109
+ const handleClose = (removedTag) => __async(void 0, null, function* () {
110
+ const success = yield removeCallback == null ? void 0 : removeCallback(removedTag);
111
+ if (success) {
112
+ const newTags = tags.filter((tag) => tag !== removedTag);
113
+ setTags(newTags);
114
+ }
115
+ });
116
+ const showInput = () => {
117
+ setInputVisible(true);
118
+ };
119
+ const handleInputChange = (e) => {
120
+ setInputValue(e.target.value);
121
+ };
122
+ const handleInputConfirm = () => __async(void 0, null, function* () {
123
+ if (inputValue && tags.indexOf(inputValue) === -1) {
124
+ const success = yield addCallback == null ? void 0 : addCallback(inputValue);
125
+ if (success) {
126
+ setTags([...tags, inputValue]);
127
+ }
128
+ }
129
+ setInputVisible(false);
130
+ setInputValue("");
131
+ });
132
+ const handleEditInputChange = (e) => {
133
+ setEditInputValue(e.target.value);
134
+ };
135
+ const handleEditInputConfirm = () => {
136
+ const newTags = [...tags];
137
+ newTags[editInputIndex] = editInputValue;
138
+ setTags(newTags);
139
+ setEditInputIndex(-1);
140
+ setInputValue("");
141
+ };
142
+ const tagInputStyle = {
143
+ width: 78,
144
+ verticalAlign: "top"
145
+ };
146
+ const tagPlusStyle = {
147
+ background: token.colorBgContainer,
148
+ borderStyle: "dashed"
149
+ };
150
+ return /* @__PURE__ */ jsxs(Space, { wrap: true, size: [0, 8], children: [
151
+ /* @__PURE__ */ jsx(Space, { wrap: true, size: [0, 8], children: tags.map((tag, index) => {
152
+ if (editInputIndex === index) {
153
+ return /* @__PURE__ */ jsx(
154
+ Input,
155
+ {
156
+ ref: editInputRef,
157
+ size: "small",
158
+ style: tagInputStyle,
159
+ value: editInputValue,
160
+ onChange: handleEditInputChange,
161
+ onBlur: handleEditInputConfirm,
162
+ onPressEnter: handleEditInputConfirm
163
+ },
164
+ tag
165
+ );
166
+ }
167
+ return /* @__PURE__ */ jsx(
168
+ Tag,
169
+ {
170
+ closable: removable,
171
+ style: { userSelect: "none" },
172
+ onClose: (e) => __async(void 0, null, function* () {
173
+ e.preventDefault();
174
+ yield handleClose(tag);
175
+ }),
176
+ children: /* @__PURE__ */ jsx(
177
+ "span",
178
+ {
179
+ onDoubleClick: (e) => {
180
+ if (index !== 0) {
181
+ setEditInputIndex(index);
182
+ setEditInputValue(tag);
183
+ e.preventDefault();
184
+ }
185
+ },
186
+ children: tag
187
+ }
188
+ )
189
+ },
190
+ tag
191
+ );
192
+ }) }),
193
+ addable && (inputVisible ? /* @__PURE__ */ jsx(
194
+ Input,
195
+ {
196
+ ref: inputRef,
197
+ type: "text",
198
+ size: "small",
199
+ style: tagInputStyle,
200
+ value: inputValue,
201
+ onChange: handleInputChange,
202
+ onBlur: handleInputConfirm,
203
+ onPressEnter: handleInputConfirm
204
+ }
205
+ ) : /* @__PURE__ */ jsxs(Tag, { style: tagPlusStyle, onClick: showInput, children: [
206
+ /* @__PURE__ */ jsx(PlusOutlined, {}),
207
+ "\xA0\u6DFB\u52A0"
208
+ ] }))
209
+ ] });
210
+ };
211
+ DynamicTags_default = DynamicTags;
212
+ }
213
+ });
214
+ var FilterForm, FilterForm_default;
215
+ var init_FilterForm = __esm({
216
+ "src/components/FilterForm/index.tsx"() {
217
+ init_esm_shims();
218
+ FilterForm = (props) => {
219
+ const _a = props, { children, confirmText, form, onReset } = _a, restProps = __objRest(_a, ["children", "confirmText", "form", "onReset"]);
220
+ const { token } = theme.useToken();
221
+ const formStyle = {
222
+ maxWidth: "none",
223
+ background: token.colorFillAlter,
224
+ borderWidth: token.lineWidth,
225
+ borderStyle: token.lineType,
226
+ borderColor: token.colorBorder,
227
+ borderRadius: token.borderRadiusLG,
228
+ padding: 24,
229
+ marginBottom: 24
230
+ };
231
+ return /* @__PURE__ */ jsx(Form, __spreadProps(__spreadValues({}, restProps), { form, autoComplete: "off", children: children && /* @__PURE__ */ jsx("div", { style: formStyle, children: /* @__PURE__ */ jsxs(Row, { gutter: 18, children: [
232
+ children,
233
+ /* @__PURE__ */ jsx(Col, { flex: "auto" }),
234
+ /* @__PURE__ */ jsx(Col, { flex: "auto", span: 24, style: { textAlign: "right" }, children: /* @__PURE__ */ jsxs(Space, { children: [
235
+ /* @__PURE__ */ jsx(Button, { type: "primary", htmlType: "submit", children: confirmText || "\u67E5\u8BE2" }),
236
+ /* @__PURE__ */ jsx(Button, { htmlType: "reset", onClick: onReset, children: "\u91CD\u7F6E" })
237
+ ] }) })
238
+ ] }) }) }));
239
+ };
240
+ FilterForm_default = FilterForm;
241
+ }
242
+ });
243
+ var InternalFormModal, FormModal, FormModal_default;
244
+ var init_FormModal = __esm({
245
+ "src/components/FormModal/index.tsx"() {
246
+ init_esm_shims();
247
+ InternalFormModal = (props, ref) => {
248
+ const {
249
+ width,
250
+ children,
251
+ title,
252
+ open,
253
+ footer,
254
+ layout,
255
+ labelCol,
256
+ bodyStyle,
257
+ initialValues,
258
+ maskClosable,
259
+ closeFn,
260
+ afterClose,
261
+ onConfirm
262
+ } = props;
263
+ const id = useId();
264
+ const [form] = Form.useForm();
265
+ const formRef = useRef(null);
266
+ const isRenderProps = typeof children === "function";
267
+ const [confirmLoading, setConfirmLoading] = useState(false);
268
+ useImperativeHandle(ref, () => {
269
+ return {
270
+ setFieldsValue(values) {
271
+ var _a;
272
+ (_a = formRef.current) == null ? void 0 : _a.setFieldsValue(values);
273
+ }
274
+ };
275
+ });
276
+ return /* @__PURE__ */ jsx(
277
+ Modal,
278
+ {
279
+ destroyOnClose: true,
280
+ bodyStyle,
281
+ style: { textAlign: "start" },
282
+ width,
283
+ open,
284
+ title,
285
+ forceRender: true,
286
+ getContainer: false,
287
+ maskClosable,
288
+ footer: typeof footer === "object" ? footer : [
289
+ /* @__PURE__ */ jsx(
290
+ Button,
291
+ {
292
+ onClick: () => {
293
+ closeFn == null ? void 0 : closeFn();
294
+ },
295
+ children: "\u53D6\u6D88"
296
+ },
297
+ "cancel"
298
+ ),
299
+ /* @__PURE__ */ jsx(Button, { form: id, type: "primary", htmlType: "submit", loading: confirmLoading, children: "\u786E\u5B9A" }, "submit")
300
+ ],
301
+ afterClose: () => {
302
+ afterClose == null ? void 0 : afterClose();
303
+ form.resetFields();
304
+ },
305
+ onCancel: closeFn,
306
+ children: /* @__PURE__ */ jsx(
307
+ Form,
308
+ {
309
+ form,
310
+ ref: formRef,
311
+ id,
312
+ autoComplete: "off",
313
+ labelAlign: "right",
314
+ labelWrap: true,
315
+ layout,
316
+ initialValues,
317
+ labelCol: labelCol || {
318
+ flex: !layout || layout === "horizontal" ? "120px" : "0"
319
+ },
320
+ onFinish: (values) => __async(void 0, null, function* () {
321
+ try {
322
+ setConfirmLoading(true);
323
+ yield onConfirm == null ? void 0 : onConfirm(values);
324
+ closeFn == null ? void 0 : closeFn();
325
+ form.resetFields();
326
+ } finally {
327
+ setConfirmLoading(false);
328
+ }
329
+ }),
330
+ children: isRenderProps ? children({ form, open, closeFn }) : children
331
+ }
332
+ )
333
+ }
334
+ );
335
+ };
336
+ FormModal = forwardRef(InternalFormModal);
337
+ FormModal_default = FormModal;
338
+ }
339
+ });
340
+ function useFormModal(props) {
341
+ const _a = props, { content, onConfirm } = _a, restProps = __objRest(_a, ["content", "onConfirm"]);
342
+ const [open, setOpen] = useState(false);
343
+ const [title, setTitle] = useState();
344
+ const formRef = useRef(null);
345
+ const showModal = (options) => {
346
+ var _a2, _b;
347
+ setTitle((_a2 = options == null ? void 0 : options.title) != null ? _a2 : restProps.title);
348
+ if (options == null ? void 0 : options.initialValues) {
349
+ (_b = formRef.current) == null ? void 0 : _b.setFieldsValue(options == null ? void 0 : options.initialValues);
350
+ }
351
+ setOpen(true);
352
+ };
353
+ const closeModal = useCallback(() => {
354
+ setOpen(false);
355
+ }, []);
356
+ const Modal2 = useMemo(() => {
357
+ return /* @__PURE__ */ jsx(FormModal_default, __spreadProps(__spreadValues({}, restProps), { open, closeFn: closeModal, title, onConfirm, children: content }));
358
+ }, [title, content, restProps, open, closeModal, onConfirm]);
359
+ return {
360
+ Modal: createPortal(Modal2, document.body),
361
+ showModal,
362
+ closeModal
363
+ };
364
+ }
365
+ var init_hooks = __esm({
366
+ "src/components/FormModal/hooks.tsx"() {
367
+ init_esm_shims();
368
+ init_FormModal();
369
+ }
370
+ });
371
+ function renderToString(node) {
372
+ const container = document.createElement("div");
373
+ const root = createRoot(container);
374
+ return new Promise((resolve) => {
375
+ setTimeout(() => {
376
+ flushSync(() => {
377
+ root.render(node);
378
+ });
379
+ resolve(container.innerHTML);
380
+ });
381
+ });
382
+ }
383
+ var splitByTags, Highlight, Highlight_default;
384
+ var init_Highlight = __esm({
385
+ "src/components/Highlight/index.tsx"() {
386
+ init_esm_shims();
387
+ splitByTags = (str) => {
388
+ const regex = /(<[^>]*>)/;
389
+ return str.split(regex).filter((part) => part !== "");
390
+ };
391
+ Highlight = (props) => {
392
+ const { texts, children } = props;
393
+ const [htmlString, setHtmlString] = useState("");
394
+ useEffect(() => {
395
+ renderToString(children).then((str) => {
396
+ const result = splitByTags(str);
397
+ for (const text of texts) {
398
+ for (let index = 0; index < result.length; index++) {
399
+ result[index] = result[index].replace(String(text), `<span style='color: #DC143C;'>${text}</span>`);
400
+ }
401
+ }
402
+ setHtmlString(result.join(""));
403
+ });
404
+ }, [children, texts]);
405
+ return /* @__PURE__ */ jsx("p", { dangerouslySetInnerHTML: { __html: htmlString } });
406
+ };
407
+ Highlight_default = Highlight;
408
+ }
409
+ });
410
+ var useMenuStore;
411
+ var init_menu = __esm({
412
+ "src/stores/menu.ts"() {
413
+ init_esm_shims();
414
+ useMenuStore = create()(
415
+ persist(
416
+ (set) => ({
417
+ openKeys: [],
418
+ selectedKeys: [],
419
+ setOpenKeys: (keys) => set({ openKeys: keys }),
420
+ setSelectedKeys: (keys) => set({ selectedKeys: keys })
421
+ }),
422
+ {
423
+ name: "menu",
424
+ partialize: (state) => ({
425
+ openKeys: state.openKeys,
426
+ selectedKeys: state.selectedKeys
427
+ })
428
+ }
429
+ )
430
+ );
431
+ }
432
+ });
433
+ var useTokenStore;
434
+ var init_token = __esm({
435
+ "src/stores/token.ts"() {
436
+ init_esm_shims();
437
+ useTokenStore = create()(
438
+ persist(
439
+ (set) => ({
440
+ token: "",
441
+ setToken: (token) => set({ token }),
442
+ clearToken: () => {
443
+ set({ token: "" });
444
+ useTokenStore.persist.clearStorage();
445
+ }
446
+ }),
447
+ {
448
+ name: "token",
449
+ partialize: (state) => ({ token: state.token })
450
+ }
451
+ )
452
+ );
453
+ }
454
+ });
455
+ var useQueryTriggerStore;
456
+ var init_queryTrigger = __esm({
457
+ "src/stores/queryTrigger.ts"() {
458
+ init_esm_shims();
459
+ useQueryTriggerStore = create((set, get) => ({
460
+ triggers: /* @__PURE__ */ new Map(),
461
+ setTrigger: (key, trigger) => {
462
+ set({
463
+ triggers: new Map(get().triggers).set(key, trigger)
464
+ });
465
+ },
466
+ trigger: (key, arg) => {
467
+ const trigger = get().triggers.get(key);
468
+ if (trigger) {
469
+ trigger(arg);
470
+ }
471
+ }
472
+ }));
473
+ }
474
+ });
475
+
476
+ // src/stores/index.ts
477
+ var init_stores = __esm({
478
+ "src/stores/index.ts"() {
479
+ init_esm_shims();
480
+ init_menu();
481
+ init_token();
482
+ init_queryTrigger();
483
+ }
484
+ });
485
+ function useFetcher() {
486
+ const { notification } = App.useApp();
487
+ const clearToken = useTokenStore((state) => state.clearToken);
488
+ const navigate = useNavigate();
489
+ const token = useTokenStore((state) => state.token);
490
+ const defaultOptions = {
491
+ withCredentials: true
492
+ };
493
+ const instance = axios.create(defaultOptions);
494
+ instance.interceptors.request.use((config) => {
495
+ const headers = config.headers;
496
+ headers.set("Authorization", `Bearer ${token}`);
497
+ return config;
498
+ });
499
+ instance.interceptors.response.use(
500
+ (response) => {
501
+ if (response.data.code === 0 || response.data.status === 0) {
502
+ return response.data.data;
503
+ }
504
+ throw new FetcherError(response.data.msg, 0);
505
+ },
506
+ (error) => {
507
+ var _a;
508
+ if (error.response) {
509
+ if (error.response.status === 401) {
510
+ throw new FetcherError("\u672A\u767B\u5F55\u6216\u767B\u5F55\u5DF2\u8FC7\u671F", error.response.status);
511
+ } else if (error.response.status === 403) {
512
+ throw new FetcherError("\u65E0\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u8FDB\u884C\u6388\u6743", error.response.status);
513
+ } else if ([404, 405].includes(error.response.status)) {
514
+ throw new FetcherError("Not Found or Method not Allowed", error.response.status, true);
515
+ } else if (error.response.status === 412) {
516
+ throw new FetcherError("\u672A\u6CE8\u518C\u7528\u6237", error.response.status);
517
+ } else {
518
+ throw new FetcherError((_a = error.response.data) == null ? void 0 : _a.msg, error.response.status);
519
+ }
520
+ } else if (error.request) {
521
+ console.log(error.request);
522
+ }
523
+ return Promise.reject(error);
524
+ }
525
+ );
526
+ return (config) => instance.request(config).catch((err) => {
527
+ switch (err.code) {
528
+ case 401:
529
+ case 412:
530
+ clearToken();
531
+ navigate(err.code === 401 ? "/login" : "/login?not_registered=1", { replace: true });
532
+ break;
533
+ default:
534
+ if (!err.skip) {
535
+ notification.error({
536
+ message: "\u8BF7\u6C42\u51FA\u9519",
537
+ description: err.message
538
+ });
539
+ }
540
+ }
541
+ throw err;
542
+ });
543
+ }
544
+ var FetcherError;
545
+ var init_use_fetcher = __esm({
546
+ "src/hooks/use-fetcher.tsx"() {
547
+ init_esm_shims();
548
+ init_stores();
549
+ FetcherError = class extends Error {
550
+ constructor(message, code, skip = false) {
551
+ super(message);
552
+ this.code = code;
553
+ this.skip = skip;
554
+ }
555
+ };
556
+ }
557
+ });
558
+ function usePermissions(codes) {
559
+ const fetcher = useFetcher();
560
+ const { data, isLoading } = useSWRImmutable(
561
+ Object.keys(codes).length > 0 ? {
562
+ method: "POST",
563
+ url: "/api/usystem/user/check",
564
+ data: { permissions: Object.values(codes) }
565
+ } : null,
566
+ (config) => fetcher(config).then((res) => {
567
+ if (res.has_all) {
568
+ return Object.keys(codes).reduce(
569
+ (acc, curr) => {
570
+ acc[curr] = true;
571
+ return acc;
572
+ },
573
+ {}
574
+ );
575
+ }
576
+ return Object.entries(codes).reduce(
577
+ (acc, curr) => {
578
+ acc[curr[0]] = res[curr[1]];
579
+ return acc;
580
+ },
581
+ {}
582
+ );
583
+ })
584
+ );
585
+ return { data, isLoading };
586
+ }
587
+ function usePermission(code) {
588
+ var _a;
589
+ const { data, isLoading } = usePermissions(code ? { [code]: code } : {});
590
+ if (!code) {
591
+ return {
592
+ accessible: true,
593
+ isValidating: false
594
+ };
595
+ }
596
+ return {
597
+ accessible: (_a = data == null ? void 0 : data[code]) != null ? _a : false,
598
+ isValidating: isLoading
599
+ };
600
+ }
601
+ var init_use_permission = __esm({
602
+ "src/hooks/use-permission.tsx"() {
603
+ init_esm_shims();
604
+ init_use_fetcher();
605
+ }
606
+ });
607
+
608
+ // src/hooks/index.ts
609
+ var init_hooks2 = __esm({
610
+ "src/hooks/index.ts"() {
611
+ init_esm_shims();
612
+ init_use_fetcher();
613
+ init_use_permission();
614
+ }
615
+ });
616
+ var PermissionButton, PermissionButton_default;
617
+ var init_PermissionButton = __esm({
618
+ "src/components/PermissionButton/index.tsx"() {
619
+ init_esm_shims();
620
+ init_hooks2();
621
+ PermissionButton = (props) => {
622
+ const _a = props, { children, code, showLoading } = _a, restProps = __objRest(_a, ["children", "code", "showLoading"]);
623
+ const { accessible, isValidating } = usePermission(code);
624
+ if (isValidating) {
625
+ return /* @__PURE__ */ jsx(Button, __spreadProps(__spreadValues({ loading: showLoading, disabled: !showLoading }, restProps), { children }));
626
+ }
627
+ if (!accessible) {
628
+ return /* @__PURE__ */ jsx(Tooltip, { defaultOpen: false, title: "\u65E0\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u8FDB\u884C\u6388\u6743", children: /* @__PURE__ */ jsx(Button, __spreadProps(__spreadValues({ disabled: true }, restProps), { children })) });
629
+ }
630
+ return /* @__PURE__ */ jsx(Button, __spreadProps(__spreadValues({}, restProps), { children }));
631
+ };
632
+ PermissionButton_default = PermissionButton;
633
+ }
634
+ });
635
+ var QueryList, QueryList_default;
636
+ var init_QueryList = __esm({
637
+ "src/components/QueryList/index.tsx"() {
638
+ init_esm_shims();
639
+ init_hooks2();
640
+ init_stores();
641
+ init_FilterForm();
642
+ QueryList = (props) => {
643
+ const _a = props, { code, confirmText, labelCol, swrKey: swrKey3, renderForm, transformArg, initialValues } = _a, tableProps = __objRest(_a, ["code", "confirmText", "labelCol", "swrKey", "renderForm", "transformArg", "initialValues"]);
644
+ const { accessible, isValidating } = usePermission(code);
645
+ const [form] = Form.useForm();
646
+ const setTrigger = useQueryTriggerStore((state) => state.setTrigger);
647
+ const [paginationData, setPaginationData] = useState({
648
+ page: 1,
649
+ perPage: 10
650
+ });
651
+ const fetcher = useFetcher();
652
+ const { data, isMutating, trigger } = useSWRMutation2(
653
+ swrKey3,
654
+ (_0, _1) => __async(void 0, [_0, _1], function* (key, {
655
+ arg
656
+ }) {
657
+ var _a2, _b, _c, _d;
658
+ const newPaginationData = {
659
+ page: (_b = (_a2 = arg == null ? void 0 : arg.page) != null ? _a2 : paginationData.page) != null ? _b : 1,
660
+ perPage: (_d = (_c = arg == null ? void 0 : arg.perPage) != null ? _c : paginationData.perPage) != null ? _d : 10
661
+ };
662
+ setPaginationData(newPaginationData);
663
+ const values = form.getFieldsValue();
664
+ const fetcherArg = __spreadValues(__spreadValues({}, values), newPaginationData);
665
+ return fetcher(__spreadProps(__spreadValues({}, key), {
666
+ // TODO: 兼容 params 与 data
667
+ params: typeof transformArg === "function" ? transformArg(fetcherArg) : fetcherArg
668
+ }));
669
+ })
670
+ );
671
+ const onFinish = () => __async(void 0, null, function* () {
672
+ yield trigger({ page: 1 });
673
+ });
674
+ const onReset = useCallback(() => __async(void 0, null, function* () {
675
+ try {
676
+ form.resetFields();
677
+ yield form.validateFields();
678
+ yield trigger({ page: 1 });
679
+ } catch (_) {
680
+ console.log("\u8868\u5355\u6821\u9A8C\u5931\u8D25");
681
+ }
682
+ }), [form, trigger]);
683
+ const onPaginationChange = useCallback(
684
+ (currentPage, currentSize) => __async(void 0, null, function* () {
685
+ yield trigger({
686
+ page: currentPage,
687
+ perPage: currentSize
688
+ });
689
+ }),
690
+ [trigger]
691
+ );
692
+ useEffect(() => {
693
+ setTrigger(swrKey3, trigger);
694
+ }, [swrKey3, setTrigger, trigger]);
695
+ useEffect(() => {
696
+ (() => __async(void 0, null, function* () {
697
+ try {
698
+ yield form.validateFields();
699
+ yield trigger();
700
+ } catch (_) {
701
+ form.resetFields();
702
+ }
703
+ }))();
704
+ }, [form, trigger]);
705
+ if (isValidating) {
706
+ return /* @__PURE__ */ jsx(
707
+ Spin,
708
+ {
709
+ style: {
710
+ display: "flex",
711
+ justifyContent: "center",
712
+ alignItems: "center",
713
+ height: 200
714
+ }
715
+ }
716
+ );
717
+ }
718
+ if (!accessible) {
719
+ return /* @__PURE__ */ jsx(Result, { status: 403, subTitle: "\u65E0\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u8FDB\u884C\u6388\u6743" });
720
+ }
721
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
722
+ /* @__PURE__ */ jsx(
723
+ FilterForm_default,
724
+ {
725
+ initialValues,
726
+ form,
727
+ labelCol,
728
+ confirmText,
729
+ onFinish,
730
+ onReset,
731
+ children: renderForm == null ? void 0 : renderForm(form)
732
+ }
733
+ ),
734
+ /* @__PURE__ */ jsx(
735
+ Table,
736
+ __spreadProps(__spreadValues({}, tableProps), {
737
+ dataSource: data == null ? void 0 : data.List,
738
+ loading: isMutating,
739
+ pagination: {
740
+ showSizeChanger: true,
741
+ showQuickJumper: true,
742
+ current: paginationData.page,
743
+ pageSize: paginationData.perPage,
744
+ total: data == null ? void 0 : data.Total,
745
+ onChange: onPaginationChange
746
+ }
747
+ })
748
+ )
749
+ ] });
750
+ };
751
+ QueryList_default = QueryList;
752
+ }
753
+ });
754
+
755
+ // src/components/index.ts
756
+ var init_components = __esm({
757
+ "src/components/index.ts"() {
758
+ init_esm_shims();
759
+ init_DynamicTags();
760
+ init_FilterForm();
761
+ init_FormModal();
762
+ init_hooks();
763
+ init_Highlight();
764
+ init_PermissionButton();
765
+ init_QueryList();
766
+ }
767
+ });
768
+ function useAllPermissions() {
769
+ return useSWR({
770
+ url: "/api/usystem/user/allPermssions"
771
+ });
772
+ }
773
+ function useAllRoles() {
774
+ const { accessible } = usePermission("200005");
775
+ return useSWR(
776
+ accessible ? {
777
+ url: "/api/usystem/role/all"
778
+ } : null
779
+ );
780
+ }
781
+ function useRole(name) {
782
+ return useSWR({
783
+ url: "/api/usystem/role/info",
784
+ params: { name }
785
+ });
786
+ }
787
+ function useCreateRole() {
788
+ const fetcher = useFetcher();
789
+ return useSWRMutation2(
790
+ "/api/usystem/role/create",
791
+ (url, {
792
+ arg
793
+ }) => fetcher({ method: "POST", url, data: arg })
794
+ );
795
+ }
796
+ function useUpdateRole() {
797
+ const fetcher = useFetcher();
798
+ return useSWRMutation2(
799
+ "/api/usystem/role/update",
800
+ (url, {
801
+ arg
802
+ }) => fetcher({ method: "POST", url, data: arg })
803
+ );
804
+ }
805
+ function useRemoveRole() {
806
+ const fetcher = useFetcher();
807
+ return useSWRMutation2(
808
+ "/api/usystem/role/delete",
809
+ (url, {
810
+ arg
811
+ }) => fetcher({ method: "POST", url, data: arg })
812
+ );
813
+ }
814
+ function useCreateUser() {
815
+ const fetcher = useFetcher();
816
+ return useSWRMutation2(
817
+ "/api/usystem/user/create",
818
+ (url, {
819
+ arg
820
+ }) => fetcher({
821
+ method: "POST",
822
+ url,
823
+ data: arg
824
+ })
825
+ );
826
+ }
827
+ function useUpdateUser() {
828
+ const fetcher = useFetcher();
829
+ return useSWRMutation2(
830
+ "/api/usystem/user/update",
831
+ (url, {
832
+ arg
833
+ }) => fetcher({
834
+ method: "POST",
835
+ url,
836
+ data: arg
837
+ })
838
+ );
839
+ }
840
+ function useRemoveUser() {
841
+ const fetcher = useFetcher();
842
+ return useSWRMutation2(
843
+ "/api/usystem/user/delete",
844
+ (url, {
845
+ arg
846
+ }) => fetcher({
847
+ method: "POST",
848
+ url,
849
+ data: arg
850
+ })
851
+ );
852
+ }
853
+ var init_hooks3 = __esm({
854
+ "src/features/permission/hooks/index.ts"() {
855
+ init_esm_shims();
856
+ init_hooks2();
857
+ }
858
+ });
859
+ var Text, PermissionList, PermissionList_default;
860
+ var init_PermissionList = __esm({
861
+ "src/features/permission/components/PermissionList.tsx"() {
862
+ init_esm_shims();
863
+ init_hooks3();
864
+ ({ Text } = Typography);
865
+ PermissionList = ({
866
+ expand = true,
867
+ value,
868
+ readonly,
869
+ onChange
870
+ }) => {
871
+ const [activeKey, setActiveKey] = useState([]);
872
+ const [internalValue, setInternalValue] = useState(value != null ? value : []);
873
+ const { data: permissions, isLoading, error } = useAllPermissions();
874
+ const [checkedMap, setCheckedMap] = useState({});
875
+ useEffect(() => {
876
+ setInternalValue(value != null ? value : []);
877
+ }, [value]);
878
+ useEffect(() => {
879
+ if (expand) {
880
+ setActiveKey((permissions != null ? permissions : []).map(({ category }) => category));
881
+ }
882
+ }, [expand, permissions]);
883
+ useEffect(() => {
884
+ const checkedValue = (permissions != null ? permissions : []).reduce(
885
+ (acc, curr) => {
886
+ acc[curr.category] = curr.permissions.every((item) => internalValue.includes(item.value));
887
+ return acc;
888
+ },
889
+ {}
890
+ );
891
+ setCheckedMap(checkedValue);
892
+ }, [internalValue, permissions]);
893
+ const onCollapseChange = (key) => {
894
+ setActiveKey(key);
895
+ };
896
+ const getCheckedValue = (checkedValue, codes) => {
897
+ let tempValue = [];
898
+ if (checkedValue) {
899
+ tempValue = [...new Set(internalValue.concat(codes))];
900
+ } else {
901
+ tempValue = internalValue.slice();
902
+ codes.forEach((code) => {
903
+ const index = tempValue.findIndex((item) => item === code);
904
+ if (index > -1) {
905
+ tempValue.splice(index, 1);
906
+ }
907
+ });
908
+ }
909
+ return tempValue;
910
+ };
911
+ const onCheckChange = (e, category, codes) => {
912
+ const checkedValue = getCheckedValue(e.target.checked, codes);
913
+ setInternalValue(checkedValue);
914
+ onChange == null ? void 0 : onChange(checkedValue);
915
+ };
916
+ if (error) {
917
+ return /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx(Text, { type: "danger", children: "\u6743\u9650\u83B7\u53D6\u5931\u8D25" }) });
918
+ }
919
+ return /* @__PURE__ */ jsx(Skeleton, { active: true, loading: isLoading, children: /* @__PURE__ */ jsx(
920
+ Collapse,
921
+ {
922
+ style: { width: "100%" },
923
+ collapsible: "header",
924
+ activeKey,
925
+ items: (permissions != null ? permissions : []).map((item) => ({
926
+ key: item.category,
927
+ label: item.category,
928
+ extra: !readonly && /* @__PURE__ */ jsx(
929
+ Checkbox,
930
+ {
931
+ checked: checkedMap[item.category],
932
+ onChange: (e) => {
933
+ onCheckChange(
934
+ e,
935
+ item.category,
936
+ item.permissions.map((permission) => permission.value)
937
+ );
938
+ },
939
+ children: "\u5168\u9009"
940
+ }
941
+ ),
942
+ children: /* @__PURE__ */ jsx(
943
+ Checkbox.Group,
944
+ {
945
+ style: { width: "100%" },
946
+ options: item.permissions.map((permission) => ({
947
+ label: permission.label,
948
+ value: permission.value,
949
+ disabled: readonly,
950
+ onChange(e) {
951
+ onCheckChange(e, item.category, [permission.value]);
952
+ }
953
+ })),
954
+ value: internalValue
955
+ }
956
+ )
957
+ })),
958
+ onChange: onCollapseChange
959
+ }
960
+ ) });
961
+ };
962
+ PermissionList_default = PermissionList;
963
+ }
964
+ });
965
+
966
+ // src/features/permission/types/index.ts
967
+ var init_types = __esm({
968
+ "src/features/permission/types/index.ts"() {
969
+ init_esm_shims();
970
+ }
971
+ });
972
+
973
+ // src/features/permission/index.ts
974
+ var init_permission = __esm({
975
+ "src/features/permission/index.ts"() {
976
+ init_esm_shims();
977
+ init_PermissionList();
978
+ init_hooks3();
979
+ init_types();
980
+ }
981
+ });
982
+
983
+ // src/pages/permission/UserList.tsx
984
+ var UserList_exports = {};
985
+ __export(UserList_exports, {
986
+ default: () => UserList_default,
987
+ swrKey: () => swrKey
988
+ });
989
+ function useCreatingUserModal() {
990
+ const { message } = App.useApp();
991
+ const create4 = useCreateUser();
992
+ const { data: roles, isLoading } = useAllRoles();
993
+ const trigger = useQueryTriggerStore((state) => state.trigger);
994
+ return useFormModal({
995
+ title: "\u521B\u5EFA\u89D2\u8272",
996
+ labelCol: { flex: "80px" },
997
+ content: /* @__PURE__ */ jsxs(Fragment, { children: [
998
+ /* @__PURE__ */ jsx(Form.Item, { noStyle: true, shouldUpdate: (prevValues, currentValue) => prevValues.type !== currentValue.type, children: ({ getFieldValue }) => /* @__PURE__ */ jsx(Form.Item, { label: "\u540D\u79F0", name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { disabled: getFieldValue("id") }) }) }),
999
+ /* @__PURE__ */ jsx(Form.Item, { label: "\u89D2\u8272", name: "roles", children: /* @__PURE__ */ jsx(Select, { allowClear: true, mode: "multiple", loading: isLoading, children: (roles != null ? roles : []).map((role) => /* @__PURE__ */ jsx(Option, { value: role.name, children: role.name }, role.id)) }) })
1000
+ ] }),
1001
+ onConfirm(values) {
1002
+ return __async(this, null, function* () {
1003
+ yield create4.trigger(values, {
1004
+ onSuccess() {
1005
+ message.success("\u7528\u6237\u521B\u5EFA\u6210\u529F");
1006
+ trigger(swrKey);
1007
+ }
1008
+ });
1009
+ });
1010
+ }
1011
+ });
1012
+ }
1013
+ function useUpdatingUserModal() {
1014
+ const { message } = App.useApp();
1015
+ const update = useUpdateUser();
1016
+ const { data: roles, isLoading } = useAllRoles();
1017
+ const trigger = useQueryTriggerStore((state) => state.trigger);
1018
+ return useFormModal({
1019
+ title: "\u66F4\u65B0\u89D2\u8272",
1020
+ labelCol: { flex: "80px" },
1021
+ content: /* @__PURE__ */ jsxs(Fragment, { children: [
1022
+ /* @__PURE__ */ jsx(Form.Item, { hidden: true, name: "id", children: /* @__PURE__ */ jsx(Input, {}) }),
1023
+ /* @__PURE__ */ jsx(Form.Item, { noStyle: true, shouldUpdate: (prevValues, currentValue) => prevValues.type !== currentValue.type, children: ({ getFieldValue }) => /* @__PURE__ */ jsx(Form.Item, { label: "\u540D\u79F0", name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { disabled: getFieldValue("id") }) }) }),
1024
+ /* @__PURE__ */ jsx(Form.Item, { label: "\u89D2\u8272", name: "roles", children: /* @__PURE__ */ jsx(Select, { allowClear: true, mode: "multiple", loading: isLoading, children: (roles != null ? roles : []).map((role) => /* @__PURE__ */ jsx(Option, { value: role.name, children: role.name }, role.id)) }) })
1025
+ ] }),
1026
+ onConfirm(values) {
1027
+ return __async(this, null, function* () {
1028
+ yield update.trigger(values, {
1029
+ onSuccess() {
1030
+ message.success("\u7528\u6237\u66F4\u65B0\u6210\u529F");
1031
+ trigger(swrKey);
1032
+ }
1033
+ });
1034
+ });
1035
+ }
1036
+ });
1037
+ }
1038
+ var Option, swrKey, UserList, UserList_default;
1039
+ var init_UserList = __esm({
1040
+ "src/pages/permission/UserList.tsx"() {
1041
+ init_esm_shims();
1042
+ init_components();
1043
+ init_hooks();
1044
+ init_permission();
1045
+ init_stores();
1046
+ ({ Option } = Select);
1047
+ swrKey = {
1048
+ url: "/api/usystem/user/list"
1049
+ };
1050
+ UserList = () => {
1051
+ const { modal, message } = App.useApp();
1052
+ const remove = useRemoveUser();
1053
+ const trigger = useQueryTriggerStore((state) => state.trigger);
1054
+ const { showModal: showCreatingModal, Modal: CreatingModal } = useCreatingUserModal();
1055
+ const { showModal: showUpdatingModal, Modal: UpdatingModal } = useUpdatingUserModal();
1056
+ const columns = useMemo(() => {
1057
+ return [
1058
+ {
1059
+ title: "\u540D\u79F0",
1060
+ dataIndex: "name",
1061
+ key: "name"
1062
+ },
1063
+ {
1064
+ title: "ID",
1065
+ dataIndex: "id",
1066
+ key: "id"
1067
+ },
1068
+ {
1069
+ title: "\u89D2\u8272",
1070
+ dataIndex: "roles",
1071
+ key: "roles",
1072
+ width: "40%",
1073
+ render(value) {
1074
+ return /* @__PURE__ */ jsx(Row, { gutter: [4, 4], children: (value || []).map((item) => /* @__PURE__ */ jsx(Col, { children: item === "root" ? /* @__PURE__ */ jsx(Tag, { color: "#f50", children: item }) : /* @__PURE__ */ jsx(Tag, { color: "#ff5a00", children: /* @__PURE__ */ jsx(Link, { to: `/permission/role/${item}`, children: item }) }) }, item)) });
1075
+ }
1076
+ },
1077
+ {
1078
+ title: "\u521B\u5EFA\u65F6\u95F4",
1079
+ dataIndex: "Ctime",
1080
+ key: "ctime"
1081
+ },
1082
+ {
1083
+ title: "\u64CD\u4F5C",
1084
+ width: 150,
1085
+ align: "center",
1086
+ render: (value) => /* @__PURE__ */ jsxs(Space, { children: [
1087
+ /* @__PURE__ */ jsx(
1088
+ PermissionButton_default,
1089
+ {
1090
+ size: "small",
1091
+ type: "link",
1092
+ code: "100003",
1093
+ onClick: () => {
1094
+ showUpdatingModal({
1095
+ initialValues: {
1096
+ id: value.id,
1097
+ name: value.name,
1098
+ roles: value.roles
1099
+ }
1100
+ });
1101
+ },
1102
+ children: "\u66F4\u65B0"
1103
+ }
1104
+ ),
1105
+ /* @__PURE__ */ jsx(
1106
+ PermissionButton_default,
1107
+ {
1108
+ danger: true,
1109
+ size: "small",
1110
+ code: "100004",
1111
+ type: "link",
1112
+ onClick: () => {
1113
+ modal.confirm({
1114
+ title: "\u5220\u9664\u7528\u6237",
1115
+ content: /* @__PURE__ */ jsxs(Highlight_default, { texts: [value.name], children: [
1116
+ "\u786E\u5B9A\u8981\u5220\u9664\u7528\u6237\xA0",
1117
+ value.name,
1118
+ "\xA0\u5417\uFF1F"
1119
+ ] }),
1120
+ onOk() {
1121
+ return __async(this, null, function* () {
1122
+ yield remove.trigger(
1123
+ {
1124
+ id: value.id,
1125
+ name: value.name
1126
+ },
1127
+ {
1128
+ onSuccess() {
1129
+ return __async(this, null, function* () {
1130
+ yield message.success("\u7528\u6237\u5220\u9664\u6210\u529F");
1131
+ trigger(swrKey);
1132
+ });
1133
+ }
1134
+ }
1135
+ );
1136
+ });
1137
+ }
1138
+ });
1139
+ },
1140
+ children: "\u5220\u9664"
1141
+ }
1142
+ )
1143
+ ] })
1144
+ }
1145
+ ];
1146
+ }, [trigger, remove, message, modal, showUpdatingModal]);
1147
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1148
+ /* @__PURE__ */ jsx(
1149
+ Card,
1150
+ {
1151
+ title: "\u7528\u6237",
1152
+ extra: /* @__PURE__ */ jsx(
1153
+ PermissionButton_default,
1154
+ {
1155
+ type: "primary",
1156
+ icon: /* @__PURE__ */ jsx(UserAddOutlined, {}),
1157
+ code: "100002",
1158
+ onClick: () => {
1159
+ showCreatingModal();
1160
+ },
1161
+ children: "\u521B\u5EFA\u7528\u6237"
1162
+ }
1163
+ ),
1164
+ children: /* @__PURE__ */ jsx(
1165
+ QueryList_default,
1166
+ {
1167
+ code: "100001",
1168
+ swrKey,
1169
+ rowKey: "id",
1170
+ columns,
1171
+ transformArg: (arg) => {
1172
+ const _a = arg, { page, perPage } = _a, restValues = __objRest(_a, ["page", "perPage"]);
1173
+ return __spreadProps(__spreadValues({}, restValues != null ? restValues : {}), {
1174
+ page,
1175
+ size: perPage
1176
+ });
1177
+ }
1178
+ }
1179
+ )
1180
+ }
1181
+ ),
1182
+ CreatingModal,
1183
+ UpdatingModal
1184
+ ] });
1185
+ };
1186
+ UserList_default = UserList;
1187
+ }
1188
+ });
1189
+
1190
+ // src/pages/permission/RoleList.tsx
1191
+ var RoleList_exports = {};
1192
+ __export(RoleList_exports, {
1193
+ default: () => RoleList_default,
1194
+ swrKey: () => swrKey2
1195
+ });
1196
+ var swrKey2, RoleList, RoleList_default;
1197
+ var init_RoleList = __esm({
1198
+ "src/pages/permission/RoleList.tsx"() {
1199
+ init_esm_shims();
1200
+ init_components();
1201
+ init_hooks();
1202
+ init_permission();
1203
+ init_hooks2();
1204
+ init_stores();
1205
+ swrKey2 = {
1206
+ url: "/api/usystem/role/list"
1207
+ };
1208
+ RoleList = () => {
1209
+ const { accessible: viewable } = usePermission("200005");
1210
+ const { modal, message } = App.useApp();
1211
+ const fetcher = useFetcher();
1212
+ const create4 = useCreateRole();
1213
+ const remove = useRemoveRole();
1214
+ const update = useUpdateRole();
1215
+ const trigger = useQueryTriggerStore((state) => state.trigger);
1216
+ const { showModal: showCreateModal, Modal: CreateModal } = useFormModal({
1217
+ title: "\u521B\u5EFA\u89D2\u8272",
1218
+ width: "50vw",
1219
+ layout: "vertical",
1220
+ content: /* @__PURE__ */ jsxs(Fragment, { children: [
1221
+ /* @__PURE__ */ jsx(Form.Item, { label: "\u540D\u79F0", name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { addonBefore: "role_" }) }),
1222
+ /* @__PURE__ */ jsx(Form.Item, { label: "\u6743\u9650", name: "permissions", children: /* @__PURE__ */ jsx(PermissionList_default, {}) })
1223
+ ] }),
1224
+ onConfirm(values) {
1225
+ return __async(this, null, function* () {
1226
+ yield create4.trigger(
1227
+ {
1228
+ name: `role_${values.name}`,
1229
+ permissions: values.permissions
1230
+ },
1231
+ {
1232
+ onSuccess() {
1233
+ return __async(this, null, function* () {
1234
+ yield message.success("\u89D2\u8272\u521B\u5EFA\u6210\u529F");
1235
+ trigger(swrKey2);
1236
+ });
1237
+ }
1238
+ }
1239
+ );
1240
+ });
1241
+ }
1242
+ });
1243
+ const { showModal: showUpdateModal, Modal: UpdateModal } = useFormModal({
1244
+ title: "\u66F4\u65B0\u89D2\u8272",
1245
+ width: "50vw",
1246
+ layout: "vertical",
1247
+ content: /* @__PURE__ */ jsxs(Fragment, { children: [
1248
+ /* @__PURE__ */ jsx(Form.Item, { hidden: true, label: "ID", name: "id", children: /* @__PURE__ */ jsx(Input, {}) }),
1249
+ /* @__PURE__ */ jsx(Form.Item, { label: "\u540D\u79F0", name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { disabled: true, addonBefore: "role_" }) }),
1250
+ /* @__PURE__ */ jsx(Form.Item, { label: "\u6743\u9650", name: "permissions", children: /* @__PURE__ */ jsx(PermissionList_default, {}) })
1251
+ ] }),
1252
+ onConfirm(values) {
1253
+ return __async(this, null, function* () {
1254
+ yield update.trigger(
1255
+ {
1256
+ id: values.id,
1257
+ name: `role_${values.name}`,
1258
+ permissions: values.permissions
1259
+ },
1260
+ {
1261
+ onSuccess() {
1262
+ return __async(this, null, function* () {
1263
+ yield message.success("\u89D2\u8272\u66F4\u65B0\u6210\u529F");
1264
+ trigger(swrKey2);
1265
+ });
1266
+ }
1267
+ }
1268
+ );
1269
+ });
1270
+ }
1271
+ });
1272
+ const columns = useMemo(
1273
+ () => [
1274
+ {
1275
+ title: "\u540D\u79F0",
1276
+ key: "name",
1277
+ render(value) {
1278
+ if (viewable) {
1279
+ return /* @__PURE__ */ jsx(Link, { to: `${value.name}`, children: value.name });
1280
+ } else {
1281
+ return /* @__PURE__ */ jsx(Fragment, { children: value.name });
1282
+ }
1283
+ }
1284
+ },
1285
+ {
1286
+ title: "ID",
1287
+ dataIndex: "id",
1288
+ key: "id"
1289
+ },
1290
+ {
1291
+ title: "\u521B\u5EFA\u65F6\u95F4",
1292
+ dataIndex: "ctime",
1293
+ key: "ctime"
1294
+ },
1295
+ {
1296
+ title: "\u64CD\u4F5C",
1297
+ width: 150,
1298
+ align: "center",
1299
+ render: (value) => {
1300
+ return /* @__PURE__ */ jsxs(Space, { size: "small", children: [
1301
+ /* @__PURE__ */ jsx(
1302
+ PermissionButton_default,
1303
+ {
1304
+ code: "200003",
1305
+ size: "small",
1306
+ type: "link",
1307
+ onClick: () => __async(void 0, null, function* () {
1308
+ const role = yield fetcher({
1309
+ method: "GET",
1310
+ url: "/api/usystem/role/info",
1311
+ params: { name: value.name }
1312
+ });
1313
+ showUpdateModal({
1314
+ initialValues: {
1315
+ id: role == null ? void 0 : role.id,
1316
+ permissions: role == null ? void 0 : role.permissions,
1317
+ name: role == null ? void 0 : role.name.replace(/^role_/, "")
1318
+ }
1319
+ });
1320
+ }),
1321
+ children: "\u66F4\u65B0"
1322
+ }
1323
+ ),
1324
+ /* @__PURE__ */ jsx(
1325
+ PermissionButton_default,
1326
+ {
1327
+ danger: true,
1328
+ code: "200004",
1329
+ size: "small",
1330
+ type: "link",
1331
+ onClick: () => {
1332
+ modal.confirm({
1333
+ title: "\u5220\u9664\u89D2\u8272",
1334
+ content: /* @__PURE__ */ jsxs(Highlight_default, { texts: [value.name], children: [
1335
+ "\u786E\u5B9A\u8981\u5220\u9664\u89D2\u8272\xA0",
1336
+ value.name,
1337
+ "\xA0\u5417\uFF1F"
1338
+ ] }),
1339
+ onOk() {
1340
+ return __async(this, null, function* () {
1341
+ yield remove.trigger(
1342
+ {
1343
+ id: value.id,
1344
+ name: value.name
1345
+ },
1346
+ {
1347
+ onSuccess() {
1348
+ return __async(this, null, function* () {
1349
+ yield message.success("\u89D2\u8272\u5220\u9664\u6210\u529F");
1350
+ trigger(swrKey2);
1351
+ });
1352
+ }
1353
+ }
1354
+ );
1355
+ });
1356
+ }
1357
+ });
1358
+ },
1359
+ children: "\u5220\u9664"
1360
+ }
1361
+ )
1362
+ ] });
1363
+ }
1364
+ }
1365
+ ],
1366
+ [trigger, viewable, fetcher, modal, message, remove, showUpdateModal]
1367
+ );
1368
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1369
+ /* @__PURE__ */ jsx(
1370
+ Card,
1371
+ {
1372
+ title: "\u89D2\u8272",
1373
+ extra: /* @__PURE__ */ jsx(
1374
+ PermissionButton_default,
1375
+ {
1376
+ type: "primary",
1377
+ code: "200002",
1378
+ icon: /* @__PURE__ */ jsx(UsergroupAddOutlined, {}),
1379
+ onClick: () => {
1380
+ showCreateModal();
1381
+ },
1382
+ children: "\u521B\u5EFA\u89D2\u8272"
1383
+ }
1384
+ ),
1385
+ children: /* @__PURE__ */ jsx(
1386
+ QueryList_default,
1387
+ {
1388
+ rowKey: "name",
1389
+ columns,
1390
+ code: "200001",
1391
+ swrKey: swrKey2,
1392
+ transformArg: (arg) => {
1393
+ const _a2 = arg, { page, perPage } = _a2, restValues = __objRest(_a2, ["page", "perPage"]);
1394
+ return __spreadProps(__spreadValues({}, restValues), {
1395
+ page,
1396
+ size: perPage
1397
+ });
1398
+ }
1399
+ }
1400
+ )
1401
+ }
1402
+ ),
1403
+ CreateModal,
1404
+ UpdateModal
1405
+ ] });
1406
+ };
1407
+ RoleList_default = RoleList;
1408
+ }
1409
+ });
1410
+
1411
+ // src/pages/permission/RoleDetail.tsx
1412
+ var RoleDetail_exports = {};
1413
+ __export(RoleDetail_exports, {
1414
+ default: () => RoleDetail_default
1415
+ });
1416
+ var RoleDetail, RoleDetail_default;
1417
+ var init_RoleDetail = __esm({
1418
+ "src/pages/permission/RoleDetail.tsx"() {
1419
+ init_esm_shims();
1420
+ init_permission();
1421
+ RoleDetail = () => {
1422
+ const params = useParams();
1423
+ const { data, isLoading } = useRole(params.name);
1424
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1425
+ /* @__PURE__ */ jsx(
1426
+ Breadcrumb,
1427
+ {
1428
+ style: { marginBottom: 24 },
1429
+ items: [
1430
+ {
1431
+ key: "1",
1432
+ title: /* @__PURE__ */ jsx(Link, { to: "/permission/role", children: "\u89D2\u8272" })
1433
+ },
1434
+ {
1435
+ key: "2",
1436
+ title: params.name
1437
+ }
1438
+ ]
1439
+ }
1440
+ ),
1441
+ /* @__PURE__ */ jsx(Card, { title: "\u6743\u9650\u8BE6\u60C5", children: /* @__PURE__ */ jsx(Skeleton, { loading: isLoading, children: /* @__PURE__ */ jsxs(Descriptions, { column: 3, layout: "vertical", children: [
1442
+ /* @__PURE__ */ jsx(Descriptions.Item, { label: "\u540D\u79F0", children: data == null ? void 0 : data.name }),
1443
+ /* @__PURE__ */ jsx(Descriptions.Item, { label: "ID", children: data == null ? void 0 : data.id }),
1444
+ /* @__PURE__ */ jsx(Descriptions.Item, { label: "\u521B\u5EFA\u65F6\u95F4", children: data == null ? void 0 : data.ctime }),
1445
+ /* @__PURE__ */ jsx(Descriptions.Item, { label: "\u6743\u9650", span: 3, children: /* @__PURE__ */ jsx(PermissionList_default, { readonly: true, value: data == null ? void 0 : data.permissions }) })
1446
+ ] }) }) })
1447
+ ] });
1448
+ };
1449
+ RoleDetail_default = RoleDetail;
1450
+ }
1451
+ });
1452
+
1453
+ // src/index.ts
1454
+ init_esm_shims();
1455
+ init_components();
1456
+ init_hooks2();
1457
+ init_stores();
1458
+
1459
+ // src/pages/index.ts
1460
+ init_esm_shims();
1461
+
1462
+ // src/pages/Login/index.tsx
1463
+ init_esm_shims();
1464
+
1465
+ // src/constants/index.ts
1466
+ init_esm_shims();
1467
+ var SSO_URL = "https://idaas.ifunplus.cn/enduser/api/application/plugin_FunPlus/sso/v1";
1468
+ new TextEncoder().encode("cc7e0d44fd473002f1c42167459001140ec6389b7353f8088f4d9a95f2f596f2");
1469
+
1470
+ // src/pages/Login/index.tsx
1471
+ init_stores();
1472
+
1473
+ // src/pages/Login/default.tsx
1474
+ init_esm_shims();
1475
+ var Default = () => {
1476
+ return /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 1620 1028", xmlns: "http://www.w3.org/2000/svg", children: [
1477
+ /* @__PURE__ */ jsx("g", { id: "a" }),
1478
+ /* @__PURE__ */ jsx("g", { id: "b", children: /* @__PURE__ */ jsx("g", { id: "c", children: /* @__PURE__ */ jsxs("g", { children: [
1479
+ /* @__PURE__ */ jsx(
1480
+ "path",
1481
+ {
1482
+ fill: "#e8f2fa",
1483
+ d: "M1543.84,1025.63c-92.65,0-1442.29,.34-1443.07-2.11l-.13-.31s-.13-.3-.13-.45c-.52-1.23-207.95-345.42,114.53-585.03,126.18-93.75-7.9-155.64,92.44-260.01,115.31-119.94,241.15,12.74,369.38-41.64,22.66-9.6,45.39-25.05,68.15-48.76C797.78,32.37,870.19,6.95,944.96,1.25c143.27-10.86,304.51,50.23,387.71,139.53,16.75,17.98,92.93,111.03,32.88,238.91-37.91,80.74,120.91,157.86,177.35,250.06,143.49,234.42,2.24,392.82,.93,395.87Z"
1484
+ }
1485
+ ),
1486
+ /* @__PURE__ */ jsxs("g", { opacity: ".5", children: [
1487
+ /* @__PURE__ */ jsx("g", { opacity: ".5", children: /* @__PURE__ */ jsx(
1488
+ "path",
1489
+ {
1490
+ fill: "#a9c2ff",
1491
+ d: "M522.98,381s-10.51-89.31-55.62-142.6c-6-7.08-17.47-2.57-17.28,6.76,0,.16,0,.31,.01,.47,.58,15.93,51.09,83.13,72.89,135.37Z"
1492
+ }
1493
+ ) }),
1494
+ /* @__PURE__ */ jsx("g", { opacity: ".5", children: /* @__PURE__ */ jsx(
1495
+ "path",
1496
+ {
1497
+ fill: "#a9c2ff",
1498
+ d: "M528.46,406.57s-44.95-111.62-121.74-160.99c-4.68-3.01-11.02-1.92-14.16,2.72-2.04,3.02-2.96,7.73-.67,15.1,6.12,19.63,91.75,85.72,136.57,143.18Z"
1499
+ }
1500
+ ) })
1501
+ ] }),
1502
+ /* @__PURE__ */ jsxs("g", { children: [
1503
+ /* @__PURE__ */ jsx(
1504
+ "path",
1505
+ {
1506
+ fill: "#73b471",
1507
+ d: "M1088.4,378.19s-40.25-25.14-19.73-56.1c0,0,16.18-18.86,32.87-23.19,0,0-10.72,47-1.98,48.49,8.75,1.48,8.23-53.25,8.23-53.25,0,0,44.27-19.36,61.23-16.97,0,0-28.81,45.13-19.97,44.38,8.84-.75,40.96-46.29,40.96-46.29,0,0,44.84-6.49,50.9,20.56,6.05,27.05-6.03,39.94-12.69,41.34-6.66,1.4-48.94-.94-48.07,4.68,.87,5.62,29.08,15.74,45.22,11.39,0,0-19.38,43.29-42.36,40.09-22.99-3.2-29.54-17.99-43.78-19.7-14.24-1.71-24.84,1.75-17.85,5.95,6.98,4.2,31.27,2.59,42.4,13.03,11.13,10.43,20.22,16.96-1.39,20.52-21.61,3.56-59.96-.84-66.97-17.88l-7.01-17.04Z"
1508
+ }
1509
+ ),
1510
+ /* @__PURE__ */ jsxs("g", { children: [
1511
+ /* @__PURE__ */ jsx(
1512
+ "path",
1513
+ {
1514
+ fill: "#73b471",
1515
+ d: "M1220.24,303.33s-116.93,33.06-131.84,74.86c0,0-.22,18.97-12.65,40.22l-.34,8.36s13.25-27.92,20-31.54c0,0-24.32-37.87,124.83-91.9Z"
1516
+ }
1517
+ ),
1518
+ /* @__PURE__ */ jsx(
1519
+ "path",
1520
+ {
1521
+ fill: "#73b471",
1522
+ d: "M1075.75,418.41s-18.91,26.66-10.13,60.45l4.63-1.05s-2.94-36.94,7.12-55.03c10.06-18.09-1.62-4.37-1.62-4.37Z"
1523
+ }
1524
+ )
1525
+ ] })
1526
+ ] }),
1527
+ /* @__PURE__ */ jsxs("g", { children: [
1528
+ /* @__PURE__ */ jsx(
1529
+ "path",
1530
+ {
1531
+ fill: "#9bd399",
1532
+ d: "M925.53,377.18s-67.6,6.07-70.13-47.44c0,0,2.69-35.79,18.25-55.28,0,0,27.38,63.45,38.71,57.55,11.32-5.9-35.54-68.47-35.54-68.47,0,0,34.61-60.79,56.16-72.8,0,0,4.97,77.02,14.52,68.48,9.54-8.54,8.04-88.93,8.04-88.93,0,0,46.15-46.48,75.98-20.59,29.83,25.89,26.82,51.24,20.33,58.64-6.49,7.4-57.15,41.49-51.4,47.2,5.75,5.71,46.78-7.17,61.69-26.21,0,0,14.28,66.7-14.89,83.01-29.17,16.31-49.21,4.98-67.06,15.39-17.84,10.41-27.12,23.62-15.53,22.38,11.59-1.24,38.19-24.21,59.83-21.88,21.64,2.33,37.62,1.94,15.74,24.83-21.87,22.89-69.75,51.18-92.22,37.65l-22.48-13.53Z"
1533
+ }
1534
+ ),
1535
+ /* @__PURE__ */ jsxs("g", { children: [
1536
+ /* @__PURE__ */ jsx(
1537
+ "path",
1538
+ {
1539
+ fill: "#9bd399",
1540
+ d: "M1014.06,176.32s-106.69,139.76-88.53,200.87c0,0,15.78,22.04,19.44,57.32l6.67,9.92s-8.34-43.67-3.63-53.71c0,0-60.01-22.45,66.05-214.39Z"
1541
+ }
1542
+ ),
1543
+ /* @__PURE__ */ jsx(
1544
+ "path",
1545
+ {
1546
+ fill: "#9bd399",
1547
+ d: "M944.97,434.5s.76,47.15,39.44,78.42l4.44-5.24s-34.61-39.97-38.32-69.55c-3.71-29.58-5.56-3.62-5.56-3.62Z"
1548
+ }
1549
+ )
1550
+ ] })
1551
+ ] }),
1552
+ /* @__PURE__ */ jsxs("g", { children: [
1553
+ /* @__PURE__ */ jsxs("g", { children: [
1554
+ /* @__PURE__ */ jsx(
1555
+ "path",
1556
+ {
1557
+ fill: "#b6cfff",
1558
+ d: "M290.34,904.31s-18.93-22.41-1.17-36.64c0,0,12.98-7.97,23.56-7.32,0,0-14.99,25.5-10.14,28.04,4.85,2.54,14.69-29.64,14.69-29.64,0,0,29.53-2.91,39.03,1.73,0,0-25.25,20.96-19.93,22.2,5.32,1.25,32.58-19.32,32.58-19.32,0,0,27.48,4.74,26.02,21.75-1.47,17.01-10.94,22.26-15.1,21.81-4.16-.45-28.51-9.88-29.04-6.42-.53,3.46,14.13,14.77,24.39,15.29,0,0-19.38,21.68-32.26,15.42-12.88-6.26-13.98-16.17-22.01-19.89-8.03-3.72-14.88-3.71-11.57,.08,3.31,3.79,17.84,7.48,22.43,15.72,4.59,8.24,8.71,13.79-4.61,11.76-13.32-2.03-34.98-11.92-35.93-23.25l-.95-11.32Z"
1559
+ }
1560
+ ),
1561
+ /* @__PURE__ */ jsxs("g", { children: [
1562
+ /* @__PURE__ */ jsx(
1563
+ "path",
1564
+ {
1565
+ fill: "#b6cfff",
1566
+ d: "M381.48,885.57s-74.65-2.92-91.14,18.74c0,0-3.65,11.08-14.87,21.16l-1.75,4.83s12.94-13.84,17.56-14.67c0,0-7.24-26.83,90.19-30.06Z"
1567
+ }
1568
+ ),
1569
+ /* @__PURE__ */ jsx(
1570
+ "path",
1571
+ {
1572
+ fill: "#b6cfff",
1573
+ d: "M275.48,925.47s-16.02,12.02-17.14,33.5l2.91,.26s5.12-22.21,14.37-30.89c9.25-8.68-.14-2.87-.14-2.87Z"
1574
+ }
1575
+ )
1576
+ ] })
1577
+ ] }),
1578
+ /* @__PURE__ */ jsxs("g", { children: [
1579
+ /* @__PURE__ */ jsx(
1580
+ "path",
1581
+ {
1582
+ fill: "#a9c2ff",
1583
+ d: "M224.15,876.13s30.12-17.11,16.06-40.33c0,0-11.24-14.26-23.29-17.92,0,0,6.42,34.62,0,35.44-6.43,.81-4.42-39.11-4.42-39.11,0,0-31.72-15.48-44.17-14.26,0,0,19.68,33.81,13.25,33-6.43-.81-28.51-35.03-28.51-35.03,0,0-32.53-6.11-37.75,13.44-5.22,19.55,3.21,29.33,8.03,30.55,4.82,1.22,35.74,.81,34.94,4.89-.8,4.07-21.69,10.59-33.33,6.92,0,0,12.85,32.18,29.72,30.55,16.87-1.63,22.09-12.22,32.53-13.03,10.44-.81,18.07,2.04,12.85,4.89-5.22,2.85-22.89,.93-31.32,8.21-8.43,7.27-15.26,11.75,.4,15.01,15.66,3.26,43.77,1.22,49.39-11l5.62-12.22Z"
1584
+ }
1585
+ ),
1586
+ /* @__PURE__ */ jsxs("g", { children: [
1587
+ /* @__PURE__ */ jsx(
1588
+ "path",
1589
+ {
1590
+ fill: "#a9c2ff",
1591
+ d: "M130.18,817.47s84.33,27.7,93.97,58.66c0,0-.4,13.85,8.03,29.74v6.11s-8.83-20.78-13.65-23.63c0,0,18.87-26.88-88.35-70.88Z"
1592
+ }
1593
+ ),
1594
+ /* @__PURE__ */ jsx(
1595
+ "path",
1596
+ {
1597
+ fill: "#a9c2ff",
1598
+ d: "M232.18,905.87s13.01,20.03,5.59,44.42l-3.35-.91s3.25-26.86-3.56-40.37c-6.8-13.51,1.31-3.14,1.31-3.14Z"
1599
+ }
1600
+ )
1601
+ ] })
1602
+ ] }),
1603
+ /* @__PURE__ */ jsxs("g", { children: [
1604
+ /* @__PURE__ */ jsx(
1605
+ "path",
1606
+ {
1607
+ fill: "#cedfff",
1608
+ d: "M272.06,852.53s-39.7-22.55-21.17-53.16c0,0,14.82-18.79,30.7-23.63,0,0-8.47,45.64,0,46.72,8.47,1.07,5.82-51.55,5.82-51.55,0,0,41.82-20.4,58.23-18.79,0,0-25.94,44.57-17.47,43.49,8.47-1.07,37.58-46.18,37.58-46.18,0,0,42.88-8.05,49.76,17.72,6.88,25.77-4.23,38.66-10.59,40.27-6.35,1.61-47.11,1.07-46.05,6.44,1.06,5.37,28.58,13.96,43.94,9.13,0,0-16.94,42.42-39.17,40.27-22.23-2.15-29.11-16.11-42.88-17.18-13.76-1.07-23.82,2.69-16.94,6.44,6.88,3.76,30.17,1.23,41.29,10.82,11.12,9.59,20.12,15.49-.53,19.79-20.64,4.3-57.7,1.61-65.11-14.5l-7.41-16.11Z"
1609
+ }
1610
+ ),
1611
+ /* @__PURE__ */ jsxs("g", { children: [
1612
+ /* @__PURE__ */ jsx(
1613
+ "path",
1614
+ {
1615
+ fill: "#cedfff",
1616
+ d: "M395.93,775.21s-111.16,36.51-123.87,77.32c0,0,.53,18.26-10.59,39.2v8.05s11.65-27.39,18-31.14c0,0-24.88-35.44,116.46-93.43Z"
1617
+ }
1618
+ ),
1619
+ /* @__PURE__ */ jsx(
1620
+ "path",
1621
+ {
1622
+ fill: "#cedfff",
1623
+ d: "M261.48,891.73s-17.14,26.41-7.37,58.55l4.41-1.2s-4.28-35.41,4.69-53.21c8.97-17.81-1.73-4.14-1.73-4.14Z"
1624
+ }
1625
+ )
1626
+ ] })
1627
+ ] }),
1628
+ /* @__PURE__ */ jsx(
1629
+ "path",
1630
+ {
1631
+ fill: "#bbd3ff",
1632
+ d: "M270.72,1019.99c42.95,0,77.77-35.32,77.77-78.89H192.96c0,43.57,34.82,78.89,77.77,78.89Z"
1633
+ }
1634
+ ),
1635
+ /* @__PURE__ */ jsx(
1636
+ "path",
1637
+ {
1638
+ fill: "#bbd3ff",
1639
+ d: "M349.57,1024.01H191.88c0-5.37,4.3-9.73,9.59-9.73h138.49c5.3,0,9.59,4.36,9.59,9.73h0Z"
1640
+ }
1641
+ ),
1642
+ /* @__PURE__ */ jsx("rect", { fill: "#80a1e6", height: "2.42", width: "159.86", y: "941.11", x: "190.4" })
1643
+ ] }),
1644
+ /* @__PURE__ */ jsx(
1645
+ "path",
1646
+ {
1647
+ fill: "#768cee",
1648
+ d: "M801.19,578.05l-34.8,419.74s-3.65,25.44,15.01,25.49c30.68,.07,152.69,0,152.69,0,0,0-23.09-5.3-22.81-17.21,.33-14.05,40.67-431.99,40.67-431.99l-150.76,3.97Z"
1649
+ }
1650
+ ),
1651
+ /* @__PURE__ */ jsx(
1652
+ "path",
1653
+ {
1654
+ fill: "#a9c2ff",
1655
+ d: "M945.58,1015.66c-6.03,.02-124.16,.22-154.03-.17-13.02-.16-15.3-11.74-15.41-19.24-.05-3.59,.4-6.25,.4-6.25l.9-10.91,2.31-27.81,2.04-24.57,2.62-31.57,2.2-26.64,24.73-298.26,150.76-3.97s-16.99,174.91-29.01,302.22c-1.34,14.19-2.62,27.79-3.8,40.48-.38,4.05-.75,8.02-1.11,11.88-1.11,12.05-2.13,23.11-3.02,32.88-.47,5.15-.9,9.93-1.29,14.31-1.53,17.17-2.43,28.13-2.44,30.22,0,1.22,.1,2.35,.29,3.4,2.47,13.38,21.59,13.98,23.86,13.98Z"
1656
+ }
1657
+ ),
1658
+ /* @__PURE__ */ jsx(
1659
+ "polygon",
1660
+ {
1661
+ fill: "#a9c2ff",
1662
+ points: "435.05 349.47 519.82 694.86 531.43 742.16 570.91 903.04 1304.39 903.04 1158.87 349.47 435.05 349.47"
1663
+ }
1664
+ ),
1665
+ /* @__PURE__ */ jsx(
1666
+ "polygon",
1667
+ {
1668
+ fill: "#768cee",
1669
+ points: "435.05 349.46 423.31 353.44 555.29 915.06 570.91 903.04 435.05 349.46"
1670
+ }
1671
+ ),
1672
+ /* @__PURE__ */ jsx(
1673
+ "polygon",
1674
+ {
1675
+ fill: "#809bf5",
1676
+ points: "555.29 915.06 1284.26 915.06 1304.39 903.04 570.91 903.04 555.29 915.06"
1677
+ }
1678
+ ),
1679
+ /* @__PURE__ */ jsx(
1680
+ "rect",
1681
+ {
1682
+ fill: "#a9c2ff",
1683
+ transform: "translate(1780.4 2038.92) rotate(180)",
1684
+ height: "7.61",
1685
+ width: "157.83",
1686
+ y: "1015.66",
1687
+ x: "811.28"
1688
+ }
1689
+ ),
1690
+ /* @__PURE__ */ jsx(
1691
+ "polygon",
1692
+ {
1693
+ fill: "#899bfa",
1694
+ points: "928.99 915.05 928.18 920.87 779.74 951.29 781.78 926.72 782.75 915.05 928.99 915.05"
1695
+ }
1696
+ ),
1697
+ /* @__PURE__ */ jsx("g", { opacity: ".5", children: /* @__PURE__ */ jsx(
1698
+ "path",
1699
+ {
1700
+ fill: "#899bfa",
1701
+ d: "M945.58,1015.66c-6.03,.02-124.16,.22-154.03-.17-13.02-.16-15.3-11.74-15.41-19.24l147.73-28.19c-1.53,17.17-2.43,28.13-2.44,30.22,0,1.22,.1,2.35,.29,3.4,2.47,13.38,21.59,13.98,23.86,13.98Z"
1702
+ }
1703
+ ) }),
1704
+ /* @__PURE__ */ jsx(
1705
+ "polygon",
1706
+ {
1707
+ fill: "#899bfa",
1708
+ points: "435.05 349.46 1158.87 349.46 1276.31 794.36 544.24 794.36 435.05 349.46"
1709
+ }
1710
+ ),
1711
+ /* @__PURE__ */ jsx(
1712
+ "polygon",
1713
+ {
1714
+ fill: "#5158bf",
1715
+ points: "1242.18 775.08 564.46 775.08 540.24 677.22 530.87 639.35 527.05 623.91 502.16 523.34 500.87 518.1 487.71 464.94 481.83 441.15 476.81 420.86 472.71 404.31 465.03 373.3 1132.98 373.3 1141.41 404.31 1145.91 420.86 1151.42 441.15 1157.88 464.94 1200.47 621.65 1200.47 621.65 1204.08 634.93 1205.76 641.09 1235.16 749.28 1242.18 775.08"
1716
+ }
1717
+ ),
1718
+ /* @__PURE__ */ jsx(
1719
+ "polygon",
1720
+ {
1721
+ fill: "#5d6cd2",
1722
+ points: "973.57 757.36 624.87 757.36 605.71 662.1 598.3 632.14 595.28 619.93 575.59 540.37 574.57 536.23 564.16 494.17 559.5 475.35 555.53 459.3 552.29 446.21 546.22 421.68 887.42 421.68 973.57 757.36"
1723
+ }
1724
+ ),
1725
+ /* @__PURE__ */ jsx("polygon", { fill: "#899bfa", points: "819.24 794.36 571.16 904.34 544.24 794.36 819.24 794.36" }),
1726
+ /* @__PURE__ */ jsxs("g", { children: [
1727
+ /* @__PURE__ */ jsx(
1728
+ "path",
1729
+ {
1730
+ fill: "#2a3967",
1731
+ d: "M1384.19,552.09c.04-.99,.79-11.66,16.82-12.22,0,0-7.88,.95-9.24,4.47,0,0,5.37-4.34,9.74-2.95,4.37,1.4,6.94,9.16,6.96,11.72,.03,2.55-2.4,10.79-5.18,11.49-1.05,.27-2.26,.19-3.36,0,.74,1.17,1.46,2.46,2.15,3.9,6.4,13.32-.2,26.33-5.61,24.89-3.47-.92-4.45,5.09-4.45,5.09l-33.74-27.7s12.39-26.01,25.91-18.69Z"
1732
+ }
1733
+ ),
1734
+ /* @__PURE__ */ jsx(
1735
+ "path",
1736
+ {
1737
+ fill: "#ffae73",
1738
+ d: "M1292.25,718.6c2.82,2.53,10.3-6.16,11.33-7.32,.05-.11,.11-.17,.11-.17l-2.28-6.44s-9.82-.38-11.44,1.27c-1.63,1.65-.81,9.96,2.28,12.65Z"
1739
+ }
1740
+ ),
1741
+ /* @__PURE__ */ jsx(
1742
+ "path",
1743
+ {
1744
+ fill: "#25468f",
1745
+ d: "M1372.45,944.42l7.17,2.71s31.12-43.79,34.96-82.31c.68-6.88-.72-21.46-.19-24.57,.25-1.45,.55-3.2,.89-5.21,1.01-5.88,2.4-13.93,4-23.09,3.66-21.09,8.41-48.04,12.09-67.85l-1.93-.63-20.89-6.84-4.32-13.91-15.56-4.15s-3.47,6.9-6.58,39.47c-.57,4.27-1.09,8.98-1.49,14.09-1.21,15.6-1.3,34.94,1.48,57.06,.71,5.66,3.67,27.92,3.33,34.81-1.57,31.49-12.96,80.44-12.96,80.44Z"
1746
+ }
1747
+ ),
1748
+ /* @__PURE__ */ jsx(
1749
+ "path",
1750
+ {
1751
+ fill: "#1e3865",
1752
+ d: "M1380.6,772.11l33.78,68.12c.25-1.45,.55-3.2,.89-5.21,1.01-5.88,2.4-13.93,4-23.09,3.66-21.09,8.41-48.04,12.09-67.85l-1.93-.63-20.89-6.84-4.32-13.91-15.56-4.15s-3.47,6.9-6.58,39.47c-.57,4.27-1.09,8.98-1.49,14.09Z"
1753
+ }
1754
+ ),
1755
+ /* @__PURE__ */ jsx(
1756
+ "path",
1757
+ {
1758
+ fill: "#25468f",
1759
+ d: "M1395.46,727.29l.78-6.8c13.1,3.53,48.1-9.86,48.1-9.86,0,0,12.69,11.32,11.03,38.44-.81,13.24-2.3,69.5-3.85,86.15-.56,6.03,3.3,21.56,4.85,25.75,15.23,41.17-2.35,91.87-2.35,91.87l-4.56-1.87s-28.85-106.12-31.83-117.36c-5.63-21.25-10.15-48.9-13.17-70.25-.42,.02-9.01-36.08-9.01-36.08Z"
1760
+ }
1761
+ ),
1762
+ /* @__PURE__ */ jsx(
1763
+ "path",
1764
+ {
1765
+ fill: "#ffae73",
1766
+ d: "M1385.52,648.37c22.52,1.25,17.57-32.81,16.2-32.63-2.76-1.46-7.7-8.55-10.56-20.41l-.97,.46-16.25,7.75s1.73,5.36,3,10.5c.99,4.02,1.71,7.9,1.11,8.98-1.28,.53-2.05,.86-2.05,.86,0,0,0,0,0,.02-.16,.42,3.52,24.15,9.53,24.48Z"
1767
+ }
1768
+ ),
1769
+ /* @__PURE__ */ jsx(
1770
+ "path",
1771
+ {
1772
+ fill: "#f99352",
1773
+ d: "M1373.93,603.53s1.73,5.36,3,10.5c9.5-2.69,12.38-12.82,13.25-18.25l-16.25,7.75Z"
1774
+ }
1775
+ ),
1776
+ /* @__PURE__ */ jsx(
1777
+ "path",
1778
+ {
1779
+ fill: "#ffae73",
1780
+ d: "M1371.93,609.21s22.73-5.34,19.23-19.64c-3.49-14.31-2.91-24.63-17.57-21.83-14.66,2.8-16.13,8.97-16.11,14.03,.02,5.06,8.45,28.46,14.45,27.44Z"
1781
+ }
1782
+ ),
1783
+ /* @__PURE__ */ jsx(
1784
+ "path",
1785
+ {
1786
+ fill: "#2a3967",
1787
+ d: "M1356.2,573.64c2.44-5.19,5.32-4.91,7.12-3.99,10.68-10.02,21.15-1.83,21.15-1.83,4.03,9.88,12.77,13.92,12.77,13.92,0,0-3.49,3.63-13.61,3.55-3.09-.02-6.2-1.46-9.03-3.45,5.45,5.57,11.85,8.97,11.85,8.97-12.67-2.46-21.16-17.34-22.03-18.92-1.07,1.61-3.13,5.03-3.3,7.92-.23,3.93,1.1,11.55-1.12,11.84,0,0-7.47-10.23-3.8-18Z"
1788
+ }
1789
+ ),
1790
+ /* @__PURE__ */ jsx(
1791
+ "path",
1792
+ {
1793
+ fill: "#1e3865",
1794
+ d: "M1427.51,956.62h36.09s.87-5.58-1.02-9.81c-1.81-4.06-4.64-5.91-3.96-10.82-2.29,2.4-6.03,5.08-11.25,4.37-.64,1.05-4.13,6.68-6.26,8.23-2.36,1.72-12.88,1.11-13.6,8.04Z"
1795
+ }
1796
+ ),
1797
+ /* @__PURE__ */ jsx(
1798
+ "path",
1799
+ {
1800
+ fill: "#1e3865",
1801
+ d: "M1350.02,956.62h36.09s1.35-5.84-1.02-9.81c-2.1-3.52-1.29-5.52,.26-8.43-1.64,.68-3.75,1.3-6.08,1.16-1.8-.1-3.7-.93-5.37-1.91-1.55,1.8-8.2,9.44-10.28,10.96-2.36,1.72-12.88,1.11-13.6,8.04Z"
1802
+ }
1803
+ ),
1804
+ /* @__PURE__ */ jsx(
1805
+ "path",
1806
+ {
1807
+ fill: "#899bfa",
1808
+ d: "M1445.02,667.38c-1.94-6.38-3.95-12.51-5.98-18.16-4.62-12.85-7.56-19.56-10.05-24.76-4.74-9.89-25.93-9.27-25.93-9.27-4.08,14.92-15.3,24.22-15.3,24.22-5.98-3.56-10.43-16.08-10.43-16.08l-13.09,7.06h0s-4.05,2.45-7.58,12.75c-5.25,15.32-13.77,37.08-19.68,43.73-1.38,1.55-5.42,3.9-10.31,6.39h0c-.11,.17-.19,.25-.24,.25,.32,.73,1.74,4.18,4.04,7.69,1.87,2.85,4.32,5.73,7.22,7.21,2.23-1.09,6.25-2.7,7.95-3.76,6.16-3.82,15.33-9.32,22.51-20.93l2,27.29,3.62,49.37c5.57,1.76,10.87,3.13,15.89,4.18,.33-4.14,1.65-9.09,1.65-9.09-.06,2.6,2.94,7.56,4.71,10.27,46.22,7.51,67.88-12.94,67.88-12.94-1.8-18.1-9.58-54.72-18.91-85.41Z"
1809
+ }
1810
+ ),
1811
+ /* @__PURE__ */ jsx(
1812
+ "path",
1813
+ {
1814
+ fill: "#6f7deb",
1815
+ d: "M1398.39,612.43s3.84,.26,4.67,2.76c0,0-5.02,20.49-15.29,24.22l10.62-26.97Z"
1816
+ }
1817
+ ),
1818
+ /* @__PURE__ */ jsx(
1819
+ "path",
1820
+ {
1821
+ fill: "#6f7deb",
1822
+ d: "M1387.77,639.4s-9.82-17.97-9.78-20.4c0,0-3.73,3.35-3.49,5.85,0,0,8.27,13.43,13.26,14.55Z"
1823
+ }
1824
+ ),
1825
+ /* @__PURE__ */ jsx(
1826
+ "path",
1827
+ {
1828
+ fill: "#6f7deb",
1829
+ d: "M1414.09,632.11c-.28,.97-20.31,49.54-38.28,67.44-7.87,7.84,17.2,5.57,17.44,4.12,.24-1.46,20.84-71.56,20.84-71.56Z"
1830
+ }
1831
+ ),
1832
+ /* @__PURE__ */ jsx(
1833
+ "path",
1834
+ {
1835
+ fill: "#6f7deb",
1836
+ d: "M1370.8,712.54l1.71,27.4c54.8-12.91,50.2-101.44,50.2-101.44l-27.52,57.64-24.15,16.01s-.09,.14-.25,.39Z"
1837
+ }
1838
+ ),
1839
+ /* @__PURE__ */ jsx(
1840
+ "path",
1841
+ {
1842
+ fill: "#a9c2ff",
1843
+ d: "M1326.37,693.41c.01,.06,.04,.09,.07,.09-.02-.04-.03-.08-.04-.1-.04-.09-.05-.09-.03,.01Z"
1844
+ }
1845
+ ),
1846
+ /* @__PURE__ */ jsxs("g", { children: [
1847
+ /* @__PURE__ */ jsx(
1848
+ "path",
1849
+ {
1850
+ fill: "#ff912b",
1851
+ d: "M1353.48,655.68l10.91,49.33c1.74,7.86-4.13,14.22-13.1,14.22h-262c-8.97,0-17.65-6.37-19.39-14.22l-10.91-49.33c-.07-.3-.12-.6-.16-.9-1.13-7.44,4.63-13.32,13.26-13.32h262c8.63,0,16.99,5.88,19.15,13.32,.1,.3,.17,.6,.24,.9Z"
1852
+ }
1853
+ ),
1854
+ /* @__PURE__ */ jsxs("g", { children: [
1855
+ /* @__PURE__ */ jsxs("g", { children: [
1856
+ /* @__PURE__ */ jsx(
1857
+ "polygon",
1858
+ {
1859
+ fill: "#e8f2fa",
1860
+ points: "1089.87 697 1087.3 697 1080.51 666.3 1083.08 666.3 1089.87 697"
1861
+ }
1862
+ ),
1863
+ /* @__PURE__ */ jsx(
1864
+ "polygon",
1865
+ {
1866
+ fill: "#e8f2fa",
1867
+ points: "1107.58 678.97 1089.17 678.97 1087.24 670.28 1105.66 670.28 1107.58 678.97"
1868
+ }
1869
+ ),
1870
+ /* @__PURE__ */ jsx(
1871
+ "polygon",
1872
+ {
1873
+ fill: "#e8f2fa",
1874
+ points: "1116.16 691.42 1091.92 691.42 1090 682.74 1114.24 682.74 1116.16 691.42"
1875
+ }
1876
+ )
1877
+ ] }),
1878
+ /* @__PURE__ */ jsxs("g", { children: [
1879
+ /* @__PURE__ */ jsx(
1880
+ "polygon",
1881
+ {
1882
+ fill: "#e8f2fa",
1883
+ points: "1148.77 697 1146.2 697 1139.41 666.3 1141.98 666.3 1148.77 697"
1884
+ }
1885
+ ),
1886
+ /* @__PURE__ */ jsx(
1887
+ "polygon",
1888
+ {
1889
+ fill: "#e8f2fa",
1890
+ points: "1152.7 678.97 1134.29 678.97 1132.37 670.28 1150.78 670.28 1152.7 678.97"
1891
+ }
1892
+ ),
1893
+ /* @__PURE__ */ jsx(
1894
+ "polygon",
1895
+ {
1896
+ fill: "#e8f2fa",
1897
+ points: "1158.37 691.42 1134.13 691.42 1132.21 682.74 1156.45 682.74 1158.37 691.42"
1898
+ }
1899
+ )
1900
+ ] }),
1901
+ /* @__PURE__ */ jsxs("g", { children: [
1902
+ /* @__PURE__ */ jsx(
1903
+ "polygon",
1904
+ {
1905
+ fill: "#e8f2fa",
1906
+ points: "1207.67 697 1205.1 697 1198.31 666.3 1200.88 666.3 1207.67 697"
1907
+ }
1908
+ ),
1909
+ /* @__PURE__ */ jsx(
1910
+ "polygon",
1911
+ {
1912
+ fill: "#e8f2fa",
1913
+ points: "1197.82 678.97 1179.4 678.97 1177.48 670.28 1195.89 670.28 1197.82 678.97"
1914
+ }
1915
+ ),
1916
+ /* @__PURE__ */ jsx(
1917
+ "polygon",
1918
+ {
1919
+ fill: "#e8f2fa",
1920
+ points: "1200.57 691.42 1176.33 691.42 1174.41 682.74 1198.65 682.74 1200.57 691.42"
1921
+ }
1922
+ )
1923
+ ] }),
1924
+ /* @__PURE__ */ jsxs("g", { children: [
1925
+ /* @__PURE__ */ jsx(
1926
+ "polygon",
1927
+ {
1928
+ fill: "#e8f2fa",
1929
+ points: "1245.35 668.78 1215.1 668.78 1214.52 666.18 1244.78 666.18 1245.35 668.78"
1930
+ }
1931
+ ),
1932
+ /* @__PURE__ */ jsx(
1933
+ "polygon",
1934
+ {
1935
+ fill: "#e8f2fa",
1936
+ points: "1228.12 671.23 1232.26 689.91 1223.69 689.91 1219.56 671.23 1228.12 671.23"
1937
+ }
1938
+ ),
1939
+ /* @__PURE__ */ jsx(
1940
+ "polygon",
1941
+ {
1942
+ fill: "#e8f2fa",
1943
+ points: "1240.4 671.23 1245.84 695.82 1237.28 695.82 1231.84 671.23 1240.4 671.23"
1944
+ }
1945
+ )
1946
+ ] }),
1947
+ /* @__PURE__ */ jsxs("g", { children: [
1948
+ /* @__PURE__ */ jsx(
1949
+ "polygon",
1950
+ {
1951
+ fill: "#e8f2fa",
1952
+ points: "1292.98 682.95 1262.72 682.95 1262.14 680.35 1292.4 680.35 1292.98 682.95"
1953
+ }
1954
+ ),
1955
+ /* @__PURE__ */ jsx(
1956
+ "polygon",
1957
+ {
1958
+ fill: "#e8f2fa",
1959
+ points: "1272.86 672.31 1276.99 690.99 1268.42 690.99 1264.29 672.31 1272.86 672.31"
1960
+ }
1961
+ ),
1962
+ /* @__PURE__ */ jsx(
1963
+ "polygon",
1964
+ {
1965
+ fill: "#e8f2fa",
1966
+ points: "1284.48 669.36 1289.92 693.94 1281.35 693.94 1275.91 669.36 1284.48 669.36"
1967
+ }
1968
+ )
1969
+ ] }),
1970
+ /* @__PURE__ */ jsxs("g", { children: [
1971
+ /* @__PURE__ */ jsx(
1972
+ "polygon",
1973
+ {
1974
+ fill: "#e8f2fa",
1975
+ points: "1340.63 697.23 1310.37 697.23 1309.79 694.63 1340.05 694.63 1340.63 697.23"
1976
+ }
1977
+ ),
1978
+ /* @__PURE__ */ jsx(
1979
+ "polygon",
1980
+ {
1981
+ fill: "#e8f2fa",
1982
+ points: "1317.78 673.28 1321.91 691.96 1313.34 691.96 1309.21 673.28 1317.78 673.28"
1983
+ }
1984
+ ),
1985
+ /* @__PURE__ */ jsx(
1986
+ "polygon",
1987
+ {
1988
+ fill: "#e8f2fa",
1989
+ points: "1328.74 667.37 1334.18 691.96 1325.62 691.96 1320.18 667.37 1328.74 667.37"
1990
+ }
1991
+ )
1992
+ ] })
1993
+ ] })
1994
+ ] }),
1995
+ /* @__PURE__ */ jsxs("g", { children: [
1996
+ /* @__PURE__ */ jsx(
1997
+ "path",
1998
+ {
1999
+ fill: "#ffae73",
2000
+ d: "M1327.16,714.82c2.99-.01,7.7-.22,10.42-1.28,0,0-8.7-.13-6.85-2.92,.34-.51,4.66-.12,9.49-.12,1.98,0,6.88,2.75,6.62,2.88,3.5-.47,6.68-1.16,7.71-1.38,.27-.06,.38-.11,.38-.11l3.09,9.13s-.65,.16-1.79,.38c-2.87,.72-8.79,2.26-14.37,4.46-7.81,3.14-13.55-.76-16.16-3.52-1.65-1.75-2.95-4.07-2.86-5.75,.1-1.84,2.5-1.76,4.32-1.77Z"
2001
+ }
2002
+ ),
2003
+ /* @__PURE__ */ jsx(
2004
+ "path",
2005
+ {
2006
+ fill: "#ffae73",
2007
+ d: "M1348.16,715.52l1.9,7.04s2.39-.44,6.18-1.16c1.14-.22,1.79-.39,1.79-.39,3.04-.6,6.67-1.43,10.63-2.31h.06c6.78-1.65,14.37-3.63,20.77-5.83,.57-.2,1.14-.41,1.69-.61,3.78-1.42-3.53-20.9-6.84-18.47-.88,.65-1.82,1.31-2.8,1.99-5.49,3.78-12.47,7.99-18.67,11.54-3.04,1.76-5.91,3.36-8.3,4.68-3.85,2.14-6.4,3.52-6.4,3.52Z"
2008
+ }
2009
+ ),
2010
+ /* @__PURE__ */ jsx(
2011
+ "path",
2012
+ {
2013
+ fill: "#899bfa",
2014
+ d: "M1381.53,695.79s-.4,13.3,11.88,19.77c14.19-5.2,21.78-26.66,27.64-41.4,.81-2.03,1.57-4.07,2.33-6.05,2.71-7.37,4.88-14.63,6.18-20.91,.81-3.74-14.97-22.61-16.97-18.15-3.09,7.09-6.34,16.28-9.38,25.41-1.68,5.01-3.31,10.01-4.94,14.63-.92,2.8-1.85,5.44-2.71,7.86-1.68,4.62-3.2,8.36-4.55,10.73-.87,1.54-3.36,3.69-6.67,6.11-.88,.65-1.82,1.31-2.8,1.99Z"
2015
+ }
2016
+ )
2017
+ ] })
2018
+ ] }),
2019
+ /* @__PURE__ */ jsx(
2020
+ "polygon",
2021
+ {
2022
+ fill: "#3c4aaa",
2023
+ points: "1141.41 404.31 472.71 404.31 465.03 373.3 1132.98 373.3 1141.41 404.31"
2024
+ }
2025
+ ),
2026
+ /* @__PURE__ */ jsxs("g", { children: [
2027
+ /* @__PURE__ */ jsx(
2028
+ "path",
2029
+ {
2030
+ fill: "#e8f2fa",
2031
+ d: "M506.59,389.09c.87,2.78-.86,5.05-3.87,5.07-3.01,.02-6.16-2.22-7.03-4.99-.87-2.78,.86-5.05,3.87-5.07,3.01-.02,6.16,2.21,7.03,4.99Z"
2032
+ }
2033
+ ),
2034
+ /* @__PURE__ */ jsx(
2035
+ "path",
2036
+ {
2037
+ fill: "#e8f2fa",
2038
+ d: "M529.14,388.93c.87,2.78-.86,5.05-3.87,5.07-3.01,.02-6.16-2.21-7.03-4.99-.87-2.78,.86-5.05,3.87-5.07,3.01-.02,6.16,2.21,7.03,4.99Z"
2039
+ }
2040
+ ),
2041
+ /* @__PURE__ */ jsx(
2042
+ "path",
2043
+ {
2044
+ fill: "#e8f2fa",
2045
+ d: "M551.69,388.77c.87,2.78-.86,5.05-3.87,5.07-3.01,.02-6.16-2.21-7.03-4.99-.87-2.78,.86-5.05,3.87-5.07,3.01-.02,6.16,2.21,7.03,4.99Z"
2046
+ }
2047
+ )
2048
+ ] }),
2049
+ /* @__PURE__ */ jsx(
2050
+ "path",
2051
+ {
2052
+ fill: "#ff912b",
2053
+ d: "M559.5,475.35s78.71,.3,135.79,44.69c57.08,44.39,48.85,84.22,96.21,94.2,77.61,16.36,29.43-67.66,130.21-58.92l51.86,202.04h-348.7l-26.57-125.21-38.8-156.79Z"
2054
+ }
2055
+ ),
2056
+ /* @__PURE__ */ jsx(
2057
+ "path",
2058
+ {
2059
+ fill: "#fff",
2060
+ d: "M809.47,617.1c-5.34,0-11.34-.72-18.11-2.15-26.14-5.51-35.78-20.39-47.98-39.22-10.11-15.61-22.69-35.03-48.52-55.11-16.21-12.61-44.82-29.59-89.01-38.86-26.44-5.54-46.15-5.68-46.35-5.68v-1.46c.2,0,20.06,.14,46.64,5.72,24.54,5.15,60,16.11,89.59,39.13,26.02,20.24,38.68,39.77,48.85,55.47,12.49,19.28,21.51,33.21,47.07,38.59,36.4,7.67,44.63-6.84,54.16-23.64,10.62-18.71,22.66-39.93,75.97-35.3l-.12,1.45c-52.41-4.55-64.2,16.24-74.6,34.58-4.82,8.5-9.38,16.53-17.46,21.49-5.44,3.34-12.02,4.99-20.12,4.99Z"
2061
+ }
2062
+ ),
2063
+ /* @__PURE__ */ jsx(
2064
+ "path",
2065
+ {
2066
+ fill: "#fc7400",
2067
+ d: "M577.88,549.18l20.01,80.88,26.98,127.29h348.7l-17.58-66.1s-51.62-29.18-121.62-3.75c-70,25.44-147.49,1.96-152.48-55.25-5.62-64.51-64.06-95.58-104.01-83.08Z"
2068
+ }
2069
+ ),
2070
+ /* @__PURE__ */ jsx(
2071
+ "path",
2072
+ {
2073
+ fill: "#fff",
2074
+ d: "M665.98,587.45c-20.04-31.44-57-47.24-87.89-37.57l-.42-1.39c31.49-9.85,69.13,6.2,89.52,38.17l-1.21,.79Z"
2075
+ }
2076
+ ),
2077
+ /* @__PURE__ */ jsxs("g", { children: [
2078
+ /* @__PURE__ */ jsx(
2079
+ "polygon",
2080
+ {
2081
+ fill: "#fff",
2082
+ points: "795.85 620.61 784.52 619.43 785.69 607.94 797.02 609.12 795.85 620.61"
2083
+ }
2084
+ ),
2085
+ /* @__PURE__ */ jsx(
2086
+ "polygon",
2087
+ {
2088
+ fill: "#fff",
2089
+ points: "892.8 636.61 701.9 596.39 702.28 594.51 893.18 634.73 892.8 636.61"
2090
+ }
2091
+ ),
2092
+ /* @__PURE__ */ jsx(
2093
+ "path",
2094
+ {
2095
+ fill: "#fff",
2096
+ d: "M698.84,595.11c.19-1.82,1.79-3.15,3.59-2.96,1.8,.19,3.1,1.82,2.92,3.64s-1.79,3.15-3.59,2.96c-1.8-.19-3.1-1.82-2.92-3.64Z"
2097
+ }
2098
+ ),
2099
+ /* @__PURE__ */ jsx(
2100
+ "path",
2101
+ {
2102
+ fill: "#fff",
2103
+ d: "M889.74,635.33c.19-1.82,1.79-3.15,3.59-2.96,1.8,.19,3.1,1.82,2.92,3.64-.19,1.82-1.79,3.15-3.59,2.96-1.8-.19-3.1-1.82-2.92-3.64Z"
2104
+ }
2105
+ )
2106
+ ] }),
2107
+ /* @__PURE__ */ jsxs("g", { children: [
2108
+ /* @__PURE__ */ jsx(
2109
+ "polygon",
2110
+ {
2111
+ fill: "#fff",
2112
+ points: "656.9 504.31 648.61 496.38 656.42 487.98 664.71 495.9 656.9 504.31"
2113
+ }
2114
+ ),
2115
+ /* @__PURE__ */ jsx("polygon", { fill: "#fff", points: "687.13 528 622.39 462.58 623.73 461.23 688.46 526.64 687.13 528" }),
2116
+ /* @__PURE__ */ jsx(
2117
+ "path",
2118
+ {
2119
+ fill: "#fff",
2120
+ d: "M620.52,459.81c1.14-1.42,3.2-1.64,4.6-.49,1.4,1.15,1.62,3.24,.48,4.67-1.14,1.42-3.2,1.64-4.6,.49-1.4-1.15-1.62-3.24-.48-4.67Z"
2121
+ }
2122
+ ),
2123
+ /* @__PURE__ */ jsx(
2124
+ "path",
2125
+ {
2126
+ fill: "#fff",
2127
+ d: "M685.26,525.23c1.14-1.42,3.2-1.64,4.6-.49s1.62,3.24,.48,4.67c-1.14,1.42-3.2,1.64-4.6,.49-1.4-1.15-1.62-3.24-.48-4.67Z"
2128
+ }
2129
+ )
2130
+ ] }),
2131
+ /* @__PURE__ */ jsxs("g", { children: [
2132
+ /* @__PURE__ */ jsx(
2133
+ "polygon",
2134
+ {
2135
+ fill: "#fff",
2136
+ points: "882.44 557.53 877.99 568.16 867.5 563.65 871.96 553.01 882.44 557.53"
2137
+ }
2138
+ ),
2139
+ /* @__PURE__ */ jsx(
2140
+ "polygon",
2141
+ {
2142
+ fill: "#fff",
2143
+ points: "863.91 587.74 862.2 586.94 886.44 533.18 888.16 533.98 863.91 587.74"
2144
+ }
2145
+ ),
2146
+ /* @__PURE__ */ jsx(
2147
+ "path",
2148
+ {
2149
+ fill: "#fff",
2150
+ d: "M862,590.48c-1.71-.59-2.63-2.47-2.05-4.21,.58-1.74,2.44-2.66,4.15-2.08,1.71,.59,2.63,2.47,2.05,4.21-.58,1.74-2.44,2.66-4.15,2.08Z"
2151
+ }
2152
+ ),
2153
+ /* @__PURE__ */ jsx(
2154
+ "path",
2155
+ {
2156
+ fill: "#fff",
2157
+ d: "M886.25,536.72c-1.71-.59-2.63-2.47-2.05-4.21,.58-1.74,2.44-2.66,4.15-2.08,1.71,.59,2.63,2.47,2.05,4.21-.58,1.74-2.44,2.66-4.15,2.08Z"
2158
+ }
2159
+ )
2160
+ ] }),
2161
+ /* @__PURE__ */ jsxs("g", { children: [
2162
+ /* @__PURE__ */ jsx(
2163
+ "path",
2164
+ {
2165
+ fill: "#cedfff",
2166
+ d: "M933.58,440.32l17.72,74.3c.76,3.18-2.2,5.76-6.61,5.76h-182.3c-4.41,0-8.6-2.58-9.35-5.76l-17.72-74.3c-.76-3.18,2.2-5.76,6.61-5.76h182.3c4.41,0,8.59,2.58,9.35,5.76Z"
2167
+ }
2168
+ ),
2169
+ /* @__PURE__ */ jsxs("g", { children: [
2170
+ /* @__PURE__ */ jsxs("g", { children: [
2171
+ /* @__PURE__ */ jsx(
2172
+ "polygon",
2173
+ {
2174
+ fill: "#25468f",
2175
+ points: "781.52 483.78 762.12 483.78 757.43 464.1 776.83 464.1 781.52 483.78"
2176
+ }
2177
+ ),
2178
+ /* @__PURE__ */ jsx(
2179
+ "polygon",
2180
+ {
2181
+ fill: "#25468f",
2182
+ points: "793.57 493.62 774.17 493.62 769.47 473.94 788.88 473.94 793.57 493.62"
2183
+ }
2184
+ )
2185
+ ] }),
2186
+ /* @__PURE__ */ jsxs("g", { children: [
2187
+ /* @__PURE__ */ jsx(
2188
+ "polygon",
2189
+ {
2190
+ fill: "#25468f",
2191
+ points: "826.82 483.78 807.42 483.78 802.72 464.1 822.12 464.1 826.82 483.78"
2192
+ }
2193
+ ),
2194
+ /* @__PURE__ */ jsxs("g", { children: [
2195
+ /* @__PURE__ */ jsx(
2196
+ "polygon",
2197
+ {
2198
+ fill: "#6b98f6",
2199
+ points: "838.87 493.62 819.47 493.62 814.77 473.94 834.17 473.94 838.87 493.62"
2200
+ }
2201
+ ),
2202
+ /* @__PURE__ */ jsx(
2203
+ "path",
2204
+ {
2205
+ fill: "#183a76",
2206
+ d: "M839.9,494.47h-21.06l-5.1-21.36h21.06l5.1,21.36Zm-19.8-1.68h17.75l-4.29-18h-17.75l4.29,18Z"
2207
+ }
2208
+ )
2209
+ ] })
2210
+ ] }),
2211
+ /* @__PURE__ */ jsxs("g", { children: [
2212
+ /* @__PURE__ */ jsx(
2213
+ "polygon",
2214
+ {
2215
+ fill: "#6b98f6",
2216
+ points: "872.12 483.78 852.71 483.78 848.02 464.1 867.42 464.1 872.12 483.78"
2217
+ }
2218
+ ),
2219
+ /* @__PURE__ */ jsx(
2220
+ "path",
2221
+ {
2222
+ fill: "#25468f",
2223
+ d: "M873.14,484.62h-21.06l-5.1-21.36h21.06l5.1,21.36Zm-19.8-1.68h17.75l-4.29-18h-17.75l4.29,18Z"
2224
+ }
2225
+ ),
2226
+ /* @__PURE__ */ jsx(
2227
+ "polygon",
2228
+ {
2229
+ fill: "#6b98f6",
2230
+ points: "884.16 493.62 864.76 493.62 860.07 473.94 879.47 473.94 884.16 493.62"
2231
+ }
2232
+ ),
2233
+ /* @__PURE__ */ jsx(
2234
+ "path",
2235
+ {
2236
+ fill: "#25468f",
2237
+ d: "M885.19,494.47h-21.06l-5.1-21.36h21.06l5.1,21.36Zm-19.8-1.68h17.75l-4.29-18h-17.75l4.29,18Z"
2238
+ }
2239
+ ),
2240
+ /* @__PURE__ */ jsx(
2241
+ "polygon",
2242
+ {
2243
+ fill: "#25468f",
2244
+ points: "873.14 484.58 861.71 484.58 858.97 473.1 870.4 473.1 873.14 484.58"
2245
+ }
2246
+ )
2247
+ ] }),
2248
+ /* @__PURE__ */ jsxs("g", { children: [
2249
+ /* @__PURE__ */ jsx(
2250
+ "polygon",
2251
+ {
2252
+ fill: "#25468f",
2253
+ points: "917.41 483.78 898.01 483.78 893.31 464.1 912.72 464.1 917.41 483.78"
2254
+ }
2255
+ ),
2256
+ /* @__PURE__ */ jsx(
2257
+ "polygon",
2258
+ {
2259
+ fill: "#25468f",
2260
+ points: "929.46 493.62 910.06 493.62 905.36 473.94 924.77 473.94 929.46 493.62"
2261
+ }
2262
+ ),
2263
+ /* @__PURE__ */ jsx(
2264
+ "polygon",
2265
+ {
2266
+ fill: "#6b98f6",
2267
+ points: "916.86 483.31 907.97 483.31 905.84 474.37 914.73 474.37 916.86 483.31"
2268
+ }
2269
+ )
2270
+ ] })
2271
+ ] })
2272
+ ] }),
2273
+ /* @__PURE__ */ jsxs("g", { children: [
2274
+ /* @__PURE__ */ jsx(
2275
+ "path",
2276
+ {
2277
+ fill: "#3c4aaa",
2278
+ d: "M429.21,674.95h-67.18c-8.96,0-17.83-7.37-19.81-16.46l-50.55-231.5c-1.98-9.09,3.67-16.46,12.63-16.46h67.18c8.96,0,17.83,7.37,19.81,16.46l50.55,231.5c1.98,9.09-3.67,16.46-12.63,16.46Z"
2279
+ }
2280
+ ),
2281
+ /* @__PURE__ */ jsx("rect", { fill: "#a9c2ff", height: ".44", width: "99.62", y: "462.59", x: "299.49" }),
2282
+ /* @__PURE__ */ jsx("rect", { fill: "#a9c2ff", height: ".44", width: "99.63", y: "517.14", x: "311.4" }),
2283
+ /* @__PURE__ */ jsx("rect", { fill: "#a9c2ff", height: ".44", width: "99.63", y: "571.69", x: "323.31" }),
2284
+ /* @__PURE__ */ jsx(
2285
+ "path",
2286
+ {
2287
+ fill: "#fff",
2288
+ d: "M360.43,446.51c.13-1.17-5.02-21.24-5.02-21.24l18.26,15.01-8.97-.32-4.27,6.56Z"
2289
+ }
2290
+ ),
2291
+ /* @__PURE__ */ jsx(
2292
+ "path",
2293
+ {
2294
+ fill: "#cedfff",
2295
+ d: "M415.47,651.23h-35.38l-7.83-35.84h35.38l7.83,35.84Zm-33.8-2h31.35l-6.95-31.85h-31.35l6.95,31.85Z"
2296
+ }
2297
+ ),
2298
+ /* @__PURE__ */ jsx(
2299
+ "polygon",
2300
+ {
2301
+ fill: "#ff7536",
2302
+ points: "390.05 630.85 356.68 630.85 349.29 597 382.66 597 390.05 630.85"
2303
+ }
2304
+ ),
2305
+ /* @__PURE__ */ jsx("polygon", { fill: "#ff7536", points: "382 651.12 379.75 649.34 405.73 615.5 407.98 617.27 382 651.12" }),
2306
+ /* @__PURE__ */ jsxs("g", { children: [
2307
+ /* @__PURE__ */ jsx(
2308
+ "path",
2309
+ {
2310
+ fill: "#cedfff",
2311
+ d: "M315.51,446.51c.13-1.17-5.02-21.24-5.02-21.24l18.26,15.01-8.97-.32-4.27,6.56Z"
2312
+ }
2313
+ ),
2314
+ /* @__PURE__ */ jsxs("g", { children: [
2315
+ /* @__PURE__ */ jsx(
2316
+ "polygon",
2317
+ {
2318
+ fill: "#cedfff",
2319
+ points: "322.59 486.27 319.9 486.27 318.83 481.4 337.08 481.4 338.1 486.08 335.41 486.08 334.99 484.13 322.12 484.13 322.59 486.27"
2320
+ }
2321
+ ),
2322
+ /* @__PURE__ */ jsx(
2323
+ "polygon",
2324
+ {
2325
+ fill: "#cedfff",
2326
+ points: "332.96 498.16 330.27 498.16 326.91 482.76 329.6 482.76 332.96 498.16"
2327
+ }
2328
+ ),
2329
+ /* @__PURE__ */ jsx(
2330
+ "polygon",
2331
+ {
2332
+ fill: "#cedfff",
2333
+ points: "335.38 499.13 328.28 499.13 327.68 496.4 334.79 496.4 335.38 499.13"
2334
+ }
2335
+ )
2336
+ ] }),
2337
+ /* @__PURE__ */ jsx(
2338
+ "polygon",
2339
+ {
2340
+ fill: "#cedfff",
2341
+ points: "371.78 500.83 369.35 499.06 382.17 478.6 384.6 480.37 371.78 500.83"
2342
+ }
2343
+ ),
2344
+ /* @__PURE__ */ jsxs("g", { children: [
2345
+ /* @__PURE__ */ jsx(
2346
+ "path",
2347
+ {
2348
+ fill: "#cedfff",
2349
+ d: "M340.97,548.52c-5.13,0-10.23-4.24-11.37-9.44-1.14-5.21,2.11-9.44,7.25-9.44s10.23,4.24,11.37,9.44c1.14,5.21-2.11,9.44-7.25,9.44Zm-3.58-16.39c-3.78,0-6.17,3.12-5.33,6.95,.84,3.83,4.59,6.95,8.37,6.95s6.17-3.12,5.33-6.95c-.84-3.83-4.59-6.95-8.37-6.95Z"
2350
+ }
2351
+ ),
2352
+ /* @__PURE__ */ jsx(
2353
+ "path",
2354
+ {
2355
+ fill: "#cedfff",
2356
+ d: "M358.69,556.72c-.32,0-.67-.13-.97-.38l-12.38-10.57c-.58-.5-.74-1.28-.36-1.76,.38-.48,1.17-.46,1.75,.03l12.38,10.57c.58,.5,.74,1.28,.36,1.76-.19,.23-.47,.35-.78,.35Z"
2357
+ }
2358
+ )
2359
+ ] }),
2360
+ /* @__PURE__ */ jsx(
2361
+ "polygon",
2362
+ {
2363
+ fill: "#cedfff",
2364
+ points: "385.5 528.76 390.11 537.32 398.98 537.32 392.96 542.61 397.57 551.16 389.24 545.87 383.22 551.16 384.09 542.61 375.76 537.32 384.63 537.32 385.5 528.76"
2365
+ }
2366
+ )
2367
+ ] })
2368
+ ] }),
2369
+ /* @__PURE__ */ jsxs("g", { children: [
2370
+ /* @__PURE__ */ jsx(
2371
+ "path",
2372
+ {
2373
+ fill: "#fa8b79",
2374
+ d: "M1241.96,453.88s.24,13.48-1.75,13.23c-1.99-.25-4.7-11.3-4.72-11.14-.02,.17,.9,11.62-1.6,12.19-2.51,.57-5.05-12.13-5.05-12.13,0,0,1.68,10.9-.08,11.19-1.76,.29-4.54-10.28-5.27-10.31-.73-.03,2.34,9.06,.19,9.53-2.15,.46-6.94-12.33-5.32-13.96,1.62-1.63,4.15,.11,4.15,.11,0,0,3.12-2.35,5.52-1.02,0,0,5.62-1.14,7.31,1.39,0,0,3.51-3.06,6.61,.91Z"
2375
+ }
2376
+ ),
2377
+ /* @__PURE__ */ jsxs("g", { children: [
2378
+ /* @__PURE__ */ jsx(
2379
+ "path",
2380
+ {
2381
+ fill: "#cedfff",
2382
+ d: "M1278.23,402.24l45.59,166.75c1.95,7.13-2.5,12.92-9.94,12.92h-307.72c-7.44,0-15.05-5.78-17-12.92l-45.59-166.75c-1.95-7.13,2.5-12.92,9.94-12.92h307.72c7.44,0,15.05,5.78,17,12.92Z"
2383
+ }
2384
+ ),
2385
+ /* @__PURE__ */ jsxs("g", { children: [
2386
+ /* @__PURE__ */ jsx(
2387
+ "polygon",
2388
+ {
2389
+ fill: "#b0c0ff",
2390
+ points: "1038.92 477.47 999.17 477.47 988.15 437.16 1027.89 437.16 1038.92 477.47"
2391
+ }
2392
+ ),
2393
+ /* @__PURE__ */ jsx(
2394
+ "polygon",
2395
+ {
2396
+ fill: "#5158bf",
2397
+ points: "1026.48 467.6 1006.21 467.6 1000.59 447.03 1020.86 447.03 1026.48 467.6"
2398
+ }
2399
+ ),
2400
+ /* @__PURE__ */ jsx(
2401
+ "polygon",
2402
+ {
2403
+ fill: "#ff7536",
2404
+ points: "1000.44 478.4 997.91 476.54 1026.63 436.23 1029.16 438.08 1000.44 478.4"
2405
+ }
2406
+ ),
2407
+ /* @__PURE__ */ jsx(
2408
+ "polygon",
2409
+ {
2410
+ fill: "#ff7536",
2411
+ points: "1010.63 455.62 970.89 455.62 959.87 415.3 999.61 415.3 1010.63 455.62"
2412
+ }
2413
+ )
2414
+ ] }),
2415
+ /* @__PURE__ */ jsxs("g", { children: [
2416
+ /* @__PURE__ */ jsx(
2417
+ "polygon",
2418
+ {
2419
+ fill: "#ff7536",
2420
+ points: "1033.21 525.04 1001.26 525.04 992.4 492.63 1024.35 492.63 1033.21 525.04"
2421
+ }
2422
+ ),
2423
+ /* @__PURE__ */ jsx(
2424
+ "polygon",
2425
+ {
2426
+ fill: "#fc7600",
2427
+ points: "1064.86 525.04 1032.91 525.04 1024.05 492.63 1056 492.63 1064.86 525.04"
2428
+ }
2429
+ ),
2430
+ /* @__PURE__ */ jsx(
2431
+ "polygon",
2432
+ {
2433
+ fill: "#ff8111",
2434
+ points: "1096.81 525.04 1064.86 525.04 1056 492.63 1087.95 492.63 1096.81 525.04"
2435
+ }
2436
+ ),
2437
+ /* @__PURE__ */ jsx(
2438
+ "polygon",
2439
+ {
2440
+ fill: "#6b98f6",
2441
+ points: "1128.76 525.04 1096.81 525.04 1087.95 492.63 1119.9 492.63 1128.76 525.04"
2442
+ }
2443
+ ),
2444
+ /* @__PURE__ */ jsx(
2445
+ "polygon",
2446
+ {
2447
+ fill: "#899bfa",
2448
+ points: "1160.71 525.04 1128.76 525.04 1119.9 492.63 1151.85 492.63 1160.71 525.04"
2449
+ }
2450
+ ),
2451
+ /* @__PURE__ */ jsx(
2452
+ "polygon",
2453
+ {
2454
+ fill: "#697ee3",
2455
+ points: "1192.66 525.04 1160.71 525.04 1151.85 492.63 1183.8 492.63 1192.66 525.04"
2456
+ }
2457
+ ),
2458
+ /* @__PURE__ */ jsx(
2459
+ "polygon",
2460
+ {
2461
+ fill: "#5158bf",
2462
+ points: "1224.61 525.04 1192.66 525.04 1183.8 492.63 1215.75 492.63 1224.61 525.04"
2463
+ }
2464
+ ),
2465
+ /* @__PURE__ */ jsx(
2466
+ "polygon",
2467
+ {
2468
+ fill: "#25468f",
2469
+ points: "1256.56 525.04 1224.61 525.04 1215.75 492.63 1247.7 492.63 1256.56 525.04"
2470
+ }
2471
+ ),
2472
+ /* @__PURE__ */ jsx(
2473
+ "polygon",
2474
+ {
2475
+ fill: "#a1b3ff",
2476
+ points: "1042.07 557.45 1010.12 557.45 1001.26 525.04 1033.21 525.04 1042.07 557.45"
2477
+ }
2478
+ ),
2479
+ /* @__PURE__ */ jsx(
2480
+ "polygon",
2481
+ {
2482
+ fill: "#899bfa",
2483
+ points: "1073.72 557.45 1041.77 557.45 1032.91 525.04 1064.86 525.04 1073.72 557.45"
2484
+ }
2485
+ ),
2486
+ /* @__PURE__ */ jsx(
2487
+ "polygon",
2488
+ {
2489
+ fill: "#5158bf",
2490
+ points: "1105.67 557.45 1073.72 557.45 1064.86 525.04 1096.81 525.04 1105.67 557.45"
2491
+ }
2492
+ ),
2493
+ /* @__PURE__ */ jsx(
2494
+ "polygon",
2495
+ {
2496
+ fill: "#25468f",
2497
+ points: "1137.62 557.45 1105.67 557.45 1096.81 525.04 1128.76 525.04 1137.62 557.45"
2498
+ }
2499
+ )
2500
+ ] }),
2501
+ /* @__PURE__ */ jsx(
2502
+ "path",
2503
+ {
2504
+ fill: "#ff8111",
2505
+ d: "M1258.13,429.21h-167.36c-2.3,0-4.7-1.91-5.34-4.24h0c-.64-2.33,.72-4.24,3.02-4.24h167.36c2.3,0,4.7,1.91,5.34,4.24h0c.64,2.33-.72,4.24-3.02,4.24Z"
2506
+ }
2507
+ ),
2508
+ /* @__PURE__ */ jsx(
2509
+ "path",
2510
+ {
2511
+ fill: "#6b98f6",
2512
+ d: "M1263.98,450.63h-167.36c-2.3,0-4.7-1.91-5.34-4.24h0c-.64-2.33,.72-4.24,3.02-4.24h167.36c2.3,0,4.7,1.91,5.34,4.24h0c.64,2.33-.72,4.24-3.02,4.24Z"
2513
+ }
2514
+ ),
2515
+ /* @__PURE__ */ jsx(
2516
+ "path",
2517
+ {
2518
+ fill: "#5158bf",
2519
+ d: "M1269.84,472.05h-167.36c-2.3,0-4.7-1.91-5.34-4.24h0c-.64-2.33,.72-4.24,3.02-4.24h167.36c2.3,0,4.7,1.91,5.34,4.24h0c.64,2.33-.72,4.24-3.02,4.24Z"
2520
+ }
2521
+ ),
2522
+ /* @__PURE__ */ jsxs("g", { children: [
2523
+ /* @__PURE__ */ jsx(
2524
+ "path",
2525
+ {
2526
+ fill: "#5158bf",
2527
+ d: "M1062.31,418.73h5.04c2.65,0,4.59,1.44,5.2,3.65,.51,1.88-.29,3.01-1.75,3.47l4.24,4.34h-2.34l-3.9-4h-2.45l1.09,4h-1.99l-3.14-11.47Zm6.45,5.68c1.42,0,2.12-.75,1.79-1.95-.34-1.23-1.39-1.9-2.86-1.9h-2.89l1.05,3.85h2.91Z"
2528
+ }
2529
+ ),
2530
+ /* @__PURE__ */ jsx(
2531
+ "path",
2532
+ {
2533
+ fill: "#5158bf",
2534
+ d: "M1068.12,446.11c-.88-3.21,.8-5.93,4.21-5.93,1.97,0,3.33,.56,4.77,1.56l-.84,1.52c-1.08-.75-2.06-1.23-3.5-1.23-2.08,0-3.16,1.85-2.55,4.08,.64,2.36,2.65,4.1,4.96,4.1,1.07,0,1.94-.34,2.49-.87l-.59-2.15h-2.89l-.48-1.75h4.81l1.32,4.82c-.85,.97-2.23,1.79-4.23,1.79-3.54,0-6.56-2.56-7.48-5.93Z"
2535
+ }
2536
+ ),
2537
+ /* @__PURE__ */ jsx(
2538
+ "path",
2539
+ {
2540
+ fill: "#5158bf",
2541
+ d: "M1074.44,463.09h5.07c1.29,0,2.41,.36,3.23,1.02,.64,.51,1.07,1.13,1.29,1.93,.38,1.38-.2,2.11-.92,2.56,1.45,.46,2.58,1.23,3.01,2.82,.56,2.05-.8,3.15-3.32,3.15h-5.23l-3.14-11.47Zm5.99,4.83c1.28,0,1.99-.51,1.7-1.59-.25-.9-1.11-1.46-2.38-1.46h-2.86l.83,3.05h2.71Zm1.91,4.85c1.36,0,2.03-.54,1.74-1.61-.26-.97-1.18-1.54-2.75-1.54h-3.15l.86,3.15h3.29Z"
2542
+ }
2543
+ )
2544
+ ] })
2545
+ ] })
2546
+ ] }),
2547
+ /* @__PURE__ */ jsxs("g", { children: [
2548
+ /* @__PURE__ */ jsxs("g", { children: [
2549
+ /* @__PURE__ */ jsx(
2550
+ "path",
2551
+ {
2552
+ fill: "#ffae73",
2553
+ d: "M640.44,422.49c-.89,1.03-1,2.18-.56,3.41,0,0,0,.01,0,.02,.81,2.27,3.49,4.81,6.6,7.35,.4,.33,.75,.62,1.06,.9,.08,.07,.16,.14,.24,.22,.06,.06,.12,.11,.18,.17,2.9,2.71,1.81,3.34,7.03,8.85,5.95,6.28,10.04,6.39,11.21,5.82,.99-.49-1.02-3.82-3.23-7.56-.11-.18-.21-.36-.32-.55-.3-.5-.59-1-.88-1.5-2.6-4.5-1.93-6.62-1.32-13.32,.5-5.45,8.35-30.42,8.35-30.42l-11.4-1.99s-3.43,19.89-7.21,22.95c-2.02,1.63-4.29,1.65-6.23,2.86-.14,.08-.27,.17-.4,.26-1.1,.74-2.23,1.51-3.12,2.54Z"
2554
+ }
2555
+ ),
2556
+ /* @__PURE__ */ jsx(
2557
+ "path",
2558
+ {
2559
+ fill: "#1e3865",
2560
+ d: "M640.44,422.49c-.89,1.03-1,2.18-.56,3.41,0,0,0,.01,0,.02,.99,2.27,3.61,4.8,6.62,7.33,.39,.33,.74,.64,1.05,.92,.08,.07,.16,.14,.24,.22,.06,.06,.12,.11,.18,.17,2.9,2.71,1.81,3.34,7.03,8.85,5.95,6.28,10.04,6.39,11.21,5.82,.99-.49-1.02-3.82-3.23-7.56-1.16-.43-6.54-2.65-10.6-7.92-3.45-4.47-5.79-10.16-8.14-13.65-.26-.05-.41-.08-.67-.13-1.1,.74-2.23,1.51-3.12,2.54Z"
2561
+ }
2562
+ ),
2563
+ /* @__PURE__ */ jsx(
2564
+ "path",
2565
+ {
2566
+ fill: "#ffae73",
2567
+ d: "M732.33,415.27c.7,3.57,5.72,2.97,11.32,1.58,5.6-1.39,4.27,.26,12.24-.63,7.97-.9,10.39-3.91,10.63-5.11,.22-1.07-3.72-1.44-7.95-1.94-.53-.06-1.07-.13-1.6-.19-4.77-.61-8.26-3.73-12.6-6.29-4.1-2.43-10.23-12.33-10.23-12.33l-10.93,.88s5.74,8.84,7.96,12.68c1.31,2.26,1.24,5.25,1.07,7.56-.08,1.25-.17,2.54,.08,3.79Z"
2568
+ }
2569
+ ),
2570
+ /* @__PURE__ */ jsx(
2571
+ "path",
2572
+ {
2573
+ fill: "#1e3865",
2574
+ d: "M743.65,416.85c5.6-1.39,4.27,.26,12.24-.63,7.97-.9,10.39-3.91,10.63-5.11,.22-1.07-3.72-1.44-7.95-1.94l-.04,.08s-4.78,3.44-11.42,3.6c-5.41,.13-11.14-1.44-14.87-1.38-.08,1.25-.17,2.54,.08,3.79,.7,3.57,5.72,2.97,11.32,1.58Z"
2575
+ }
2576
+ ),
2577
+ /* @__PURE__ */ jsx(
2578
+ "path",
2579
+ {
2580
+ fill: "#f28018",
2581
+ d: "M690.43,344.35l-10.22,27.9-13.34,36.43s-3.62,.35-7.09-.66c-3.19-.94-6.86-3.39-6.86-3.39,0,0,3.71-39.12,10.62-61.57,1.77-5.76,3.76-10.43,5.95-13.05,10.72-12.85,20.95,14.33,20.95,14.33Z"
2582
+ }
2583
+ ),
2584
+ /* @__PURE__ */ jsx(
2585
+ "path",
2586
+ {
2587
+ fill: "#ff912b",
2588
+ d: "M680.04,300.04c-5.82-1.9-21-.03-37.47,2.99-4.55,.84-9.14-1.27-11.53-5.28h0l-41.44-3.28s-13.68,30.76-6.19,50.36c1.1,2.88,3.52,4.68,7.24,4.74h0s25.04,.04,33.05,.04c20.61,0,43.62-14.37,46.59-14.97,4.87-.99,6.82,8.89,11.69,19.27,4.87,10.38,45.79,45.96,45.79,45.96,0,0,6.29,.06,8.89-.92,2.79-1.06,3.82-2.44,3.82-2.44,0,0-45.34-91.51-60.45-96.45Z"
2589
+ }
2590
+ ),
2591
+ /* @__PURE__ */ jsx(
2592
+ "path",
2593
+ {
2594
+ fill: "#10294c",
2595
+ d: "M626.64,174.3c-3.08-1.86-6.08-2.14-7.92-2.09-1.28,.04-2.56-.05-3.82-.23-15.82-2.35-25.34,20.95-25.9,27.99-1.02,12.93-7.77,14.9-17.26,23-19.03,16.23-13.45,35.1-3.04,42.11,6.24,4.21,17.25,0,17.25,0,.16,.11,30.09-16.98,44.85-25.22,22.12-3.19,4.73-60.19-4.16-65.55Z"
2596
+ }
2597
+ ),
2598
+ /* @__PURE__ */ jsx(
2599
+ "path",
2600
+ {
2601
+ fill: "#ffae73",
2602
+ d: "M618.43,232.84c.06,.04-7.26,2.58-12.16,.38-4.61-2.07-8.1-9.76-8.03-9.76,2.1-.1,4.4-1.96,6.17-14.16l.89,.32,15.01,5.48s-1.09,4.89-1.79,9.54c-.59,3.91-.91,7.65-.09,8.2Z"
2603
+ }
2604
+ ),
2605
+ /* @__PURE__ */ jsx(
2606
+ "path",
2607
+ {
2608
+ fill: "#f9924f",
2609
+ d: "M620.31,215.1s-.6,2.64-1.47,7.56c-8.62-1.57-12.32-8.31-13.54-13.04l15.01,5.48Z"
2610
+ }
2611
+ ),
2612
+ /* @__PURE__ */ jsx(
2613
+ "path",
2614
+ {
2615
+ fill: "#ffae73",
2616
+ d: "M622.54,219.95s-20.53-2.8-18.62-15.74c1.91-12.95,.55-22.02,13.74-20.79,13.19,1.24,15,6.56,15.4,11.04,.4,4.48-5.13,25.88-10.52,25.49Z"
2617
+ }
2618
+ ),
2619
+ /* @__PURE__ */ jsx(
2620
+ "path",
2621
+ {
2622
+ fill: "#10294c",
2623
+ d: "M632.32,187.37s-13.15,11.49-22.09,12.42c-8.94,.93-12.33-1.98-12.33-1.98,0,0,5.27-4.44,8.44-11.6,.93-2.11,2.91-3.56,5.18-3.76,6.38-.56,18.49-.81,20.79,4.93Z"
2624
+ }
2625
+ ),
2626
+ /* @__PURE__ */ jsx(
2627
+ "path",
2628
+ {
2629
+ fill: "#10294c",
2630
+ d: "M624.1,186.34s4.4,4.31,5.78,7.51c1.34,3.09,1.74,10.47,.67,13.4,0,0,6.85-13.51,2.97-20.08-4.11-6.96-9.43-.84-9.43-.84Z"
2631
+ }
2632
+ ),
2633
+ /* @__PURE__ */ jsx(
2634
+ "path",
2635
+ {
2636
+ fill: "#899bfa",
2637
+ d: "M635.72,263.52c-.62,42.17-.17,33.35-4.72,37.36-1.1,.96-4.18,1.54-8.23,1.81-12.75,.86-35.15-1.27-36-3.66-2.94-8.27-.86-10.84-3.32-23.49-.26-1.35-.57-2.8-.94-4.39-2.05-8.69-4.04-11.65,3.22-25.62,6.58-12.65,13.42-22.92,14.03-22.55,17.36,10.45,18.76,1.67,18.76,1.67,0,0,17.51,18.31,17.2,38.88Z"
2638
+ }
2639
+ ),
2640
+ /* @__PURE__ */ jsx(
2641
+ "path",
2642
+ {
2643
+ fill: "#ff912b",
2644
+ d: "M680.21,372.25l-13.34,36.43s-3.62,.35-7.09-.66c-3.19-.94-6.86-3.39-6.86-3.39,0,0,3.71-39.12,10.62-61.57l16.67,29.18Z"
2645
+ }
2646
+ ),
2647
+ /* @__PURE__ */ jsx(
2648
+ "path",
2649
+ {
2650
+ fill: "#899bfa",
2651
+ d: "M618.52,224.64s17.86,3.07,19.96,10.87c2.1,7.8,9,55.16,9,55.16,0,0-5.04,4.99-9.23,.73-4.19-4.26-13.2-44.31-13.2-44.31l-6.53-22.46Z"
2652
+ }
2653
+ ),
2654
+ /* @__PURE__ */ jsx(
2655
+ "path",
2656
+ {
2657
+ fill: "#6f7deb",
2658
+ d: "M622.77,302.69c-12.75,.86-35.15-1.27-36-3.66-2.94-8.27-.86-10.84-3.32-23.49l6.15-17.56s-1.02,19.55,4.67,24.7c5.68,5.14,23.28,9.93,26.04,14.23,1.33,2.06,2.21,4.13,2.47,5.79Z"
2659
+ }
2660
+ ),
2661
+ /* @__PURE__ */ jsx(
2662
+ "path",
2663
+ {
2664
+ fill: "#ffae73",
2665
+ d: "M608.17,294.46s12.57-2.84,14.6-1.71c2.03,1.13,6.99,5.25,7.61,6.69,.62,1.43-4.52-1.09-6.19-1.54-1.08-.29-3.93,.71-5.34,1.19-5.93,2.01-9.57,.97-9.57,.97l-1.11-5.6Z"
2666
+ }
2667
+ ),
2668
+ /* @__PURE__ */ jsx(
2669
+ "path",
2670
+ {
2671
+ fill: "#899bfa",
2672
+ d: "M599.74,222.97s-16.88,1.05-22.73,9.32c-8.23,11.64-24.55,61.25-15.2,67.87,10.53,7.45,47.95,1.95,47.95,1.95,0,0,1.24-5.9-.49-8.76-1.73-2.86-29.88-7.47-31.18-8.79-1.3-1.32,16.24-25.7,16.24-29.65s5.41-31.95,5.41-31.95Z"
2673
+ }
2674
+ ),
2675
+ /* @__PURE__ */ jsx(
2676
+ "path",
2677
+ {
2678
+ fill: "#ffae73",
2679
+ d: "M623.38,296.31s2.63,3.45,3.5,3.86c.86,.41,1.42,.31,1.42,.31l-1.78-3.24-3.14-.93Z"
2680
+ }
2681
+ ),
2682
+ /* @__PURE__ */ jsx(
2683
+ "path",
2684
+ {
2685
+ fill: "#ffae73",
2686
+ d: "M622.77,292.76l7.66,3.77s-.33,.54-1.27,.5c-.94-.04-3.32-.93-3.32-.93l-3.07-3.34Z"
2687
+ }
2688
+ )
2689
+ ] }),
2690
+ /* @__PURE__ */ jsxs("g", { children: [
2691
+ /* @__PURE__ */ jsx(
2692
+ "polygon",
2693
+ {
2694
+ fill: "#10294c",
2695
+ points: "688.18 301.63 608.17 301.63 608.17 303.42 687.47 303.42 688.18 301.63"
2696
+ }
2697
+ ),
2698
+ /* @__PURE__ */ jsx(
2699
+ "polygon",
2700
+ {
2701
+ fill: "#10294c",
2702
+ points: "626.88 303.42 687.47 303.42 705.7 257.44 645.2 257.44 626.88 303.42"
2703
+ }
2704
+ ),
2705
+ /* @__PURE__ */ jsx(
2706
+ "path",
2707
+ {
2708
+ fill: "#e8f2fa",
2709
+ d: "M672.18,280.43c.46-1.62-.46-2.93-2.06-2.93s-3.26,1.31-3.71,2.93,.46,2.93,2.06,2.93,3.26-1.31,3.71-2.93Z"
2710
+ }
2711
+ )
2712
+ ] })
2713
+ ] }),
2714
+ /* @__PURE__ */ jsx(
2715
+ "polygon",
2716
+ {
2717
+ fill: "#fff",
2718
+ points: "666.18 584.13 672.4 589.62 666.99 595.92 660.77 590.43 666.18 584.13"
2719
+ }
2720
+ ),
2721
+ /* @__PURE__ */ jsxs("g", { children: [
2722
+ /* @__PURE__ */ jsx(
2723
+ "path",
2724
+ {
2725
+ fill: "#f28018",
2726
+ d: "M586.7,695.57c-1.24-4.18-1.86-4.55-1.86-4.55,0,0-38.53,4.87-45.07,4.44-3.88-.25-50.15-15.91-50.15-15.91l-28.09,27.33s69.67,11.64,79.49,10.88c16.23-1.26,41-15.79,41-15.79,0,0,5.65-3.12,4.67-6.4Z"
2727
+ }
2728
+ ),
2729
+ /* @__PURE__ */ jsx(
2730
+ "path",
2731
+ {
2732
+ fill: "#104c82",
2733
+ d: "M481.4,1007.55s.54,13.24,3.05,16.46l34.88,.2c-.24-1.37-.39-4.52-5.21-5.38-6.09-1.08-13.25-5.39-16.94-13.56-3.88-8.6-15.77,2.27-15.77,2.27Z"
2734
+ }
2735
+ ),
2736
+ /* @__PURE__ */ jsx(
2737
+ "path",
2738
+ {
2739
+ fill: "#104c82",
2740
+ d: "M412.95,1005.64s-2.43,17.59,.87,17.9c.44,.04,14.05,.26,19.95,.36,6.93,.12,18.33-.13,18.33-.13,1.43,.06,2.37-1.51,1.64-2.77-.8-1.37-2.33-2.84-5.24-3.41-6.07-1.19-16.2-5.71-19.74-13.95-3.73-8.66-15.8,1.99-15.8,1.99Z"
2741
+ }
2742
+ ),
2743
+ /* @__PURE__ */ jsx(
2744
+ "path",
2745
+ {
2746
+ fill: "#6f7deb",
2747
+ d: "M499.53,825.34s-9.7,34.42-37.49,94.2c-27.79,59.78-29,88.58-29,88.58,0,0-4.21,1.51-9.79,.91-6.04-.65-10.3-3.39-10.3-3.39,0,0,1.8-71.15,14.93-101.31,13.13-30.17,15.8-112.71,15.8-112.71l55.84,33.73Z"
2748
+ }
2749
+ ),
2750
+ /* @__PURE__ */ jsx(
2751
+ "path",
2752
+ {
2753
+ fill: "#899bfa",
2754
+ d: "M515.1,795.72s.77,53.3-8.32,118.75c-9.09,65.44-4.84,95.88-4.84,95.88,0,0-2.41,1.78-9.82,1.75-8.68-.03-13.12-3.67-13.12-3.67,0,0-13.01-65.47-9.28-98.23,3.73-32.76-17.82-112.4-17.82-112.4l63.2-2.08Z"
2755
+ }
2756
+ ),
2757
+ /* @__PURE__ */ jsx(
2758
+ "path",
2759
+ {
2760
+ fill: "#ffae73",
2761
+ d: "M493.98,662.86c-.09,4.18-.64,8.74-2.29,10.97l-9.25,4.93-10.26-7.71s3.76-8.46,2.84-20.82c-.09-.74-.46-5.48-.46-5.58l5.13,2.6,13.93,7.06s0,.28,.09,.65c.09,1.4,.28,4.46,.28,7.9Z"
2762
+ }
2763
+ ),
2764
+ /* @__PURE__ */ jsx(
2765
+ "path",
2766
+ {
2767
+ fill: "#ff912b",
2768
+ d: "M442.72,802.31c3.36,15.58,75.23,8.74,74.29-.77-.04-.32-.22-4.72-.48-10.65-.54-12.83-1.38-32.89-1.48-34.45,0-.03,0-.05,0-.08-1.29-13.24-2.54-26.19-2.62-34.65-.07-7.34-1.07-14.84-2.39-21.65-1.22-6.29-2.72-11.99-4.03-16.44-.92-3.13-2.63-5.89-4.9-8.05-1.62-1.54-3.51-2.78-5.6-3.62-.57-.24-1.15-.44-1.74-.62-8.46-2.49-16.99-5.66-20.16-4.72-8.59,2.56-18.15,18-22.67,37.55-8.46,36.6-10.41,88-8.21,98.15Z"
2769
+ }
2770
+ ),
2771
+ /* @__PURE__ */ jsx(
2772
+ "path",
2773
+ {
2774
+ fill: "#ffa05e",
2775
+ d: "M493.98,662.86c-5.22-2.14-15.21-6.97-17.96-12.45-1.19-2.42,.64-3.16,3.66-3.16l13.93,7.06s0,.28,.09,.65c.09,1.4,.28,4.46,.28,7.9Z"
2776
+ }
2777
+ ),
2778
+ /* @__PURE__ */ jsx(
2779
+ "path",
2780
+ {
2781
+ fill: "#ffae73",
2782
+ d: "M500.32,653.44s-25.01,7.91-29.63-7.96c-4.62-15.87-10.96-25.54,4.82-31.27,15.77-5.72,20.65-.6,23.46,4.32,2.81,4.92,7.74,32.44,1.35,34.91Z"
2783
+ }
2784
+ ),
2785
+ /* @__PURE__ */ jsx(
2786
+ "path",
2787
+ {
2788
+ fill: "#0b3563",
2789
+ d: "M497.99,617s-1.59,18.47-5.36,17.67c-3.77-.8-7.18-1.4-6.63,4.17,.55,5.57,.73,12.26-10.88,13.25-11.61,.99-23.25-29.64-20.06-35.39,9.2-16.59,56.22-19.93,42.93,.3Z"
2790
+ }
2791
+ ),
2792
+ /* @__PURE__ */ jsx(
2793
+ "path",
2794
+ {
2795
+ fill: "#f28018",
2796
+ d: "M516.52,790.89c-.54-12.83-1.38-32.89-1.48-34.45,0-.03,0-.05,0-.08l-42.46-25.75s-1.64,60.11,43.95,60.29Z"
2797
+ }
2798
+ ),
2799
+ /* @__PURE__ */ jsxs("g", { children: [
2800
+ /* @__PURE__ */ jsxs("g", { children: [
2801
+ /* @__PURE__ */ jsx(
2802
+ "path",
2803
+ {
2804
+ fill: "#0b3563",
2805
+ d: "M663,586.79l7.65,6.75s-13.11,14.24-11.89,29.23l-19.58,16.77-16.21-14.32,13.56-22.81s14.53-.53,26.48-15.63Z"
2806
+ }
2807
+ ),
2808
+ /* @__PURE__ */ jsx(
2809
+ "path",
2810
+ {
2811
+ fill: "#fff",
2812
+ d: "M643.1,611.15c1.58-1.84,4.33-2.03,6.15-.43,1.81,1.6,2.01,4.39,.43,6.23-1.58,1.84-4.33,2.03-6.15,.43-1.81-1.6-2.01-4.39-.43-6.23Z"
2813
+ }
2814
+ ),
2815
+ /* @__PURE__ */ jsx(
2816
+ "polygon",
2817
+ {
2818
+ fill: "#fff",
2819
+ points: "644.37 617.69 643.11 616.58 666.23 589.63 667.49 590.74 644.37 617.69"
2820
+ }
2821
+ )
2822
+ ] }),
2823
+ /* @__PURE__ */ jsx(
2824
+ "polygon",
2825
+ {
2826
+ fill: "#6d76ff",
2827
+ points: "635.64 643.68 619.42 629.36 622.96 625.23 639.18 639.54 635.64 643.68"
2828
+ }
2829
+ ),
2830
+ /* @__PURE__ */ jsx(
2831
+ "path",
2832
+ {
2833
+ fill: "#0b3563",
2834
+ d: "M458.23,834.69l-.79-.69c-4.26-3.76-4.71-10.32-1-14.64l162.97-190,16.22,14.32-162.97,190c-3.71,4.32-10.17,4.78-14.43,1.02Z"
2835
+ }
2836
+ )
2837
+ ] }),
2838
+ /* @__PURE__ */ jsx(
2839
+ "path",
2840
+ {
2841
+ fill: "#ffae73",
2842
+ d: "M549.94,736.45s3.13-2.82,3.87-4.77c.25-.68,2.39-3.74,6.03-3.47,3.33,.25,9.24-6.94,9.24-6.94,.86,1.9,3.83,9.03-.42,12.65-3.47,2.95-11.81,8.05-16.87,11.41-5.44,3.61-1.85-8.88-1.85-8.88Z"
2843
+ }
2844
+ ),
2845
+ /* @__PURE__ */ jsx(
2846
+ "path",
2847
+ {
2848
+ fill: "#ff912b",
2849
+ d: "M550.35,735.4s-42.11,7.26-45.84,5.42c-5.96-2.94,2.31-46.28,2.31-46.28,0,0,.36-9.82-10.96-12.14-9.83-2.01-19.31,5.46-19.31,5.46,0,0-8.63,7.83-7.52,16.51,2.44,19.25,6.24,58.39,18.93,64.39,16.37,7.74,63.73-21.46,63.73-21.46,0,0,1.58-1.96,1.35-5.6-.2-3.21-2.7-6.3-2.7-6.3Z"
2850
+ }
2851
+ ),
2852
+ /* @__PURE__ */ jsx(
2853
+ "path",
2854
+ {
2855
+ fill: "#ffae73",
2856
+ d: "M588.46,698.68s10.63-3.93,9.69-9.44c-.94-5.51-4.25-4.82-6.25-2.92-2,1.9-.89,11.66-3.44,12.36Z"
2857
+ }
2858
+ ),
2859
+ /* @__PURE__ */ jsx(
2860
+ "path",
2861
+ {
2862
+ fill: "#ffae73",
2863
+ d: "M553.07,733.63s1.45-4.32,3-6.17c1.55-1.85,2.2-4.99,2.91-3.95,.7,1.05-.56,4.8,0,6.23,.56,1.43-5.9,3.89-5.9,3.89Z"
2864
+ }
2865
+ )
2866
+ ] }),
2867
+ /* @__PURE__ */ jsx("rect", { fill: "#a9c2ff", height: "67.09", width: "190.42", y: "956.62", x: "1304.39" }),
2868
+ /* @__PURE__ */ jsx("rect", { fill: "#1e3865", ry: "2.37", rx: "2.37", height: "4.74", width: "1620", y: "1023.26" })
2869
+ ] }) }) })
2870
+ ] });
2871
+ };
2872
+ var default_default = Default;
2873
+ var { Title } = Typography;
2874
+ var Login = (props) => {
2875
+ const { children } = props;
2876
+ const [searchParams, setSearchParams] = useSearchParams();
2877
+ const token = useTokenStore((state) => state.token);
2878
+ const setToken = useTokenStore((state) => state.setToken);
2879
+ const [showAlert, setShowAlert] = useState(false);
2880
+ const { isLoading } = useSWRImmutable(
2881
+ searchParams.has("ticket") ? {
2882
+ url: "/api/usystem/user/login",
2883
+ params: {
2884
+ ticket: searchParams.get("ticket")
2885
+ }
2886
+ } : null,
2887
+ {
2888
+ onSuccess: (data) => {
2889
+ setToken(data.token);
2890
+ }
2891
+ }
2892
+ );
2893
+ useEffect(() => {
2894
+ if (searchParams.has("not_registered")) {
2895
+ setShowAlert(true);
2896
+ searchParams.delete("not_registered");
2897
+ setSearchParams(searchParams);
2898
+ }
2899
+ }, [searchParams, setSearchParams]);
2900
+ if (isLoading) {
2901
+ return /* @__PURE__ */ jsx(
2902
+ Spin,
2903
+ {
2904
+ style: {
2905
+ display: "flex",
2906
+ justifyContent: "center",
2907
+ alignItems: "center",
2908
+ width: "100vw",
2909
+ height: "100vh"
2910
+ }
2911
+ }
2912
+ );
2913
+ }
2914
+ if (token) {
2915
+ return /* @__PURE__ */ jsx(Navigate, { replace: true, to: "/" });
2916
+ }
2917
+ return /* @__PURE__ */ jsxs(Row, { children: [
2918
+ /* @__PURE__ */ jsx(Col, { span: 10, offset: 3, children: /* @__PURE__ */ jsx("div", { className: "h-screen flex justify-end items-center", children: /* @__PURE__ */ jsx(default_default, {}) }) }),
2919
+ /* @__PURE__ */ jsx(Col, { span: 5, offset: 3, children: /* @__PURE__ */ jsx("div", { className: "h-screen relative", children: /* @__PURE__ */ jsxs(Card, { hoverable: true, className: "absolute left-0 right-0 top-1/2 -translate-y-1/2", children: [
2920
+ showAlert && /* @__PURE__ */ jsx("div", { className: "absolute -top-12 left-0 right-0", children: /* @__PURE__ */ jsx(
2921
+ Alert,
2922
+ {
2923
+ banner: true,
2924
+ closable: true,
2925
+ message: "\u60A8\u8FD8\u672A\u5728\u5E73\u53F0\u6CE8\u518C\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458",
2926
+ type: "error",
2927
+ onClose: () => {
2928
+ setShowAlert(false);
2929
+ }
2930
+ }
2931
+ ) }),
2932
+ /* @__PURE__ */ jsxs("div", { className: "text-center mb-6", children: [
2933
+ /* @__PURE__ */ jsx(Title, { level: 5, children: "\u767B\u5F55\u65B9\u5F0F" }),
2934
+ /* @__PURE__ */ jsx("div", { className: "min-h-10", children })
2935
+ ] }),
2936
+ /* @__PURE__ */ jsx(Divider, { plain: true, children: "\u7B2C\u4E09\u65B9\u767B\u5F55\u65B9\u5F0F" }),
2937
+ /* @__PURE__ */ jsx("div", { className: "w-full flex justify-center", children: /* @__PURE__ */ jsx(Space, { size: "small", children: /* @__PURE__ */ jsx(
2938
+ Button,
2939
+ {
2940
+ type: "link",
2941
+ size: "small",
2942
+ shape: "round",
2943
+ icon: /* @__PURE__ */ jsx(AliyunOutlined, {}),
2944
+ href: `${SSO_URL}/login?service=${encodeURIComponent(window.location.origin)}/login`,
2945
+ target: "_self",
2946
+ children: "IDass \u767B\u5F55"
2947
+ }
2948
+ ) }) })
2949
+ ] }) }) })
2950
+ ] });
2951
+ };
2952
+ var Login_default = Login;
2953
+
2954
+ // src/pages/permission/index.tsx
2955
+ init_esm_shims();
2956
+ var UserList2 = lazy(() => Promise.resolve().then(() => (init_UserList(), UserList_exports)));
2957
+ var RoleList2 = lazy(() => Promise.resolve().then(() => (init_RoleList(), RoleList_exports)));
2958
+ var RoleDetail2 = lazy(() => Promise.resolve().then(() => (init_RoleDetail(), RoleDetail_exports)));
2959
+ var routes = {
2960
+ path: "permission",
2961
+ children: [
2962
+ {
2963
+ index: true,
2964
+ element: /* @__PURE__ */ jsx(Navigate, { relative: "path", to: "user" })
2965
+ },
2966
+ {
2967
+ path: "user",
2968
+ element: /* @__PURE__ */ jsx(UserList2, {})
2969
+ },
2970
+ {
2971
+ path: "role",
2972
+ element: /* @__PURE__ */ jsx(RoleList2, {})
2973
+ },
2974
+ {
2975
+ path: "role/:name",
2976
+ element: /* @__PURE__ */ jsx(RoleDetail2, {})
2977
+ }
2978
+ ]
2979
+ };
2980
+ var permission_default = routes;
2981
+
2982
+ // src/layouts/index.ts
2983
+ init_esm_shims();
2984
+
2985
+ // src/layouts/Layout.tsx
2986
+ init_esm_shims();
2987
+
2988
+ // src/layouts/NavBar.tsx
2989
+ init_esm_shims();
2990
+ init_stores();
2991
+ var withLink = (label, route) => {
2992
+ if (!label) {
2993
+ return /* @__PURE__ */ jsx(Fragment, {});
2994
+ }
2995
+ if (route) {
2996
+ return /* @__PURE__ */ jsx(Link, { to: route, children: label });
2997
+ }
2998
+ return label;
2999
+ };
3000
+ function transformItems(items) {
3001
+ const result = [];
3002
+ for (let i = 0; i < items.length; i++) {
3003
+ if (items[i] === null) {
3004
+ result[i] = null;
3005
+ } else if (items[i].type === "divider") {
3006
+ result[i] = __spreadValues({}, items[i]);
3007
+ } else {
3008
+ const iconName = items[i].icon;
3009
+ if (items[i].children) {
3010
+ const _a = items[i], { children } = _a, restProps = __objRest(_a, ["children"]);
3011
+ result[i] = __spreadProps(__spreadValues({}, restProps), {
3012
+ children: transformItems(children != null ? children : []),
3013
+ icon: iconName ? /* @__PURE__ */ jsx(Icon__default, { component: Icon[iconName] }) : null
3014
+ });
3015
+ } else {
3016
+ const _b = items[i], { route, label, code } = _b, restProps = __objRest(_b, ["route", "label", "code"]);
3017
+ result[i] = __spreadProps(__spreadValues({}, restProps), {
3018
+ label: withLink(label, route),
3019
+ icon: iconName ? /* @__PURE__ */ jsx(Icon__default, { component: Icon[iconName] }) : null
3020
+ }) ;
3021
+ }
3022
+ }
3023
+ }
3024
+ return result;
3025
+ }
3026
+ function flatItems(items, result = [], keypath = []) {
3027
+ for (const item of items) {
3028
+ const children = item.children;
3029
+ if (Array.isArray(children)) {
3030
+ const _keys = item.type !== "group" && item.key ? [...keypath, item.key] : keypath;
3031
+ flatItems(children, result, _keys);
3032
+ } else {
3033
+ result.push(Object.assign(item, { keypath }));
3034
+ }
3035
+ }
3036
+ return result;
3037
+ }
3038
+ var NavBar = (props) => {
3039
+ const { items } = props;
3040
+ const location = useLocation();
3041
+ const flattenItems = useMemo(() => flatItems(items != null ? items : []), [items]);
3042
+ const [internalItems, setInternalItems] = useState([]);
3043
+ useEffect(() => {
3044
+ setInternalItems(transformItems(items != null ? items : []));
3045
+ }, [items]);
3046
+ const openKeys = useMenuStore((state) => state.openKeys);
3047
+ const selectedKeys = useMenuStore((state) => state.selectedKeys);
3048
+ const setOpenKeys = useMenuStore((state) => state.setOpenKeys);
3049
+ const setSelectedKeys = useMenuStore((state) => state.setSelectedKeys);
3050
+ const onOpenChange = useCallback(
3051
+ (keys) => {
3052
+ var _a;
3053
+ const latestOpenKey = keys == null ? void 0 : keys.find((key) => (openKeys == null ? void 0 : openKeys.indexOf(key)) === -1);
3054
+ const match = flattenItems.find((item) => latestOpenKey === item.key);
3055
+ const _openKeys = (_a = match == null ? void 0 : match.keypath) != null ? _a : [latestOpenKey];
3056
+ setOpenKeys(_openKeys);
3057
+ },
3058
+ [flattenItems, openKeys, setOpenKeys]
3059
+ );
3060
+ useEffect(() => {
3061
+ const match = flattenItems.find((item) => location.pathname === item.route);
3062
+ if (match) {
3063
+ const key = match.key;
3064
+ const keypath = match.keypath;
3065
+ setSelectedKeys([key]);
3066
+ setOpenKeys(keypath);
3067
+ }
3068
+ }, [flattenItems, location, setOpenKeys, setSelectedKeys]);
3069
+ return /* @__PURE__ */ jsx(
3070
+ Menu,
3071
+ {
3072
+ style: { borderRight: "none" },
3073
+ items: internalItems,
3074
+ mode: "inline",
3075
+ openKeys,
3076
+ selectedKeys,
3077
+ onOpenChange
3078
+ }
3079
+ );
3080
+ };
3081
+ var NavBar_default = NavBar;
3082
+ var { Header, Sider, Content } = Layout$1;
3083
+ var Layout = (props) => {
3084
+ const { title, items, header } = props;
3085
+ const {
3086
+ token: { colorBgContainer, colorBorder }
3087
+ } = theme.useToken();
3088
+ return /* @__PURE__ */ jsxs(Layout$1, { hasSider: true, className: "h-screen", children: [
3089
+ /* @__PURE__ */ jsxs(
3090
+ Sider,
3091
+ {
3092
+ width: 256,
3093
+ style: {
3094
+ overflow: "auto",
3095
+ height: "100vh",
3096
+ position: "fixed",
3097
+ left: 0,
3098
+ top: 0,
3099
+ bottom: 0,
3100
+ borderRightWidth: 1,
3101
+ borderRightStyle: "solid",
3102
+ borderRightColor: colorBorder
3103
+ },
3104
+ theme: "light",
3105
+ children: [
3106
+ /* @__PURE__ */ jsxs("div", { className: "flex items-end px-6 py-4", children: [
3107
+ /* @__PURE__ */ jsx("img", { src: logo, alt: "logo", className: "w-8" }),
3108
+ /* @__PURE__ */ jsx(Link, { className: "font-bold text-lg ml-2", to: "/", children: title })
3109
+ ] }),
3110
+ /* @__PURE__ */ jsx(NavBar_default, { items })
3111
+ ]
3112
+ }
3113
+ ),
3114
+ /* @__PURE__ */ jsxs(Layout$1, { className: "ml-64", children: [
3115
+ /* @__PURE__ */ jsx(
3116
+ Header,
3117
+ {
3118
+ style: {
3119
+ padding: "0 24px",
3120
+ background: colorBgContainer,
3121
+ borderBottomWidth: 1,
3122
+ borderBottomStyle: "solid",
3123
+ borderBottomColor: colorBorder
3124
+ },
3125
+ children: header
3126
+ }
3127
+ ),
3128
+ /* @__PURE__ */ jsx(Content, { className: "p-6 overflow-auto bg-gray-50", children: /* @__PURE__ */ jsx(
3129
+ Suspense,
3130
+ {
3131
+ fallback: /* @__PURE__ */ jsx(
3132
+ Spin,
3133
+ {
3134
+ style: {
3135
+ display: "flex",
3136
+ justifyContent: "center",
3137
+ alignItems: "center",
3138
+ height: "50vh"
3139
+ }
3140
+ }
3141
+ ),
3142
+ children: /* @__PURE__ */ jsx(Outlet, {})
3143
+ }
3144
+ ) })
3145
+ ] })
3146
+ ] });
3147
+ };
3148
+ var Layout_default = Layout;
3149
+
3150
+ export { DynamicTags_default as DynamicTags, FetcherError, FilterForm_default as FilterForm, FormModal_default as FormModal, Highlight_default as Highlight, Layout_default as Layout, Login_default as Login, PermissionButton_default as PermissionButton, QueryList_default as QueryList, permission_default as permission, useFetcher, useFormModal, useMenuStore, usePermission, usePermissions, useQueryTriggerStore, useTokenStore };
3151
+ //# sourceMappingURL=out.js.map
3152
+ //# sourceMappingURL=index.esm.js.map