@kernhq/module-hr 0.15.0 → 0.16.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,QAAQ;;;;iCA4JnB,CAAA;AAkBF,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAqEA,eAAO,MAAM,QAAQ;;;;iCA6JnB,CAAA;AAkBF,eAAe,QAAQ,CAAA"}
@@ -7,6 +7,56 @@ import { hrJobs } from './jobs.js';
7
7
  import { COUNTRY_PACKS, packDays } from './packs/index.js';
8
8
  import { implement_ } from './router.js';
9
9
  import { calendarDays, calendars, offices, people, schema } from './schema.js';
10
+ /**
11
+ * What HR will interrupt somebody about.
12
+ *
13
+ * All four are approvals, and all four are already sent — three by `ApprovalService.deliverNotices`
14
+ * from the timeout sweep, and `requested` by the router when a request is raised. A type declared
15
+ * here and never sent is the same lie as a permission nothing checks, and the reverse costs a
16
+ * reader something concrete: until this existed, every one of these was delivered on core's
17
+ * defaults and could not be muted per type, so somebody who wanted the deadline reminders and not
18
+ * the "you have been auto-approved" card had to switch off HR entirely.
19
+ *
20
+ * `hr.approval.requested` is `urgent` and reaches email; the other three are not. The test is
21
+ * whether it names something the reader has to *do*: a request waiting on your signature does,
22
+ * while a reminder about that same request is the system's second attempt at the first card — it
23
+ * collapses onto it through `groupKey`, so treating it as urgent would ring a second bell for one
24
+ * piece of work. `auto_approved` is a fact you may want to know and never a thing to act on.
25
+ *
26
+ * The keys are the ones already on the wire — `ApprovalNotice['type']` and the router's own call —
27
+ * and they are also the keys a person's preferences are stored under, so renaming one silently
28
+ * resets everybody who had switched it off.
29
+ */
30
+ const hrNotificationTypes = [
31
+ {
32
+ type: 'hr.approval.requested',
33
+ label: 'Your approval is requested',
34
+ description: 'Somebody filed leave or a timesheet correction that is waiting on your signature.',
35
+ defaults: { inapp: true, push: true, email: true },
36
+ urgent: true,
37
+ },
38
+ {
39
+ type: 'hr.approval.reminder',
40
+ label: 'An approval is past its deadline',
41
+ description: 'A request you have to sign off has passed the deadline its chain sets.',
42
+ defaults: { inapp: true, push: true, email: false },
43
+ urgent: false,
44
+ },
45
+ {
46
+ type: 'hr.approval.escalated',
47
+ label: 'An approval was escalated',
48
+ description: 'A deadline passed and the request was widened to whoever is above its approvers.',
49
+ defaults: { inapp: true, push: true, email: false },
50
+ urgent: false,
51
+ },
52
+ {
53
+ type: 'hr.approval.auto_approved',
54
+ label: 'An approval was granted by its deadline',
55
+ description: 'Nobody decided in time and the chain says a timeout approves.',
56
+ defaults: { inapp: true, push: false, email: false },
57
+ urgent: false,
58
+ },
59
+ ];
10
60
  export const hrModule = defineServerModule({
11
61
  definition: defineModule({
12
62
  id: MODULE_ID,
@@ -17,6 +67,7 @@ export const hrModule = defineServerModule({
17
67
  permissions: hrPermissions,
18
68
  capabilities: hrCapabilities,
19
69
  events: hrEvents,
70
+ notificationTypes: hrNotificationTypes,
20
71
  settings: HrSettings,
21
72
  objectTypes: [
22
73
  { type: 'person', label: 'Person', icon: 'user', channelable: false },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/server/jobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,gBAAgB,CAAA;AA+BxD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,MAAM,IAAI,MAAM,EAAE,CAwrBjC"}
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/server/jobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,gBAAgB,CAAA;AAkCxD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,MAAM,IAAI,MAAM,EAAE,CA4tBjC"}
@@ -3,6 +3,9 @@ import { alias } from 'drizzle-orm/pg-core';
3
3
  import { hrEvents, MODULE_ID } from '../contract/index.js';
4
4
  import { accrueForPeriod, carryExpiryDate, carryForward, carryHasLapsed } from '../policy/accrual.js';
5
5
  import { daysInMonth } from '../policy/calendar.js';
6
+ // The appliers, not the router: `hrSubjects` is a module-level factory in `router.ts` precisely so
7
+ // a job can reach what used to live inside `implement_`'s closure. Nothing here builds a router.
8
+ import { hrSubjects } from './router.js';
6
9
  import { attendanceDays, employments, leaveLedger, leaveTypes, offices, people, punches, schedules, } from './schema.js';
7
10
  import { ApprovalService } from './services/approvals.js';
8
11
  import { AttendanceService } from './services/attendance.js';
@@ -516,6 +519,10 @@ export function hrJobs() {
516
519
  * none, which is the worst kind of setting — one an administrator saves, believes, and tells
517
520
  * their staff about. `ApprovalService.sweepTimeouts` is what answers it.
518
521
  *
522
+ * It **completes** a request rather than only advancing one, which for a while it could not:
523
+ * the engine is handed the same appliers the router uses, so an auto-approved last step books
524
+ * the leave it granted in the same transaction as the decision.
525
+ *
519
526
  * Hourly, and **not** fanned out per office: an SLA is an elapsed duration, so its boundary
520
527
  * is the same instant everywhere. At :45 rather than on the hour, so it is not queued behind
521
528
  * the two calendar jobs and `auto-clock-out` on a small instance.
@@ -529,15 +536,45 @@ export function hrJobs() {
529
536
  name: 'approval-timeouts',
530
537
  cron: '45 * * * *',
531
538
  handler: async (_input, { kernel }) => {
532
- // No appliers, and that is the honest state of it: turning an approved request into booked
533
- // leave lives in the router's closure (`applyApproval`, `applyRegularization`) where a job
534
- // cannot reach it. So the sweep will escalate and remind, and it will auto-approve a step
535
- // that only advances the request but it refuses to *complete* a request it cannot apply,
536
- // and reminds instead. Passing those two functions in here is the whole of what is missing.
537
- const approvals = new ApprovalService(kernel);
539
+ // The same appliers the router hands the engine, from the same factory: `hrSubjects` exists
540
+ // because these two functions used to live in the router's closure, where a job could not
541
+ // reach them so a timeout could advance an intermediate step and then refuse the step
542
+ // that *completed* a request, logging that it had reminded instead. A deadline that worked
543
+ // on every step but the last is a deadline nobody can rely on.
544
+ //
545
+ // No actor, and that is the same statement `TIMEOUT_APPROVER_ID` makes on the decision row:
546
+ // a clock ran out, so nothing here may put a person's name against the ledger entry it
547
+ // writes.
548
+ const resolve = new ResolveService();
549
+ const subjects = hrSubjects({
550
+ resolve,
551
+ ledger: new LedgerService(),
552
+ attendance: new AttendanceService(resolve, new PolicyService(resolve)),
553
+ });
554
+ const approvals = new ApprovalService(kernel, subjects.appliersFor(null));
538
555
  const now = new Date();
539
556
  for (const workspaceId of await activeWorkspaces(kernel)) {
540
- const sweep = await kernel.database.withWorkspace(workspaceId, (tx) => approvals.sweepTimeouts(tx, workspaceId, now));
557
+ /**
558
+ * One tenant's failure stays one tenant's failure.
559
+ *
560
+ * The appliers run *inside* the sweep's transaction, which is what makes a decision and
561
+ * the leave it books atomic — and it is also what lets one unbookable request abort the
562
+ * whole transaction. Until they were passed in, nothing in this handler could throw for a
563
+ * reason belonging to a single workspace's data; now it can, and an unguarded loop would
564
+ * let that workspace stop every other workspace's deadlines, hourly, indefinitely.
565
+ *
566
+ * Nothing is swallowed by this: the sweep is one transaction, so a workspace that throws
567
+ * has changed nothing and is swept again on the next tick, and the error is logged rather
568
+ * than counted.
569
+ */
570
+ let sweep;
571
+ try {
572
+ sweep = await kernel.database.withWorkspace(workspaceId, (tx) => approvals.sweepTimeouts(tx, workspaceId, now));
573
+ }
574
+ catch (err) {
575
+ kernel.log.error({ module: 'hr', workspaceId, err: err.message }, 'approval deadline sweep failed; other workspaces continue');
576
+ continue;
577
+ }
541
578
  if (!sweep.touchedRequestIds.length)
542
579
  continue;
543
580
  for (const decision of sweep.decided)
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/server/jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/server/jobs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,121 @@
1
- import { type Kernel, type RequestContext } from '@kernhq/kernel';
1
+ import { type Kernel, type RequestContext, type Tx } from '@kernhq/kernel';
2
+ import { type SubjectAppliers } from './services/approvals.js';
3
+ import { AttendanceService } from './services/attendance.js';
4
+ import { LedgerService } from './services/ledger.js';
5
+ import { ResolveService } from './services/resolve.js';
6
+ /**
7
+ * What a *decided* request does to its subject, and the calculation both halves of that stand on.
8
+ *
9
+ * These lived inside `implement_`'s closure, and that is the whole reason `ApprovalService` had
10
+ * appliers only when a person was on the other end of the call: a job cannot reach into a router's
11
+ * closure, so `sweepTimeouts` would advance an intermediate step and then refuse the step that
12
+ * *completes* a request — logging that it had reminded instead. A deadline an administrator set,
13
+ * believed, and told their staff about did nothing on the one step that mattered.
14
+ *
15
+ * So it is a factory both callers can reach: `implement_` below, and `hrJobs` in `jobs.ts`. It is a
16
+ * factory rather than a class because the closure is the point — `applyApproval` needs `simulate`,
17
+ * `simulate` needs the ledger and the composed calendar, and threading those through method
18
+ * arguments would buy nothing.
19
+ *
20
+ * The alternative was a second `simulate` in the job, and it is worth naming why not: two copies of
21
+ * a leave calculation drift, both of them type-check while they drift, and the first sign of it is
22
+ * an employee whose balance disagrees with the days they were granted.
23
+ *
24
+ * Services are passed in rather than constructed here so a caller keeps one instance of each — two
25
+ * `AttendanceService`s is not a bug today and is one cache away from being one.
26
+ */
27
+ export declare function hrSubjects(deps: {
28
+ resolve: ResolveService;
29
+ ledger: LedgerService;
30
+ attendance: AttendanceService;
31
+ }): {
32
+ loadRequest: (tx: Tx, workspaceId: string, requestId: string) => Promise<{
33
+ id: string;
34
+ workspaceId: string;
35
+ personId: string;
36
+ leaveTypeId: string;
37
+ startsOn: string;
38
+ endsOn: string;
39
+ startPart: string;
40
+ endPart: string;
41
+ hours: string | null;
42
+ workingDays: string;
43
+ minutes: number;
44
+ status: string;
45
+ reason: string | null;
46
+ documentFileId: string | null;
47
+ approvalRequestId: string | null;
48
+ idempotencyKey: string | null;
49
+ decidedAt: Date | null;
50
+ createdAt: Date;
51
+ updatedAt: Date;
52
+ }>;
53
+ simulate: (tx: Tx, workspaceId: string, personId: string, input: {
54
+ leaveTypeId: string;
55
+ startsOn: string;
56
+ endsOn: string;
57
+ startPart: "full" | "morning" | "afternoon";
58
+ endPart: "full" | "morning" | "afternoon";
59
+ hours?: number | null;
60
+ }) => Promise<{
61
+ workingDays: number;
62
+ minutes: number;
63
+ days: {
64
+ date: string;
65
+ fraction: number;
66
+ counted: boolean;
67
+ reason: string | null;
68
+ }[];
69
+ balanceBeforeMinutes: number;
70
+ balanceAfterMinutes: number;
71
+ blockers: {
72
+ code: string;
73
+ message: string;
74
+ }[];
75
+ }>;
76
+ applyApproval: (tx: Tx, workspaceId: string, leaveRequestId: string, actorId: string | null) => Promise<void>;
77
+ applyRegularization: (tx: Tx, workspaceId: string, regularizationId: string) => Promise<void>;
78
+ personContext: (tx: Tx, workspaceId: string, personId: string) => Promise<{
79
+ timezone: string;
80
+ schedule: import("./services/attendance.js").ResolvedSchedule;
81
+ resolution: {
82
+ personId: string;
83
+ on: string;
84
+ primaryOfficeId: string | null;
85
+ primaryOfficeName: string | null;
86
+ otherOfficeIds: string[];
87
+ country: string | null;
88
+ timezone: string;
89
+ timezoneFrom: "person" | "office" | "legal_entity" | "org_unit" | "position" | "workspace";
90
+ calendarId: string | null;
91
+ calendarFrom: "person" | "office" | "legal_entity" | "org_unit" | "position" | "workspace" | null;
92
+ workingWeek: {
93
+ mon: number;
94
+ tue: number;
95
+ wed: number;
96
+ thu: number;
97
+ fri: number;
98
+ sat: number;
99
+ sun: number;
100
+ };
101
+ legalEntityId: string | null;
102
+ orgUnitId: string | null;
103
+ orgUnitPath: string | null;
104
+ managerPersonId: string | null;
105
+ };
106
+ }>;
107
+ /**
108
+ * The same two functions in the shape `ApprovalService` calls them in, keyed by `subjectType` —
109
+ * the only thing the engine knows about a subject.
110
+ *
111
+ * Parameterised by the actor because that is the one thing the two callers genuinely disagree
112
+ * about: a person approving leave is written onto the ledger entry as `created_by`, and a
113
+ * deadline running out is written as nobody. Passing the approver's id for a timeout would put
114
+ * a name against a decision that person did not make, which is exactly what
115
+ * `TIMEOUT_APPROVER_ID` exists to avoid one table over.
116
+ */
117
+ appliersFor: (actorId: string | null) => SubjectAppliers;
118
+ };
2
119
  /**
3
120
  * The router.
4
121
  *
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/server/router.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,cAAc,EAMpB,MAAM,gBAAgB,CAAA;AAoKvB;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+pIxC"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/server/router.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,cAAc,EAGnB,KAAK,EAAE,EAGR,MAAM,gBAAgB,CAAA;AAgEvB,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,aAAa,EAA2B,MAAM,sBAAsB,CAAA;AAG7E,OAAO,EAAwB,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAmK5E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,aAAa,CAAA;IACrB,UAAU,EAAE,iBAAiB,CAAA;CAC9B;sBAGgC,EAAE,eAAe,MAAM,aAAa,MAAM;;;;;;;;;;;;;;;;;;;;;mBAkBnE,EAAE,eACO,MAAM,YACT,MAAM,SACT;QACL,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;QAC3C,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;QACzC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KACtB;;;;;;;;;;;;kBAE6B,MAAM;qBAAW,MAAM;;;wBAkHtB,EAAE,eAAe,MAAM,kBAAkB,MAAM,WAAW,MAAM,GAAG,IAAI;8BAmEjE,EAAE,eAAe,MAAM,oBAAoB,MAAM;wBAdvD,EAAE,eAAe,MAAM,YAAY,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiFxE;;;;;;;;;OASG;2BACoB,MAAM,GAAG,IAAI,KAAG,eAAe;EAOzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAs+HxC"}