@toa.io/extensions.exposition 1.0.0-alpha.310 → 1.0.0-alpha.312

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 (55) hide show
  1. package/package.json +6 -6
  2. package/transpiled/Directive.js +21 -8
  3. package/transpiled/Directive.js.map +1 -1
  4. package/transpiled/Endpoint.js +12 -2
  5. package/transpiled/Endpoint.js.map +1 -1
  6. package/transpiled/Gateway.d.ts +2 -0
  7. package/transpiled/Gateway.js +6 -4
  8. package/transpiled/Gateway.js.map +1 -1
  9. package/transpiled/HTTP/Context.d.ts +10 -0
  10. package/transpiled/HTTP/Context.js +13 -0
  11. package/transpiled/HTTP/Context.js.map +1 -1
  12. package/transpiled/HTTP/Server.js +66 -64
  13. package/transpiled/HTTP/Server.js.map +1 -1
  14. package/transpiled/HTTP/messages.js +6 -2
  15. package/transpiled/HTTP/messages.js.map +1 -1
  16. package/transpiled/Interception.js +4 -1
  17. package/transpiled/Interception.js.map +1 -1
  18. package/transpiled/RTD/Route.js +4 -2
  19. package/transpiled/RTD/Route.js.map +1 -1
  20. package/transpiled/directives/auth/Authorization.d.ts +4 -2
  21. package/transpiled/directives/auth/Authorization.js +22 -3
  22. package/transpiled/directives/auth/Authorization.js.map +1 -1
  23. package/transpiled/directives/cache/Cache.d.ts +1 -1
  24. package/transpiled/directives/cache/Cache.js +7 -5
  25. package/transpiled/directives/cache/Cache.js.map +1 -1
  26. package/transpiled/directives/cache/Control.d.ts +7 -3
  27. package/transpiled/directives/cache/Control.js +15 -14
  28. package/transpiled/directives/cache/Control.js.map +1 -1
  29. package/transpiled/directives/cache/Exact.d.ts +2 -2
  30. package/transpiled/directives/cache/Exact.js +1 -1
  31. package/transpiled/directives/cache/Exact.js.map +1 -1
  32. package/transpiled/directives/map/Map.js +2 -0
  33. package/transpiled/directives/map/Map.js.map +1 -1
  34. package/transpiled/directives/map/Stream.d.ts +30 -0
  35. package/transpiled/directives/map/Stream.js +91 -0
  36. package/transpiled/directives/map/Stream.js.map +1 -0
  37. package/transpiled/exceptions.js +6 -2
  38. package/transpiled/exceptions.js.map +1 -1
  39. package/ui/dist/_app/immutable/chunks/CrvExPUH.js +1 -0
  40. package/ui/dist/_app/immutable/chunks/{BCJPed3-.js → DJsGiBo1.js} +2 -2
  41. package/ui/dist/_app/immutable/chunks/{ck6CK-dV.js → DRHH1IZ6.js} +1 -1
  42. package/ui/dist/_app/immutable/chunks/{BFtcFZWO.js → qtkBHvJX.js} +1 -1
  43. package/ui/dist/_app/immutable/entry/{app.CwA5shUx.js → app.prc8D_7j.js} +2 -2
  44. package/ui/dist/_app/immutable/entry/start.B8R-hX_D.js +1 -0
  45. package/ui/dist/_app/immutable/nodes/{0.BFAzzuc1.js → 0.viBY06uQ.js} +1 -1
  46. package/ui/dist/_app/immutable/nodes/{1.3yaVV_1F.js → 1.CJVJ5gi6.js} +1 -1
  47. package/ui/dist/_app/immutable/nodes/{2.B023p_6N.js → 2.DhzIPVlj.js} +1 -1
  48. package/ui/dist/_app/immutable/nodes/{3.DqbaMF3I.js → 3.jGOeu924.js} +1 -1
  49. package/ui/dist/_app/immutable/nodes/{4.CoCUKIsu.js → 4.DXHvFLcC.js} +1 -1
  50. package/ui/dist/_app/immutable/nodes/{5.CTjWt55g.js → 5.tGdgzTwp.js} +1 -1
  51. package/ui/dist/_app/immutable/nodes/{6.DArHyhJL.js → 6.DfOhdTZ4.js} +1 -1
  52. package/ui/dist/_app/version.json +1 -1
  53. package/ui/dist/index.html +10 -10
  54. package/ui/dist/_app/immutable/chunks/BDuDJR9X.js +0 -1
  55. package/ui/dist/_app/immutable/entry/start.BxffyCG_.js +0 -1
@@ -11,7 +11,10 @@ export class Interception {
11
11
  }
12
12
  async intercept(input) {
13
13
  for (const interceptor of this.interceptors) {
14
- const output = await interceptor.intercept(input);
14
+ let output = interceptor.intercept(input);
15
+ // most answer at once, and awaiting a value that is not a promise still makes one
16
+ if (output instanceof Promise)
17
+ output = await output;
15
18
  if (output !== null)
16
19
  return output;
17
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Interception.js","sourceRoot":"","sources":["../source/Interception.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,YAAY;IACN,YAAY,CAAe;IAE5C,YAAmB,YAA2B,EAAE,OAAqB;QACnE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAEhC,2EAA2E;QAC3E,gFAAgF;QAChF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAA;YACrB,WAAW,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,KAAY;QACjC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAEjD,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAA;QACpC,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"Interception.js","sourceRoot":"","sources":["../source/Interception.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,YAAY;IACN,YAAY,CAAe;IAE5C,YAAmB,YAA2B,EAAE,OAAqB;QACnE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAEhC,2EAA2E;QAC3E,gFAAgF;QAChF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAA;YACrB,WAAW,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,KAAY;QACjC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAI,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAEzC,kFAAkF;YAClF,IAAI,MAAM,YAAY,OAAO;gBAAE,MAAM,GAAG,MAAM,MAAM,CAAA;YAEpD,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAA;QACpC,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -18,8 +18,10 @@ export class Route {
18
18
  match(fragments, parameters, segments) {
19
19
  if (Date.now() >= this.node.expiration)
20
20
  return null;
21
- // what a request matched is a template, and the pieces of it are these
22
- segments.push(...this.segments);
21
+ // what a request matched is a template, and the pieces of it are these; pushed one by
22
+ // one, since a spread builds the arguments first
23
+ for (const segment of this.segments)
24
+ segments.push(segment);
23
25
  for (let i = 0; i < this.segments.length; i++) {
24
26
  const segment = this.segments[i];
25
27
  if (segment.fragment !== null && segment.fragment !== fragments[i])
@@ -1 +1 @@
1
- {"version":3,"file":"Route.js","sourceRoot":"","sources":["../../source/RTD/Route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Route.js","sourceRoot":"","sources":["../../source/RTD/Route.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,8 @@ export declare class Authorization implements DirectiveFamily<Directive, Extensi
24
24
  * Authentication: who the credential names, if one is presented. A credential belongs to
25
25
  * the request, so it is read once however many calls the request carries.
26
26
  */
27
- preflight(context: Context): Promise<void>;
27
+ preflight(context: Context): void | Promise<void>;
28
+ private authenticate;
28
29
  /** Authorization: whether that identity may make this call, which every call asks anew. */
29
30
  precall(directives: Directive[], context: Context, parameters: Parameter[]): Promise<Output>;
30
31
  /**
@@ -43,7 +44,8 @@ export declare class Authorization implements DirectiveFamily<Directive, Extensi
43
44
  * fills is filled from whoever calls, which is what a caller may not send for itself.
44
45
  */
45
46
  explain(directives: Directive[], introspection: Introspection): Introspection;
46
- settle(directives: Directive[], context: Context, response: http.OutgoingMessage): Promise<void>;
47
+ /** Only what a directive leaves pending is waited for, and most routes have none that settle. */
48
+ settle(directives: Directive[], context: Context, response: http.OutgoingMessage): void | Promise<void>;
47
49
  /**
48
50
  * Re-issuing a credential, and refusing a ban, are the request's business: the header
49
51
  * carries one token however many calls were made, and a ban refuses all of them.
@@ -66,7 +66,15 @@ export class Authorization {
66
66
  * Authentication: who the credential names, if one is presented. A credential belongs to
67
67
  * the request, so it is read once however many calls the request carries.
68
68
  */
69
- async preflight(context) {
69
+ preflight(context) {
70
+ // a request without a credential is anonymous, and answered without waiting for anything
71
+ if (context.request.headers.authorization === undefined) {
72
+ context.identity = null;
73
+ return;
74
+ }
75
+ return this.authenticate(context);
76
+ }
77
+ async authenticate(context) {
70
78
  context.identity = await this.resolve(context);
71
79
  // the outer request, not a procedure it forks: `aud` is where this credential may
72
80
  // appear, and a tool call is still the request to `/.mcp`
@@ -125,8 +133,16 @@ export class Authorization {
125
133
  introspection = directive.describe?.(introspection) ?? introspection;
126
134
  return introspection;
127
135
  }
128
- async settle(directives, context, response) {
129
- await Promise.all(directives.map(async (directive) => directive.settle?.(context, response)));
136
+ /** Only what a directive leaves pending is waited for, and most routes have none that settle. */
137
+ settle(directives, context, response) {
138
+ let pending = null;
139
+ for (const directive of directives) {
140
+ const settling = directive.settle?.(context, response);
141
+ if (settling instanceof Promise)
142
+ (pending ??= []).push(settling);
143
+ }
144
+ if (pending !== null)
145
+ return all(pending);
130
146
  }
131
147
  /**
132
148
  * Re-issuing a credential, and refusing a ban, are the request's business: the header
@@ -301,4 +317,7 @@ const constructors = {
301
317
  input: Input
302
318
  };
303
319
  const REMOTES = ['basic', 'federation', 'tokens', 'roles', 'bans', 'otp'];
320
+ async function all(pending) {
321
+ await Promise.all(pending);
322
+ }
304
323
  //# sourceMappingURL=Authorization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../source/directives/auth/Authorization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../source/directives/auth/Authorization.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare class Cache implements DirectiveFamily<Directive> {
7
7
  readonly mandatory: boolean;
8
8
  create(name: string, value: any): Directive;
9
9
  precall(): Output;
10
- settle(directives: Directive[], context: AuthenticatedContext, response: http.OutgoingMessage): Promise<void>;
10
+ settle(directives: Directive[], context: AuthenticatedContext, response: http.OutgoingMessage): void;
11
11
  /**
12
12
  * What the reply is validated by, which is the body it holds. Request-scoped, because the
13
13
  * body is the whole request's: one that made several calls sends back one of them.
@@ -13,28 +13,30 @@ export class Cache {
13
13
  precall() {
14
14
  return null;
15
15
  }
16
- async settle(directives, context, response) {
16
+ settle(directives, context, response) {
17
17
  const directive = directives[0];
18
18
  const method = context.request.method;
19
19
  const safe = method === 'GET' || method === 'HEAD';
20
- response.headers ??= new Headers();
21
20
  // `cache:exact` sets what it is given, whatever the method: whether a reply may be
22
21
  // stored at all is not a question about the method's cacheability, and a token
23
22
  // endpoint answers a POST it must not have kept
24
23
  if (directive instanceof Exact) {
25
- directive.set(context, response.headers);
24
+ directive.set(context, (response.headers ??= new Headers()));
26
25
  return;
27
26
  }
28
27
  if (!safe)
29
28
  return;
29
+ // headers are made only for a reply that gets one: most of those that pass here do not
30
30
  if (directive === undefined) {
31
- if (context.identity !== null && !Control.disabled(response.headers)) {
31
+ if (context.identity !== null &&
32
+ (response.headers === undefined || !Control.disabled(response.headers))) {
33
+ response.headers ??= new Headers();
32
34
  response.headers.set('cache-control', 'private');
33
35
  response.headers.append('vary', 'authorization');
34
36
  }
35
37
  }
36
38
  else
37
- directive.set(context, response.headers);
39
+ directive.set(context, (response.headers ??= new Headers()));
38
40
  }
39
41
  /**
40
42
  * What the reply is validated by, which is the body it holds. Request-scoped, because the
@@ -1 +1 @@
1
- {"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../../source/directives/cache/Cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAMrC,MAAM,OAAO,KAAK;IACA,IAAI,GAAW,OAAO,CAAA;IACtB,SAAS,GAAY,IAAI,CAAA;IAElC,MAAM,CAAC,IAAY,EAAE,KAAU;QACpC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAEhC,IAAI,KAAK,KAAK,SAAS;YACrB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,sBAAsB,CAAC,CAAA;QAEjE,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,UAAuB,EACvB,OAA6B,EAC7B,QAA8B;QAE9B,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;QACrC,MAAM,IAAI,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAA;QAElD,QAAQ,CAAC,OAAO,KAAK,IAAI,OAAO,EAAE,CAAA;QAElC,mFAAmF;QACnF,+EAA+E;QAC/E,gDAAgD;QAChD,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;YAC/B,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;YAExC,OAAM;QACR,CAAC;QAED,IAAI,CAAC,IAAI;YAAE,OAAM;QAEjB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;gBAChD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;;YAAM,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,OAAqB,EAAE,QAA8B;QACjE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;QAErC,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;YAAE,OAAM;QAEjD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;QAEhC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7E,OAAM;QAER,QAAQ,CAAC,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;YACtB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;YAErD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAA;QAC/D,CAAC,CAAA;IACH,CAAC;CACF;AAED,MAAM,YAAY,GAAkD;IAClE,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,KAAK;CACb,CAAA"}
1
+ {"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../../source/directives/cache/Cache.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import type { AuthenticatedContext, Directive } from './types.ts';
2
2
  export declare class Control implements Directive {
3
3
  protected readonly value: string;
4
- private control;
5
- private vary;
4
+ private anonymous;
5
+ private authenticated;
6
6
  constructor(value: string);
7
7
  static disabled(headers: Headers): boolean;
8
8
  set(context: AuthenticatedContext, headers: Headers): void;
9
- protected resolve(request: AuthenticatedContext): string;
9
+ protected resolve(request: AuthenticatedContext): Resolution;
10
+ }
11
+ export interface Resolution {
12
+ control: string;
13
+ vary: boolean;
10
14
  }
@@ -1,8 +1,10 @@
1
1
  import { match } from 'matchacho';
2
2
  export class Control {
3
3
  value;
4
- control = null;
5
- vary = false;
4
+ // a route serves anonymous and authenticated requests alike, and what is set differs
5
+ // between the two, so each is resolved once and kept apart
6
+ anonymous = null;
7
+ authenticated = null;
6
8
  constructor(value) {
7
9
  this.value = value;
8
10
  }
@@ -14,26 +16,25 @@ export class Control {
14
16
  return (directives & NO_STORE) === NO_STORE;
15
17
  }
16
18
  set(context, headers) {
17
- this.control ??= this.resolve(context);
18
19
  if (Control.disabled(headers))
19
20
  return;
20
- headers.set('cache-control', this.control);
21
- if (this.vary)
21
+ const resolution = context.identity === null
22
+ ? (this.anonymous ??= this.resolve(context))
23
+ : (this.authenticated ??= this.resolve(context));
24
+ headers.set('cache-control', resolution.control);
25
+ if (resolution.vary)
22
26
  headers.append('vary', 'authorization');
23
27
  }
24
28
  resolve(request) {
25
29
  if (request.identity === null)
26
- return this.value;
30
+ return { control: this.value, vary: false };
27
31
  const directives = mask(this.value);
28
- if ((directives & PRIVATE) === PRIVATE)
29
- this.vary = true;
32
+ const vary = (directives & PRIVATE) === PRIVATE;
30
33
  if ((directives & (PUBLIC | NO_CACHE)) === PUBLIC)
31
- return 'no-cache, ' + this.value;
32
- if ((directives & (PUBLIC | PRIVATE)) === 0) {
33
- this.vary = true;
34
- return 'private, ' + this.value;
35
- }
36
- return this.value;
34
+ return { control: 'no-cache, ' + this.value, vary };
35
+ if ((directives & (PUBLIC | PRIVATE)) === 0)
36
+ return { control: 'private, ' + this.value, vary: true };
37
+ return { control: this.value, vary };
37
38
  }
38
39
  }
39
40
  function mask(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"Control.js","sourceRoot":"","sources":["../../../source/directives/cache/Control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAGjC,MAAM,OAAO,OAAO;IACC,KAAK,CAAQ;IACxB,OAAO,GAAkB,IAAI,CAAA;IAC7B,IAAI,GAAY,KAAK,CAAA;IAE7B,YAAmB,KAAa;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,OAAgB;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAE1C,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;QAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QAE9B,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,QAAQ,CAAA;IAC7C,CAAC;IAEM,GAAG,CAAC,OAA6B,EAAE,OAAgB;QACxD,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAEtC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAM;QAErC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAE1C,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxD,CAAC;IAES,OAAO,CAAC,OAA6B;QAC7C,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,KAAK,CAAA;QAEhD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,OAAO;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAExD,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,KAAK,MAAM;YAAE,OAAO,YAAY,GAAG,IAAI,CAAC,KAAK,CAAA;QAEnF,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;YAEhB,OAAO,WAAW,GAAG,IAAI,CAAC,KAAK,CAAA;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;CACF;AAED,SAAS,IAAI,CAAC,KAAa;IACzB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAE7C,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,CAAC,CAAA;IAEjC,IAAI,IAAI,GAAG,CAAC,CAAA;IAEZ,KAAK,MAAM,SAAS,IAAI,UAAU;QAChC,IAAI,IAAI,KAAK,CACX,SAAS,EACT,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAM,EACN,UAAU,EACV,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,CAAC,CACF,CAAA;IAEH,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,aAAa,GAAG,0CAA0C,CAAA;AAEhE,MAAM,MAAM,GAAG,CAAC,CAAA;AAChB,MAAM,OAAO,GAAG,CAAC,CAAA;AACjB,MAAM,QAAQ,GAAG,CAAC,CAAA;AAClB,MAAM,QAAQ,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"Control.js","sourceRoot":"","sources":["../../../source/directives/cache/Control.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Control } from './Control.ts';
1
+ import { Control, type Resolution } from './Control.ts';
2
2
  export declare class Exact extends Control {
3
- protected resolve(): string;
3
+ protected resolve(): Resolution;
4
4
  }
@@ -1,7 +1,7 @@
1
1
  import { Control } from './Control.js';
2
2
  export class Exact extends Control {
3
3
  resolve() {
4
- return this.value;
4
+ return { control: this.value, vary: false };
5
5
  }
6
6
  }
7
7
  //# sourceMappingURL=Exact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Exact.js","sourceRoot":"","sources":["../../../source/directives/cache/Exact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,OAAO,KAAM,SAAQ,OAAO;IACb,OAAO;QACxB,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"Exact.js","sourceRoot":"","sources":["../../../source/directives/cache/Exact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAmB,MAAM,cAAc,CAAA;AAEvD,MAAM,OAAO,KAAM,SAAQ,OAAO;IACb,OAAO;QACxB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IAC7C,CAAC;CACF"}
@@ -8,6 +8,7 @@ import { Segments } from './Segments.js';
8
8
  import { Instance } from './Instance.js';
9
9
  import { Authority } from './Authority.js';
10
10
  import { BufferMapping } from './Buffer.js';
11
+ import { StreamMapping } from './Stream.js';
11
12
  import { Claims } from './Claims.js';
12
13
  export class Map {
13
14
  name = 'map';
@@ -50,6 +51,7 @@ export class Map {
50
51
  const mappings = {
51
52
  authority: Authority,
52
53
  buffer: BufferMapping,
54
+ stream: StreamMapping,
53
55
  headers: Headers,
54
56
  languages: Languages,
55
57
  language: Language,
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../../source/directives/map/Map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../../source/directives/map/Map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { Mapping } from './Mapping.ts';
2
+ import type { Input } from '../../io.ts';
3
+ /**
4
+ * Hands the request body to the operation as the stream it takes, instead of reading it.
5
+ * See `/documentation/streams.md`.
6
+ */
7
+ export declare class StreamMapping extends Mapping<Options> {
8
+ private readonly property;
9
+ private readonly accept?;
10
+ private readonly produces?;
11
+ private readonly limit;
12
+ private readonly limitString;
13
+ constructor(value: unknown);
14
+ properties(context: Input): Promise<Record<string, unknown>>;
15
+ protected names(): string[];
16
+ /**
17
+ * One media type, or none: a client's `accept` is a list with quality values, and what an
18
+ * operation can answer in is one of them. What is resolved here is what the response carries.
19
+ *
20
+ * A client that states nothing, or takes anything, takes what this route answers best, which is
21
+ * the first it states; where a client names several of them, the order it named them in decides.
22
+ */
23
+ private resolve;
24
+ }
25
+ export interface Options {
26
+ property: string;
27
+ accept?: string[];
28
+ produces?: string[];
29
+ limit?: string;
30
+ }
@@ -0,0 +1,91 @@
1
+ import { Transform } from 'node:stream';
2
+ import Negotiator from 'negotiator';
3
+ import { Mapping } from './Mapping.js';
4
+ import { toBytes } from '../octets/bytes.js';
5
+ import * as http from '../../HTTP/index.js';
6
+ const LIMIT = '64MiB';
7
+ /**
8
+ * Hands the request body to the operation as the stream it takes, instead of reading it.
9
+ * See `/documentation/streams.md`.
10
+ */
11
+ export class StreamMapping extends Mapping {
12
+ property;
13
+ accept;
14
+ produces;
15
+ limit;
16
+ limitString;
17
+ constructor(value) {
18
+ const options = normalize(value);
19
+ super(options);
20
+ this.property = options.property;
21
+ this.accept = options.accept;
22
+ this.produces = options.produces;
23
+ this.limitString = options.limit ?? LIMIT;
24
+ this.limit = toBytes(this.limitString);
25
+ }
26
+ async properties(context) {
27
+ const type = context.request.headers['content-type'];
28
+ if (this.accept !== undefined && !acceptable(type, this.accept))
29
+ throw new http.UnsupportedMediaType();
30
+ // what a client states it is sending is refused before it is sent, where it states one
31
+ const length = Number(context.request.headers['content-length']);
32
+ if (Number.isFinite(length) && length > this.limit)
33
+ throw new http.RequestEntityTooLarge(`Size limit is ${this.limitString}`);
34
+ const accept = this.resolve(context);
35
+ const stream = bounded(context.stream(), this.limit, context);
36
+ return { [this.property]: { type: type ?? null, accept: accept ?? null, stream } };
37
+ }
38
+ names() {
39
+ return [this.property];
40
+ }
41
+ /**
42
+ * One media type, or none: a client's `accept` is a list with quality values, and what an
43
+ * operation can answer in is one of them. What is resolved here is what the response carries.
44
+ *
45
+ * A client that states nothing, or takes anything, takes what this route answers best, which is
46
+ * the first it states; where a client names several of them, the order it named them in decides.
47
+ */
48
+ resolve(context) {
49
+ if (this.produces === undefined)
50
+ return undefined;
51
+ const accept = context.request.headers.accept;
52
+ const negotiator = new Negotiator({ headers: { accept } });
53
+ const [answer] = negotiator.mediaTypes(this.produces);
54
+ if (answer === undefined)
55
+ throw new http.NotAcceptable();
56
+ context.answers = answer;
57
+ return answer;
58
+ }
59
+ }
60
+ /** Cuts a body that outgrows what the route takes, and says that it did. */
61
+ function bounded(source, limit, context) {
62
+ let size = 0;
63
+ const transform = new Transform({
64
+ transform(chunk, _, callback) {
65
+ size += chunk.length;
66
+ if (size > limit) {
67
+ context.exceeded = true;
68
+ callback(new Error('The body outgrew what this route takes'));
69
+ }
70
+ else
71
+ callback(null, chunk);
72
+ }
73
+ });
74
+ source.pipe(transform);
75
+ return transform;
76
+ }
77
+ function acceptable(type, accept) {
78
+ if (type === undefined)
79
+ return false;
80
+ const [media] = type.split(';');
81
+ const [group] = media.split('/');
82
+ return accept.some((one) => one === media || one === `${group}/*` || one === '*/*');
83
+ }
84
+ function normalize(value) {
85
+ if (typeof value === 'string')
86
+ return { property: value };
87
+ if (value === null || typeof value !== 'object' || !('property' in value))
88
+ throw new Error('`map:stream` is a property name, or an object naming one');
89
+ return value;
90
+ }
91
+ //# sourceMappingURL=Stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stream.js","sourceRoot":"","sources":["../../../source/directives/map/Stream.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,9 @@ export function rethrow(exception) {
10
10
  // nothing holds the name the route carried
11
11
  CORE_EXCEPTIONS.Addressee, NOT_FOUND,
12
12
  // the process holding it did not answer in time
13
- CORE_EXCEPTIONS.Abandoned, GATEWAY_TIMEOUT, () => {
13
+ CORE_EXCEPTIONS.Abandoned, GATEWAY_TIMEOUT,
14
+ // nothing answered at the address of the component a streamed call was made to
15
+ CORE_EXCEPTIONS.Unreachable, SERVICE_UNAVAILABLE, () => {
14
16
  console.error('Request processing exception', exception);
15
17
  return exception;
16
18
  });
@@ -22,6 +24,7 @@ const NOT_FOUND = new http.NotFound();
22
24
  const PRECONDITION_FAILED = new http.PreconditionFailed();
23
25
  const CONFLICT = new http.Conflict();
24
26
  const GATEWAY_TIMEOUT = new http.GatewayTimeout();
27
+ const SERVICE_UNAVAILABLE = new http.ServiceUnavailable();
25
28
  const CORE_EXCEPTIONS = {
26
29
  StateNotFound: 302,
27
30
  StatePrecondition: 303,
@@ -29,6 +32,7 @@ const CORE_EXCEPTIONS = {
29
32
  EntityGuard: 213,
30
33
  Duplicate: 306,
31
34
  Addressee: 403,
32
- Abandoned: 404
35
+ Abandoned: 404,
36
+ Unreachable: 407
33
37
  };
34
38
  //# sourceMappingURL=exceptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../source/exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG5D,MAAM,UAAU,OAAO,CAAC,SAAoC;IAC1D,IAAI,SAAS,YAAY,aAAa;QAAE,MAAM,SAAS,CAAA;IAEvD,sCAAsC;IACtC,MAAM,KAAK,CACT,SAAS,CAAC,IAAI,EACd,UAAU,EACV,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,EAC5C,eAAe,CAAC,aAAa,EAC7B,SAAS,EACT,eAAe,CAAC,iBAAiB,EACjC,mBAAmB,EACnB,eAAe,CAAC,SAAS,EACzB,QAAQ,EACR,eAAe,CAAC,gBAAgB,EAChC,QAAQ,EACR,eAAe,CAAC,WAAW,EAC3B,QAAQ;IACR,2CAA2C;IAC3C,eAAe,CAAC,SAAS,EACzB,SAAS;IACT,gDAAgD;IAChD,eAAe,CAAC,SAAS,EACzB,eAAe,EACf,GAAG,EAAE;QACH,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAA;QAExD,OAAO,SAAS,CAAA;IAClB,CAAC,CACF,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,CAAA;AACpD,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;AACrC,MAAM,mBAAmB,GAAG,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAA;AACzD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;AACpC,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAA;AAEjD,MAAM,eAAe,GAAG;IACtB,aAAa,EAAE,GAAG;IAClB,iBAAiB,EAAE,GAAG;IACtB,gBAAgB,EAAE,GAAG;IACrB,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;CACf,CAAA"}
1
+ {"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../source/exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG5D,MAAM,UAAU,OAAO,CAAC,SAAoC;IAC1D,IAAI,SAAS,YAAY,aAAa;QAAE,MAAM,SAAS,CAAA;IAEvD,sCAAsC;IACtC,MAAM,KAAK,CACT,SAAS,CAAC,IAAI,EACd,UAAU,EACV,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,EAC5C,eAAe,CAAC,aAAa,EAC7B,SAAS,EACT,eAAe,CAAC,iBAAiB,EACjC,mBAAmB,EACnB,eAAe,CAAC,SAAS,EACzB,QAAQ,EACR,eAAe,CAAC,gBAAgB,EAChC,QAAQ,EACR,eAAe,CAAC,WAAW,EAC3B,QAAQ;IACR,2CAA2C;IAC3C,eAAe,CAAC,SAAS,EACzB,SAAS;IACT,gDAAgD;IAChD,eAAe,CAAC,SAAS,EACzB,eAAe;IACf,+EAA+E;IAC/E,eAAe,CAAC,WAAW,EAC3B,mBAAmB,EACnB,GAAG,EAAE;QACH,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAA;QAExD,OAAO,SAAS,CAAA;IAClB,CAAC,CACF,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,CAAA;AACpD,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;AACrC,MAAM,mBAAmB,GAAG,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAA;AACzD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;AACpC,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAA;AACjD,MAAM,mBAAmB,GAAG,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAA;AAEzD,MAAM,eAAe,GAAG;IACtB,aAAa,EAAE,GAAG;IAClB,iBAAiB,EAAE,GAAG;IACtB,gBAAgB,EAAE,GAAG;IACrB,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,WAAW,EAAE,GAAG;CACjB,CAAA"}
@@ -0,0 +1 @@
1
+ import{H as e,U as t,V as n,W as r,it as i,n as a,ot as o,t as s,vt as c}from"./BVDJTrf4.js";var l=class{constructor(e,t){this.status=e,this.body=typeof t==`string`?{message:t}:t||{message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},u=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},d=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function f(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function p(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function ee(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(e,t,n,r=!1){let i=new URL(e);Object.defineProperty(i,"searchParams",{value:new Proxy(i.searchParams,{get(e,r){if(r===`get`||r===`getAll`||r===`has`)return(t,...i)=>(n(t),e[r](t,...i));t();let i=Reflect.get(e,r);return typeof i==`function`?i.bind(e):i}}),enumerable:!0,configurable:!0});let a=[`href`,`pathname`,`search`,`toString`,`toJSON`];r&&a.push(`hash`);for(let n of a)Object.defineProperty(i,n,{get(){return t(),e[n]},enumerable:!0,configurable:!0});return i}function g(){}function _(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}new TextEncoder;function te(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var ne=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&v.delete(ie(e)),ne(e,t));var v=new Map;function y(e,t){let n=ie(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent);r.getAttribute(`data-b64`)!==null&&(e=te(e));let i=r.getAttribute(`data-ttl`);return i&&v.set(n,{body:e,init:t,ttl:1e3*Number(i)}),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function re(e,t,n){if(v.size>0){let t=ie(e,n),r=v.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);v.delete(t)}}return window.fetch(t,n)}function ie(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${_(...e)}"]`}return n}var ae=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,oe=/^\/\((?:[^)]+)\)$/;function se(e){let t=[];return{pattern:e===`/`||oe.test(e)?/^\/$/:RegExp(`^${le(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return de(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return de(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=ae.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return de(e)}).join(``)}).join(``)}/?$`),params:t}}function ce(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function le(e){return e.slice(1).split(`/`).filter(ce)}function ue(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0){if(s.rest)c=``;else continue}if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function de(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}var fe=/\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;function pe(e,t){let n=le(e),r=e!=`/`&&e.endsWith(`/`);return`/`+n.map(n=>n.replace(fe,(n,r,i,a)=>{let o=t[a];if(!o){if(r||i&&o!==void 0)return``;throw Error(`Missing parameter '${a}' in route ${e}`)}if(o.startsWith(`/`)||o.endsWith(`/`))throw Error(`Parameter '${a}' in route ${e} cannot start or end with a slash -- this would cause an invalid route like foo//bar`);return o})).filter(Boolean).join(`/`)+(r?`/`:``)}function me({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=se(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return ue(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function he(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function ge(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var b=globalThis.__sveltekit_1n6ye5w?.base??`/.discovery`,_e=globalThis.__sveltekit_1n6ye5w?.assets??b??``,ve=``;function ye(...e){if(!e[0].startsWith(`/`))throw Error(`Cannot use \`resolve(...)\` with a non-absolute pathname or route ID (got "${e[0]}"). \`resolve\` is only for internal pathnames and route IDs; external URLs should be used directly.`);return b+ve+pe(e[0],e[1])}var be=`1789725080835`,xe=`sveltekit:snapshot`,Se=`sveltekit:scroll`,Ce=`sveltekit:states`,we=`sveltekit:pageurl`,x=`sveltekit:history`,S=`sveltekit:navigation`,C={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Te=location.origin;function Ee(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function w(){return{x:pageXOffset,y:pageYOffset}}function T(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var De={...C,"":C.hover};function Oe(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function ke(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=Oe(e)}}function Ae(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||D(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===Te&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function E(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=T(s,`preload-code`)),i===null&&(i=T(s,`preload-data`)),t===null&&(t=T(s,`keepfocus`)),n===null&&(n=T(s,`noscroll`)),a===null&&(a=T(s,`reload`)),o===null&&(o=T(s,`replacestate`)),s=Oe(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:De[r??`off`],preload_data:De[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function je(e){let t=c(e),n=!0;function r(){n=!0,t.update(e=>e)}function i(e){n=!1,t.set(e)}function a(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:i,subscribe:a}}var Me={v:g};function Ne(){let{set:e,subscribe:t}=c(!1),n;async function r(){clearTimeout(n);try{let t=await fetch(`${_e}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let r=(await t.json()).version!==be;return r&&(e(!0),Me.v(),clearTimeout(n)),r}catch{return!1}}return{subscribe:t,check:r}}function D(e,t,n){return e.origin!==Te||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Pe(e){}var Fe=2**32-1-1,Ie=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function Le(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getPrototypeOf(t)===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===Ie}function Re(e){return Object.prototype.toString.call(e).slice(8,-1)}function ze(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.getOwnPropertyDescriptor(e,t).enumerable)}function Be(e){return!(!Number.isInteger(e)||e<0||e>Fe)}function Ve(e){if(e.length===0||e.length>1&&e.charCodeAt(0)===48)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return Be(+e)}function He(e){for(var t=e.length-1;t>=0&&!Ve(e[t]);t--);return t+1}function Ue(e){let t=Object.keys(e);return t.length=He(t),t}Uint8Array.fromBase64,typeof process==`object`&&process.versions?.node;var We=Object.freeze({kind:`not-plain`}),Ge=Object.freeze({kind:`symbol-keys`});Object.freeze({identify:e=>e,typeOf:e=>e===null?`null`:typeof e,toPrimitive:e=>e,tagOf:e=>Re(e),isThenable:e=>typeof e.then==`function`,toPromise:e=>Promise.resolve(e),unbox:e=>e.valueOf(),toISOString:e=>isNaN(e.getDate())?``:e.toISOString(),toStringValue:e=>e.toString(),regExpInfo:e=>({source:e.source,flags:e.flags}),valuesOf:e=>e,entriesOf:e=>e,viewInfo:e=>({buffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength,length:e.length,bufferByteLength:e.buffer.byteLength}),toArrayBuffer:e=>e,lengthOf:e=>e.length,hasOwn:(e,t)=>Object.hasOwn(e,t),indicesOf:e=>Ue(e),shapeOf:e=>Le(e)?ze(e).length>0?Ge:{kind:Object.getPrototypeOf(e)===null?`null-proto`:`plain`,keys:Object.keys(e)}:We,get:(e,t)=>e[t]}),Object.freeze({fromPrimitive:e=>e,fromISOString:e=>new Date(e),fromStringValue:(e,t)=>e===`URL`?new URL(t):e===`URLSearchParams`?new URLSearchParams(t):Temporal[e.slice(9)].from(t),fromArrayBuffer:e=>e,fromRegExpInfo:(e,t)=>new RegExp(e,t),fromViewInfo:(e,t,n,r)=>{let i=globalThis[e];return n===void 0?new i(t):new i(t,n,r)},box:e=>Object(e),createArray:e=>Array(e),createSparseArray:e=>{let t=[];return t[Fe]=void 0,delete t[Fe],t.length=e,t},createObject:()=>({}),createNullPrototypeObject:()=>Object.create(null),createSet:()=>new Set,createMap:()=>new Map,set:(e,t,n)=>{e[t]=n},addValue:(e,t)=>{e.add(t)},addEntry:(e,t,n)=>{e.set(t,n)}});var Ke=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);[...Ke],[...new Set([...Ke])];function qe(e){return e.filter(e=>e!=null)}function O(e,t){return e+`/`+t}function Je(e){return e instanceof l||e instanceof d?e.status:500}function Ye(e){return e instanceof d?e.text:`Internal Error`}var k,A,Xe,Ze=a.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(a.toString()),Qe=`a:`;Ze?(k={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Qe)},A={current:null},Xe={current:!1}):(k=new class{#e=o({});get data(){return n(this.#e)}set data(e){i(this.#e,e)}#t=o(null);get form(){return n(this.#t)}set form(e){i(this.#t,e)}#n=o(null);get error(){return n(this.#n)}set error(e){i(this.#n,e)}#r=o({});get params(){return n(this.#r)}set params(e){i(this.#r,e)}#i=o({id:null});get route(){return n(this.#i)}set route(e){i(this.#i,e)}#a=o({});get state(){return n(this.#a)}set state(e){i(this.#a,e)}#o=o(-1);get status(){return n(this.#o)}set status(e){i(this.#o,e)}#s=o(new URL(Qe));get url(){return n(this.#s)}set url(e){i(this.#s,e)}},A=new class{#e=o(null);get current(){return n(this.#e)}set current(e){i(this.#e,e)}},Xe=new class{#e=o(!1);get current(){return n(this.#e)}set current(e){i(this.#e,e)}},Me.v=()=>Xe.current=!0);function $e(e){Object.assign(k,e)}var et={spanContext(){return tt},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},tt={traceId:``,spanId:``,traceFlags:0},{onMount:nt,tick:rt}=s,it=r??(e=>e()),at=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),j=null,M=he(`sveltekit:scroll`)??{},N=he(`sveltekit:snapshot`)??{},P={url:je({}),page:je({}),navigating:c(null),updated:Ne()};function ot(e){M[e]=w()}function st(e,t){let n=e+1;for(;M[n];)delete M[n],n+=1;for(n=t+1;N[n];)delete N[n],n+=1}function F(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(g)}async function ct(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(b||`/`);e&&await e.update()}}var lt,ut,I,L,dt,R,ft={},pt={},mt=[],ht=[],z=null;function B(){z?.fork?.then(e=>e?.discard()),z=null,Q={element:void 0,href:void 0}}var V=new Map,gt=new Set,_t=new Set,H=new Set,U={branch:[],error:null,url:null,nav:null},vt=!1,W=!1,yt=!0,G=!1,K=!1,bt=!1,xt=!1,St,q,J,Y,X=new Set,Ct=new Map,wt=new Map;async function Tt(e,t,n){if(globalThis.__sveltekit_1n6ye5w.data){let{q:e={},p:t={},l:n={},f:r={}}=globalThis.__sveltekit_1n6ye5w.data;for(let t in e)ft[t]=e[t];for(let e in n)ft[e]=n[e];for(let e in r)ft[e]=r[e];for(let e in t)pt[e]=t[e]}document.URL!==location.href&&(location.href=location.href),R=e,await e.hooks.init?.(),lt=me(e),L=document.documentElement,dt=t,ut=e.nodes[0],I=e.nodes[1],ut(),I(),q=history.state?.[x],J=history.state?.[S],q||(q=J=Date.now(),history.replaceState({...history.state,[x]:q,[S]:J},``));let r=M[q];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await nn(dt,n)):(await Z({type:`enter`,url:Ee(R.hash?ln(new URL(location.href)):location.href),replace_state:!0}),i()),tn()}function Et(){mt.length=0,xt=!1}function Dt(e){ht.some(e=>e?.snapshot)&&(N[e]=ht.map(e=>e?.snapshot?.capture()))}function Ot(e){N[e]?.forEach((e,t)=>{ht[t]?.snapshot?.restore(e)})}function kt(){ot(q),ge(Se,M),Dt(J),ge(xe,N)}async function At(e,n,r,i){let a,o;n.invalidateAll&&B(),await Z({type:`goto`,url:Ee(e),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:r,nav_token:i,accept:()=>{if(n.invalidateAll){xt=!0,a=new Set;for(let[e,t]of Ct)for(let[n,r]of t)r.resource?.reset(),a.add(O(e,n));o=new Set;for(let[e,t]of wt)for(let n of t.keys())o.add(O(e,n))}n.invalidate&&n.invalidate.forEach($t)}}),n.invalidateAll&&t().then(t).then(()=>{for(let[e,t]of Ct)for(let[n,{resource:r}]of t)a?.has(O(e,n))&&r.start();for(let[e,t]of wt)for(let[n,{resource:r}]of t)o?.has(O(e,n))&&r.reconnect()})}async function jt(e){if(e.id!==z?.id){B();let t={};X.add(t),z={id:e.id,token:t,promise:Vt({...e,preload:t}).then(e=>(X.delete(t),e.type===`loaded`&&e.state.error&&B(),e)),fork:null}}return z.promise}async function Mt(e){let t=(await Gt(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function Nt(e,t,n){let r={params:U.params,route:{id:U.route?.id??null},url:new URL(location.href)};if(U={...e.state,nav:r},$e(e.props.page),St=new R.root({target:t,props:{...e.props,stores:P,components:ht},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),n){let e={from:null,to:{...r,scroll:M[q]??w()},willUnload:!1,type:`enter`,complete:Promise.resolve()};H.forEach(t=>t(e))}Ot(J),W=!0}async function Pt({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(b&&(e.pathname===b||e.pathname===b+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=f(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:qe(n).map(e=>e.node.component),page:cn(k)}};s!==void 0&&(l.props.form=s);let u={},d=!k,p=0;for(let e=0;e<Math.max(n.length,U.branch.length);e+=1){let t=n[e],r=U.branch[e];t?.data!==r?.data&&(d=!0),t&&(u={...u,...t.data},d&&(l.props[`data_${p}`]=u),p+=1)}return(!U.url||e.href!==U.url.href||U.error!==a||s!==void 0&&s!==k.form||d)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:d?u:k.data}),l}async function Ft({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o=null,s=!0,c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();if(l.universal?.load){function e(...e){for(let t of e){let{href:e}=new URL(t,n);c.dependencies.add(e)}}let u={tracing:{enabled:!1,root:et,current:et},route:new Proxy(i,{get:(e,t)=>(s&&(c.route=!0),e[t])}),params:new Proxy(r,{get:(e,t)=>(s&&c.params.add(t),e[t])}),data:a?.data??null,url:h(n,()=>{s&&(c.url=!0)},e=>{s&&c.search_params.add(e)},R.hash),async fetch(t,r){t instanceof Request&&(r={body:t.method===`GET`||t.method===`HEAD`?void 0:await t.blob(),cache:t.cache,credentials:t.credentials,headers:[...t.headers].length>0?t?.headers:void 0,integrity:t.integrity,keepalive:t.keepalive,method:t.method,mode:t.mode,redirect:t.redirect,referrer:t.referrer,referrerPolicy:t.referrerPolicy,signal:t.signal,...r});let{resolved:i,promise:a}=It(t,r,n);return s&&e(i.href),a},setHeaders:g,depends:e,parent(){return s&&(c.parent=!0),t()},untrack(e){s=!1;try{return e()}finally{s=!0}}};o=await l.universal.load.call(null,u)??null}return{node:l,loader:e,server:a,universal:l.universal?.load?{type:`data`,data:o,uses:c}:null,data:o??a?.data??null,slash:l.universal?.trailingSlash??a?.slash}}function It(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:W?re(r,i.href,t):y(r,t)}}function Lt(e,t,n,r,i,a){if(xt)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==U.params[e])return!0;for(let e of i.dependencies)if(mt.some(t=>t(new URL(e))))return!0;return!1}function Rt(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function zt(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function Bt({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:cn(k),constructors:[]}}}async function Vt({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(z?.id===e)return X.delete(z.token),z.promise;let{errors:o,layouts:s,leaf:c}=i,d=[...s,c];o.forEach(e=>e?.().catch(g)),d.forEach(e=>e?.[1]().catch(g));let f=U.url?e!==qt(U.url):!1,p=U.route?i.id!==U.route.id:!1,ee=zt(U.url,n),m=!1,h=d.map(async(e,t)=>{if(!e)return;let a=U.branch[t];return e[1]===a?.loader&&!Lt(m,p,f,ee,a.universal?.uses,r)?a:(m=!0,Ft({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await h[n])?.data);return e},server_data_node:Rt(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of h)e.catch(g);let _=[];for(let e=0;e<d.length;e+=1)if(d[e])try{_.push(await h[e])}catch(t){if(t instanceof u)return{type:`redirect`,location:t.location};if(a&&X.has(a))return Bt({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=Je(t),c;if(t instanceof l)c=t.body;else{if(await P.updated.check())return await ct(),await F(n);c=await $(t,{params:r,url:n,route:{id:i.id}})}let d=await Ht(e,_,o);return d?Pt({url:n,params:r,branch:_.slice(0,d.idx).concat(d.node),errors:o,status:s,error:c,route:i}):await Yt(n,{id:i.id},c,s)}else _.push(void 0);return Pt({url:n,params:r,branch:_,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function Ht(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Ut({status:e,error:t,url:n,route:r}){let i={};try{return Pt({url:n,params:i,branch:[await Ft({loader:ut,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:Rt(null)}),{node:await I(),loader:I,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(t){if(t instanceof u){await At(new URL(t.location,location.href),{},0);return}let a=await R.get_error_template(),o=await $(t,{url:n,params:i,route:r}),s=a({status:e,message:String(o?.message??``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}),c=new DOMParser().parseFromString(s,`text/html`);throw document.documentElement.replaceChild(document.adoptNode(c.head),document.head),document.documentElement.replaceChild(document.adoptNode(c.body),document.body),t}}async function Wt(e){let t=e.href;if(V.has(t))return V.get(t);let n;try{let r=(async()=>{let t=await R.hooks.reroute({url:new URL(e),fetch:async(t,n)=>It(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);R.hash?n.hash=t:n.pathname=t,t=n}return t})();V.set(t,r),n=await r}catch{V.delete(t);return}return n}async function Gt(e,t){if(e&&!D(e,b,R.hash)){let n=await Wt(e);if(!n)return;let r=Kt(n);for(let n of lt){let i=n.exec(r);if(i)return{id:qt(e),invalidating:t,route:n,params:ee(i),url:e}}}}function Kt(e){return p(R.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(b.length))||`/`}function qt(e){return(R.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Jt({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=sn(U,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return G||gt.forEach(e=>e(c)),o?null:s}async function Z({type:n,url:r,popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c={},redirect_count:l=0,nav_token:u={},accept:f=g,block:p=g,event:ee}){let m=Y;Y=u;let h=await Gt(r,!1),_=n===`enter`?sn(U,h,r,n):Jt({url:r,type:n,delta:i?.delta,intent:h,scroll:i?.scroll,event:ee});if(!_){p(),Y===u&&(Y=m);return}let te=q,ne=J;f(),G=!0,W&&_.navigation.type!==`enter`&&P.navigating.set(A.current=_.navigation);let v=h&&await Vt(h);if(!v){if(D(r,b,R.hash))return await F(r,s);v=await Yt(r,{id:null},await $(new d(404,`Not Found`,`Not found: ${r.pathname}`),{url:r,params:{},route:{id:null}}),404,s)}if(r=h?.url||r,Y!==u){_.reject(Error(`navigation aborted`));return}if(!v)return;if(v.type===`redirect`){if(l<20){await Z({type:n,url:new URL(v.location,r),popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c,redirect_count:l+1,nav_token:u}),_.fulfil(void 0);return}if(v=await Ut({status:500,error:await $(Error(`Redirect loop`),{url:r,params:{},route:{id:null}}),url:r,route:{id:null}}),!v)return}else if(v.props.page.status>=400&&await P.updated.check())return await ct(),await F(r,s);if(Et(),ot(te),Dt(ne),v.props.page.url.pathname!==r.pathname&&(r.pathname=v.props.page.url.pathname),c=i?i.state:c,!i){let e=+!s,t={[x]:q+=e,[S]:J+=e,[Ce]:c};(s?history.replaceState:history.pushState).call(history,t,``,r),s||st(q,J)}let y=h&&z?.id===h.id?z.fork:null;z?.fork&&!y?B():(z=null,Q={element:void 0,href:void 0}),v.props.page.state=c;let re;if(W){let t=(await Promise.all(Array.from(_t,e=>e(_.navigation)))).filter(e=>typeof e==`function`);if(t.length>0){function e(){t.forEach(e=>{H.delete(e)})}t.push(e),t.forEach(e=>{H.add(e)})}let n=_.navigation.to;U={...v.state,nav:{params:n.params,route:n.route,url:n.url}},v.props.page&&(v.props.page.url=r),!a&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();let i=y&&await y;i?re=i.commit():(j=null,St.$set(v.props),j&&Object.assign(v.props.page,j),$e(v.props.page),re=e?.()),bt=!0}else await Nt(v,dt,!1);let{activeElement:ie}=document;if(await re,await t(),await t(),Y!==u){_.reject(Error(`navigation aborted`));return}v.props.page&&j&&Object.assign(v.props.page,j);let ae=null;if(yt){let e=i?i.scroll:o?w():null;e?scrollTo(e.x,e.y):(ae=r.hash&&document.getElementById(un(r)))?ae.scrollIntoView():scrollTo(0,0)}let oe=document.activeElement!==ie&&document.activeElement!==document.body;!a&&!oe&&on(r,!ae),yt=!0,G=!1,_.fulfil(void 0),_.navigation.to&&(_.navigation.to.scroll=w()),H.forEach(e=>e(_.navigation)),n===`popstate`&&Ot(J),P.navigating.set(A.current=null)}async function Yt(e,t,n,r,i){return e.origin===Te&&e.pathname===location.pathname&&!vt?await Ut({status:r,error:n,url:e,route:t}):await F(e,i)}var Q={element:void 0,href:void 0};function Xt(){let e,t;L.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{i(n,C.hover)},20)});function n(e){e.defaultPrevented||i(e.composedPath()[0],C.tap)}L.addEventListener(`mousedown`,n),L.addEventListener(`touchstart`,n,{passive:!0});let r=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(Mt(new URL(t.target.href)),r.unobserve(t.target))},{threshold:0});async function i(e,n){let r=ke(e,L),i=r===Q.element&&r?.href===Q.href&&n>=t;if(!r||i)return;let{url:a,external:o,download:s}=Ae(r,b,R.hash);if(o||s)return;let c=E(r),l=a&&qt(U.url)===qt(a);if(!(c.reload||l)){if(n<=c.preload_data){Q={element:r,href:r.href},t=C.tap;let e=await Gt(a,!1);if(!e)return;jt(e)}else n<=c.preload_code&&(Q={element:r,href:r.href},t=n,Mt(a))}}function a(){r.disconnect();for(let e of L.querySelectorAll(`a`)){let{url:t,external:n,download:i}=Ae(e,b,R.hash);if(n||i)continue;let a=E(e);a.reload||(a.preload_code===C.viewport&&r.observe(e),a.preload_code===C.eager&&Mt(t))}}H.add(a),a()}function $(e,t){if(e instanceof l)return e.body;let n=Je(e),r=Ye(e);return R.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Zt(e,t){nt(()=>(e.add(t),()=>{e.delete(t)}))}function Qt(e){Zt(_t,e)}function $t(e){if(typeof e==`function`)mt.push(e);else{let{href:t}=new URL(e,location.href);mt.push(e=>e.href===t)}}function en(e,t){let n={[x]:q,[S]:J,[we]:k.url.href,[Ce]:t};history.replaceState(n,``,Ee(e)),k.state=t,St.$set({page:it(()=>cn(k))})}function tn(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(kt(),!G){let e=sn(U,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};gt.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&kt()}),navigator.connection?.saveData||Xt(),L.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=ke(t.composedPath()[0],L);if(!n)return;let{url:r,external:i,target:a,download:o}=Ae(n,b,R.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=E(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&r.protocol!==`https:`&&r.protocol!==`http:`||o)return;let[c,l]=(R.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l)){Jt({url:r,type:`link`,event:t})?G=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=U.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(K=!0,ot(q),e(r),!s.replace_state)return;K=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Z({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),L.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(D(r,b,!1))return;let i=e.target,a=E(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Z({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!an){if(t.state?.[`sveltekit:history`]){let n=t.state[x];if(Y={},n===q)return;let r=M[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[S],s=U.url?m(location)===m(U.url):!1;if(o===J&&(bt||s)){i!==k.state&&(k.state=i),e(a),M[q]=w(),r&&scrollTo(r.x,r.y),q=n;return}let c=n-q;await Z({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{q=n,J=o},block:()=>{history.go(-c)},nav_token:Y,event:t})}else K||(e(new URL(location.href)),R.hash&&location.reload())}}),addEventListener(`hashchange`,()=>{K&&(K=!1,history.replaceState({...history.state,[x]:++q,[S]:J},``,location.href))});for(let e of document.querySelectorAll(`link`))at.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&P.navigating.set(A.current=null)});function e(e){U.url=k.url=e,P.page.set(cn(k)),P.page.notify()}}async function nn(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){vt=!0;let l=new URL(location.href),d;({params:i={},route:a={id:null}}=await Gt(l,!1)||{}),d=lt.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=rn(r.uses)),Ft({loader:R.nodes[t],url:l,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:Rt(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await Pt({url:l,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof u)return await F(new URL(t.location,location.href));f=await Ut({status:Je(t),error:await $(t,{url:l,params:i,route:a}),url:l,route:a}),e.textContent=``,p=!1}f&&(f.props.page&&(f.props.page.state={}),await Nt(f,e,p))}function rn(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var an=!1;function on(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=un(e);if(n&&document.getElementById(n)){let{x:r,y:i}=w();setTimeout(()=>{let a=history.state;an=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),an=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function sn(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(g),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:w()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function cn(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function ln(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function un(e){let t;if(R.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{k as a,ye as c,A as i,en as n,Pe as o,Tt as r,be as s,Qt as t};