@cyanheads/federal-regulations-mcp-server 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/AGENTS.md +1 -1
  2. package/CLAUDE.md +1 -1
  3. package/README.md +14 -13
  4. package/changelog/0.5.x/0.5.1.md +27 -0
  5. package/dist/index.js +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/mcp-server/resources/definitions/document.resource.js +1 -1
  8. package/dist/mcp-server/resources/definitions/document.resource.js.map +1 -1
  9. package/dist/mcp-server/tools/definitions/browse-cfr.tool.d.ts.map +1 -1
  10. package/dist/mcp-server/tools/definitions/browse-cfr.tool.js +1 -20
  11. package/dist/mcp-server/tools/definitions/browse-cfr.tool.js.map +1 -1
  12. package/dist/mcp-server/tools/definitions/cfr-part.d.ts +22 -0
  13. package/dist/mcp-server/tools/definitions/cfr-part.d.ts.map +1 -0
  14. package/dist/mcp-server/tools/definitions/cfr-part.js +27 -0
  15. package/dist/mcp-server/tools/definitions/cfr-part.js.map +1 -0
  16. package/dist/mcp-server/tools/definitions/find-comments.tool.js +2 -2
  17. package/dist/mcp-server/tools/definitions/find-comments.tool.js.map +1 -1
  18. package/dist/mcp-server/tools/definitions/format-utils.d.ts +15 -0
  19. package/dist/mcp-server/tools/definitions/format-utils.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/format-utils.js +19 -0
  21. package/dist/mcp-server/tools/definitions/format-utils.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/fr-citation.d.ts +24 -0
  23. package/dist/mcp-server/tools/definitions/fr-citation.d.ts.map +1 -0
  24. package/dist/mcp-server/tools/definitions/fr-citation.js +29 -0
  25. package/dist/mcp-server/tools/definitions/fr-citation.js.map +1 -0
  26. package/dist/mcp-server/tools/definitions/get-cfr-section.tool.js +1 -1
  27. package/dist/mcp-server/tools/definitions/get-cfr-section.tool.js.map +1 -1
  28. package/dist/mcp-server/tools/definitions/get-docket.tool.d.ts +2 -1
  29. package/dist/mcp-server/tools/definitions/get-docket.tool.d.ts.map +1 -1
  30. package/dist/mcp-server/tools/definitions/get-docket.tool.js +9 -5
  31. package/dist/mcp-server/tools/definitions/get-docket.tool.js.map +1 -1
  32. package/dist/mcp-server/tools/definitions/get-document.tool.d.ts +11 -5
  33. package/dist/mcp-server/tools/definitions/get-document.tool.d.ts.map +1 -1
  34. package/dist/mcp-server/tools/definitions/get-document.tool.js +46 -14
  35. package/dist/mcp-server/tools/definitions/get-document.tool.js.map +1 -1
  36. package/dist/mcp-server/tools/definitions/index.d.ts +217 -178
  37. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  38. package/dist/mcp-server/tools/definitions/list-open-comments.tool.d.ts +6 -3
  39. package/dist/mcp-server/tools/definitions/list-open-comments.tool.d.ts.map +1 -1
  40. package/dist/mcp-server/tools/definitions/list-open-comments.tool.js +41 -31
  41. package/dist/mcp-server/tools/definitions/list-open-comments.tool.js.map +1 -1
  42. package/dist/mcp-server/tools/definitions/search-rules.tool.d.ts +34 -3
  43. package/dist/mcp-server/tools/definitions/search-rules.tool.d.ts.map +1 -1
  44. package/dist/mcp-server/tools/definitions/search-rules.tool.js +206 -23
  45. package/dist/mcp-server/tools/definitions/search-rules.tool.js.map +1 -1
  46. package/dist/services/federal-register/comment-period.d.ts +17 -0
  47. package/dist/services/federal-register/comment-period.d.ts.map +1 -0
  48. package/dist/services/federal-register/comment-period.js +28 -0
  49. package/dist/services/federal-register/comment-period.js.map +1 -0
  50. package/dist/services/federal-register/federal-register-service.d.ts +20 -6
  51. package/dist/services/federal-register/federal-register-service.d.ts.map +1 -1
  52. package/dist/services/federal-register/federal-register-service.js +148 -35
  53. package/dist/services/federal-register/federal-register-service.js.map +1 -1
  54. package/dist/services/federal-register/types.d.ts +79 -15
  55. package/dist/services/federal-register/types.d.ts.map +1 -1
  56. package/dist/services/regulations-gov/regulations-gov-service.d.ts.map +1 -1
  57. package/dist/services/regulations-gov/regulations-gov-service.js +1 -0
  58. package/dist/services/regulations-gov/regulations-gov-service.js.map +1 -1
  59. package/dist/services/regulations-gov/types.d.ts +2 -0
  60. package/dist/services/regulations-gov/types.d.ts.map +1 -1
  61. package/package.json +1 -1
  62. package/server.json +3 -3
package/AGENTS.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** federal-regulations-mcp-server
4
- **Version:** 0.5.0
4
+ **Version:** 0.5.1
5
5
  **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `0.13.6`
6
6
  **Engines:** Bun ≥1.4.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/server` ^2.0.0
package/CLAUDE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** federal-regulations-mcp-server
4
- **Version:** 0.5.0
4
+ **Version:** 0.5.1
5
5
  **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `0.13.6`
6
6
  **Engines:** Bun ≥1.4.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/server` ^2.0.0
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![Version](https://img.shields.io/badge/Version-0.5.0-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/federal-regulations-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/federal-regulations-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/federal-regulations-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.5.1-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/federal-regulations-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/federal-regulations-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/federal-regulations-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -35,8 +35,8 @@ US federal regulatory law from three official sources: the Federal Register (pro
35
35
 
36
36
  | Tool | Description |
37
37
  |:---|:---|
38
- | `regulations_search_rules` | Search Federal Register proposed rules, final rules, notices, and presidential documents by query, type, agency, and date range |
39
- | `regulations_get_document` | Fetch one Federal Register document by number, with the docket ID, CFR parts, and comment count that chain into other tools |
38
+ | `regulations_search_rules` | Search Federal Register proposed rules, final rules, notices, and presidential documents by query, type, agency, date range, CFR part, docket number, and RIN, or resolve a page cite to its document |
39
+ | `regulations_get_document` | Fetch one Federal Register document by number, with the docket IDs, CFR parts, citation, comment count, and comment URL that chain into other tools |
40
40
  | `regulations_browse_cfr` | List CFR titles, a title's chapters, or every section and appendix in a part, or full-text-search the codified CFR |
41
41
  | `regulations_get_cfr_section` | Read codified CFR text for a section, whole part, or appendix, current or as of a past date |
42
42
  | `regulations_get_docket` | Pull a rulemaking docket and its filed documents from Regulations.gov (key required) |
@@ -56,15 +56,16 @@ Both resources mirror a tool (`regulations_get_document`, `regulations_get_cfr_s
56
56
 
57
57
  ### `regulations_search_rules` <sub>tool</sub>
58
58
 
59
- - Optional full-text `query`, filtered by `type` (`PRORULE` / `RULE` / `NOTICE` / `PRESDOCU`), `agencies` (Federal Register slugs such as `environmental-protection-agency`, not names or acronyms), and `published_after` / `published_before`; `per_page` 2–100 (default 20), `page` 1–50
60
- - Each result carries `documentNumber`, `agencies[].slug`, `docketIds`, `regulationIdNumbers`, and `cfrReferences` for the follow-up tools. `totalPages` and `nextPage` page the results. The Federal Register serves 50 pages, so `truncated` marks a set larger than 50 × `per_page` (1,000 at the default, 5,000 at 100); narrow the date window rather than paging deeper. `totalCount` stops at 10,000, which means at least that many. A window whose start falls after its end fails with `date_range_inverted`, and `invalid_filter` names a rejected parameter
59
+ - Optional full-text `query`, filtered by `type` (`PRORULE` / `RULE` / `NOTICE` / `PRESDOCU`), `agencies` (Federal Register slugs such as `environmental-protection-agency`, not names or acronyms), `published_after` / `published_before`, `cfr_title` + `cfr_part` (a part number or range such as `140-143`; `cfr_part` needs `cfr_title`, else `title_required_for_part`), `docket_id` (a docket number as the Federal Register prints it), and `rin`, all combined; `per_page` 2–100 (default 20), `page` 1–50
60
+ - `citation` (`"89 FR 49102"`) with `citation_date` (the date its source note prints beside it) returns the documents printed on that page, in page order, volume 59 (1994) onward. A cite missing its date, or combined with the date window, fails with `citation_incomplete`; a volume before 59 or a date from another year fails with `citation_out_of_range`. When no document spans the page, the notice gives that day's page range
61
+ - Each result carries `documentNumber`, `citation` / `startPage` / `endPage`, `agencies[].slug`, the printed `docketIds`, `regulationsGovDocketId` and `regulationsGovDocumentId`, `commentCount`, `commentUrl`, `commentsCloseOn` with `commentPeriodOpen` (open through 11:59 PM Eastern on the close date), `regulationIdNumbers`, and `cfrReferences` for the follow-up tools. `totalPages` and `nextPage` page the results. The Federal Register serves 50 pages, so `truncated` marks a set larger than 50 × `per_page` (1,000 at the default, 5,000 at 100); narrow the date window rather than paging deeper. `totalCount` stops at 10,000, which means at least that many. A window whose start falls after its end fails with `date_range_inverted`, and `invalid_filter` names a rejected parameter
61
62
 
62
63
  ---
63
64
 
64
65
  ### `regulations_get_document` <sub>tool</sub>
65
66
 
66
67
  - `document_number` in any form the Federal Register issues: `2024-07773` from 2010 on, and older and correction numbers such as `98-1572`, `E9-25990`, or `C1-2009-30484`; `include_full_text` adds the plain-text body as one window of `max_chars` (default 64,000, max 200,000) starting at `offset`, and passing either of those implies it
67
- - Returns metadata plus the handles other tools take: `docketId`, `regulationsGovDocumentId`, `commentCount`, and `cfrReferences`. With text, `fullTextLength` and `fullTextNextOffset` (present while text remains) page the body; a major final rule runs past a million characters
68
+ - Returns metadata plus the handles other tools take: the Regulations.gov `docketId` and `regulationsGovDocumentId`, the printed `docketIds`, `citation` / `startPage` / `endPage`, `commentCount`, `commentUrl`, `commentPeriodOpen`, and `cfrReferences`. With text, `fullTextLength` and `fullTextNextOffset` (present while text remains) page the body; a major final rule runs past a million characters
68
69
 
69
70
  ---
70
71
 
@@ -84,8 +85,8 @@ Both resources mirror a tool (`regulations_get_document`, `regulations_get_cfr_s
84
85
 
85
86
  ### `regulations_get_docket` <sub>tool</sub> · key required
86
87
 
87
- - `docket_id` (e.g. `EPA-HQ-OAR-2025-0194`); `document_types` filters to `Proposed Rule`, `Rule`, `Notice`, `Supporting & Related Material`, or `Other`; `per_page` 5–250 (default 25), `page` 1–40
88
- - Returns the docket's metadata, `documentCount`, and `documents[]`, each with an `objectId` for `regulations_find_comments` and a `frDocNum` back to `regulations_get_document`. `totalPages` and `nextPage` page the documents; Regulations.gov serves 40 pages, so `truncated` marks a docket larger than 40 × `per_page` (10,000 at 250)
88
+ - `docket_id`, the Regulations.gov docket ID (e.g. `EPA-HQ-OAR-2025-0194`) — `regulationsGovDocketId` on a search or open-comments row, `docketId` from `regulations_get_document`, not a printed `docketIds` entry; `document_types` filters to `Proposed Rule`, `Rule`, `Notice`, `Supporting & Related Material`, or `Other`; `per_page` 5–250 (default 25), `page` 1–40
89
+ - Returns the docket's metadata, `documentCount`, and `documents[]`, each with an `objectId` for `regulations_find_comments`, a `frDocNum` back to `regulations_get_document`, and `commentPeriodOpen` as Regulations.gov reports it. `totalPages` and `nextPage` page the documents; Regulations.gov serves 40 pages, so `truncated` marks a docket larger than 40 × `per_page` (10,000 at 250)
89
90
 
90
91
  ---
91
92
 
@@ -101,15 +102,15 @@ Both resources mirror a tool (`regulations_get_document`, `regulations_get_cfr_s
101
102
  ### `regulations_list_open_comments` <sub>tool</sub>
102
103
 
103
104
  - Optional `query`, `type` (`PRORULE`, `RULE`, `NOTICE`; default `["PRORULE", "RULE"]`), `agencies` (Federal Register slugs), and `closing_before`; `per_page` 1–100 (default 20)
104
- - Rows sort by closing date, soonest first, and carry `commentsCloseOn`, `daysRemaining`, `documentNumber`, and `docketIds`. `totalPages` and `nextPage` page the window; `truncated` means the Federal Register's 10,000-document limit was reached
105
- - Keyless. `keyed` reports whether `commentCount` was filled in, which happens only when `REGULATIONS_GOV_API_KEY` is set
105
+ - Rows sort by closing date, soonest first, and carry `commentsCloseOn`, `daysRemaining`, `documentNumber`, the printed `docketIds`, `regulationsGovDocketId` and `regulationsGovDocumentId`, `commentCount`, and `commentUrl`. `asOf` is today's date in Eastern time, so a document stays listed through its close day. `totalPages` and `nextPage` page the window; `truncated` means the Federal Register's 10,000-document limit was reached
106
+ - Keyless. `keyed` reports whether `REGULATIONS_GOV_API_KEY` is set, which `regulations_get_docket` and `regulations_find_comments` need to follow up on a row
106
107
 
107
108
  ---
108
109
 
109
110
  ### `regulations://document/{documentNumber}` <sub>resource</sub>
110
111
 
111
112
  - `documentNumber` in any Federal Register form (`2024-07773`, `98-1572`, `E9-25990`); the payload is `regulations_get_document`'s without the body text
112
- - `docketId`, `cfrReferences`, and `commentCount` chain into the comment and CFR tools
113
+ - `docketId`, `regulationsGovDocumentId`, the printed `docketIds`, `cfrReferences`, `citation`, `commentCount`, and `commentUrl` chain into the search, comment, and CFR tools
113
114
 
114
115
  ---
115
116
 
@@ -222,7 +223,7 @@ MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
222
223
  ### Prerequisites
223
224
 
224
225
  - [Bun v1.4.0](https://bun.sh/) or higher (or Node.js v24+).
225
- - Optional: a free [api.data.gov key](https://api.data.gov/signup/) for the Regulations.gov tools and comment counts.
226
+ - Optional: a free [api.data.gov key](https://api.data.gov/signup/) for the Regulations.gov tools.
226
227
 
227
228
  ### Installation
228
229
 
@@ -255,7 +256,7 @@ cp .env.example .env
255
256
 
256
257
  | Variable | Description | Default |
257
258
  |:---|:---|:---|
258
- | `REGULATIONS_GOV_API_KEY` | api.data.gov key for `regulations_get_docket`, `regulations_find_comments`, and comment counts in `regulations_list_open_comments`. | none |
259
+ | `REGULATIONS_GOV_API_KEY` | api.data.gov key for `regulations_get_docket` and `regulations_find_comments`. | none |
259
260
  | `FEDERAL_REGISTER_BASE_URL` | Federal Register API v1 base URL. | `https://www.federalregister.gov/api/v1` |
260
261
  | `ECFR_BASE_URL` | eCFR API base URL. | `https://www.ecfr.gov/api` |
261
262
  | `REGULATIONS_GOV_BASE_URL` | Regulations.gov API v4 base URL. | `https://api.regulations.gov/v4` |
@@ -0,0 +1,27 @@
1
+ ---
2
+ summary: "regulations_search_rules filters by CFR part, printed docket number, and RIN and resolves a CFR source-note cite to its document; Federal Register rows carry keyless Regulations.gov IDs, comment counts, and comment URLs, plus whether the comment period is open."
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.5.1 — 2026-09-25
8
+
9
+ ## Added
10
+
11
+ - **`regulations_search_rules` filters `cfr_title`, `cfr_part`, `docket_id`, and `rin`**, ANDed with the rest. `cfr_part` takes a part or a range (`"140-143"`) and needs `cfr_title` (`title_required_for_part`); `docket_id` matches the docket numbers the Federal Register prints [#47](https://github.com/cyanheads/federal-regulations-mcp-server/issues/47).
12
+ - **`citation` + `citation_date` on `regulations_search_rules`** resolve a page cite (`"89 FR 49102"`, `2024-06-11`) to the documents printed on that page, volume 59 (1994) on. `citation_incomplete` and `citation_out_of_range` reject a bad pairing before any request; an empty result reports that day's page span [#46](https://github.com/cyanheads/federal-regulations-mcp-server/issues/46).
13
+ - **`citation`, `startPage`, `endPage`** on `regulations_search_rules` rows and `regulations_get_document`, null where the Federal Register records no pages [#46](https://github.com/cyanheads/federal-regulations-mcp-server/issues/46).
14
+ - **`regulationsGovDocketId`, `regulationsGovDocumentId`, `commentCount`, `commentUrl`** on `regulations_search_rules` and `regulations_list_open_comments` rows, read from the Federal Register with no key; `regulations_get_document` adds `commentUrl` and the printed `docketIds` [#49](https://github.com/cyanheads/federal-regulations-mcp-server/issues/49).
15
+ - **`commentPeriodOpen`** on `regulations_search_rules` rows and `regulations_get_document` (true through 11:59 PM Eastern on `commentsCloseOn`, null with no close date), and on `regulations_get_docket` documents, relayed from Regulations.gov's `openForComment` [#50](https://github.com/cyanheads/federal-regulations-mcp-server/issues/50).
16
+
17
+ ## Changed
18
+
19
+ - **`regulations_list_open_comments`** fills `commentCount` without `REGULATIONS_GOV_API_KEY` and drops the "counts unavailable" notice; `keyed` now reports whether `regulations_get_docket` / `regulations_find_comments` can follow up on a row [#49](https://github.com/cyanheads/federal-regulations-mcp-server/issues/49).
20
+ - **`docketIds`** is described as the Federal Register's printed docket numbers. `regulations_get_docket`, `regulations_find_comments`, and the `find_comments` empty-docket notice point at `regulationsGovDocketId` instead [#49](https://github.com/cyanheads/federal-regulations-mcp-server/issues/49).
21
+ - **`regulations_get_cfr_section` `bodyText`** names `citation` + `citation_date` as the path from a source-note cite to its rulemaking [#46](https://github.com/cyanheads/federal-regulations-mcp-server/issues/46).
22
+
23
+ ## Fixed
24
+
25
+ - **`commentsCloseOn` and `commentEndDate`** no longer read as "still open for comment": the first is the inclusive Eastern close date, the second the UTC instant the period ends [#50](https://github.com/cyanheads/federal-regulations-mcp-server/issues/50).
26
+ - **`regulations_list_open_comments` `asOf`** is today's Eastern date, so documents closing today stay listed after 8 PM EDT [#50](https://github.com/cyanheads/federal-regulations-mcp-server/issues/50).
27
+ - **`cfrReferences`** keeps parts the Federal Register serves as numbers, which most documents before 2020 do; they were dropped [#47](https://github.com/cyanheads/federal-regulations-mcp-server/issues/47).
package/dist/index.js CHANGED
@@ -31,7 +31,7 @@ await createApp({
31
31
  tools: allToolDefinitions,
32
32
  resources: allResourceDefinitions,
33
33
  prompts: [],
34
- instructions: 'US federal regulatory law over three official sources. The Federal Register (regulations_search_rules, regulations_get_document, regulations_list_open_comments) and eCFR (regulations_browse_cfr, regulations_get_cfr_section) tools are keyless. The Regulations.gov tools (regulations_get_docket, regulations_find_comments) need REGULATIONS_GOV_API_KEY (free at https://api.data.gov/signup/) and return an actionable auth_required error without it; regulations_list_open_comments runs keyless and only adds comment counts when the key is present. Trace a rule end to end: search_rules → get_document (yields docket ID + CFR parts) → find_comments → get_cfr_section.',
34
+ instructions: "US federal regulatory law over three official sources. The Federal Register (regulations_search_rules, regulations_get_document, regulations_list_open_comments) and eCFR (regulations_browse_cfr, regulations_get_cfr_section) tools are keyless. The Regulations.gov tools (regulations_get_docket, regulations_find_comments) need REGULATIONS_GOV_API_KEY (free at https://api.data.gov/signup/) and return an actionable auth_required error without it; comment counts and Regulations.gov IDs on the Federal Register tools need no key. Trace a rule end to end: search_rules → get_document (yields docket ID + CFR parts) → find_comments → get_cfr_section, and back from a section's source-note cite with search_rules citation + citation_date.",
35
35
  setup(core) {
36
36
  initFederalRegisterService(core.config, core.storage);
37
37
  initEcfrService(core.config, core.storage);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAC;AACrG,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAElG,MAAM,SAAS,CAAC;IACd,IAAI,EAAE,gCAAgC;IACtC,KAAK,EAAE,gCAAgC;IACvC,+EAA+E;IAC/E,wEAAwE;IACxE,yEAAyE;IACzE,2EAA2E;IAC3E,wEAAwE;IACxE,WAAW,EAAE,WAAW;IACxB,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,sBAAsB;IACjC,OAAO,EAAE,EAAE;IACX,YAAY,EACV,wpBAAwpB;IAC1pB,KAAK,CAAC,IAAI;QACR,0BAA0B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,uEAAuE;QACvE,KAAK,qBAAqB,CACxB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,eAAe,EAAE,CAAC,qBAAqB,CACxC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,iBAAiB,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAC;AACrG,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAElG,MAAM,SAAS,CAAC;IACd,IAAI,EAAE,gCAAgC;IACtC,KAAK,EAAE,gCAAgC;IACvC,+EAA+E;IAC/E,wEAAwE;IACxE,yEAAyE;IACzE,2EAA2E;IAC3E,wEAAwE;IACxE,WAAW,EAAE,WAAW;IACxB,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,sBAAsB;IACjC,OAAO,EAAE,EAAE;IACX,YAAY,EACV,+tBAA+tB;IACjuB,KAAK,CAAC,IAAI;QACR,0BAA0B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,uEAAuE;QACvE,KAAK,qBAAqB,CACxB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,eAAe,EAAE,CAAC,qBAAqB,CACxC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,iBAAiB,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC,CAAC"}
@@ -12,7 +12,7 @@ import { getFederalRegisterService } from '../../../services/federal-register/fe
12
12
  export const documentResource = resource('regulations://document/{documentNumber}', {
13
13
  name: 'federal-register-document',
14
14
  title: 'Federal Register document',
15
- description: 'A single Federal Register document by FR number: metadata plus the cross-source handles (docket ID, affected CFR parts, comment count) that chain into the comment and codified-text tools. Mirrors regulations_get_document (full text omitted).',
15
+ description: 'A single Federal Register document by FR number: metadata, citation and pages, and the cross-source handles (Regulations.gov docket and document IDs, printed docket numbers, affected CFR parts, comment count and comment URL) that chain into the search, comment, and codified-text tools. Mirrors regulations_get_document (full text omitted).',
16
16
  mimeType: 'application/json',
17
17
  /**
18
18
  * Validated as the template hands it over: the pattern admits only unreserved
@@ -1 +1 @@
1
- {"version":3,"file":"document.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/document.resource.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAEpG,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,yCAAyC,EAAE;IAClF,IAAI,EAAE,2BAA2B;IACjC,KAAK,EAAE,2BAA2B;IAClC,WAAW,EACT,mPAAmP;IACrP,QAAQ,EAAE,kBAAkB;IAC5B;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,cAAc,EAAE,gBAAgB,EAAE,CAAC,QAAQ,CACzC,2IAA2I,CAC5I;KACF,CAAC;IACF,MAAM,EAAE;QACN;YACE,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,uDAAuD;YAC7D,QAAQ,EACN,6HAA6H;SAChI;QACD;YACE,MAAM,EAAE,sBAAsB;YAC9B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,2EAA2E;YACjF,QAAQ,EAAE,6EAA6E;SACxF;KACF;IAED,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG;QACvB,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CACtC,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC,EAChD,SAAS,EACT,GAAG,CACJ,CAAC;QACF,6EAA6E;QAC7E,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACX,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,mCAAmC;gBACxC,IAAI,EAAE,mCAAmC;gBACzC,QAAQ,EAAE,kBAAkB;aAC7B;SACF;KACF,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"document.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/document.resource.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAEpG,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,yCAAyC,EAAE;IAClF,IAAI,EAAE,2BAA2B;IACjC,KAAK,EAAE,2BAA2B;IAClC,WAAW,EACT,sVAAsV;IACxV,QAAQ,EAAE,kBAAkB;IAC5B;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,cAAc,EAAE,gBAAgB,EAAE,CAAC,QAAQ,CACzC,2IAA2I,CAC5I;KACF,CAAC;IACF,MAAM,EAAE;QACN;YACE,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,uDAAuD;YAC7D,QAAQ,EACN,6HAA6H;SAChI;QACD;YACE,MAAM,EAAE,sBAAsB;YAC9B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,2EAA2E;YACjF,QAAQ,EAAE,6EAA6E;SACxF;KACF;IAED,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG;QACvB,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CACtC,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC,EAChD,SAAS,EACT,GAAG,CACJ,CAAC;QACF,6EAA6E;QAC7E,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACX,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,mCAAmC;gBACxC,IAAI,EAAE,mCAAmC;gBACzC,QAAQ,EAAE,kBAAkB;aAC7B;SACF;KACF,CAAC;CACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"browse-cfr.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/browse-cfr.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAmJjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyXxB,CAAC"}
1
+ {"version":3,"file":"browse-cfr.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/browse-cfr.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA6HjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyXxB,CAAC"}
@@ -23,6 +23,7 @@ import { tool, z } from '@cyanheads/mcp-ts-core';
23
23
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
24
24
  import { ECFR_SEARCH_WINDOW, getEcfrService, outsideCoverageMessage, today, } from '../../../services/ecfr/ecfr-service.js';
25
25
  import { mirrorReady, mirrorScope, mirrorSearch, } from '../../../services/ecfr-mirror/ecfr-mirror.js';
26
+ import { normalizePart } from './cfr-part.js';
26
27
  import { isoDate } from './date-input.js';
27
28
  /** Restriction clause naming the caller's own title (and part) filter, if any. */
28
29
  function filterClause(title, part) {
@@ -43,26 +44,6 @@ function describeMirrorScope(scope, title, part) {
43
44
  function describeLiveScope(date, title, part) {
44
45
  return `Live eCFR search — all CFR titles${filterClause(title, part)}, text in effect on ${date}.`;
45
46
  }
46
- /**
47
- * Canonicalize a caller-supplied part identifier, or `undefined` when nothing is
48
- * left of it. eCFR matches `hierarchy[part]` exactly, and the mirror matches its
49
- * `part` column exactly, so "Part 58" and "58 " both return zero rather than an
50
- * error — strip the spelled-out prefix and the surrounding whitespace that
51
- * produce that silent miss. A value that is blank to begin with, or blank once
52
- * stripped, is no filter at all: returning it as one would put "part " in
53
- * `sourceScope` and claim a restriction the query never carried.
54
- *
55
- * Deliberately conservative beyond that: case and leading zeros are left alone.
56
- * Real part identifiers include an uppercase one (26 CFR 16A) and lowercase
57
- * suffixes (14 CFR 1203a), and none begin with a zero, so folding either would
58
- * rewrite a caller's part into a different one.
59
- */
60
- function normalizePart(part) {
61
- return (part
62
- ?.trim()
63
- .replace(/^(?:parts?|pts?\.?)\s+/i, '')
64
- .trim() || undefined);
65
- }
66
47
  /** Largest `per_page` the tool accepts — a truncation notice only suggests raising it below this. */
67
48
  const MAX_PER_PAGE = 50;
68
49
  /** The "or raise per_page" clause, offered only while a larger page exists. */
@@ -1 +1 @@
1
- {"version":3,"file":"browse-cfr.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/browse-cfr.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browse-cfr.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/browse-cfr.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @fileoverview Canonical form of a caller-supplied CFR part, shared by the part
3
+ * inputs of regulations_browse_cfr and regulations_search_rules.
4
+ * @module mcp-server/tools/definitions/cfr-part
5
+ */
6
+ /**
7
+ * Canonicalize a caller-supplied part identifier, or `undefined` when nothing is
8
+ * left of it. eCFR matches `hierarchy[part]` exactly, the mirror matches its
9
+ * `part` column exactly, and the Federal Register rejects anything but a number
10
+ * or a range, so "Part 58" and "58 " either miss or fail — strip the spelled-out
11
+ * prefix and the surrounding whitespace that cause it. A value that is blank to
12
+ * begin with, or blank once stripped, is no filter at all: returning it as one
13
+ * would put "part " in `sourceScope` and claim a restriction the query never
14
+ * carried.
15
+ *
16
+ * Deliberately conservative beyond that: case and leading zeros are left alone.
17
+ * Real part identifiers include an uppercase one (26 CFR 16A) and lowercase
18
+ * suffixes (14 CFR 1203a), and none begin with a zero, so folding either would
19
+ * rewrite a caller's part into a different one.
20
+ */
21
+ export declare function normalizePart(part: string | undefined): string | undefined;
22
+ //# sourceMappingURL=cfr-part.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cfr-part.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/cfr-part.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAO1E"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @fileoverview Canonical form of a caller-supplied CFR part, shared by the part
3
+ * inputs of regulations_browse_cfr and regulations_search_rules.
4
+ * @module mcp-server/tools/definitions/cfr-part
5
+ */
6
+ /**
7
+ * Canonicalize a caller-supplied part identifier, or `undefined` when nothing is
8
+ * left of it. eCFR matches `hierarchy[part]` exactly, the mirror matches its
9
+ * `part` column exactly, and the Federal Register rejects anything but a number
10
+ * or a range, so "Part 58" and "58 " either miss or fail — strip the spelled-out
11
+ * prefix and the surrounding whitespace that cause it. A value that is blank to
12
+ * begin with, or blank once stripped, is no filter at all: returning it as one
13
+ * would put "part " in `sourceScope` and claim a restriction the query never
14
+ * carried.
15
+ *
16
+ * Deliberately conservative beyond that: case and leading zeros are left alone.
17
+ * Real part identifiers include an uppercase one (26 CFR 16A) and lowercase
18
+ * suffixes (14 CFR 1203a), and none begin with a zero, so folding either would
19
+ * rewrite a caller's part into a different one.
20
+ */
21
+ export function normalizePart(part) {
22
+ return (part
23
+ ?.trim()
24
+ .replace(/^(?:parts?|pts?\.?)\s+/i, '')
25
+ .trim() || undefined);
26
+ }
27
+ //# sourceMappingURL=cfr-part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cfr-part.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/cfr-part.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,IAAwB;IACpD,OAAO,CACL,IAAI;QACF,EAAE,IAAI,EAAE;SACP,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;SACtC,IAAI,EAAE,IAAI,SAAS,CACvB,CAAC;AACJ,CAAC"}
@@ -77,7 +77,7 @@ export const findCommentsTool = tool('regulations_find_comments', {
77
77
  docket_id: z
78
78
  .string()
79
79
  .optional()
80
- .describe('Fetch all comments in a docket by docket ID (e.g. "EPA-HQ-OAR-2025-0194"). Broadest scope. Exactly one of docket_id / document_object_id / fr_document_number / comment_id is required — supplying two is rejected, not resolved by precedence.'),
80
+ .describe('Fetch all comments in a docket by Regulations.gov docket ID (e.g. "EPA-HQ-OAR-2025-0194") — regulationsGovDocketId on a regulations_search_rules or regulations_list_open_comments row, or docketId from regulations_get_document, not an entry of the printed docketIds. Broadest scope. Exactly one of docket_id / document_object_id / fr_document_number / comment_id is required — supplying two is rejected, not resolved by precedence.'),
81
81
  document_object_id: z
82
82
  .string()
83
83
  .optional()
@@ -411,7 +411,7 @@ export const findCommentsTool = tool('regulations_find_comments', {
411
411
  const widen = resolved?.docketId
412
412
  ? `A rulemaking's comments are often filed on another of its documents, usually the proposed rule — widen to the whole docket with docket_id "${resolved.docketId}".`
413
413
  : targetParam === 'docket_id'
414
- ? 'Check the docket ID, or that the comment period has opened.'
414
+ ? "A docket number the Federal Register prints (a row's docketIds) is often not a Regulations.gov docket ID — pass regulationsGovDocketId from a regulations_search_rules or regulations_list_open_comments row, or docketId from regulations_get_document. Otherwise check that the comment period has opened."
415
415
  : "Comments often attach to the docket's primary document — widen to the docket this object ID was listed in with docket_id, or check the comment period has opened.";
416
416
  const loosen = activeFilters.length > 0
417
417
  ? ` Loosen or drop ${activeFilters.join(' / ')} to see comments outside the filter.`
@@ -1 +1 @@
1
- {"version":3,"file":"find-comments.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-comments.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-comments.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-comments.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAEjG,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEzF,4CAA4C;AAC5C,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,aAAa,GAAG;IACpB,WAAW;IACX,oBAAoB;IACpB,oBAAoB;IACpB,YAAY;CACJ,CAAC;AAIX;;;;;GAKG;AACH,MAAM,SAAS,GAAG,iBAAiB,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAE9C,qFAAqF;AACrF,MAAM,SAAS,GAA+D;IAC5E,SAAS,EAAE,+DAA+D;IAC1E,kBAAkB,EAChB,yFAAyF;IAC3F,UAAU,EAAE,8DAA8D;CAC3E,CAAC;AAEF,gGAAgG;AAChG,SAAS,YAAY,CAAC,OAIrB;IACC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,WAAW,YAAY,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9E,CAAC;SAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;SAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,2BAA2B,EAAE;IAChE,KAAK,EAAE,2BAA2B;IAClC,WAAW,EACT,g8BAAg8B;IACl8B,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,gbAAgb,CACjb;QACH,kBAAkB,EAAE,CAAC;aAClB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,wbAAwb,CACzb;QACH,kBAAkB,EAAE,CAAC;aAClB,KAAK,CAAC;YACL,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC,QAAQ,CACzB,mEAAmE,CACpE;SACF,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,8cAA8c,CAC/c;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,oVAAoV,CACrV;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,gOAAgO,CACjO;QACH,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;aACjC,QAAQ,EAAE;aACV,QAAQ,CACP,iKAAiK,CAClK;QACH,aAAa,EAAE,CAAC;aACb,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;aACjC,QAAQ,EAAE;aACV,QAAQ,CACP,2IAA2I,CAC5I;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,YAAY,CAAC;aACjB,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CACP,2FAA2F,CAC5F;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,4BAA4B,CAAC;aACjC,QAAQ,EAAE;aACV,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CACP,yRAAyR,CAC1R;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC7E,oBAAoB;QACpB,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,oHAAoH,CACrH;QACH,QAAQ,EAAE,CAAC;aACR,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YACtF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YAChF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YAC9E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACnD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACvE,kBAAkB,EAAE,CAAC;iBAClB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,qHAAqH,CACtH;SACJ,CAAC;aACD,QAAQ,CAAC,sBAAsB,CAAC,CACpC;aACA,QAAQ,EAAE;aACV,QAAQ,CACP,yGAAyG,CAC1G;QACH,sBAAsB;QACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACtE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACrE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACxF,mBAAmB,EAAE,CAAC;aACnB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,2DAA2D,CAAC;QACxE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACxE,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CACP,qFAAqF,CACtF;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CACP,qFAAqF,CACtF;QACH,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CACP,wOAAwO,CACzO;QACH,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,oDAAoD,CAAC;QACjE,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,gDAAgD,CAAC;QAC7D,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CACP,qHAAqH,CACtH;QACH,cAAc,EAAE,CAAC;aACd,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,oHAAoH,CACrH;QACH,WAAW,EAAE,CAAC;aACX,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC/C,OAAO,EAAE,CAAC;iBACP,KAAK,CACJ,CAAC;iBACE,MAAM,CAAC;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;gBACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;aACrE,CAAC;iBACD,QAAQ,CAAC,+BAA+B,CAAC,CAC7C;iBACA,QAAQ,CAAC,4CAA4C,CAAC;SAC1D,CAAC;aACD,QAAQ,CAAC,4CAA4C,CAAC,CAC1D;aACA,QAAQ,EAAE;aACV,QAAQ,CACP,oFAAoF,CACrF;QACH,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,oDAAoD,CAAC;QACjE,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;KACxE,CAAC;IACF,UAAU,EAAE;QACV,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;QAC7F,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,6GAA6G,CAC9G;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,mFAAmF,CACpF;QACH,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,6IAA6I,CAC9I;QACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QACpF,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,oGAAoG,CACrG;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,mJAAmJ,CACpJ;KACJ;IACD,iBAAiB,EAAE;QACjB,UAAU,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;QACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;KACjC;IACD,MAAM,EAAE;QACN;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,YAAY;YACnC,IAAI,EAAE,yFAAyF;YAC/F,QAAQ,EACN,uJAAuJ;SAC1J;QACD;YACE,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,qFAAqF;YAC3F,QAAQ,EACN,8GAA8G;SACjH;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,8FAA8F;YACpG,QAAQ,EACN,wMAAwM;SAC3M;QACD;YACE,MAAM,EAAE,2BAA2B;YACnC,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,sHAAsH;YAC5H,QAAQ,EACN,6KAA6K;SAChL;QACD;YACE,MAAM,EAAE,qBAAqB;YAC7B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,kDAAkD;YACxD,QAAQ,EACN,qHAAqH;SACxH;QACD;YACE,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,kIAAkI;YACxI,QAAQ,EACN,uWAAuW;SAC1W;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,+BAA+B;YACrC,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,+DAA+D;YACzE,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,sBAAsB;YAC9B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,4EAA4E;YAClF,QAAQ,EAAE,2BAA2B;YACrC,QAAQ,EAAE,SAAS;SACpB;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACtB,uEAAuE;YACvE,yDAAyD;YACzD,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,4CAA4C,EAAE;gBAC5E,GAAG,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAED,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,4EAA4E;QAC5E,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAU,CAAC,CAAC,MAAM,CACpF,CAAC,KAAK,EAA2C,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACtE,CAAC;QAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,GAAG,CAAC,IAAI,CACZ,kBAAkB,EAClB,oEAAoE,KAAK,CAAC,MAAM,gBAAgB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAC1I,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAC3C,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC;QAC5C,IAAI,WAAW,KAAK,oBAAoB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAClF,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,WAAW,YAAY,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE;gBAChF,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC;aAChC,CAAC,CAAC;QACL,CAAC;QAED;;;WAGG;QACH,MAAM,OAAO,GAAG;YACd,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,SAAS;YAClD,WAAW,EAAE,KAAK,CAAC,YAAY,IAAI,SAAS;YAC5C,YAAY,EAAE,KAAK,CAAC,aAAa,IAAI,SAAS;SAC/C,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;YACnC,WAAW,EAAE,OAAO,CAAC,UAAU;YAC/B,YAAY,EAAE,OAAO,CAAC,WAAW;YACjC,aAAa,EAAE,OAAO,CAAC,YAAY;SACpC,CAAC;aACC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,WAAW,KAAK,YAAY,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,MAAM,GAAG,CAAC,IAAI,CACZ,2BAA2B,EAC3B,sDAAsD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,SAAS,EACtI,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,2BAA2B,CAAC,EAAE,CACpD,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9F,MAAM,GAAG,CAAC,IAAI,CACZ,qBAAqB,EACrB,iBAAiB,OAAO,CAAC,WAAW,kCAAkC,OAAO,CAAC,YAAY,0CAA0C,EACpI,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,CAC9C,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC1B,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,uCAAuC,MAAM,CAAC,WAAW,CAAC,MAAM,oDAAoD,CACrH,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,QAAiB,EAAE,GAAG,MAAM,EAAE,CAAC;QAChD,CAAC;QAED;;;WAGG;QACH,IAAI,WAA+B,CAAC;QACpC,IAAI,QAAsC,CAAC;QAC3C,IAAI,IAAY,CAAC;QACjB,IAAI,WAAW,KAAK,oBAAoB,EAAE,CAAC;YACzC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChC,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;gBACxC,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;gBAC3D,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAChC,IAAI,GAAG,4BAA4B,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC3D,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,KAAK,oBAAoB,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,GAAG,CAAC,IAAI,CACZ,WAAW,EACX,+DAA+D,MAAM,qCAAqC,EAC1G,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAC9D,CAAC;YACJ,CAAC;YACD,QAAQ,GAAG,KAAK,CAAC;YACjB,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC7B,IAAI,GAAG,eAAe,MAAM,8BAA8B,KAAK,CAAC,UAAU,GAAG,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,UAAU,WAAW,EAAE,CAAC;QACjC,CAAC;QACD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CACvC;YACE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE;YACjE,GAAG,OAAO;YACV,OAAO,EAAE,KAAK,CAAC,QAAQ;YACvB,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,EACD,GAAG,CACJ,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;QAChC,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,QAAQ;YACvB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,4BAA4B;SACtC,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC;YACT,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChE,CAAC,CAAC;QAEH,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,QAAQ,EAAE,QAAQ;gBAC9B,CAAC,CAAC,8IAA8I,QAAQ,CAAC,QAAQ,IAAI;gBACrK,CAAC,CAAC,WAAW,KAAK,WAAW;oBAC3B,CAAC,CAAC,8SAA8S;oBAChT,CAAC,CAAC,mKAAmK,CAAC;YAC1K,MAAM,MAAM,GACV,aAAa,CAAC,MAAM,GAAG,CAAC;gBACtB,CAAC,CAAC,mBAAmB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,sCAAsC;gBACpF,CAAC,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,MAAM,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,QAAQ,KAAK,CAAC,IAAI,qBAAqB,WAAW,CAAC,KAAK,CAAC,0CAA0C,IAAI,CAAC,UAAU,gBAAgB,KAAK,CAAC,QAAQ,GAAG,CACpJ,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,kBAAkB,CAAC;gBAC/B,KAAK;gBACL,OAAO,EAAE,KAAK,CAAC,QAAQ;gBACvB,UAAU,EAAE,YAAY;gBACxB,OAAO,EAAE,4BAA4B;aACtC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG;gBACf,QAAQ,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,mDAAmD,4BAA4B,aAAa,KAAK,CAAC,QAAQ,GAAG;gBACzK,KAAK;gBACL,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,4HAA4H;aAC1J;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,MAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,6EAA6E;QAC7E,sEAAsE;QACtE,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK,IAAI,oBAAoB,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CACR,aAAa,MAAM,CAAC,SAAS,IAAI,GAAG,eAAe,MAAM,CAAC,UAAU,IAAI,GAAG,eAAe,MAAM,CAAC,YAAY,IAAI,GAAG,iBAAiB,MAAM,CAAC,YAAY,IAAI,GAAG,EAAE,CAClK,CAAC;YACF,KAAK,CAAC,IAAI,CACR,cAAc,MAAM,CAAC,aAAa,IAAI,GAAG,oBAAoB,MAAM,CAAC,YAAY,IAAI,GAAG,EAAE,CAC1F,CAAC;YACF,KAAK,CAAC,IAAI,CACR,WAAW,MAAM,CAAC,QAAQ,IAAI,GAAG,mBAAmB,MAAM,CAAC,mBAAmB,IAAI,GAAG,EAAE,CACxF,CAAC;YACF,KAAK,CAAC,IAAI,CACR,mBAAmB,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,iBAAiB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,sBAAsB,MAAM,CAAC,cAAc,IAAI,MAAM,yBAAyB,MAAM,CAAC,iBAAiB,IAAI,GAAG,EAAE,CACvN,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBACrE,KAAK,CAAC,IAAI,CACR,sDAAsD,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,CACrH,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,yCAAyC,WAAW,CAAC,MAAM,iBAAiB,CAAC,CAAC;YAC3F,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,yBAAyB,CAAC,CAAC;YACzD,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC/B,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO;yBACnB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,cAAc,GAAG,CACvG;yBACA,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,OAAO,IAAI,EAAE,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,MAAM,IAAI,QAAQ,IAAI,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CACR,yFAAyF,CAC1F,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACxC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;gBACtC,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,KAAK,CAAC,IAAI,CACR,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,QAAQ,IAAI,GAAG,MAAM,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC,SAAS,MAAM,CACrI,CAAC;gBACF,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,cAAc,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YACD,KAAK,CAAC,IAAI,CACR,0FAA0F,CAC3F,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;CACF,CAAC,CAAC"}
@@ -14,6 +14,21 @@ export declare function formatCount(n: number): string;
14
14
  * first makes every backslash in the output stand for itself.
15
15
  */
16
16
  export declare function escapePipes(text: string): string;
17
+ /**
18
+ * A comment period's close as a table cell: the date (or `—`), then whether the
19
+ * period is open — `2026-09-25 (open)`, `2026-07-20 (closed)`. Unknown openness
20
+ * adds nothing rather than a guess.
21
+ */
22
+ export declare function formatCommentPeriod(close: string | null, open: boolean | null): string;
23
+ /**
24
+ * Where a document is printed — `89 FR 49101 (pages 49101–49104)` — or
25
+ * undefined when the Federal Register records neither a citation nor a page.
26
+ */
27
+ export declare function formatPrintedPages(doc: {
28
+ citation: string | null;
29
+ endPage: number | null;
30
+ startPage: number | null;
31
+ }): string | undefined;
17
32
  /**
18
33
  * Render a document's issuing agencies: each name, followed by its slug in
19
34
  * parentheses when it has one — the slug is what the `agencies` filter takes,
@@ -1 +1 @@
1
- {"version":3,"file":"format-utils.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/format-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAC7D,MAAM,CAGR"}
1
+ {"version":3,"file":"format-utils.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/format-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM,CAGtF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,MAAM,GAAG,SAAS,CAKrB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAC7D,MAAM,CAGR"}
@@ -18,6 +18,25 @@ export function formatCount(n) {
18
18
  export function escapePipes(text) {
19
19
  return text.replace(/\\/g, '\\\\').replace(/\|/g, '\\|');
20
20
  }
21
+ /**
22
+ * A comment period's close as a table cell: the date (or `—`), then whether the
23
+ * period is open — `2026-09-25 (open)`, `2026-07-20 (closed)`. Unknown openness
24
+ * adds nothing rather than a guess.
25
+ */
26
+ export function formatCommentPeriod(close, open) {
27
+ const state = open === null ? '' : open ? ' (open)' : ' (closed)';
28
+ return `${close ?? '—'}${state}`;
29
+ }
30
+ /**
31
+ * Where a document is printed — `89 FR 49101 (pages 49101–49104)` — or
32
+ * undefined when the Federal Register records neither a citation nor a page.
33
+ */
34
+ export function formatPrintedPages(doc) {
35
+ if (doc.citation === null && doc.startPage === null)
36
+ return;
37
+ const pages = doc.startPage === null ? '' : ` (pages ${doc.startPage}–${doc.endPage ?? 'unrecorded'})`;
38
+ return `${doc.citation ?? 'no citation recorded'}${pages}`;
39
+ }
21
40
  /**
22
41
  * Render a document's issuing agencies: each name, followed by its slug in
23
42
  * parentheses when it has one — the slug is what the `agencies` filter takes,
@@ -1 +1 @@
1
- {"version":3,"file":"format-utils.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/format-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,QAA8D;IAE9D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"format-utils.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/format-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAoB,EAAE,IAAoB;IAC5E,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;IAClE,OAAO,GAAG,KAAK,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAIlC;IACC,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO;IAC5D,MAAM,KAAK,GACT,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO,IAAI,YAAY,GAAG,CAAC;IAC3F,OAAO,GAAG,GAAG,CAAC,QAAQ,IAAI,sBAAsB,GAAG,KAAK,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,QAA8D;IAE9D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @fileoverview Input schema and parser for a Federal Register page citation
3
+ * ("89 FR 49102"), the form a CFR section's source note prints, taken by
4
+ * regulations_search_rules' `citation`.
5
+ * @module mcp-server/tools/definitions/fr-citation
6
+ */
7
+ import { z } from '@cyanheads/mcp-ts-core';
8
+ /**
9
+ * Volume, "FR" (or "F.R.", either case), page. Case is spelled out in the
10
+ * classes rather than set by a flag, since the advertised JSON Schema pattern
11
+ * carries no flags. Anchored, with every `\s*` run bounded by a required token,
12
+ * so a failed match backtracks over one run at a time and stays linear.
13
+ */
14
+ export declare const FR_CITATION_PATTERN: RegExp;
15
+ /** The first volume the Federal Register API serves (1994); volume N is year N + 1935. */
16
+ export declare const FIRST_FR_API_VOLUME = 59;
17
+ /** A Federal Register page citation. A fresh schema per call keeps each field's JSON Schema inline. */
18
+ export declare function frCitation(): z.ZodString;
19
+ /** A citation's volume and page, or null when `text` is not one. */
20
+ export declare function parseFrCitation(text: string): {
21
+ volume: number;
22
+ page: number;
23
+ } | null;
24
+ //# sourceMappingURL=fr-citation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fr-citation.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fr-citation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,QAAsD,CAAC;AAEvF,0FAA0F;AAC1F,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,uGAAuG;AACvG,wBAAgB,UAAU,gBAKzB;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAGrF"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @fileoverview Input schema and parser for a Federal Register page citation
3
+ * ("89 FR 49102"), the form a CFR section's source note prints, taken by
4
+ * regulations_search_rules' `citation`.
5
+ * @module mcp-server/tools/definitions/fr-citation
6
+ */
7
+ import { z } from '@cyanheads/mcp-ts-core';
8
+ /**
9
+ * Volume, "FR" (or "F.R.", either case), page. Case is spelled out in the
10
+ * classes rather than set by a flag, since the advertised JSON Schema pattern
11
+ * carries no flags. Anchored, with every `\s*` run bounded by a required token,
12
+ * so a failed match backtracks over one run at a time and stays linear.
13
+ */
14
+ export const FR_CITATION_PATTERN = /^\s*(\d{1,3})\s*[Ff]\.?\s?[Rr]\.?\s*(\d{1,6})\s*$/;
15
+ /** The first volume the Federal Register API serves (1994); volume N is year N + 1935. */
16
+ export const FIRST_FR_API_VOLUME = 59;
17
+ /** A Federal Register page citation. A fresh schema per call keeps each field's JSON Schema inline. */
18
+ export function frCitation() {
19
+ return z
20
+ .string()
21
+ .regex(FR_CITATION_PATTERN)
22
+ .describe('Federal Register volume and page, "89 FR 49102".');
23
+ }
24
+ /** A citation's volume and page, or null when `text` is not one. */
25
+ export function parseFrCitation(text) {
26
+ const match = FR_CITATION_PATTERN.exec(text);
27
+ return match ? { volume: Number(match[1]), page: Number(match[2]) } : null;
28
+ }
29
+ //# sourceMappingURL=fr-citation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fr-citation.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/fr-citation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mDAAmD,CAAC;AAEvF,0FAA0F;AAC1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,uGAAuG;AACvG,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC;SACL,MAAM,EAAE;SACR,KAAK,CAAC,mBAAmB,CAAC;SAC1B,QAAQ,CAAC,kDAAkD,CAAC,CAAC;AAClE,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC"}