memorix 1.9.1 → 1.9.3

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 (46) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +17 -4
  3. package/README.zh-CN.md +8 -4
  4. package/dist/cli/index.js +448 -243
  5. package/dist/index.js +302 -165
  6. package/dist/maintenance-runner.js +194 -98
  7. package/dist/media-audio-runner.js +196 -100
  8. package/dist/media-video-runner.js +194 -98
  9. package/dist/memcode-runtime/CHANGELOG.md +22 -0
  10. package/dist/sdk.js +301 -164
  11. package/dist/vector-backfill-runner.js +194 -98
  12. package/docs/AGENT_OPERATOR_PLAYBOOK.md +15 -0
  13. package/docs/ARCHITECTURE.md +23 -0
  14. package/docs/DEVELOPMENT.md +1 -1
  15. package/docs/INTEGRATIONS.md +4 -0
  16. package/docs/PERFORMANCE.md +50 -0
  17. package/docs/README.md +1 -1
  18. package/docs/SETUP.md +5 -0
  19. package/package.json +1 -2
  20. package/plugins/antigravity/memorix/plugin.json +1 -1
  21. package/plugins/claude/memorix/.claude-plugin/plugin.json +1 -1
  22. package/plugins/codebuddy/memorix/.codebuddy-plugin/plugin.json +1 -1
  23. package/plugins/codex/memorix/.codex-plugin/plugin.json +1 -1
  24. package/plugins/copilot/memorix/plugin.json +1 -1
  25. package/plugins/gemini/memorix/gemini-extension.json +1 -1
  26. package/plugins/hermes/memorix/plugin.yaml +1 -1
  27. package/plugins/omp/memorix/package.json +1 -1
  28. package/plugins/openclaw/memorix/.codex-plugin/plugin.json +1 -1
  29. package/plugins/pi/memorix/package.json +1 -1
  30. package/server.json +2 -2
  31. package/src/cli/commands/doctor.ts +78 -17
  32. package/src/cli/commands/memory.ts +2 -1
  33. package/src/cli/default-mode.ts +15 -0
  34. package/src/cli/index.ts +10 -1
  35. package/src/codegraph/lite-provider.ts +10 -1
  36. package/src/dashboard/maintenance.ts +11 -2
  37. package/src/memory/consolidation.ts +15 -6
  38. package/src/store/mini-skill-store.ts +31 -22
  39. package/src/store/obs-store.ts +46 -30
  40. package/src/store/session-store.ts +35 -21
  41. package/src/store/sqlite-db.ts +16 -7
  42. package/src/store/sqlite-reliability.ts +87 -0
  43. package/src/store/sqlite-store.ts +4 -1
  44. package/assets/star-history-dark.svg +0 -30
  45. package/assets/star-history-light.svg +0 -30
  46. package/assets/star-history.json +0 -712
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Backends:
5
5
  * - SqliteBackend (sqlite-store.ts) — WAL-mode SQLite with generation tracking
6
- * - DegradedBackend — read-only empty store when SQLite is unavailable
6
+ * - DegradedBackend — diagnostic-only backend when SQLite is unavailable
7
7
  *
8
8
  * JSON is no longer a runtime writable backend.
9
9
  * observations.json is only used as a one-time migration source into SQLite.
@@ -12,6 +12,7 @@
12
12
  */
13
13
 
14
14
  import type { Observation } from '../types.js';
15
+ import { degradedReadError, degradedWriteError, formatSqliteFailure, isSqliteUnavailableError, initializeSqliteStore } from './sqlite-reliability.js';
15
16
 
16
17
  /**
17
18
  * Raw transaction handle for compound atomic operations.
@@ -164,6 +165,9 @@ export interface ObservationStore {
164
165
 
165
166
  /** Which backend is active: 'sqlite' or 'degraded' (read-only). */
166
167
  getBackendName(): 'sqlite' | 'degraded';
168
+
169
+ /** Why a degraded backend was selected, when applicable. */
170
+ getBackendReason?(): string | undefined;
167
171
  }
168
172
 
169
173
  // ── Singleton store access ─────────────────────────────────────────
@@ -199,23 +203,25 @@ export function resetObservationStore(): void {
199
203
  * without touching the process-wide singleton. This is useful for long-lived
200
204
  * multi-project hosts (for example serve-http embedded dashboard APIs) where
201
205
  * requests may need to read different project data dirs concurrently.
206
+ *
207
+ * Only a *structural* failure — better-sqlite3 genuinely unavailable — falls
208
+ * back to the read-only DegradedBackend. A transient lock is retried, and a
209
+ * persistent runtime failure is thrown rather than silently degraded: an
210
+ * empty-looking store is far more dangerous than a loud error, because
211
+ * callers cannot distinguish it from a project with no observations yet.
202
212
  */
203
213
  export async function createObservationStore(dataDir: string): Promise<ObservationStore> {
204
- // Try SQLite first (optionalDependencies — may not be installed)
205
214
  try {
206
215
  const { SqliteBackend } = await import('./sqlite-store.js');
207
- const store = new SqliteBackend();
208
- await store.init(dataDir);
209
- return store;
216
+ return await initializeSqliteStore(() => new SqliteBackend(), dataDir, 'Observation store');
210
217
  } catch (err) {
211
- console.error(`[memorix] SQLite backend unavailable — degraded mode (read-only): ${err instanceof Error ? err.message : err}`);
218
+ if (!isSqliteUnavailableError(err)) throw err;
219
+ const reason = formatSqliteFailure(err);
220
+ console.error(`[memorix] SQLite module unavailable — degraded mode (reads/writes disabled): ${reason}`);
221
+ const degraded = new DegradedBackend(reason);
222
+ await degraded.init(dataDir);
223
+ return degraded;
212
224
  }
213
-
214
- // No writable JSON fallback — degraded read-only mode instead
215
- // observations.json is only used as migration source, not runtime backend
216
- const store = new DegradedBackend();
217
- await store.init(dataDir);
218
- return store;
219
225
  }
220
226
 
221
227
  /**
@@ -243,52 +249,58 @@ export async function initObservationStore(dataDir: string): Promise<Observation
243
249
  return store;
244
250
  }
245
251
 
246
- // ── DegradedBackend (read-only when SQLite unavailable) ──────────
252
+ // ── DegradedBackend (diagnostic-only when SQLite unavailable) ─────
247
253
 
248
254
  /**
249
- * DegradedBackend — ObservationStore that is read-only and empty.
255
+ * DegradedBackend — diagnostic-only backend used when SQLite is unavailable.
250
256
  *
251
- * Used when better-sqlite3 is unavailable. All write operations throw.
257
+ * Business reads and writes throw instead of returning synthetic empty data.
252
258
  * This ensures the system does not silently fall back to writing observations.json
253
259
  * as a runtime canonical store.
254
260
  */
255
261
  export class DegradedBackend implements ObservationStore {
256
262
  private dataDir: string = '';
257
263
 
264
+ constructor(private readonly reason = 'SQLite runtime unavailable') {}
265
+
266
+ private unavailableRead(): Error {
267
+ return degradedReadError('observations');
268
+ }
269
+
258
270
  async init(dataDir: string): Promise<void> {
259
271
  this.dataDir = dataDir;
260
272
  }
261
273
 
262
274
  async loadAll(): Promise<Observation[]> {
263
- return [];
275
+ throw this.unavailableRead();
264
276
  }
265
277
 
266
278
  async loadByProject(_projectId: string, _options?: { status?: string; limit?: number; offset?: number; afterId?: number; newestFirst?: boolean }): Promise<Observation[]> {
267
- return [];
279
+ throw this.unavailableRead();
268
280
  }
269
281
 
270
282
  async countByProject(_projectId: string, _options?: { status?: string; visibility?: 'project' }): Promise<number> {
271
- return 0;
283
+ throw this.unavailableRead();
272
284
  }
273
285
 
274
286
  async getById(_id: number): Promise<Observation | undefined> {
275
- return undefined;
287
+ throw this.unavailableRead();
276
288
  }
277
289
 
278
290
  async loadIdCounter(): Promise<number> {
279
- return 1;
291
+ throw this.unavailableRead();
280
292
  }
281
293
 
282
294
  async countAll(): Promise<number> {
283
- return 0;
295
+ throw this.unavailableRead();
284
296
  }
285
297
 
286
298
  async listProjectIds(): Promise<string[]> {
287
- return [];
299
+ throw this.unavailableRead();
288
300
  }
289
301
 
290
302
  async searchLexical(_options: LexicalSearchOptions): Promise<LexicalSearchHit[]> {
291
- return [];
303
+ throw this.unavailableRead();
292
304
  }
293
305
 
294
306
  hasLexicalIndex(): boolean {
@@ -300,31 +312,31 @@ export class DegradedBackend implements ObservationStore {
300
312
  }
301
313
 
302
314
  async insert(_obs: Observation): Promise<void> {
303
- throw new Error('[memorix] Cannot write observations: SQLite backend unavailable (degraded mode)');
315
+ throw degradedWriteError('observations');
304
316
  }
305
317
 
306
318
  async update(_obs: Observation): Promise<void> {
307
- throw new Error('[memorix] Cannot write observations: SQLite backend unavailable (degraded mode)');
319
+ throw degradedWriteError('observations');
308
320
  }
309
321
 
310
322
  async remove(_id: number): Promise<void> {
311
- throw new Error('[memorix] Cannot write observations: SQLite backend unavailable (degraded mode)');
323
+ throw degradedWriteError('observations');
312
324
  }
313
325
 
314
326
  async bulkReplace(_obs: Observation[]): Promise<void> {
315
- throw new Error('[memorix] Cannot write observations: SQLite backend unavailable (degraded mode)');
327
+ throw degradedWriteError('observations');
316
328
  }
317
329
 
318
330
  async bulkRemoveByIds(_ids: number[]): Promise<void> {
319
- throw new Error('[memorix] Cannot write observations: SQLite backend unavailable (degraded mode)');
331
+ throw degradedWriteError('observations');
320
332
  }
321
333
 
322
334
  async saveIdCounter(_nextId: number): Promise<void> {
323
- throw new Error('[memorix] Cannot write observations: SQLite backend unavailable (degraded mode)');
335
+ throw degradedWriteError('observations');
324
336
  }
325
337
 
326
338
  async atomic<T>(_fn: (tx: StoreTransaction) => Promise<T>): Promise<T> {
327
- throw new Error('[memorix] Cannot write observations: SQLite backend unavailable (degraded mode)');
339
+ throw degradedWriteError('observations');
328
340
  }
329
341
 
330
342
  async ensureFresh(): Promise<boolean> {
@@ -342,4 +354,8 @@ export class DegradedBackend implements ObservationStore {
342
354
  getBackendName(): 'sqlite' | 'degraded' {
343
355
  return 'degraded';
344
356
  }
357
+
358
+ getBackendReason(): string {
359
+ return this.reason;
360
+ }
345
361
  }
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Backends:
5
5
  * - SessionSqliteStore — canonical store, uses shared DB handle from sqlite-db.ts
6
- * - SessionGracefulDegrade — no-op fallback when SQLite is unavailable
6
+ * - SessionGracefulDegrade — explicit read-only fallback when SQLite is unavailable
7
7
  *
8
8
  * Phase 2 debt-zero: SQLite is the only canonical store for sessions.
9
9
  * JSON files are migration source only. No writable JSON fallback exists.
@@ -11,6 +11,7 @@
11
11
 
12
12
  import type { Session } from '../types.js';
13
13
  import { getDatabase } from './sqlite-db.js';
14
+ import { degradedReadError, degradedWriteError, formatSqliteFailure, initializeSqliteStore, isSqliteUnavailableError, retrySqliteBusy } from './sqlite-reliability.js';
14
15
  import { loadSessionsJson } from './persistence.js';
15
16
  import path from 'node:path';
16
17
  import fs from 'node:fs';
@@ -33,6 +34,7 @@ export interface SessionStoreInterface {
33
34
  */
34
35
  atomicRolloverInsert(newSession: Session, projectIds: string[], now: string): Promise<number>;
35
36
  getBackendName(): 'sqlite' | 'degraded';
37
+ getBackendReason?(): string | undefined;
36
38
  }
37
39
 
38
40
  // ── Row <-> Session serialization ───────────────────────────────────
@@ -175,7 +177,7 @@ export class SessionSqliteStore implements SessionStoreInterface {
175
177
  const stmtComplete = this._stmtCompleteActive;
176
178
  const stmtIns = this.stmtInsert;
177
179
 
178
- const result = this.db.transaction(() => {
180
+ return retrySqliteBusy(async () => this.db.transaction(() => {
179
181
  let completedCount = 0;
180
182
  for (const pid of projectIds) {
181
183
  const info = stmtComplete.run({ pid, now });
@@ -183,8 +185,7 @@ export class SessionSqliteStore implements SessionStoreInterface {
183
185
  }
184
186
  stmtIns.run(sessionToRow(newSession));
185
187
  return completedCount;
186
- })();
187
- return result;
188
+ })(), 'Session rollover');
188
189
  }
189
190
 
190
191
  getBackendName(): 'sqlite' | 'degraded' {
@@ -195,15 +196,21 @@ export class SessionSqliteStore implements SessionStoreInterface {
195
196
  // ── Graceful Degrade Fallback ────────────────────────────────────────
196
197
  //
197
198
  // Phase 2 debt-zero rule: sessions have NO writable JSON fallback.
198
- // In JSON-only environments (no better-sqlite3), reads return empty
199
- // and writes are no-ops with a warning.
199
+ // In environments without a supported SQLite runtime, reads return an
200
+ // explicit unavailable error and writes fail rather than pretending success.
200
201
 
201
202
  export class SessionGracefulDegrade implements SessionStoreInterface {
202
203
  private warned = false;
203
204
 
205
+ constructor(private readonly reason = 'SQLite runtime unavailable') {}
206
+
207
+ private unavailableRead(): Error {
208
+ return degradedReadError('sessions');
209
+ }
210
+
204
211
  private warn(): void {
205
212
  if (!this.warned) {
206
- console.error('[memorix] SessionStore: SQLite unavailable — sessions are disabled (read-only empty). Install better-sqlite3 for full functionality.');
213
+ console.error('[memorix] SessionStore: SQLite unavailable — sessions cannot be read or written. Install a supported SQLite runtime.');
207
214
  this.warned = true;
208
215
  }
209
216
  }
@@ -212,17 +219,22 @@ export class SessionGracefulDegrade implements SessionStoreInterface {
212
219
  this.warn();
213
220
  }
214
221
 
215
- async loadAll(): Promise<Session[]> { return []; }
216
- async getById(_id: string): Promise<Session | undefined> { return undefined; }
217
- async loadByProject(_projectId: string): Promise<Session[]> { return []; }
218
- async loadActive(_projectId: string): Promise<Session[]> { return []; }
222
+ async loadAll(): Promise<Session[]> { throw this.unavailableRead(); }
223
+ async getById(_id: string): Promise<Session | undefined> { throw this.unavailableRead(); }
224
+ async loadByProject(_projectId: string): Promise<Session[]> { throw this.unavailableRead(); }
225
+ async loadActive(_projectId: string): Promise<Session[]> { throw this.unavailableRead(); }
219
226
 
220
- async insert(_session: Session): Promise<void> { this.warn(); }
221
- async update(_session: Session): Promise<void> { this.warn(); }
222
- async bulkUpdate(_sessions: Session[]): Promise<void> { this.warn(); }
223
- async atomicRolloverInsert(_newSession: Session, _projectIds: string[], _now: string): Promise<number> { this.warn(); return 0; }
227
+ async insert(_session: Session): Promise<void> { this.warn(); throw degradedWriteError('sessions'); }
228
+ async update(_session: Session): Promise<void> { this.warn(); throw degradedWriteError('sessions'); }
229
+ async bulkUpdate(_sessions: Session[]): Promise<void> { this.warn(); throw degradedWriteError('sessions'); }
230
+ async atomicRolloverInsert(_newSession: Session, _projectIds: string[], _now: string): Promise<number> {
231
+ this.warn();
232
+ throw degradedWriteError('sessions');
233
+ }
224
234
 
225
235
  getBackendName(): 'sqlite' | 'degraded' { return 'degraded'; }
236
+
237
+ getBackendReason(): string { return this.reason; }
226
238
  }
227
239
 
228
240
  // ── Singleton access ────────────────────────────────────────────────
@@ -248,19 +260,21 @@ export async function initSessionStore(dataDir: string): Promise<SessionStoreInt
248
260
  _store = null;
249
261
  _storeDataDir = null;
250
262
 
251
- // Try SQLite first
263
+ // Only a missing SQLite runtime may use the intentional read-only fallback.
264
+ let degradedReason = 'SQLite runtime unavailable';
252
265
  try {
253
- const store = new SessionSqliteStore();
254
- await store.init(dataDir);
266
+ const store = await initializeSqliteStore(() => new SessionSqliteStore(), dataDir, 'Session store');
255
267
  _store = store;
256
268
  _storeDataDir = dataDir;
257
269
  return store;
258
270
  } catch (err) {
259
- console.error(`[memorix] SessionSqliteStore unavailable, running in degraded read-only mode: ${err instanceof Error ? err.message : err}`);
271
+ if (!isSqliteUnavailableError(err)) throw err;
272
+ degradedReason = formatSqliteFailure(err);
273
+ console.error(`[memorix] SessionSqliteStore unavailable, running in degraded read-only mode: ${degradedReason}`);
260
274
  }
261
275
 
262
- // Fallback: graceful degrade (no writable JSON backend per debt-zero rule)
263
- const store = new SessionGracefulDegrade();
276
+ // Fallback: explicit read-only mode (no writable JSON backend per debt-zero rule)
277
+ const store = new SessionGracefulDegrade(degradedReason);
264
278
  await store.init(dataDir);
265
279
  _store = store;
266
280
  _storeDataDir = dataDir;
@@ -1126,12 +1126,15 @@ export function getDatabase(dataDir: string): any {
1126
1126
  fs.mkdirSync(dataDir, { recursive: true });
1127
1127
 
1128
1128
  const dbPath = path.join(dataDir, 'memorix.db');
1129
- const db = createDatabase(dbPath);
1129
+ let db: any;
1130
+ try {
1131
+ db = createDatabase(dbPath);
1130
1132
 
1131
- // WAL mode for concurrent read performance
1132
- db.pragma('journal_mode = WAL');
1133
- db.pragma('busy_timeout = 5000');
1134
- db.pragma('foreign_keys = ON');
1133
+ // Set the connection-local wait policy before the journal-mode transition.
1134
+ db.pragma('busy_timeout = 5000');
1135
+ // WAL allows readers to continue while one short writer transaction runs.
1136
+ db.pragma('journal_mode = WAL');
1137
+ db.pragma('foreign_keys = ON');
1135
1138
 
1136
1139
  // Create all tables
1137
1140
  db.exec(CREATE_OBSERVATIONS_TABLE);
@@ -1188,8 +1191,14 @@ export function getDatabase(dataDir: string): any {
1188
1191
  db.prepare(`INSERT OR IGNORE INTO meta (key, value) VALUES ('next_id', '1')`).run();
1189
1192
  db.prepare(`INSERT OR IGNORE INTO meta (key, value) VALUES ('mini_skills_generation', '0')`).run();
1190
1193
 
1191
- _dbCache.set(normalized, db);
1192
- return db;
1194
+ _dbCache.set(normalized, db);
1195
+ return db;
1196
+ } catch (error) {
1197
+ // A schema/migration/FTS failure must not leave an uncached connection
1198
+ // holding a file lock while callers retry initialization.
1199
+ try { db?.close(); } catch { /* best-effort cleanup */ }
1200
+ throw error;
1201
+ }
1193
1202
  }
1194
1203
 
1195
1204
  /**
@@ -0,0 +1,87 @@
1
+ import { loadBetterSqlite3 } from './sqlite-db.js';
2
+
3
+ const SQLITE_BUSY_RETRY_DELAYS_MS = [50, 150, 400, 1000, 2500] as const;
4
+
5
+ export class SqliteUnavailableError extends Error {
6
+ readonly code = 'MEMORIX_SQLITE_UNAVAILABLE';
7
+
8
+ constructor(cause?: unknown) {
9
+ super(
10
+ cause instanceof Error && cause.message
11
+ ? cause.message
12
+ : '[memorix] SQLite is unavailable (install a supported SQLite runtime)',
13
+ );
14
+ this.name = 'SqliteUnavailableError';
15
+ }
16
+ }
17
+
18
+ /** SQLite BUSY means another connection is currently holding the database lock. */
19
+ export function isTransientSqliteError(error: unknown): boolean {
20
+ const code = (error as { code?: unknown } | null)?.code;
21
+ if (typeof code === 'string') {
22
+ // SQLITE_LOCKED is a same-connection/shared-cache conflict. Retrying it
23
+ // would hide a transaction bug; only BUSY is cross-connection contention.
24
+ return /^SQLITE_BUSY(?:_|$)/i.test(code);
25
+ }
26
+ return error instanceof Error && /\bdatabase is locked\b|\bdatabase is busy\b/i.test(error.message);
27
+ }
28
+
29
+ export function isSqliteUnavailableError(error: unknown): boolean {
30
+ return error instanceof SqliteUnavailableError
31
+ || (error instanceof Error && /SQLite is not available|better-sqlite3.*failed|node:sqlite.*failed|bun:sqlite.*failed/i.test(error.message));
32
+ }
33
+
34
+ export function degradedReadError(storeName: string): Error {
35
+ return new Error(`[memorix] Cannot read ${storeName}: SQLite backend unavailable (memory is not loaded)`);
36
+ }
37
+
38
+ export function degradedWriteError(storeName: string): Error {
39
+ return new Error(`[memorix] Cannot write ${storeName}: SQLite backend unavailable (degraded mode; read-only)`);
40
+ }
41
+
42
+ export function formatSqliteFailure(error: unknown): string {
43
+ return error instanceof Error && error.message ? error.message : String(error);
44
+ }
45
+
46
+ function delay(ms: number): Promise<void> {
47
+ return new Promise((resolve) => setTimeout(resolve, ms));
48
+ }
49
+
50
+ /** Retry only cross-process SQLite contention, keeping each attempt bounded. */
51
+ export async function retrySqliteBusy<T>(operation: () => Promise<T>, label: string): Promise<T> {
52
+ for (let attempt = 0; ; attempt++) {
53
+ try {
54
+ return await operation();
55
+ } catch (error) {
56
+ if (!isTransientSqliteError(error) || attempt >= SQLITE_BUSY_RETRY_DELAYS_MS.length) throw error;
57
+ const waitMs = SQLITE_BUSY_RETRY_DELAYS_MS[attempt];
58
+ console.error(
59
+ `[memorix] ${label} SQLite busy (attempt ${attempt + 1}/${SQLITE_BUSY_RETRY_DELAYS_MS.length + 1}), retrying in ${waitMs}ms`,
60
+ );
61
+ await delay(waitMs);
62
+ }
63
+ }
64
+ }
65
+
66
+ /**
67
+ * Establish one complete store instance. Runtime lock errors are retried with
68
+ * fresh instances; a missing SQLite runtime is classified separately so the
69
+ * caller can choose the intentional degraded backend.
70
+ */
71
+ export async function initializeSqliteStore<T extends { init(dataDir: string): Promise<void> }>(
72
+ factory: () => T,
73
+ dataDir: string,
74
+ label: string,
75
+ ): Promise<T> {
76
+ try {
77
+ loadBetterSqlite3();
78
+ } catch (error) {
79
+ throw new SqliteUnavailableError(error);
80
+ }
81
+
82
+ return retrySqliteBusy(async () => {
83
+ const store = factory();
84
+ await store.init(dataDir);
85
+ return store;
86
+ }, label);
87
+ }
@@ -18,6 +18,7 @@
18
18
  import type { Observation } from '../types.js';
19
19
  import type { ObservationStore, StoreTransaction } from './obs-store.js';
20
20
  import { getDatabase, closeDatabase } from './sqlite-db.js';
21
+ import { retrySqliteBusy } from './sqlite-reliability.js';
21
22
  import {
22
23
  isObservationLexicalIndexEnabled,
23
24
  rebuildObservationLexicalIndex,
@@ -462,7 +463,9 @@ export class SqliteBackend implements ObservationStore {
462
463
  const run = this._atomicQueue
463
464
  .catch(() => undefined)
464
465
  .then(async () => {
465
- this.db.prepare('BEGIN IMMEDIATE').run();
466
+ await retrySqliteBusy(async () => {
467
+ this.db.prepare('BEGIN IMMEDIATE').run();
468
+ }, 'Observation atomic write');
466
469
  try {
467
470
  const tx: StoreTransaction = {
468
471
  loadAll: async () => this.rawLoadAll(),
@@ -1,30 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg xmlns="http://www.w3.org/2000/svg" width="1200" height="560" viewBox="0 0 1200 560" role="img" aria-labelledby="title description">
3
- <title id="title">AVIDS2/memorix Star History</title>
4
- <desc id="description">Cumulative GitHub stars for AVIDS2/memorix, generated from GitHub stargazer events.</desc>
5
- <defs>
6
- <linearGradient id="star-history-fill-dark" x1="0" x2="0" y1="0" y2="1">
7
- <stop offset="0%" stop-color="#3dd6ae" stop-opacity="0.35" />
8
- <stop offset="100%" stop-color="#3dd6ae" stop-opacity="0" />
9
- </linearGradient>
10
- </defs>
11
- <rect width="1200" height="560" rx="10" fill="#0d1117" />
12
- <text x="76" y="48" fill="#e6edf3" font-size="28" font-weight="700" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif">Star History</text>
13
- <text x="76" y="78" fill="#9ba8b7" font-size="16" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif">AVIDS2/memorix</text>
14
- <text x="1152" y="56" text-anchor="end" fill="#b9f7e5" font-size="24" font-weight="700" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif">706 stars</text>
15
- <g font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif">
16
- <line x1="76" y1="486" x2="1152" y2="486" stroke="#30363d" stroke-width="1" stroke-dasharray="5 6" /><text x="62" y="490" text-anchor="end" fill="#9ba8b7" font-size="14">0</text>
17
- <line x1="76" y1="392.5" x2="1152" y2="392.5" stroke="#30363d" stroke-width="1" stroke-dasharray="5 6" /><text x="62" y="396.5" text-anchor="end" fill="#9ba8b7" font-size="14">200</text>
18
- <line x1="76" y1="299" x2="1152" y2="299" stroke="#30363d" stroke-width="1" stroke-dasharray="5 6" /><text x="62" y="303" text-anchor="end" fill="#9ba8b7" font-size="14">400</text>
19
- <line x1="76" y1="205.5" x2="1152" y2="205.5" stroke="#30363d" stroke-width="1" stroke-dasharray="5 6" /><text x="62" y="209.5" text-anchor="end" fill="#9ba8b7" font-size="14">600</text>
20
- <line x1="76" y1="112" x2="1152" y2="112" stroke="#30363d" stroke-width="1" stroke-dasharray="5 6" /><text x="62" y="116" text-anchor="end" fill="#9ba8b7" font-size="14">800</text>
21
- <path d="M 115.85 485.53 L 116.29 485.06 L 116.62 484.6 L 116.86 484.13 L 116.89 483.66 L 117.56 483.19 L 117.89 482.73 L 118.08 482.26 L 118.09 481.79 L 118.9 481.32 L 121.46 480.86 L 121.48 480.39 L 121.49 479.92 L 121.75 479.45 L 121.84 478.99 L 121.9 478.52 L 121.92 478.05 L 122.03 477.58 L 122.13 477.12 L 122.14 476.65 L 122.2 476.18 L 122.28 475.71 L 122.37 475.25 L 122.61 474.78 L 122.84 474.31 L 122.95 473.85 L 123.11 473.38 L 123.25 472.91 L 123.29 472.44 L 123.36 471.98 L 123.53 471.51 L 123.54 471.04 L 123.71 470.57 L 123.77 470.11 L 123.87 469.64 L 123.96 469.17 L 124.04 468.7 L 124.09 468.24 L 124.1 467.77 L 124.1 467.3 L 124.11 466.83 L 124.11 466.37 L 124.18 465.9 L 124.18 465.43 L 124.23 464.96 L 124.28 464.5 L 124.51 464.03 L 124.69 463.56 L 124.78 463.09 L 125.47 462.63 L 125.5 462.16 L 126.49 461.69 L 126.55 461.22 L 126.56 460.75 L 126.66 460.29 L 126.72 459.82 L 126.93 459.35 L 127.32 458.88 L 127.53 458.42 L 127.53 457.95 L 127.57 457.48 L 127.83 457.01 L 128 456.55 L 128.24 456.08 L 128.28 455.61 L 128.7 455.14 L 129 454.68 L 129.21 454.21 L 129.45 453.74 L 129.67 453.27 L 129.91 452.81 L 129.97 452.34 L 130.12 451.87 L 130.13 451.4 L 130.29 450.94 L 130.54 450.47 L 131.86 450 L 131.88 449.53 L 132.34 449.07 L 132.46 448.6 L 132.5 448.13 L 132.51 447.67 L 132.56 447.2 L 132.81 446.73 L 132.95 446.26 L 132.98 445.8 L 132.99 445.33 L 133.04 444.86 L 133.18 444.39 L 133.26 443.93 L 133.28 443.46 L 133.4 442.99 L 133.45 442.52 L 133.45 442.06 L 133.64 441.59 L 133.89 441.12 L 133.92 440.65 L 134.13 440.19 L 134.23 439.72 L 134.47 439.25 L 134.84 438.78 L 134.86 438.31 L 134.93 437.85 L 135.08 437.38 L 135.14 436.91 L 135.5 436.44 L 136.81 435.98 L 136.87 435.51 L 137.1 435.04 L 137.41 434.57 L 137.6 434.11 L 137.83 433.64 L 139.54 433.17 L 140.15 432.7 L 140.38 432.24 L 140.96 431.77 L 142.88 431.3 L 142.9 430.83 L 143.15 430.37 L 143.17 429.9 L 143.44 429.43 L 143.72 428.97 L 143.96 428.5 L 144.01 428.03 L 144.22 427.56 L 144.44 427.1 L 144.73 426.63 L 144.86 426.16 L 145.24 425.69 L 149.6 425.23 L 150.92 424.76 L 151.07 424.29 L 151.16 423.82 L 153.18 423.36 L 153.21 422.89 L 153.93 422.42 L 157.75 421.95 L 159.84 421.49 L 160.2 421.02 L 161 420.55 L 161.46 420.08 L 164.37 419.62 L 166.26 419.15 L 166.5 418.68 L 168.74 418.21 L 169.08 417.75 L 169.89 417.28 L 171.34 416.81 L 174.36 416.34 L 174.47 415.88 L 175.62 415.41 L 175.72 414.94 L 176.77 414.47 L 179.84 414 L 179.94 413.54 L 180.77 413.07 L 185.58 412.6 L 185.82 412.13 L 187.07 411.67 L 189.23 411.2 L 189.96 410.73 L 190.17 410.26 L 190.25 409.8 L 190.36 409.33 L 190.49 408.86 L 190.69 408.39 L 190.81 407.93 L 191.19 407.46 L 193.44 406.99 L 194.85 406.52 L 196.11 406.06 L 197.07 405.59 L 198 405.12 L 198.06 404.65 L 199.39 404.19 L 199.84 403.72 L 199.85 403.25 L 200.08 402.78 L 200.81 402.32 L 200.92 401.85 L 201.39 401.38 L 201.69 400.91 L 201.81 400.45 L 201.99 399.98 L 202.2 399.51 L 202.48 399.05 L 202.54 398.58 L 203.23 398.11 L 203.27 397.64 L 203.39 397.18 L 203.41 396.71 L 203.55 396.24 L 204.42 395.77 L 205.78 395.31 L 206.03 394.84 L 207 394.37 L 208.31 393.9 L 208.99 393.44 L 209.11 392.97 L 209.62 392.5 L 211.25 392.03 L 211.51 391.56 L 211.79 391.1 L 212.75 390.63 L 213.79 390.16 L 213.92 389.69 L 215.12 389.23 L 215.14 388.76 L 216.83 388.29 L 218.18 387.82 L 221.98 387.36 L 222.18 386.89 L 222.83 386.42 L 225.36 385.95 L 226.59 385.49 L 226.74 385.02 L 227.1 384.55 L 227.61 384.08 L 227.62 383.62 L 227.74 383.15 L 227.88 382.68 L 228.24 382.21 L 229.19 381.75 L 229.36 381.28 L 229.5 380.81 L 229.83 380.35 L 230.42 379.88 L 231.49 379.41 L 231.97 378.94 L 232.5 378.48 L 232.95 378.01 L 233.63 377.54 L 234.03 377.07 L 234.76 376.61 L 235.26 376.14 L 236.79 375.67 L 237.17 375.2 L 237.45 374.74 L 238.34 374.27 L 239.05 373.8 L 239.17 373.33 L 240.67 372.87 L 240.89 372.4 L 241.74 371.93 L 242.48 371.46 L 242.54 371 L 243.74 370.53 L 243.8 370.06 L 248.42 369.59 L 248.57 369.13 L 249.27 368.66 L 249.28 368.19 L 249.55 367.72 L 250.12 367.25 L 250.14 366.79 L 250.76 366.32 L 250.76 365.85 L 253.61 365.38 L 255.26 364.92 L 256.02 364.45 L 256.38 363.98 L 258.66 363.51 L 260.13 363.05 L 261.37 362.58 L 263.87 362.11 L 264.92 361.64 L 264.95 361.18 L 265.18 360.71 L 265.99 360.24 L 266.02 359.77 L 266.05 359.31 L 269.71 358.84 L 270.08 358.37 L 271.06 357.9 L 271.22 357.44 L 271.76 356.97 L 274.13 356.5 L 281.93 356.03 L 281.93 355.57 L 281.93 355.1 L 281.94 354.63 L 281.94 354.17 L 286.03 353.7 L 287.21 353.23 L 287.84 352.76 L 291.57 352.3 L 291.93 351.83 L 292.22 351.36 L 293.78 350.89 L 295.19 350.43 L 297.07 349.96 L 298.22 349.49 L 299.36 349.02 L 304.2 348.56 L 306.98 348.09 L 307.25 347.62 L 307.59 347.15 L 311.02 346.69 L 316.86 346.22 L 319.19 345.75 L 321.68 345.28 L 322.93 344.81 L 323 344.35 L 323.68 343.88 L 323.81 343.41 L 330.48 342.94 L 332.83 342.48 L 334.32 342.01 L 334.41 341.54 L 336.17 341.07 L 336.35 340.61 L 338.2 340.14 L 344.33 339.67 L 346.74 339.2 L 348.17 338.74 L 350.16 338.27 L 361.45 337.8 L 361.71 337.33 L 371.26 336.87 L 371.44 336.4 L 375.06 335.93 L 376.41 335.47 L 377.21 335 L 378.55 334.53 L 379.86 334.06 L 382.06 333.6 L 384.47 333.13 L 384.56 332.66 L 389.31 332.19 L 389.59 331.73 L 390.18 331.26 L 391.95 330.79 L 392.41 330.32 L 397.61 329.86 L 398.32 329.39 L 398.42 328.92 L 403.09 328.45 L 403.22 327.99 L 404.79 327.52 L 407.83 327.05 L 407.95 326.58 L 411.95 326.12 L 412.31 325.65 L 412.88 325.18 L 419.1 324.71 L 419.2 324.25 L 419.59 323.78 L 422.72 323.31 L 423.02 322.84 L 432.39 322.38 L 434.3 321.91 L 434.97 321.44 L 434.98 320.97 L 436.69 320.5 L 437.71 320.04 L 440.04 319.57 L 440.16 319.1 L 440.42 318.63 L 441.1 318.17 L 443.62 317.7 L 448.04 317.23 L 450.63 316.76 L 454.4 316.3 L 454.77 315.83 L 454.83 315.36 L 454.83 314.89 L 454.85 314.43 L 466.31 313.96 L 467.42 313.49 L 468.32 313.02 L 470.38 312.56 L 471.84 312.09 L 476.99 311.62 L 478.64 311.15 L 490.17 310.69 L 496.82 310.22 L 496.96 309.75 L 497.37 309.28 L 497.43 308.82 L 498.18 308.35 L 498.4 307.88 L 503 307.42 L 503.97 306.95 L 507.45 306.48 L 513.27 306.01 L 514.32 305.55 L 517.16 305.08 L 519.89 304.61 L 521.03 304.14 L 526.45 303.68 L 528.78 303.21 L 530.08 302.74 L 531.89 302.27 L 532.16 301.81 L 538.74 301.34 L 541.23 300.87 L 543.37 300.4 L 548.18 299.94 L 550.18 299.47 L 555.15 299 L 566.01 298.53 L 569.24 298.07 L 570.31 297.6 L 570.37 297.13 L 570.7 296.66 L 571.58 296.2 L 573.32 295.73 L 573.36 295.26 L 576.73 294.79 L 577.38 294.33 L 603.02 293.86 L 604.38 293.39 L 607.43 292.92 L 607.49 292.46 L 613.04 291.99 L 614.82 291.52 L 616.23 291.05 L 616.47 290.59 L 620.56 290.12 L 628.05 289.65 L 630.45 289.18 L 634.59 288.72 L 634.59 288.25 L 634.59 287.78 L 634.6 287.31 L 634.6 286.85 L 634.6 286.38 L 634.6 285.91 L 634.6 285.44 L 634.6 284.98 L 634.6 284.51 L 634.6 284.04 L 634.6 283.57 L 634.6 283.11 L 634.6 282.64 L 634.6 282.17 L 634.6 281.7 L 634.6 281.24 L 634.6 280.77 L 634.6 280.3 L 634.6 279.83 L 634.6 279.37 L 634.6 278.9 L 634.6 278.43 L 634.6 277.96 L 634.6 277.5 L 634.6 277.03 L 634.6 276.56 L 634.6 276.09 L 634.6 275.63 L 634.6 275.16 L 634.6 274.69 L 634.6 274.22 L 634.6 273.75 L 634.6 273.29 L 634.6 272.82 L 634.6 272.35 L 634.6 271.88 L 634.61 271.42 L 634.94 270.95 L 638.43 270.48 L 639.16 270.01 L 649.89 269.55 L 651.2 269.08 L 655.47 268.61 L 658.7 268.14 L 660.18 267.68 L 661.7 267.21 L 664.37 266.74 L 665.68 266.27 L 668.44 265.81 L 670.18 265.34 L 672.78 264.87 L 676.81 264.4 L 681.38 263.94 L 684.9 263.47 L 685.02 263 L 686.05 262.53 L 687.9 262.07 L 691.11 261.6 L 691.53 261.13 L 691.71 260.66 L 693.38 260.2 L 694.9 259.73 L 696.2 259.26 L 697.32 258.79 L 702.95 258.33 L 705.79 257.86 L 712.84 257.39 L 713.51 256.92 L 713.64 256.46 L 717.81 255.99 L 724.39 255.52 L 735.48 255.05 L 736 254.59 L 739.97 254.12 L 740.08 253.65 L 750.59 253.18 L 760.84 252.72 L 761.02 252.25 L 770.39 251.78 L 771.91 251.32 L 781 250.85 L 783.29 250.38 L 786.26 249.91 L 788.38 249.45 L 792.02 248.98 L 795.48 248.51 L 798.29 248.04 L 804.49 247.58 L 810.75 247.11 L 817.39 246.64 L 822.17 246.17 L 827.85 245.71 L 828.28 245.24 L 828.45 244.77 L 829.15 244.3 L 830.41 243.84 L 831.54 243.37 L 834.83 242.9 L 834.99 242.43 L 839.4 241.97 L 839.78 241.5 L 842.45 241.03 L 843.01 240.56 L 845.71 240.09 L 849.54 239.63 L 849.67 239.16 L 849.68 238.69 L 850.43 238.22 L 851.22 237.76 L 853.49 237.29 L 853.65 236.82 L 856.41 236.36 L 856.63 235.89 L 858.28 235.42 L 864.12 234.95 L 864.15 234.49 L 864.69 234.02 L 865.89 233.55 L 867.7 233.08 L 869.4 232.62 L 870.2 232.15 L 871.01 231.68 L 874.57 231.21 L 874.69 230.75 L 875.51 230.28 L 875.73 229.81 L 875.83 229.34 L 880.95 228.88 L 885.28 228.41 L 886.39 227.94 L 887.35 227.47 L 887.39 227 L 891.17 226.54 L 891.7 226.07 L 892.35 225.6 L 896.8 225.13 L 901.09 224.67 L 907.23 224.2 L 907.89 223.73 L 908.79 223.26 L 909.11 222.8 L 909.29 222.33 L 910.34 221.86 L 911.54 221.39 L 913.86 220.93 L 914.9 220.46 L 916.88 219.99 L 917.45 219.52 L 918.76 219.06 L 919.32 218.59 L 922.3 218.12 L 925.4 217.65 L 927.31 217.19 L 928.7 216.72 L 929.27 216.25 L 929.78 215.78 L 934.27 215.32 L 935.36 214.85 L 935.63 214.38 L 935.97 213.91 L 937.57 213.45 L 937.7 212.98 L 940.38 212.51 L 953.82 212.04 L 953.88 211.58 L 954.78 211.11 L 956.11 210.64 L 963.55 210.18 L 965.35 209.71 L 966.12 209.24 L 966.64 208.77 L 966.97 208.31 L 968.7 207.84 L 969.07 207.37 L 969.34 206.9 L 969.42 206.44 L 969.94 205.97 L 970.32 205.5 L 971.89 205.03 L 974.15 204.56 L 975.81 204.1 L 976.31 203.63 L 976.65 203.16 L 978.33 202.69 L 978.33 202.23 L 979.64 201.76 L 987.75 201.29 L 991.83 200.82 L 992.16 200.36 L 992.2 199.89 L 992.86 199.42 L 1003.02 198.96 L 1005.06 198.49 L 1007.36 198.02 L 1010.3 197.55 L 1010.69 197.09 L 1011.1 196.62 L 1012.5 196.15 L 1012.73 195.68 L 1013.25 195.22 L 1016.89 194.75 L 1017.94 194.28 L 1018.89 193.81 L 1020.11 193.35 L 1020.23 192.88 L 1020.82 192.41 L 1022.87 191.94 L 1023.15 191.48 L 1023.24 191.01 L 1023.28 190.54 L 1023.37 190.07 L 1023.78 189.61 L 1027.61 189.14 L 1028.14 188.67 L 1028.33 188.2 L 1028.91 187.74 L 1030.44 187.27 L 1031.93 186.8 L 1032.16 186.33 L 1032.84 185.87 L 1033.66 185.4 L 1034.06 184.93 L 1034.27 184.46 L 1035.11 184 L 1035.49 183.53 L 1037.57 183.06 L 1037.93 182.59 L 1037.93 182.13 L 1039.04 181.66 L 1040.31 181.19 L 1040.46 180.72 L 1042.86 180.25 L 1045.04 179.79 L 1045.14 179.32 L 1045.89 178.85 L 1047.05 178.38 L 1048.52 177.92 L 1050.02 177.45 L 1050.27 176.98 L 1053.63 176.51 L 1055.1 176.05 L 1055.96 175.58 L 1056.11 175.11 L 1056.4 174.64 L 1056.54 174.18 L 1058.57 173.71 L 1058.59 173.24 L 1059.91 172.77 L 1060.59 172.31 L 1063.29 171.84 L 1064.35 171.37 L 1064.75 170.9 L 1064.97 170.44 L 1069.64 169.97 L 1070.45 169.5 L 1070.76 169.03 L 1072.49 168.57 L 1076.21 168.1 L 1078.29 167.63 L 1078.34 167.16 L 1078.65 166.7 L 1078.78 166.23 L 1079.07 165.76 L 1079.93 165.29 L 1080.52 164.83 L 1081.55 164.36 L 1082.43 163.89 L 1084.66 163.43 L 1087.93 162.96 L 1088.22 162.49 L 1089.74 162.02 L 1090.09 161.56 L 1090.32 161.09 L 1091.1 160.62 L 1091.82 160.15 L 1092.29 159.69 L 1093.42 159.22 L 1093.55 158.75 L 1095.66 158.28 L 1097.06 157.81 L 1100.63 157.35 L 1101.01 156.88 L 1112.1 156.41 L 1112.15 155.94 L 1112.15 486 L 115.85 486 Z" fill="url(#star-history-fill-dark)" />
22
- <path d="M 115.85 485.53 L 116.29 485.06 L 116.62 484.6 L 116.86 484.13 L 116.89 483.66 L 117.56 483.19 L 117.89 482.73 L 118.08 482.26 L 118.09 481.79 L 118.9 481.32 L 121.46 480.86 L 121.48 480.39 L 121.49 479.92 L 121.75 479.45 L 121.84 478.99 L 121.9 478.52 L 121.92 478.05 L 122.03 477.58 L 122.13 477.12 L 122.14 476.65 L 122.2 476.18 L 122.28 475.71 L 122.37 475.25 L 122.61 474.78 L 122.84 474.31 L 122.95 473.85 L 123.11 473.38 L 123.25 472.91 L 123.29 472.44 L 123.36 471.98 L 123.53 471.51 L 123.54 471.04 L 123.71 470.57 L 123.77 470.11 L 123.87 469.64 L 123.96 469.17 L 124.04 468.7 L 124.09 468.24 L 124.1 467.77 L 124.1 467.3 L 124.11 466.83 L 124.11 466.37 L 124.18 465.9 L 124.18 465.43 L 124.23 464.96 L 124.28 464.5 L 124.51 464.03 L 124.69 463.56 L 124.78 463.09 L 125.47 462.63 L 125.5 462.16 L 126.49 461.69 L 126.55 461.22 L 126.56 460.75 L 126.66 460.29 L 126.72 459.82 L 126.93 459.35 L 127.32 458.88 L 127.53 458.42 L 127.53 457.95 L 127.57 457.48 L 127.83 457.01 L 128 456.55 L 128.24 456.08 L 128.28 455.61 L 128.7 455.14 L 129 454.68 L 129.21 454.21 L 129.45 453.74 L 129.67 453.27 L 129.91 452.81 L 129.97 452.34 L 130.12 451.87 L 130.13 451.4 L 130.29 450.94 L 130.54 450.47 L 131.86 450 L 131.88 449.53 L 132.34 449.07 L 132.46 448.6 L 132.5 448.13 L 132.51 447.67 L 132.56 447.2 L 132.81 446.73 L 132.95 446.26 L 132.98 445.8 L 132.99 445.33 L 133.04 444.86 L 133.18 444.39 L 133.26 443.93 L 133.28 443.46 L 133.4 442.99 L 133.45 442.52 L 133.45 442.06 L 133.64 441.59 L 133.89 441.12 L 133.92 440.65 L 134.13 440.19 L 134.23 439.72 L 134.47 439.25 L 134.84 438.78 L 134.86 438.31 L 134.93 437.85 L 135.08 437.38 L 135.14 436.91 L 135.5 436.44 L 136.81 435.98 L 136.87 435.51 L 137.1 435.04 L 137.41 434.57 L 137.6 434.11 L 137.83 433.64 L 139.54 433.17 L 140.15 432.7 L 140.38 432.24 L 140.96 431.77 L 142.88 431.3 L 142.9 430.83 L 143.15 430.37 L 143.17 429.9 L 143.44 429.43 L 143.72 428.97 L 143.96 428.5 L 144.01 428.03 L 144.22 427.56 L 144.44 427.1 L 144.73 426.63 L 144.86 426.16 L 145.24 425.69 L 149.6 425.23 L 150.92 424.76 L 151.07 424.29 L 151.16 423.82 L 153.18 423.36 L 153.21 422.89 L 153.93 422.42 L 157.75 421.95 L 159.84 421.49 L 160.2 421.02 L 161 420.55 L 161.46 420.08 L 164.37 419.62 L 166.26 419.15 L 166.5 418.68 L 168.74 418.21 L 169.08 417.75 L 169.89 417.28 L 171.34 416.81 L 174.36 416.34 L 174.47 415.88 L 175.62 415.41 L 175.72 414.94 L 176.77 414.47 L 179.84 414 L 179.94 413.54 L 180.77 413.07 L 185.58 412.6 L 185.82 412.13 L 187.07 411.67 L 189.23 411.2 L 189.96 410.73 L 190.17 410.26 L 190.25 409.8 L 190.36 409.33 L 190.49 408.86 L 190.69 408.39 L 190.81 407.93 L 191.19 407.46 L 193.44 406.99 L 194.85 406.52 L 196.11 406.06 L 197.07 405.59 L 198 405.12 L 198.06 404.65 L 199.39 404.19 L 199.84 403.72 L 199.85 403.25 L 200.08 402.78 L 200.81 402.32 L 200.92 401.85 L 201.39 401.38 L 201.69 400.91 L 201.81 400.45 L 201.99 399.98 L 202.2 399.51 L 202.48 399.05 L 202.54 398.58 L 203.23 398.11 L 203.27 397.64 L 203.39 397.18 L 203.41 396.71 L 203.55 396.24 L 204.42 395.77 L 205.78 395.31 L 206.03 394.84 L 207 394.37 L 208.31 393.9 L 208.99 393.44 L 209.11 392.97 L 209.62 392.5 L 211.25 392.03 L 211.51 391.56 L 211.79 391.1 L 212.75 390.63 L 213.79 390.16 L 213.92 389.69 L 215.12 389.23 L 215.14 388.76 L 216.83 388.29 L 218.18 387.82 L 221.98 387.36 L 222.18 386.89 L 222.83 386.42 L 225.36 385.95 L 226.59 385.49 L 226.74 385.02 L 227.1 384.55 L 227.61 384.08 L 227.62 383.62 L 227.74 383.15 L 227.88 382.68 L 228.24 382.21 L 229.19 381.75 L 229.36 381.28 L 229.5 380.81 L 229.83 380.35 L 230.42 379.88 L 231.49 379.41 L 231.97 378.94 L 232.5 378.48 L 232.95 378.01 L 233.63 377.54 L 234.03 377.07 L 234.76 376.61 L 235.26 376.14 L 236.79 375.67 L 237.17 375.2 L 237.45 374.74 L 238.34 374.27 L 239.05 373.8 L 239.17 373.33 L 240.67 372.87 L 240.89 372.4 L 241.74 371.93 L 242.48 371.46 L 242.54 371 L 243.74 370.53 L 243.8 370.06 L 248.42 369.59 L 248.57 369.13 L 249.27 368.66 L 249.28 368.19 L 249.55 367.72 L 250.12 367.25 L 250.14 366.79 L 250.76 366.32 L 250.76 365.85 L 253.61 365.38 L 255.26 364.92 L 256.02 364.45 L 256.38 363.98 L 258.66 363.51 L 260.13 363.05 L 261.37 362.58 L 263.87 362.11 L 264.92 361.64 L 264.95 361.18 L 265.18 360.71 L 265.99 360.24 L 266.02 359.77 L 266.05 359.31 L 269.71 358.84 L 270.08 358.37 L 271.06 357.9 L 271.22 357.44 L 271.76 356.97 L 274.13 356.5 L 281.93 356.03 L 281.93 355.57 L 281.93 355.1 L 281.94 354.63 L 281.94 354.17 L 286.03 353.7 L 287.21 353.23 L 287.84 352.76 L 291.57 352.3 L 291.93 351.83 L 292.22 351.36 L 293.78 350.89 L 295.19 350.43 L 297.07 349.96 L 298.22 349.49 L 299.36 349.02 L 304.2 348.56 L 306.98 348.09 L 307.25 347.62 L 307.59 347.15 L 311.02 346.69 L 316.86 346.22 L 319.19 345.75 L 321.68 345.28 L 322.93 344.81 L 323 344.35 L 323.68 343.88 L 323.81 343.41 L 330.48 342.94 L 332.83 342.48 L 334.32 342.01 L 334.41 341.54 L 336.17 341.07 L 336.35 340.61 L 338.2 340.14 L 344.33 339.67 L 346.74 339.2 L 348.17 338.74 L 350.16 338.27 L 361.45 337.8 L 361.71 337.33 L 371.26 336.87 L 371.44 336.4 L 375.06 335.93 L 376.41 335.47 L 377.21 335 L 378.55 334.53 L 379.86 334.06 L 382.06 333.6 L 384.47 333.13 L 384.56 332.66 L 389.31 332.19 L 389.59 331.73 L 390.18 331.26 L 391.95 330.79 L 392.41 330.32 L 397.61 329.86 L 398.32 329.39 L 398.42 328.92 L 403.09 328.45 L 403.22 327.99 L 404.79 327.52 L 407.83 327.05 L 407.95 326.58 L 411.95 326.12 L 412.31 325.65 L 412.88 325.18 L 419.1 324.71 L 419.2 324.25 L 419.59 323.78 L 422.72 323.31 L 423.02 322.84 L 432.39 322.38 L 434.3 321.91 L 434.97 321.44 L 434.98 320.97 L 436.69 320.5 L 437.71 320.04 L 440.04 319.57 L 440.16 319.1 L 440.42 318.63 L 441.1 318.17 L 443.62 317.7 L 448.04 317.23 L 450.63 316.76 L 454.4 316.3 L 454.77 315.83 L 454.83 315.36 L 454.83 314.89 L 454.85 314.43 L 466.31 313.96 L 467.42 313.49 L 468.32 313.02 L 470.38 312.56 L 471.84 312.09 L 476.99 311.62 L 478.64 311.15 L 490.17 310.69 L 496.82 310.22 L 496.96 309.75 L 497.37 309.28 L 497.43 308.82 L 498.18 308.35 L 498.4 307.88 L 503 307.42 L 503.97 306.95 L 507.45 306.48 L 513.27 306.01 L 514.32 305.55 L 517.16 305.08 L 519.89 304.61 L 521.03 304.14 L 526.45 303.68 L 528.78 303.21 L 530.08 302.74 L 531.89 302.27 L 532.16 301.81 L 538.74 301.34 L 541.23 300.87 L 543.37 300.4 L 548.18 299.94 L 550.18 299.47 L 555.15 299 L 566.01 298.53 L 569.24 298.07 L 570.31 297.6 L 570.37 297.13 L 570.7 296.66 L 571.58 296.2 L 573.32 295.73 L 573.36 295.26 L 576.73 294.79 L 577.38 294.33 L 603.02 293.86 L 604.38 293.39 L 607.43 292.92 L 607.49 292.46 L 613.04 291.99 L 614.82 291.52 L 616.23 291.05 L 616.47 290.59 L 620.56 290.12 L 628.05 289.65 L 630.45 289.18 L 634.59 288.72 L 634.59 288.25 L 634.59 287.78 L 634.6 287.31 L 634.6 286.85 L 634.6 286.38 L 634.6 285.91 L 634.6 285.44 L 634.6 284.98 L 634.6 284.51 L 634.6 284.04 L 634.6 283.57 L 634.6 283.11 L 634.6 282.64 L 634.6 282.17 L 634.6 281.7 L 634.6 281.24 L 634.6 280.77 L 634.6 280.3 L 634.6 279.83 L 634.6 279.37 L 634.6 278.9 L 634.6 278.43 L 634.6 277.96 L 634.6 277.5 L 634.6 277.03 L 634.6 276.56 L 634.6 276.09 L 634.6 275.63 L 634.6 275.16 L 634.6 274.69 L 634.6 274.22 L 634.6 273.75 L 634.6 273.29 L 634.6 272.82 L 634.6 272.35 L 634.6 271.88 L 634.61 271.42 L 634.94 270.95 L 638.43 270.48 L 639.16 270.01 L 649.89 269.55 L 651.2 269.08 L 655.47 268.61 L 658.7 268.14 L 660.18 267.68 L 661.7 267.21 L 664.37 266.74 L 665.68 266.27 L 668.44 265.81 L 670.18 265.34 L 672.78 264.87 L 676.81 264.4 L 681.38 263.94 L 684.9 263.47 L 685.02 263 L 686.05 262.53 L 687.9 262.07 L 691.11 261.6 L 691.53 261.13 L 691.71 260.66 L 693.38 260.2 L 694.9 259.73 L 696.2 259.26 L 697.32 258.79 L 702.95 258.33 L 705.79 257.86 L 712.84 257.39 L 713.51 256.92 L 713.64 256.46 L 717.81 255.99 L 724.39 255.52 L 735.48 255.05 L 736 254.59 L 739.97 254.12 L 740.08 253.65 L 750.59 253.18 L 760.84 252.72 L 761.02 252.25 L 770.39 251.78 L 771.91 251.32 L 781 250.85 L 783.29 250.38 L 786.26 249.91 L 788.38 249.45 L 792.02 248.98 L 795.48 248.51 L 798.29 248.04 L 804.49 247.58 L 810.75 247.11 L 817.39 246.64 L 822.17 246.17 L 827.85 245.71 L 828.28 245.24 L 828.45 244.77 L 829.15 244.3 L 830.41 243.84 L 831.54 243.37 L 834.83 242.9 L 834.99 242.43 L 839.4 241.97 L 839.78 241.5 L 842.45 241.03 L 843.01 240.56 L 845.71 240.09 L 849.54 239.63 L 849.67 239.16 L 849.68 238.69 L 850.43 238.22 L 851.22 237.76 L 853.49 237.29 L 853.65 236.82 L 856.41 236.36 L 856.63 235.89 L 858.28 235.42 L 864.12 234.95 L 864.15 234.49 L 864.69 234.02 L 865.89 233.55 L 867.7 233.08 L 869.4 232.62 L 870.2 232.15 L 871.01 231.68 L 874.57 231.21 L 874.69 230.75 L 875.51 230.28 L 875.73 229.81 L 875.83 229.34 L 880.95 228.88 L 885.28 228.41 L 886.39 227.94 L 887.35 227.47 L 887.39 227 L 891.17 226.54 L 891.7 226.07 L 892.35 225.6 L 896.8 225.13 L 901.09 224.67 L 907.23 224.2 L 907.89 223.73 L 908.79 223.26 L 909.11 222.8 L 909.29 222.33 L 910.34 221.86 L 911.54 221.39 L 913.86 220.93 L 914.9 220.46 L 916.88 219.99 L 917.45 219.52 L 918.76 219.06 L 919.32 218.59 L 922.3 218.12 L 925.4 217.65 L 927.31 217.19 L 928.7 216.72 L 929.27 216.25 L 929.78 215.78 L 934.27 215.32 L 935.36 214.85 L 935.63 214.38 L 935.97 213.91 L 937.57 213.45 L 937.7 212.98 L 940.38 212.51 L 953.82 212.04 L 953.88 211.58 L 954.78 211.11 L 956.11 210.64 L 963.55 210.18 L 965.35 209.71 L 966.12 209.24 L 966.64 208.77 L 966.97 208.31 L 968.7 207.84 L 969.07 207.37 L 969.34 206.9 L 969.42 206.44 L 969.94 205.97 L 970.32 205.5 L 971.89 205.03 L 974.15 204.56 L 975.81 204.1 L 976.31 203.63 L 976.65 203.16 L 978.33 202.69 L 978.33 202.23 L 979.64 201.76 L 987.75 201.29 L 991.83 200.82 L 992.16 200.36 L 992.2 199.89 L 992.86 199.42 L 1003.02 198.96 L 1005.06 198.49 L 1007.36 198.02 L 1010.3 197.55 L 1010.69 197.09 L 1011.1 196.62 L 1012.5 196.15 L 1012.73 195.68 L 1013.25 195.22 L 1016.89 194.75 L 1017.94 194.28 L 1018.89 193.81 L 1020.11 193.35 L 1020.23 192.88 L 1020.82 192.41 L 1022.87 191.94 L 1023.15 191.48 L 1023.24 191.01 L 1023.28 190.54 L 1023.37 190.07 L 1023.78 189.61 L 1027.61 189.14 L 1028.14 188.67 L 1028.33 188.2 L 1028.91 187.74 L 1030.44 187.27 L 1031.93 186.8 L 1032.16 186.33 L 1032.84 185.87 L 1033.66 185.4 L 1034.06 184.93 L 1034.27 184.46 L 1035.11 184 L 1035.49 183.53 L 1037.57 183.06 L 1037.93 182.59 L 1037.93 182.13 L 1039.04 181.66 L 1040.31 181.19 L 1040.46 180.72 L 1042.86 180.25 L 1045.04 179.79 L 1045.14 179.32 L 1045.89 178.85 L 1047.05 178.38 L 1048.52 177.92 L 1050.02 177.45 L 1050.27 176.98 L 1053.63 176.51 L 1055.1 176.05 L 1055.96 175.58 L 1056.11 175.11 L 1056.4 174.64 L 1056.54 174.18 L 1058.57 173.71 L 1058.59 173.24 L 1059.91 172.77 L 1060.59 172.31 L 1063.29 171.84 L 1064.35 171.37 L 1064.75 170.9 L 1064.97 170.44 L 1069.64 169.97 L 1070.45 169.5 L 1070.76 169.03 L 1072.49 168.57 L 1076.21 168.1 L 1078.29 167.63 L 1078.34 167.16 L 1078.65 166.7 L 1078.78 166.23 L 1079.07 165.76 L 1079.93 165.29 L 1080.52 164.83 L 1081.55 164.36 L 1082.43 163.89 L 1084.66 163.43 L 1087.93 162.96 L 1088.22 162.49 L 1089.74 162.02 L 1090.09 161.56 L 1090.32 161.09 L 1091.1 160.62 L 1091.82 160.15 L 1092.29 159.69 L 1093.42 159.22 L 1093.55 158.75 L 1095.66 158.28 L 1097.06 157.81 L 1100.63 157.35 L 1101.01 156.88 L 1112.1 156.41 L 1112.15 155.94" fill="none" stroke="#3dd6ae" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" />
23
- <circle cx="1112.15" cy="155.94" r="6" fill="#3dd6ae" stroke="#0d1117" stroke-width="3" />
24
- <text x="76" y="530" text-anchor="middle" fill="#9ba8b7" font-size="14">Feb 2026</text>
25
- <text x="345" y="530" text-anchor="middle" fill="#9ba8b7" font-size="14">Apr 2026</text>
26
- <text x="614" y="530" text-anchor="middle" fill="#9ba8b7" font-size="14">May 2026</text>
27
- <text x="883" y="530" text-anchor="middle" fill="#9ba8b7" font-size="14">Jul 2026</text>
28
- <text x="1152" y="530" text-anchor="middle" fill="#9ba8b7" font-size="14">Sep 2026</text>
29
- </g>
30
- </svg>
@@ -1,30 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg xmlns="http://www.w3.org/2000/svg" width="1200" height="560" viewBox="0 0 1200 560" role="img" aria-labelledby="title description">
3
- <title id="title">AVIDS2/memorix Star History</title>
4
- <desc id="description">Cumulative GitHub stars for AVIDS2/memorix, generated from GitHub stargazer events.</desc>
5
- <defs>
6
- <linearGradient id="star-history-fill-light" x1="0" x2="0" y1="0" y2="1">
7
- <stop offset="0%" stop-color="#147d64" stop-opacity="0.35" />
8
- <stop offset="100%" stop-color="#147d64" stop-opacity="0" />
9
- </linearGradient>
10
- </defs>
11
- <rect width="1200" height="560" rx="10" fill="#ffffff" />
12
- <text x="76" y="48" fill="#182230" font-size="28" font-weight="700" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif">Star History</text>
13
- <text x="76" y="78" fill="#65758b" font-size="16" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif">AVIDS2/memorix</text>
14
- <text x="1152" y="56" text-anchor="end" fill="#0d5f4f" font-size="24" font-weight="700" font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif">706 stars</text>
15
- <g font-family="-apple-system, BlinkMacSystemFont, Segoe UI, sans-serif">
16
- <line x1="76" y1="486" x2="1152" y2="486" stroke="#d9e1ea" stroke-width="1" stroke-dasharray="5 6" /><text x="62" y="490" text-anchor="end" fill="#65758b" font-size="14">0</text>
17
- <line x1="76" y1="392.5" x2="1152" y2="392.5" stroke="#d9e1ea" stroke-width="1" stroke-dasharray="5 6" /><text x="62" y="396.5" text-anchor="end" fill="#65758b" font-size="14">200</text>
18
- <line x1="76" y1="299" x2="1152" y2="299" stroke="#d9e1ea" stroke-width="1" stroke-dasharray="5 6" /><text x="62" y="303" text-anchor="end" fill="#65758b" font-size="14">400</text>
19
- <line x1="76" y1="205.5" x2="1152" y2="205.5" stroke="#d9e1ea" stroke-width="1" stroke-dasharray="5 6" /><text x="62" y="209.5" text-anchor="end" fill="#65758b" font-size="14">600</text>
20
- <line x1="76" y1="112" x2="1152" y2="112" stroke="#d9e1ea" stroke-width="1" stroke-dasharray="5 6" /><text x="62" y="116" text-anchor="end" fill="#65758b" font-size="14">800</text>
21
- <path d="M 115.85 485.53 L 116.29 485.06 L 116.62 484.6 L 116.86 484.13 L 116.89 483.66 L 117.56 483.19 L 117.89 482.73 L 118.08 482.26 L 118.09 481.79 L 118.9 481.32 L 121.46 480.86 L 121.48 480.39 L 121.49 479.92 L 121.75 479.45 L 121.84 478.99 L 121.9 478.52 L 121.92 478.05 L 122.03 477.58 L 122.13 477.12 L 122.14 476.65 L 122.2 476.18 L 122.28 475.71 L 122.37 475.25 L 122.61 474.78 L 122.84 474.31 L 122.95 473.85 L 123.11 473.38 L 123.25 472.91 L 123.29 472.44 L 123.36 471.98 L 123.53 471.51 L 123.54 471.04 L 123.71 470.57 L 123.77 470.11 L 123.87 469.64 L 123.96 469.17 L 124.04 468.7 L 124.09 468.24 L 124.1 467.77 L 124.1 467.3 L 124.11 466.83 L 124.11 466.37 L 124.18 465.9 L 124.18 465.43 L 124.23 464.96 L 124.28 464.5 L 124.51 464.03 L 124.69 463.56 L 124.78 463.09 L 125.47 462.63 L 125.5 462.16 L 126.49 461.69 L 126.55 461.22 L 126.56 460.75 L 126.66 460.29 L 126.72 459.82 L 126.93 459.35 L 127.32 458.88 L 127.53 458.42 L 127.53 457.95 L 127.57 457.48 L 127.83 457.01 L 128 456.55 L 128.24 456.08 L 128.28 455.61 L 128.7 455.14 L 129 454.68 L 129.21 454.21 L 129.45 453.74 L 129.67 453.27 L 129.91 452.81 L 129.97 452.34 L 130.12 451.87 L 130.13 451.4 L 130.29 450.94 L 130.54 450.47 L 131.86 450 L 131.88 449.53 L 132.34 449.07 L 132.46 448.6 L 132.5 448.13 L 132.51 447.67 L 132.56 447.2 L 132.81 446.73 L 132.95 446.26 L 132.98 445.8 L 132.99 445.33 L 133.04 444.86 L 133.18 444.39 L 133.26 443.93 L 133.28 443.46 L 133.4 442.99 L 133.45 442.52 L 133.45 442.06 L 133.64 441.59 L 133.89 441.12 L 133.92 440.65 L 134.13 440.19 L 134.23 439.72 L 134.47 439.25 L 134.84 438.78 L 134.86 438.31 L 134.93 437.85 L 135.08 437.38 L 135.14 436.91 L 135.5 436.44 L 136.81 435.98 L 136.87 435.51 L 137.1 435.04 L 137.41 434.57 L 137.6 434.11 L 137.83 433.64 L 139.54 433.17 L 140.15 432.7 L 140.38 432.24 L 140.96 431.77 L 142.88 431.3 L 142.9 430.83 L 143.15 430.37 L 143.17 429.9 L 143.44 429.43 L 143.72 428.97 L 143.96 428.5 L 144.01 428.03 L 144.22 427.56 L 144.44 427.1 L 144.73 426.63 L 144.86 426.16 L 145.24 425.69 L 149.6 425.23 L 150.92 424.76 L 151.07 424.29 L 151.16 423.82 L 153.18 423.36 L 153.21 422.89 L 153.93 422.42 L 157.75 421.95 L 159.84 421.49 L 160.2 421.02 L 161 420.55 L 161.46 420.08 L 164.37 419.62 L 166.26 419.15 L 166.5 418.68 L 168.74 418.21 L 169.08 417.75 L 169.89 417.28 L 171.34 416.81 L 174.36 416.34 L 174.47 415.88 L 175.62 415.41 L 175.72 414.94 L 176.77 414.47 L 179.84 414 L 179.94 413.54 L 180.77 413.07 L 185.58 412.6 L 185.82 412.13 L 187.07 411.67 L 189.23 411.2 L 189.96 410.73 L 190.17 410.26 L 190.25 409.8 L 190.36 409.33 L 190.49 408.86 L 190.69 408.39 L 190.81 407.93 L 191.19 407.46 L 193.44 406.99 L 194.85 406.52 L 196.11 406.06 L 197.07 405.59 L 198 405.12 L 198.06 404.65 L 199.39 404.19 L 199.84 403.72 L 199.85 403.25 L 200.08 402.78 L 200.81 402.32 L 200.92 401.85 L 201.39 401.38 L 201.69 400.91 L 201.81 400.45 L 201.99 399.98 L 202.2 399.51 L 202.48 399.05 L 202.54 398.58 L 203.23 398.11 L 203.27 397.64 L 203.39 397.18 L 203.41 396.71 L 203.55 396.24 L 204.42 395.77 L 205.78 395.31 L 206.03 394.84 L 207 394.37 L 208.31 393.9 L 208.99 393.44 L 209.11 392.97 L 209.62 392.5 L 211.25 392.03 L 211.51 391.56 L 211.79 391.1 L 212.75 390.63 L 213.79 390.16 L 213.92 389.69 L 215.12 389.23 L 215.14 388.76 L 216.83 388.29 L 218.18 387.82 L 221.98 387.36 L 222.18 386.89 L 222.83 386.42 L 225.36 385.95 L 226.59 385.49 L 226.74 385.02 L 227.1 384.55 L 227.61 384.08 L 227.62 383.62 L 227.74 383.15 L 227.88 382.68 L 228.24 382.21 L 229.19 381.75 L 229.36 381.28 L 229.5 380.81 L 229.83 380.35 L 230.42 379.88 L 231.49 379.41 L 231.97 378.94 L 232.5 378.48 L 232.95 378.01 L 233.63 377.54 L 234.03 377.07 L 234.76 376.61 L 235.26 376.14 L 236.79 375.67 L 237.17 375.2 L 237.45 374.74 L 238.34 374.27 L 239.05 373.8 L 239.17 373.33 L 240.67 372.87 L 240.89 372.4 L 241.74 371.93 L 242.48 371.46 L 242.54 371 L 243.74 370.53 L 243.8 370.06 L 248.42 369.59 L 248.57 369.13 L 249.27 368.66 L 249.28 368.19 L 249.55 367.72 L 250.12 367.25 L 250.14 366.79 L 250.76 366.32 L 250.76 365.85 L 253.61 365.38 L 255.26 364.92 L 256.02 364.45 L 256.38 363.98 L 258.66 363.51 L 260.13 363.05 L 261.37 362.58 L 263.87 362.11 L 264.92 361.64 L 264.95 361.18 L 265.18 360.71 L 265.99 360.24 L 266.02 359.77 L 266.05 359.31 L 269.71 358.84 L 270.08 358.37 L 271.06 357.9 L 271.22 357.44 L 271.76 356.97 L 274.13 356.5 L 281.93 356.03 L 281.93 355.57 L 281.93 355.1 L 281.94 354.63 L 281.94 354.17 L 286.03 353.7 L 287.21 353.23 L 287.84 352.76 L 291.57 352.3 L 291.93 351.83 L 292.22 351.36 L 293.78 350.89 L 295.19 350.43 L 297.07 349.96 L 298.22 349.49 L 299.36 349.02 L 304.2 348.56 L 306.98 348.09 L 307.25 347.62 L 307.59 347.15 L 311.02 346.69 L 316.86 346.22 L 319.19 345.75 L 321.68 345.28 L 322.93 344.81 L 323 344.35 L 323.68 343.88 L 323.81 343.41 L 330.48 342.94 L 332.83 342.48 L 334.32 342.01 L 334.41 341.54 L 336.17 341.07 L 336.35 340.61 L 338.2 340.14 L 344.33 339.67 L 346.74 339.2 L 348.17 338.74 L 350.16 338.27 L 361.45 337.8 L 361.71 337.33 L 371.26 336.87 L 371.44 336.4 L 375.06 335.93 L 376.41 335.47 L 377.21 335 L 378.55 334.53 L 379.86 334.06 L 382.06 333.6 L 384.47 333.13 L 384.56 332.66 L 389.31 332.19 L 389.59 331.73 L 390.18 331.26 L 391.95 330.79 L 392.41 330.32 L 397.61 329.86 L 398.32 329.39 L 398.42 328.92 L 403.09 328.45 L 403.22 327.99 L 404.79 327.52 L 407.83 327.05 L 407.95 326.58 L 411.95 326.12 L 412.31 325.65 L 412.88 325.18 L 419.1 324.71 L 419.2 324.25 L 419.59 323.78 L 422.72 323.31 L 423.02 322.84 L 432.39 322.38 L 434.3 321.91 L 434.97 321.44 L 434.98 320.97 L 436.69 320.5 L 437.71 320.04 L 440.04 319.57 L 440.16 319.1 L 440.42 318.63 L 441.1 318.17 L 443.62 317.7 L 448.04 317.23 L 450.63 316.76 L 454.4 316.3 L 454.77 315.83 L 454.83 315.36 L 454.83 314.89 L 454.85 314.43 L 466.31 313.96 L 467.42 313.49 L 468.32 313.02 L 470.38 312.56 L 471.84 312.09 L 476.99 311.62 L 478.64 311.15 L 490.17 310.69 L 496.82 310.22 L 496.96 309.75 L 497.37 309.28 L 497.43 308.82 L 498.18 308.35 L 498.4 307.88 L 503 307.42 L 503.97 306.95 L 507.45 306.48 L 513.27 306.01 L 514.32 305.55 L 517.16 305.08 L 519.89 304.61 L 521.03 304.14 L 526.45 303.68 L 528.78 303.21 L 530.08 302.74 L 531.89 302.27 L 532.16 301.81 L 538.74 301.34 L 541.23 300.87 L 543.37 300.4 L 548.18 299.94 L 550.18 299.47 L 555.15 299 L 566.01 298.53 L 569.24 298.07 L 570.31 297.6 L 570.37 297.13 L 570.7 296.66 L 571.58 296.2 L 573.32 295.73 L 573.36 295.26 L 576.73 294.79 L 577.38 294.33 L 603.02 293.86 L 604.38 293.39 L 607.43 292.92 L 607.49 292.46 L 613.04 291.99 L 614.82 291.52 L 616.23 291.05 L 616.47 290.59 L 620.56 290.12 L 628.05 289.65 L 630.45 289.18 L 634.59 288.72 L 634.59 288.25 L 634.59 287.78 L 634.6 287.31 L 634.6 286.85 L 634.6 286.38 L 634.6 285.91 L 634.6 285.44 L 634.6 284.98 L 634.6 284.51 L 634.6 284.04 L 634.6 283.57 L 634.6 283.11 L 634.6 282.64 L 634.6 282.17 L 634.6 281.7 L 634.6 281.24 L 634.6 280.77 L 634.6 280.3 L 634.6 279.83 L 634.6 279.37 L 634.6 278.9 L 634.6 278.43 L 634.6 277.96 L 634.6 277.5 L 634.6 277.03 L 634.6 276.56 L 634.6 276.09 L 634.6 275.63 L 634.6 275.16 L 634.6 274.69 L 634.6 274.22 L 634.6 273.75 L 634.6 273.29 L 634.6 272.82 L 634.6 272.35 L 634.6 271.88 L 634.61 271.42 L 634.94 270.95 L 638.43 270.48 L 639.16 270.01 L 649.89 269.55 L 651.2 269.08 L 655.47 268.61 L 658.7 268.14 L 660.18 267.68 L 661.7 267.21 L 664.37 266.74 L 665.68 266.27 L 668.44 265.81 L 670.18 265.34 L 672.78 264.87 L 676.81 264.4 L 681.38 263.94 L 684.9 263.47 L 685.02 263 L 686.05 262.53 L 687.9 262.07 L 691.11 261.6 L 691.53 261.13 L 691.71 260.66 L 693.38 260.2 L 694.9 259.73 L 696.2 259.26 L 697.32 258.79 L 702.95 258.33 L 705.79 257.86 L 712.84 257.39 L 713.51 256.92 L 713.64 256.46 L 717.81 255.99 L 724.39 255.52 L 735.48 255.05 L 736 254.59 L 739.97 254.12 L 740.08 253.65 L 750.59 253.18 L 760.84 252.72 L 761.02 252.25 L 770.39 251.78 L 771.91 251.32 L 781 250.85 L 783.29 250.38 L 786.26 249.91 L 788.38 249.45 L 792.02 248.98 L 795.48 248.51 L 798.29 248.04 L 804.49 247.58 L 810.75 247.11 L 817.39 246.64 L 822.17 246.17 L 827.85 245.71 L 828.28 245.24 L 828.45 244.77 L 829.15 244.3 L 830.41 243.84 L 831.54 243.37 L 834.83 242.9 L 834.99 242.43 L 839.4 241.97 L 839.78 241.5 L 842.45 241.03 L 843.01 240.56 L 845.71 240.09 L 849.54 239.63 L 849.67 239.16 L 849.68 238.69 L 850.43 238.22 L 851.22 237.76 L 853.49 237.29 L 853.65 236.82 L 856.41 236.36 L 856.63 235.89 L 858.28 235.42 L 864.12 234.95 L 864.15 234.49 L 864.69 234.02 L 865.89 233.55 L 867.7 233.08 L 869.4 232.62 L 870.2 232.15 L 871.01 231.68 L 874.57 231.21 L 874.69 230.75 L 875.51 230.28 L 875.73 229.81 L 875.83 229.34 L 880.95 228.88 L 885.28 228.41 L 886.39 227.94 L 887.35 227.47 L 887.39 227 L 891.17 226.54 L 891.7 226.07 L 892.35 225.6 L 896.8 225.13 L 901.09 224.67 L 907.23 224.2 L 907.89 223.73 L 908.79 223.26 L 909.11 222.8 L 909.29 222.33 L 910.34 221.86 L 911.54 221.39 L 913.86 220.93 L 914.9 220.46 L 916.88 219.99 L 917.45 219.52 L 918.76 219.06 L 919.32 218.59 L 922.3 218.12 L 925.4 217.65 L 927.31 217.19 L 928.7 216.72 L 929.27 216.25 L 929.78 215.78 L 934.27 215.32 L 935.36 214.85 L 935.63 214.38 L 935.97 213.91 L 937.57 213.45 L 937.7 212.98 L 940.38 212.51 L 953.82 212.04 L 953.88 211.58 L 954.78 211.11 L 956.11 210.64 L 963.55 210.18 L 965.35 209.71 L 966.12 209.24 L 966.64 208.77 L 966.97 208.31 L 968.7 207.84 L 969.07 207.37 L 969.34 206.9 L 969.42 206.44 L 969.94 205.97 L 970.32 205.5 L 971.89 205.03 L 974.15 204.56 L 975.81 204.1 L 976.31 203.63 L 976.65 203.16 L 978.33 202.69 L 978.33 202.23 L 979.64 201.76 L 987.75 201.29 L 991.83 200.82 L 992.16 200.36 L 992.2 199.89 L 992.86 199.42 L 1003.02 198.96 L 1005.06 198.49 L 1007.36 198.02 L 1010.3 197.55 L 1010.69 197.09 L 1011.1 196.62 L 1012.5 196.15 L 1012.73 195.68 L 1013.25 195.22 L 1016.89 194.75 L 1017.94 194.28 L 1018.89 193.81 L 1020.11 193.35 L 1020.23 192.88 L 1020.82 192.41 L 1022.87 191.94 L 1023.15 191.48 L 1023.24 191.01 L 1023.28 190.54 L 1023.37 190.07 L 1023.78 189.61 L 1027.61 189.14 L 1028.14 188.67 L 1028.33 188.2 L 1028.91 187.74 L 1030.44 187.27 L 1031.93 186.8 L 1032.16 186.33 L 1032.84 185.87 L 1033.66 185.4 L 1034.06 184.93 L 1034.27 184.46 L 1035.11 184 L 1035.49 183.53 L 1037.57 183.06 L 1037.93 182.59 L 1037.93 182.13 L 1039.04 181.66 L 1040.31 181.19 L 1040.46 180.72 L 1042.86 180.25 L 1045.04 179.79 L 1045.14 179.32 L 1045.89 178.85 L 1047.05 178.38 L 1048.52 177.92 L 1050.02 177.45 L 1050.27 176.98 L 1053.63 176.51 L 1055.1 176.05 L 1055.96 175.58 L 1056.11 175.11 L 1056.4 174.64 L 1056.54 174.18 L 1058.57 173.71 L 1058.59 173.24 L 1059.91 172.77 L 1060.59 172.31 L 1063.29 171.84 L 1064.35 171.37 L 1064.75 170.9 L 1064.97 170.44 L 1069.64 169.97 L 1070.45 169.5 L 1070.76 169.03 L 1072.49 168.57 L 1076.21 168.1 L 1078.29 167.63 L 1078.34 167.16 L 1078.65 166.7 L 1078.78 166.23 L 1079.07 165.76 L 1079.93 165.29 L 1080.52 164.83 L 1081.55 164.36 L 1082.43 163.89 L 1084.66 163.43 L 1087.93 162.96 L 1088.22 162.49 L 1089.74 162.02 L 1090.09 161.56 L 1090.32 161.09 L 1091.1 160.62 L 1091.82 160.15 L 1092.29 159.69 L 1093.42 159.22 L 1093.55 158.75 L 1095.66 158.28 L 1097.06 157.81 L 1100.63 157.35 L 1101.01 156.88 L 1112.1 156.41 L 1112.15 155.94 L 1112.15 486 L 115.85 486 Z" fill="url(#star-history-fill-light)" />
22
- <path d="M 115.85 485.53 L 116.29 485.06 L 116.62 484.6 L 116.86 484.13 L 116.89 483.66 L 117.56 483.19 L 117.89 482.73 L 118.08 482.26 L 118.09 481.79 L 118.9 481.32 L 121.46 480.86 L 121.48 480.39 L 121.49 479.92 L 121.75 479.45 L 121.84 478.99 L 121.9 478.52 L 121.92 478.05 L 122.03 477.58 L 122.13 477.12 L 122.14 476.65 L 122.2 476.18 L 122.28 475.71 L 122.37 475.25 L 122.61 474.78 L 122.84 474.31 L 122.95 473.85 L 123.11 473.38 L 123.25 472.91 L 123.29 472.44 L 123.36 471.98 L 123.53 471.51 L 123.54 471.04 L 123.71 470.57 L 123.77 470.11 L 123.87 469.64 L 123.96 469.17 L 124.04 468.7 L 124.09 468.24 L 124.1 467.77 L 124.1 467.3 L 124.11 466.83 L 124.11 466.37 L 124.18 465.9 L 124.18 465.43 L 124.23 464.96 L 124.28 464.5 L 124.51 464.03 L 124.69 463.56 L 124.78 463.09 L 125.47 462.63 L 125.5 462.16 L 126.49 461.69 L 126.55 461.22 L 126.56 460.75 L 126.66 460.29 L 126.72 459.82 L 126.93 459.35 L 127.32 458.88 L 127.53 458.42 L 127.53 457.95 L 127.57 457.48 L 127.83 457.01 L 128 456.55 L 128.24 456.08 L 128.28 455.61 L 128.7 455.14 L 129 454.68 L 129.21 454.21 L 129.45 453.74 L 129.67 453.27 L 129.91 452.81 L 129.97 452.34 L 130.12 451.87 L 130.13 451.4 L 130.29 450.94 L 130.54 450.47 L 131.86 450 L 131.88 449.53 L 132.34 449.07 L 132.46 448.6 L 132.5 448.13 L 132.51 447.67 L 132.56 447.2 L 132.81 446.73 L 132.95 446.26 L 132.98 445.8 L 132.99 445.33 L 133.04 444.86 L 133.18 444.39 L 133.26 443.93 L 133.28 443.46 L 133.4 442.99 L 133.45 442.52 L 133.45 442.06 L 133.64 441.59 L 133.89 441.12 L 133.92 440.65 L 134.13 440.19 L 134.23 439.72 L 134.47 439.25 L 134.84 438.78 L 134.86 438.31 L 134.93 437.85 L 135.08 437.38 L 135.14 436.91 L 135.5 436.44 L 136.81 435.98 L 136.87 435.51 L 137.1 435.04 L 137.41 434.57 L 137.6 434.11 L 137.83 433.64 L 139.54 433.17 L 140.15 432.7 L 140.38 432.24 L 140.96 431.77 L 142.88 431.3 L 142.9 430.83 L 143.15 430.37 L 143.17 429.9 L 143.44 429.43 L 143.72 428.97 L 143.96 428.5 L 144.01 428.03 L 144.22 427.56 L 144.44 427.1 L 144.73 426.63 L 144.86 426.16 L 145.24 425.69 L 149.6 425.23 L 150.92 424.76 L 151.07 424.29 L 151.16 423.82 L 153.18 423.36 L 153.21 422.89 L 153.93 422.42 L 157.75 421.95 L 159.84 421.49 L 160.2 421.02 L 161 420.55 L 161.46 420.08 L 164.37 419.62 L 166.26 419.15 L 166.5 418.68 L 168.74 418.21 L 169.08 417.75 L 169.89 417.28 L 171.34 416.81 L 174.36 416.34 L 174.47 415.88 L 175.62 415.41 L 175.72 414.94 L 176.77 414.47 L 179.84 414 L 179.94 413.54 L 180.77 413.07 L 185.58 412.6 L 185.82 412.13 L 187.07 411.67 L 189.23 411.2 L 189.96 410.73 L 190.17 410.26 L 190.25 409.8 L 190.36 409.33 L 190.49 408.86 L 190.69 408.39 L 190.81 407.93 L 191.19 407.46 L 193.44 406.99 L 194.85 406.52 L 196.11 406.06 L 197.07 405.59 L 198 405.12 L 198.06 404.65 L 199.39 404.19 L 199.84 403.72 L 199.85 403.25 L 200.08 402.78 L 200.81 402.32 L 200.92 401.85 L 201.39 401.38 L 201.69 400.91 L 201.81 400.45 L 201.99 399.98 L 202.2 399.51 L 202.48 399.05 L 202.54 398.58 L 203.23 398.11 L 203.27 397.64 L 203.39 397.18 L 203.41 396.71 L 203.55 396.24 L 204.42 395.77 L 205.78 395.31 L 206.03 394.84 L 207 394.37 L 208.31 393.9 L 208.99 393.44 L 209.11 392.97 L 209.62 392.5 L 211.25 392.03 L 211.51 391.56 L 211.79 391.1 L 212.75 390.63 L 213.79 390.16 L 213.92 389.69 L 215.12 389.23 L 215.14 388.76 L 216.83 388.29 L 218.18 387.82 L 221.98 387.36 L 222.18 386.89 L 222.83 386.42 L 225.36 385.95 L 226.59 385.49 L 226.74 385.02 L 227.1 384.55 L 227.61 384.08 L 227.62 383.62 L 227.74 383.15 L 227.88 382.68 L 228.24 382.21 L 229.19 381.75 L 229.36 381.28 L 229.5 380.81 L 229.83 380.35 L 230.42 379.88 L 231.49 379.41 L 231.97 378.94 L 232.5 378.48 L 232.95 378.01 L 233.63 377.54 L 234.03 377.07 L 234.76 376.61 L 235.26 376.14 L 236.79 375.67 L 237.17 375.2 L 237.45 374.74 L 238.34 374.27 L 239.05 373.8 L 239.17 373.33 L 240.67 372.87 L 240.89 372.4 L 241.74 371.93 L 242.48 371.46 L 242.54 371 L 243.74 370.53 L 243.8 370.06 L 248.42 369.59 L 248.57 369.13 L 249.27 368.66 L 249.28 368.19 L 249.55 367.72 L 250.12 367.25 L 250.14 366.79 L 250.76 366.32 L 250.76 365.85 L 253.61 365.38 L 255.26 364.92 L 256.02 364.45 L 256.38 363.98 L 258.66 363.51 L 260.13 363.05 L 261.37 362.58 L 263.87 362.11 L 264.92 361.64 L 264.95 361.18 L 265.18 360.71 L 265.99 360.24 L 266.02 359.77 L 266.05 359.31 L 269.71 358.84 L 270.08 358.37 L 271.06 357.9 L 271.22 357.44 L 271.76 356.97 L 274.13 356.5 L 281.93 356.03 L 281.93 355.57 L 281.93 355.1 L 281.94 354.63 L 281.94 354.17 L 286.03 353.7 L 287.21 353.23 L 287.84 352.76 L 291.57 352.3 L 291.93 351.83 L 292.22 351.36 L 293.78 350.89 L 295.19 350.43 L 297.07 349.96 L 298.22 349.49 L 299.36 349.02 L 304.2 348.56 L 306.98 348.09 L 307.25 347.62 L 307.59 347.15 L 311.02 346.69 L 316.86 346.22 L 319.19 345.75 L 321.68 345.28 L 322.93 344.81 L 323 344.35 L 323.68 343.88 L 323.81 343.41 L 330.48 342.94 L 332.83 342.48 L 334.32 342.01 L 334.41 341.54 L 336.17 341.07 L 336.35 340.61 L 338.2 340.14 L 344.33 339.67 L 346.74 339.2 L 348.17 338.74 L 350.16 338.27 L 361.45 337.8 L 361.71 337.33 L 371.26 336.87 L 371.44 336.4 L 375.06 335.93 L 376.41 335.47 L 377.21 335 L 378.55 334.53 L 379.86 334.06 L 382.06 333.6 L 384.47 333.13 L 384.56 332.66 L 389.31 332.19 L 389.59 331.73 L 390.18 331.26 L 391.95 330.79 L 392.41 330.32 L 397.61 329.86 L 398.32 329.39 L 398.42 328.92 L 403.09 328.45 L 403.22 327.99 L 404.79 327.52 L 407.83 327.05 L 407.95 326.58 L 411.95 326.12 L 412.31 325.65 L 412.88 325.18 L 419.1 324.71 L 419.2 324.25 L 419.59 323.78 L 422.72 323.31 L 423.02 322.84 L 432.39 322.38 L 434.3 321.91 L 434.97 321.44 L 434.98 320.97 L 436.69 320.5 L 437.71 320.04 L 440.04 319.57 L 440.16 319.1 L 440.42 318.63 L 441.1 318.17 L 443.62 317.7 L 448.04 317.23 L 450.63 316.76 L 454.4 316.3 L 454.77 315.83 L 454.83 315.36 L 454.83 314.89 L 454.85 314.43 L 466.31 313.96 L 467.42 313.49 L 468.32 313.02 L 470.38 312.56 L 471.84 312.09 L 476.99 311.62 L 478.64 311.15 L 490.17 310.69 L 496.82 310.22 L 496.96 309.75 L 497.37 309.28 L 497.43 308.82 L 498.18 308.35 L 498.4 307.88 L 503 307.42 L 503.97 306.95 L 507.45 306.48 L 513.27 306.01 L 514.32 305.55 L 517.16 305.08 L 519.89 304.61 L 521.03 304.14 L 526.45 303.68 L 528.78 303.21 L 530.08 302.74 L 531.89 302.27 L 532.16 301.81 L 538.74 301.34 L 541.23 300.87 L 543.37 300.4 L 548.18 299.94 L 550.18 299.47 L 555.15 299 L 566.01 298.53 L 569.24 298.07 L 570.31 297.6 L 570.37 297.13 L 570.7 296.66 L 571.58 296.2 L 573.32 295.73 L 573.36 295.26 L 576.73 294.79 L 577.38 294.33 L 603.02 293.86 L 604.38 293.39 L 607.43 292.92 L 607.49 292.46 L 613.04 291.99 L 614.82 291.52 L 616.23 291.05 L 616.47 290.59 L 620.56 290.12 L 628.05 289.65 L 630.45 289.18 L 634.59 288.72 L 634.59 288.25 L 634.59 287.78 L 634.6 287.31 L 634.6 286.85 L 634.6 286.38 L 634.6 285.91 L 634.6 285.44 L 634.6 284.98 L 634.6 284.51 L 634.6 284.04 L 634.6 283.57 L 634.6 283.11 L 634.6 282.64 L 634.6 282.17 L 634.6 281.7 L 634.6 281.24 L 634.6 280.77 L 634.6 280.3 L 634.6 279.83 L 634.6 279.37 L 634.6 278.9 L 634.6 278.43 L 634.6 277.96 L 634.6 277.5 L 634.6 277.03 L 634.6 276.56 L 634.6 276.09 L 634.6 275.63 L 634.6 275.16 L 634.6 274.69 L 634.6 274.22 L 634.6 273.75 L 634.6 273.29 L 634.6 272.82 L 634.6 272.35 L 634.6 271.88 L 634.61 271.42 L 634.94 270.95 L 638.43 270.48 L 639.16 270.01 L 649.89 269.55 L 651.2 269.08 L 655.47 268.61 L 658.7 268.14 L 660.18 267.68 L 661.7 267.21 L 664.37 266.74 L 665.68 266.27 L 668.44 265.81 L 670.18 265.34 L 672.78 264.87 L 676.81 264.4 L 681.38 263.94 L 684.9 263.47 L 685.02 263 L 686.05 262.53 L 687.9 262.07 L 691.11 261.6 L 691.53 261.13 L 691.71 260.66 L 693.38 260.2 L 694.9 259.73 L 696.2 259.26 L 697.32 258.79 L 702.95 258.33 L 705.79 257.86 L 712.84 257.39 L 713.51 256.92 L 713.64 256.46 L 717.81 255.99 L 724.39 255.52 L 735.48 255.05 L 736 254.59 L 739.97 254.12 L 740.08 253.65 L 750.59 253.18 L 760.84 252.72 L 761.02 252.25 L 770.39 251.78 L 771.91 251.32 L 781 250.85 L 783.29 250.38 L 786.26 249.91 L 788.38 249.45 L 792.02 248.98 L 795.48 248.51 L 798.29 248.04 L 804.49 247.58 L 810.75 247.11 L 817.39 246.64 L 822.17 246.17 L 827.85 245.71 L 828.28 245.24 L 828.45 244.77 L 829.15 244.3 L 830.41 243.84 L 831.54 243.37 L 834.83 242.9 L 834.99 242.43 L 839.4 241.97 L 839.78 241.5 L 842.45 241.03 L 843.01 240.56 L 845.71 240.09 L 849.54 239.63 L 849.67 239.16 L 849.68 238.69 L 850.43 238.22 L 851.22 237.76 L 853.49 237.29 L 853.65 236.82 L 856.41 236.36 L 856.63 235.89 L 858.28 235.42 L 864.12 234.95 L 864.15 234.49 L 864.69 234.02 L 865.89 233.55 L 867.7 233.08 L 869.4 232.62 L 870.2 232.15 L 871.01 231.68 L 874.57 231.21 L 874.69 230.75 L 875.51 230.28 L 875.73 229.81 L 875.83 229.34 L 880.95 228.88 L 885.28 228.41 L 886.39 227.94 L 887.35 227.47 L 887.39 227 L 891.17 226.54 L 891.7 226.07 L 892.35 225.6 L 896.8 225.13 L 901.09 224.67 L 907.23 224.2 L 907.89 223.73 L 908.79 223.26 L 909.11 222.8 L 909.29 222.33 L 910.34 221.86 L 911.54 221.39 L 913.86 220.93 L 914.9 220.46 L 916.88 219.99 L 917.45 219.52 L 918.76 219.06 L 919.32 218.59 L 922.3 218.12 L 925.4 217.65 L 927.31 217.19 L 928.7 216.72 L 929.27 216.25 L 929.78 215.78 L 934.27 215.32 L 935.36 214.85 L 935.63 214.38 L 935.97 213.91 L 937.57 213.45 L 937.7 212.98 L 940.38 212.51 L 953.82 212.04 L 953.88 211.58 L 954.78 211.11 L 956.11 210.64 L 963.55 210.18 L 965.35 209.71 L 966.12 209.24 L 966.64 208.77 L 966.97 208.31 L 968.7 207.84 L 969.07 207.37 L 969.34 206.9 L 969.42 206.44 L 969.94 205.97 L 970.32 205.5 L 971.89 205.03 L 974.15 204.56 L 975.81 204.1 L 976.31 203.63 L 976.65 203.16 L 978.33 202.69 L 978.33 202.23 L 979.64 201.76 L 987.75 201.29 L 991.83 200.82 L 992.16 200.36 L 992.2 199.89 L 992.86 199.42 L 1003.02 198.96 L 1005.06 198.49 L 1007.36 198.02 L 1010.3 197.55 L 1010.69 197.09 L 1011.1 196.62 L 1012.5 196.15 L 1012.73 195.68 L 1013.25 195.22 L 1016.89 194.75 L 1017.94 194.28 L 1018.89 193.81 L 1020.11 193.35 L 1020.23 192.88 L 1020.82 192.41 L 1022.87 191.94 L 1023.15 191.48 L 1023.24 191.01 L 1023.28 190.54 L 1023.37 190.07 L 1023.78 189.61 L 1027.61 189.14 L 1028.14 188.67 L 1028.33 188.2 L 1028.91 187.74 L 1030.44 187.27 L 1031.93 186.8 L 1032.16 186.33 L 1032.84 185.87 L 1033.66 185.4 L 1034.06 184.93 L 1034.27 184.46 L 1035.11 184 L 1035.49 183.53 L 1037.57 183.06 L 1037.93 182.59 L 1037.93 182.13 L 1039.04 181.66 L 1040.31 181.19 L 1040.46 180.72 L 1042.86 180.25 L 1045.04 179.79 L 1045.14 179.32 L 1045.89 178.85 L 1047.05 178.38 L 1048.52 177.92 L 1050.02 177.45 L 1050.27 176.98 L 1053.63 176.51 L 1055.1 176.05 L 1055.96 175.58 L 1056.11 175.11 L 1056.4 174.64 L 1056.54 174.18 L 1058.57 173.71 L 1058.59 173.24 L 1059.91 172.77 L 1060.59 172.31 L 1063.29 171.84 L 1064.35 171.37 L 1064.75 170.9 L 1064.97 170.44 L 1069.64 169.97 L 1070.45 169.5 L 1070.76 169.03 L 1072.49 168.57 L 1076.21 168.1 L 1078.29 167.63 L 1078.34 167.16 L 1078.65 166.7 L 1078.78 166.23 L 1079.07 165.76 L 1079.93 165.29 L 1080.52 164.83 L 1081.55 164.36 L 1082.43 163.89 L 1084.66 163.43 L 1087.93 162.96 L 1088.22 162.49 L 1089.74 162.02 L 1090.09 161.56 L 1090.32 161.09 L 1091.1 160.62 L 1091.82 160.15 L 1092.29 159.69 L 1093.42 159.22 L 1093.55 158.75 L 1095.66 158.28 L 1097.06 157.81 L 1100.63 157.35 L 1101.01 156.88 L 1112.1 156.41 L 1112.15 155.94" fill="none" stroke="#147d64" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" />
23
- <circle cx="1112.15" cy="155.94" r="6" fill="#147d64" stroke="#ffffff" stroke-width="3" />
24
- <text x="76" y="530" text-anchor="middle" fill="#65758b" font-size="14">Feb 2026</text>
25
- <text x="345" y="530" text-anchor="middle" fill="#65758b" font-size="14">Apr 2026</text>
26
- <text x="614" y="530" text-anchor="middle" fill="#65758b" font-size="14">May 2026</text>
27
- <text x="883" y="530" text-anchor="middle" fill="#65758b" font-size="14">Jul 2026</text>
28
- <text x="1152" y="530" text-anchor="middle" fill="#65758b" font-size="14">Sep 2026</text>
29
- </g>
30
- </svg>