Spaces:
Paused
Paused
周泳恩
commited on
Commit
·
e43bcd4
1
Parent(s):
40daf41
This view is limited to 50 files because it contains too many changes.
See raw diff
- .env +65 -0
- Dockerfile +13 -0
- LICENSE +201 -0
- README.md +5 -6
- SETUP.md +102 -0
- add-api-key.js +43 -0
- auto-refresh-cookies.js +143 -0
- cursor-to-openai-helper.sh +557 -0
- data/admin.example.json +7 -0
- data/admin.json +1 -0
- data/api_keys.example.json +5 -0
- data/api_keys.json +8 -0
- data/invalid_cookies.example.json +3 -0
- data/invalid_cookies.json +1 -0
- docker-compose.yaml +14 -0
- manage-emails.js +309 -0
- manage-invalid-cookies.js +169 -0
- node_modules/.bin/acorn +1 -0
- node_modules/.bin/csv-parser +1 -0
- node_modules/.bin/escodegen +1 -0
- node_modules/.bin/esgenerate +1 -0
- node_modules/.bin/esparse +1 -0
- node_modules/.bin/esvalidate +1 -0
- node_modules/.bin/is-docker +1 -0
- node_modules/.bin/is-inside-container +1 -0
- node_modules/.bin/jsdoc +1 -0
- node_modules/.bin/markdown-it +1 -0
- node_modules/.bin/marked +1 -0
- node_modules/.bin/mime +1 -0
- node_modules/.bin/mkdirp +1 -0
- node_modules/.bin/parser +1 -0
- node_modules/.bin/pbjs +1 -0
- node_modules/.bin/pbts +1 -0
- node_modules/.bin/semver +1 -0
- node_modules/.bin/uglifyjs +1 -0
- node_modules/.bin/uuid +1 -0
- node_modules/.package-lock.json +2401 -0
- node_modules/@babel/helper-string-parser/LICENSE +22 -0
- node_modules/@babel/helper-string-parser/README.md +19 -0
- node_modules/@babel/helper-string-parser/lib/index.js +295 -0
- node_modules/@babel/helper-string-parser/lib/index.js.map +1 -0
- node_modules/@babel/helper-string-parser/package.json +31 -0
- node_modules/@babel/helper-validator-identifier/LICENSE +22 -0
- node_modules/@babel/helper-validator-identifier/README.md +19 -0
- node_modules/@babel/helper-validator-identifier/lib/identifier.js +70 -0
- node_modules/@babel/helper-validator-identifier/lib/identifier.js.map +1 -0
- node_modules/@babel/helper-validator-identifier/lib/index.js +57 -0
- node_modules/@babel/helper-validator-identifier/lib/index.js.map +1 -0
- node_modules/@babel/helper-validator-identifier/lib/keyword.js +35 -0
- node_modules/@babel/helper-validator-identifier/lib/keyword.js.map +1 -0
.env
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 服务端口
|
| 2 |
+
PORT=3010
|
| 3 |
+
|
| 4 |
+
# 日志格式 (tiny, combined, common, dev, short)
|
| 5 |
+
MORGAN_FORMAT=tiny
|
| 6 |
+
|
| 7 |
+
# API Key与Cookie映射关系 (JSON格式)
|
| 8 |
+
# 格式: {"自定义API Key": "Cookie值"} 或 {"自定义API Key": ["Cookie值1", "Cookie值2"]}
|
| 9 |
+
API_KEYS={"sk-cursor-123":"user_xxxxxxx","sk-cursor-456":["user_yyyyyyy","user_zzzzzzz"]}
|
| 10 |
+
|
| 11 |
+
# 轮询策略 (random 或 round-robin)
|
| 12 |
+
ROTATION_STRATEGY=round-robin
|
| 13 |
+
|
| 14 |
+
# Cursor校验和 (可选)
|
| 15 |
+
# x-cursor-checksum=xxxxxxxx
|
| 16 |
+
|
| 17 |
+
# 自动刷新Cookie设置
|
| 18 |
+
# 是否启用自动刷新Cookie (true 或 false)
|
| 19 |
+
ENABLE_AUTO_REFRESH=false
|
| 20 |
+
|
| 21 |
+
# 自动刷新Cookie的定时规则 (Cron表达式)
|
| 22 |
+
# 默认每6小时执行一次
|
| 23 |
+
REFRESH_CRON=0 */6 * * *
|
| 24 |
+
|
| 25 |
+
# 每个API Key最小Cookie数量
|
| 26 |
+
# 当Cookie数量低于此值时,会自动尝试刷新
|
| 27 |
+
MIN_COOKIE_COUNT=1000
|
| 28 |
+
|
| 29 |
+
# Cookie刷新模式
|
| 30 |
+
# replace: 每次刷新都将现有cookie全部标记为无效并替换成新cookie(默认)
|
| 31 |
+
# append: 保留现有cookie,仅追加新cookie
|
| 32 |
+
COOKIE_REFRESH_MODE=replace
|
| 33 |
+
|
| 34 |
+
# GitHub 仓库信息
|
| 35 |
+
GITHUB_OWNER=your_name
|
| 36 |
+
GITHUB_REPO=Cursor-Register-fix
|
| 37 |
+
|
| 38 |
+
# GitHub Token (用于从GitHub Actions下载Artifact)
|
| 39 |
+
# 需要有repo权限
|
| 40 |
+
GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
| 41 |
+
|
| 42 |
+
# GitHub Actions 工作流ID
|
| 43 |
+
# 用于触发工作流程
|
| 44 |
+
GITHUB_WORKFLOW_ID=cursor_register.yml
|
| 45 |
+
|
| 46 |
+
# 是否自动触发工作流
|
| 47 |
+
# 设置为true时,会自动触发工作流而不是仅获取最新结果
|
| 48 |
+
TRIGGER_WORKFLOW=true
|
| 49 |
+
|
| 50 |
+
# 工作流参数设置 目前只支持gmail,outlook过于复杂,暂时不支持
|
| 51 |
+
# 注册账号数量
|
| 52 |
+
REGISTER_NUMBER=1
|
| 53 |
+
# 最大并发工作线程数
|
| 54 |
+
REGISTER_MAX_WORKERS=1
|
| 55 |
+
# 邮箱服务器类型 (TempEmail 或 IMAP)
|
| 56 |
+
REGISTER_EMAIL_SERVER=IMAP
|
| 57 |
+
# 是否将账号令牌注入到OneAPI (true 或 false)
|
| 58 |
+
REGISTER_INGEST_TO_ONEAPI=false
|
| 59 |
+
# 是否上传账号信息到Artifact (true 或 false)
|
| 60 |
+
REGISTER_UPLOAD_ARTIFACT=true
|
| 61 |
+
# 是否从config.yaml读取邮箱配置 (true 或 false)
|
| 62 |
+
REGISTER_USE_CONFIG_FILE=false
|
| 63 |
+
# 邮箱配置JSON字符串(仅在REGISTER_USE_CONFIG_FILE=false时有效)
|
| 64 |
+
# 格式例如[{"email":"[email protected]","imap_server":"imap.gmail.com","imap_port":993,"username":"[email protected]","password":"your_app_password"}]
|
| 65 |
+
REGISTER_EMAIL_CONFIGS=[]
|
Dockerfile
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM node:lts-alpine
|
| 2 |
+
|
| 3 |
+
WORKDIR /app
|
| 4 |
+
|
| 5 |
+
COPY package.json package-lock.json ./
|
| 6 |
+
|
| 7 |
+
RUN npm install
|
| 8 |
+
|
| 9 |
+
COPY . /app
|
| 10 |
+
|
| 11 |
+
EXPOSE 3010
|
| 12 |
+
|
| 13 |
+
CMD ["npm", "run", "start"]
|
LICENSE
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Apache License
|
| 2 |
+
Version 2.0, January 2004
|
| 3 |
+
http://www.apache.org/licenses/
|
| 4 |
+
|
| 5 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 6 |
+
|
| 7 |
+
1. Definitions.
|
| 8 |
+
|
| 9 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
| 10 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
| 11 |
+
|
| 12 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
| 13 |
+
the copyright owner that is granting the License.
|
| 14 |
+
|
| 15 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
| 16 |
+
other entities that control, are controlled by, or are under common
|
| 17 |
+
control with that entity. For the purposes of this definition,
|
| 18 |
+
"control" means (i) the power, direct or indirect, to cause the
|
| 19 |
+
direction or management of such entity, whether by contract or
|
| 20 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 21 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 22 |
+
|
| 23 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
| 24 |
+
exercising permissions granted by this License.
|
| 25 |
+
|
| 26 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 27 |
+
including but not limited to software source code, documentation
|
| 28 |
+
source, and configuration files.
|
| 29 |
+
|
| 30 |
+
"Object" form shall mean any form resulting from mechanical
|
| 31 |
+
transformation or translation of a Source form, including but
|
| 32 |
+
not limited to compiled object code, generated documentation,
|
| 33 |
+
and conversions to other media types.
|
| 34 |
+
|
| 35 |
+
"Work" shall mean the work of authorship, whether in Source or
|
| 36 |
+
Object form, made available under the License, as indicated by a
|
| 37 |
+
copyright notice that is included in or attached to the work
|
| 38 |
+
(an example is provided in the Appendix below).
|
| 39 |
+
|
| 40 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
| 41 |
+
form, that is based on (or derived from) the Work and for which the
|
| 42 |
+
editorial revisions, annotations, elaborations, or other modifications
|
| 43 |
+
represent, as a whole, an original work of authorship. For the purposes
|
| 44 |
+
of this License, Derivative Works shall not include works that remain
|
| 45 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
| 46 |
+
the Work and Derivative Works thereof.
|
| 47 |
+
|
| 48 |
+
"Contribution" shall mean any work of authorship, including
|
| 49 |
+
the original version of the Work and any modifications or additions
|
| 50 |
+
to that Work or Derivative Works thereof, that is intentionally
|
| 51 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
| 52 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
| 53 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
| 54 |
+
means any form of electronic, verbal, or written communication sent
|
| 55 |
+
to the Licensor or its representatives, including but not limited to
|
| 56 |
+
communication on electronic mailing lists, source code control systems,
|
| 57 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
| 58 |
+
Licensor for the purpose of discussing and improving the Work, but
|
| 59 |
+
excluding communication that is conspicuously marked or otherwise
|
| 60 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
| 61 |
+
|
| 62 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
| 63 |
+
on behalf of whom a Contribution has been received by Licensor and
|
| 64 |
+
subsequently incorporated within the Work.
|
| 65 |
+
|
| 66 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
| 67 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 68 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 69 |
+
copyright license to reproduce, prepare Derivative Works of,
|
| 70 |
+
publicly display, publicly perform, sublicense, and distribute the
|
| 71 |
+
Work and such Derivative Works in Source or Object form.
|
| 72 |
+
|
| 73 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
| 74 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 75 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 76 |
+
(except as stated in this section) patent license to make, have made,
|
| 77 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
| 78 |
+
where such license applies only to those patent claims licensable
|
| 79 |
+
by such Contributor that are necessarily infringed by their
|
| 80 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
| 81 |
+
with the Work to which such Contribution(s) was submitted. If You
|
| 82 |
+
institute patent litigation against any entity (including a
|
| 83 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
| 84 |
+
or a Contribution incorporated within the Work constitutes direct
|
| 85 |
+
or contributory patent infringement, then any patent licenses
|
| 86 |
+
granted to You under this License for that Work shall terminate
|
| 87 |
+
as of the date such litigation is filed.
|
| 88 |
+
|
| 89 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
| 90 |
+
Work or Derivative Works thereof in any medium, with or without
|
| 91 |
+
modifications, and in Source or Object form, provided that You
|
| 92 |
+
meet the following conditions:
|
| 93 |
+
|
| 94 |
+
(a) You must give any other recipients of the Work or
|
| 95 |
+
Derivative Works a copy of this License; and
|
| 96 |
+
|
| 97 |
+
(b) You must cause any modified files to carry prominent notices
|
| 98 |
+
stating that You changed the files; and
|
| 99 |
+
|
| 100 |
+
(c) You must retain, in the Source form of any Derivative Works
|
| 101 |
+
that You distribute, all copyright, patent, trademark, and
|
| 102 |
+
attribution notices from the Source form of the Work,
|
| 103 |
+
excluding those notices that do not pertain to any part of
|
| 104 |
+
the Derivative Works; and
|
| 105 |
+
|
| 106 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
| 107 |
+
distribution, then any Derivative Works that You distribute must
|
| 108 |
+
include a readable copy of the attribution notices contained
|
| 109 |
+
within such NOTICE file, excluding those notices that do not
|
| 110 |
+
pertain to any part of the Derivative Works, in at least one
|
| 111 |
+
of the following places: within a NOTICE text file distributed
|
| 112 |
+
as part of the Derivative Works; within the Source form or
|
| 113 |
+
documentation, if provided along with the Derivative Works; or,
|
| 114 |
+
within a display generated by the Derivative Works, if and
|
| 115 |
+
wherever such third-party notices normally appear. The contents
|
| 116 |
+
of the NOTICE file are for informational purposes only and
|
| 117 |
+
do not modify the License. You may add Your own attribution
|
| 118 |
+
notices within Derivative Works that You distribute, alongside
|
| 119 |
+
or as an addendum to the NOTICE text from the Work, provided
|
| 120 |
+
that such additional attribution notices cannot be construed
|
| 121 |
+
as modifying the License.
|
| 122 |
+
|
| 123 |
+
You may add Your own copyright statement to Your modifications and
|
| 124 |
+
may provide additional or different license terms and conditions
|
| 125 |
+
for use, reproduction, or distribution of Your modifications, or
|
| 126 |
+
for any such Derivative Works as a whole, provided Your use,
|
| 127 |
+
reproduction, and distribution of the Work otherwise complies with
|
| 128 |
+
the conditions stated in this License.
|
| 129 |
+
|
| 130 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
| 131 |
+
any Contribution intentionally submitted for inclusion in the Work
|
| 132 |
+
by You to the Licensor shall be under the terms and conditions of
|
| 133 |
+
this License, without any additional terms or conditions.
|
| 134 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
| 135 |
+
the terms of any separate license agreement you may have executed
|
| 136 |
+
with Licensor regarding such Contributions.
|
| 137 |
+
|
| 138 |
+
6. Trademarks. This License does not grant permission to use the trade
|
| 139 |
+
names, trademarks, service marks, or product names of the Licensor,
|
| 140 |
+
except as required for reasonable and customary use in describing the
|
| 141 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 142 |
+
|
| 143 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
| 144 |
+
agreed to in writing, Licensor provides the Work (and each
|
| 145 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
| 146 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
| 147 |
+
implied, including, without limitation, any warranties or conditions
|
| 148 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 149 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 150 |
+
appropriateness of using or redistributing the Work and assume any
|
| 151 |
+
risks associated with Your exercise of permissions under this License.
|
| 152 |
+
|
| 153 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
| 154 |
+
whether in tort (including negligence), contract, or otherwise,
|
| 155 |
+
unless required by applicable law (such as deliberate and grossly
|
| 156 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
| 157 |
+
liable to You for damages, including any direct, indirect, special,
|
| 158 |
+
incidental, or consequential damages of any character arising as a
|
| 159 |
+
result of this License or out of the use or inability to use the
|
| 160 |
+
Work (including but not limited to damages for loss of goodwill,
|
| 161 |
+
work stoppage, computer failure or malfunction, or any and all
|
| 162 |
+
other commercial damages or losses), even if such Contributor
|
| 163 |
+
has been advised of the possibility of such damages.
|
| 164 |
+
|
| 165 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
| 166 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
| 167 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
| 168 |
+
or other liability obligations and/or rights consistent with this
|
| 169 |
+
License. However, in accepting such obligations, You may act only
|
| 170 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
| 171 |
+
of any other Contributor, and only if You agree to indemnify,
|
| 172 |
+
defend, and hold each Contributor harmless for any liability
|
| 173 |
+
incurred by, or claims asserted against, such Contributor by reason
|
| 174 |
+
of your accepting any such warranty or additional liability.
|
| 175 |
+
|
| 176 |
+
END OF TERMS AND CONDITIONS
|
| 177 |
+
|
| 178 |
+
APPENDIX: How to apply the Apache License to your work.
|
| 179 |
+
|
| 180 |
+
To apply the Apache License to your work, attach the following
|
| 181 |
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
| 182 |
+
replaced with your own identifying information. (Don't include
|
| 183 |
+
the brackets!) The text should be enclosed in the appropriate
|
| 184 |
+
comment syntax for the file format. We also recommend that a
|
| 185 |
+
file or class name and description of purpose be included on the
|
| 186 |
+
same "printed page" as the copyright notice for easier
|
| 187 |
+
identification within third-party archives.
|
| 188 |
+
|
| 189 |
+
Copyright 2024 liuw1535
|
| 190 |
+
|
| 191 |
+
Licensed under the Apache License, Version 2.0 (the "License");
|
| 192 |
+
you may not use this file except in compliance with the License.
|
| 193 |
+
You may obtain a copy of the License at
|
| 194 |
+
|
| 195 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
| 196 |
+
|
| 197 |
+
Unless required by applicable law or agreed to in writing, software
|
| 198 |
+
distributed under the License is distributed on an "AS IS" BASIS,
|
| 199 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 200 |
+
See the License for the specific language governing permissions and
|
| 201 |
+
limitations under the License.
|
README.md
CHANGED
|
@@ -1,12 +1,11 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
-
emoji:
|
| 4 |
colorFrom: purple
|
| 5 |
-
colorTo:
|
| 6 |
-
sdk:
|
| 7 |
-
sdk_version: 5.27.0
|
| 8 |
-
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
---
|
| 11 |
|
| 12 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
title: Cursor To OpenAI
|
| 3 |
+
emoji: 🔥
|
| 4 |
colorFrom: purple
|
| 5 |
+
colorTo: purple
|
| 6 |
+
sdk: docker
|
|
|
|
|
|
|
| 7 |
pinned: false
|
| 8 |
---
|
| 9 |
|
| 10 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
| 11 |
+
|
SETUP.md
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Cursor-To-OpenAI 一键配置指南
|
| 2 |
+
|
| 3 |
+
本文档将指导你使用一键配置工具来设置 Cursor-To-OpenAI 环境。
|
| 4 |
+
|
| 5 |
+
## 准备工作
|
| 6 |
+
|
| 7 |
+
在开始配置前,请确保你已经:
|
| 8 |
+
|
| 9 |
+
1. Fork了 [Cursor-Register-fix](https://github.com/liuw1535/Cursor-Register-fix) 仓库到你的GitHub账号
|
| 10 |
+
2. 创建了一个GitHub个人访问令牌(Personal Access Token),且具有 `repo` 权限
|
| 11 |
+
3. 拥有至少一个Gmail账号,并启用了两步验证
|
| 12 |
+
4. 为Gmail账号创建了应用密码(Application Password)
|
| 13 |
+
|
| 14 |
+
## 配置步骤
|
| 15 |
+
|
| 16 |
+
### 1. 安装依赖
|
| 17 |
+
|
| 18 |
+
```bash
|
| 19 |
+
npm install
|
| 20 |
+
```
|
| 21 |
+
|
| 22 |
+
### 2. 运行配置脚本
|
| 23 |
+
|
| 24 |
+
```bash
|
| 25 |
+
npm run setup
|
| 26 |
+
```
|
| 27 |
+
|
| 28 |
+
或者直接运行:
|
| 29 |
+
|
| 30 |
+
```bash
|
| 31 |
+
node setup.js
|
| 32 |
+
```
|
| 33 |
+
|
| 34 |
+
### 3. 按照提示输入信息
|
| 35 |
+
|
| 36 |
+
脚本会引导你输入以下信息:
|
| 37 |
+
|
| 38 |
+
- GitHub用户名:你的GitHub账号用户名
|
| 39 |
+
- GitHub Token:你的个人访问令牌
|
| 40 |
+
- API Key:自定义的API Key,用于访问服务
|
| 41 |
+
- Gmail账号:用于自动注册Cursor账号的Gmail地址
|
| 42 |
+
- Gmail应用密码:对应Gmail账号的应用密码(不是邮箱密码)
|
| 43 |
+
|
| 44 |
+
### 4. 创建应用密码的步骤
|
| 45 |
+
|
| 46 |
+
如果你还没有创建Gmail应用密码,请按照以下步骤操作:
|
| 47 |
+
|
| 48 |
+
1. 访问 [Google账号安全设置](https://myaccount.google.com/security)
|
| 49 |
+
2. 在"登录Google"部分,点击"两步验证"
|
| 50 |
+
(如果未启用两步验证,需要先启用)
|
| 51 |
+
3. 在页面底部找到"应用密码",点击进入
|
| 52 |
+
4. 在"选择应用"下拉菜单中选择"其他(自定义名称)"
|
| 53 |
+
5. 输入一个名称,例如"Cursor注册"
|
| 54 |
+
6. 点击"生成"
|
| 55 |
+
7. 复制生成的16位应用密码(格式如:xxxx xxxx xxxx xxxx)
|
| 56 |
+
|
| 57 |
+
### 5. 管理邮箱配置
|
| 58 |
+
|
| 59 |
+
系统提供了一个专门的邮箱配置管理工具,可以随时添加、修改或删除邮箱:
|
| 60 |
+
|
| 61 |
+
```bash
|
| 62 |
+
npm run manage-emails
|
| 63 |
+
```
|
| 64 |
+
|
| 65 |
+
使用此工具可以:
|
| 66 |
+
- 查看所有已配置的邮箱
|
| 67 |
+
- 添加新的Gmail账号
|
| 68 |
+
- 修改现有Gmail账号的配置
|
| 69 |
+
- 删除不再使用的Gmail账号
|
| 70 |
+
|
| 71 |
+
## 配置完成后
|
| 72 |
+
|
| 73 |
+
配置完成后,你可以:
|
| 74 |
+
|
| 75 |
+
1. 启动服务:
|
| 76 |
+
|
| 77 |
+
```bash
|
| 78 |
+
npm start
|
| 79 |
+
```
|
| 80 |
+
|
| 81 |
+
2. 手动触发Cookie刷新:
|
| 82 |
+
|
| 83 |
+
```bash
|
| 84 |
+
npm run refresh-cookies:force
|
| 85 |
+
```
|
| 86 |
+
|
| 87 |
+
## 配置文件说明
|
| 88 |
+
|
| 89 |
+
脚本会生成`.env`文件,其中包含以下主要配置:
|
| 90 |
+
|
| 91 |
+
- `API_KEYS`:API Key到Cookie的映射关系
|
| 92 |
+
- `GITHUB_OWNER`:你的GitHub用户名
|
| 93 |
+
- `GITHUB_TOKEN`:你的GitHub个人访问令牌
|
| 94 |
+
- `REGISTER_EMAIL_CONFIGS`:Gmail账号配置,用于自动注册
|
| 95 |
+
|
| 96 |
+
## 注意事项
|
| 97 |
+
|
| 98 |
+
1. GitHub Token需要具有repo权限,用于访问你fork的仓库
|
| 99 |
+
2. Gmail应用密码不同于你的Gmail登录密码,是专门为第三方应用生成的
|
| 100 |
+
3. MIN_COOKIE_COUNT设置为1000,确保系统会尝试刷新Cookie
|
| 101 |
+
4. 配置完成后,你可以通过Web界面查看和管理Cookie状态
|
| 102 |
+
5. 始终确保至少有一个有效的Gmail账号配置,否则自动刷新功能将无法正常工作
|
add-api-key.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
const fetch = require('node-fetch');
|
| 2 |
+
|
| 3 |
+
async function addApiKey() {
|
| 4 |
+
try {
|
| 5 |
+
console.log('添加API Key...');
|
| 6 |
+
const response = await fetch('http://localhost:3010/v1/api-keys', {
|
| 7 |
+
method: 'POST',
|
| 8 |
+
headers: {
|
| 9 |
+
'Content-Type': 'application/json',
|
| 10 |
+
},
|
| 11 |
+
body: JSON.stringify({
|
| 12 |
+
apiKey: 'test-key',
|
| 13 |
+
cookieValues: ['test-cookie'],
|
| 14 |
+
}),
|
| 15 |
+
});
|
| 16 |
+
|
| 17 |
+
console.log('响应状态:', response.status);
|
| 18 |
+
|
| 19 |
+
if (!response.ok) {
|
| 20 |
+
throw new Error(`HTTP错误: ${response.status} ${response.statusText}`);
|
| 21 |
+
}
|
| 22 |
+
|
| 23 |
+
const data = await response.json();
|
| 24 |
+
console.log('响应数据:', data);
|
| 25 |
+
|
| 26 |
+
// 测试获取API Keys
|
| 27 |
+
console.log('\n测试获取API Keys...');
|
| 28 |
+
const getResponse = await fetch('http://localhost:3010/v1/api-keys');
|
| 29 |
+
|
| 30 |
+
console.log('响应状态:', getResponse.status);
|
| 31 |
+
|
| 32 |
+
if (!getResponse.ok) {
|
| 33 |
+
throw new Error(`HTTP错误: ${getResponse.status} ${getResponse.statusText}`);
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
const getData = await getResponse.json();
|
| 37 |
+
console.log('获取到的数据:', getData);
|
| 38 |
+
} catch (error) {
|
| 39 |
+
console.error('操作失败:', error);
|
| 40 |
+
}
|
| 41 |
+
}
|
| 42 |
+
|
| 43 |
+
addApiKey();
|
auto-refresh-cookies.js
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// 加载环境变量
|
| 2 |
+
require('dotenv').config();
|
| 3 |
+
|
| 4 |
+
// 环境检查
|
| 5 |
+
const envChecker = require('./src/utils/envChecker');
|
| 6 |
+
console.log('启动前检查环境配置...');
|
| 7 |
+
envChecker.enforceEnvCheck();
|
| 8 |
+
|
| 9 |
+
// 已适配GitHub Actions工作流新参数 (use_config_file, email_configs)
|
| 10 |
+
console.log('环境检查通过,已适配最新GitHub Actions工作流参数');
|
| 11 |
+
|
| 12 |
+
const cookieRefresher = require('./src/utils/cookieRefresher');
|
| 13 |
+
const keyManager = require('./src/utils/keyManager');
|
| 14 |
+
const config = require('./src/config/config');
|
| 15 |
+
|
| 16 |
+
// 解析命令行参数
|
| 17 |
+
const args = process.argv.slice(2);
|
| 18 |
+
const targetApiKey = args.length > 0 ? args[0] : null;
|
| 19 |
+
const forceRefresh = args.includes('--force') || args.includes('-f');
|
| 20 |
+
|
| 21 |
+
// 最小 Cookie 数量
|
| 22 |
+
const MIN_COOKIE_COUNT = config.refresh.minCookieCount;
|
| 23 |
+
|
| 24 |
+
// 获取Cookie刷新模式
|
| 25 |
+
const COOKIE_REFRESH_MODE = process.env.COOKIE_REFRESH_MODE || 'append';
|
| 26 |
+
|
| 27 |
+
// 主函数
|
| 28 |
+
async function main() {
|
| 29 |
+
console.log('===== 自动刷新 Cookie 开始 =====');
|
| 30 |
+
console.log(`最小 Cookie 数量: ${MIN_COOKIE_COUNT}`);
|
| 31 |
+
console.log(`Cookie 刷新模式: ${COOKIE_REFRESH_MODE} (${COOKIE_REFRESH_MODE === 'replace' ? '替换现有cookie' : '追加新cookie'})`);
|
| 32 |
+
|
| 33 |
+
if (targetApiKey) {
|
| 34 |
+
console.log(`指定刷新 API Key: ${targetApiKey}`);
|
| 35 |
+
}
|
| 36 |
+
|
| 37 |
+
if (forceRefresh) {
|
| 38 |
+
console.log('强制刷新模式: 忽略 Cookie 数量检查');
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
try {
|
| 42 |
+
// 获取所有 API Key
|
| 43 |
+
const apiKeys = keyManager.getAllApiKeys();
|
| 44 |
+
|
| 45 |
+
if (apiKeys.length === 0) {
|
| 46 |
+
console.log('警告: 系统中没有找到任何 API Key');
|
| 47 |
+
|
| 48 |
+
// 检查环境变量中是否有 API Keys
|
| 49 |
+
const envApiKeys = Object.keys(config.apiKeys);
|
| 50 |
+
if (envApiKeys.length > 0) {
|
| 51 |
+
console.log(`检测到环境变量中有 ${envApiKeys.length} 个 API Key,但尚未加载到系统中`);
|
| 52 |
+
console.log('正在重新初始化 API Keys...');
|
| 53 |
+
|
| 54 |
+
// 重新初始化 API Keys
|
| 55 |
+
keyManager.initializeApiKeys();
|
| 56 |
+
|
| 57 |
+
// 重新获取 API Keys
|
| 58 |
+
const refreshedApiKeys = keyManager.getAllApiKeys();
|
| 59 |
+
if (refreshedApiKeys.length > 0) {
|
| 60 |
+
console.log(`成功加载 ${refreshedApiKeys.length} 个 API Key,继续刷新流程`);
|
| 61 |
+
// 继续执行后续刷新逻辑
|
| 62 |
+
} else {
|
| 63 |
+
console.log('初始化后仍未找到 API Key,请检查配置');
|
| 64 |
+
console.log('===== 自动刷新 Cookie 结束 =====');
|
| 65 |
+
return;
|
| 66 |
+
}
|
| 67 |
+
} else {
|
| 68 |
+
console.log('环境变量中也没有配置 API Key,请先添加 API Key');
|
| 69 |
+
console.log('===== 自动刷新 Cookie 结束 =====');
|
| 70 |
+
return;
|
| 71 |
+
}
|
| 72 |
+
}
|
| 73 |
+
|
| 74 |
+
// 重新获取最新的 API Keys(可能已经通过上面的初始化更新了)
|
| 75 |
+
const updatedApiKeys = keyManager.getAllApiKeys();
|
| 76 |
+
console.log(`系统中共有 ${updatedApiKeys.length} 个 API Key`);
|
| 77 |
+
|
| 78 |
+
// 如果指定了特定的 API Key,检查它是否存在
|
| 79 |
+
if (targetApiKey && !updatedApiKeys.includes(targetApiKey)) {
|
| 80 |
+
console.error(`错误: 指定的 API Key "${targetApiKey}" 不存在`);
|
| 81 |
+
console.log('===== 自动刷新 Cookie 异常结束 =====');
|
| 82 |
+
return;
|
| 83 |
+
}
|
| 84 |
+
|
| 85 |
+
// 过滤需要处理的 API Keys
|
| 86 |
+
const keysToProcess = targetApiKey ? [targetApiKey] : updatedApiKeys;
|
| 87 |
+
|
| 88 |
+
// 按 Cookie 数量排序,优先处理 Cookie 数量少的 API Key
|
| 89 |
+
const sortedKeys = keysToProcess.sort((a, b) => {
|
| 90 |
+
const aCount = keyManager.getAllCookiesForApiKey(a).length;
|
| 91 |
+
const bCount = keyManager.getAllCookiesForApiKey(b).length;
|
| 92 |
+
return aCount - bCount; // 升序排列,Cookie 数量少的排在前面
|
| 93 |
+
});
|
| 94 |
+
|
| 95 |
+
// 检查每个 API Key 是否需要刷新
|
| 96 |
+
let refreshedCount = 0;
|
| 97 |
+
let needRefreshCount = 0;
|
| 98 |
+
|
| 99 |
+
for (const apiKey of sortedKeys) {
|
| 100 |
+
const cookies = keyManager.getAllCookiesForApiKey(apiKey);
|
| 101 |
+
console.log(`API Key: ${apiKey}, Cookie 数量: ${cookies.length}`);
|
| 102 |
+
|
| 103 |
+
// 判断是否需要刷新:强制刷新模式或 Cookie 数量低于阈值
|
| 104 |
+
if (forceRefresh || cookies.length < MIN_COOKIE_COUNT) {
|
| 105 |
+
needRefreshCount++;
|
| 106 |
+
if (forceRefresh) {
|
| 107 |
+
console.log(`强制刷新 API Key: ${apiKey}`);
|
| 108 |
+
} else {
|
| 109 |
+
console.log(`API Key ${apiKey} 的 Cookie 数量不足,需要刷新`);
|
| 110 |
+
}
|
| 111 |
+
|
| 112 |
+
// 执行刷新
|
| 113 |
+
console.log(`开始自动刷新 Cookie,目标 API Key: ${apiKey},最小 Cookie 数量: ${MIN_COOKIE_COUNT},刷新模式: ${COOKIE_REFRESH_MODE}`);
|
| 114 |
+
const result = await cookieRefresher.autoRefreshCookies(apiKey, MIN_COOKIE_COUNT);
|
| 115 |
+
|
| 116 |
+
if (result.success) {
|
| 117 |
+
refreshedCount++;
|
| 118 |
+
console.log(`刷新结果: ${result.message}`);
|
| 119 |
+
|
| 120 |
+
// 根据刷新模式输出额外的信息
|
| 121 |
+
if (COOKIE_REFRESH_MODE === 'replace') {
|
| 122 |
+
console.log(`使用替换模式: 现有cookie已全部标记为无效,系统现在只使用新cookie`);
|
| 123 |
+
} else {
|
| 124 |
+
console.log(`使用追加模式: 现有cookie已保留,新cookie已添加到系统`);
|
| 125 |
+
}
|
| 126 |
+
} else {
|
| 127 |
+
console.error(`刷新失败: ${result.message}`);
|
| 128 |
+
}
|
| 129 |
+
} else {
|
| 130 |
+
console.log(`API Key ${apiKey} 的 Cookie 数量足够,不需要刷新`);
|
| 131 |
+
}
|
| 132 |
+
}
|
| 133 |
+
|
| 134 |
+
console.log('===== 自动刷新 Cookie 完成 =====');
|
| 135 |
+
console.log(`共有 ${needRefreshCount} 个 API Key 需要刷新,成功刷新 ${refreshedCount} 个`);
|
| 136 |
+
} catch (error) {
|
| 137 |
+
console.error('自动刷新 Cookie 失败:', error);
|
| 138 |
+
console.log('===== 自动刷新 Cookie 异常结束 =====');
|
| 139 |
+
}
|
| 140 |
+
}
|
| 141 |
+
|
| 142 |
+
// 执行主函数
|
| 143 |
+
main().catch(console.error);
|
cursor-to-openai-helper.sh
ADDED
|
@@ -0,0 +1,557 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
|
| 3 |
+
# Colors for better UI
|
| 4 |
+
RED='\033[0;31m'
|
| 5 |
+
GREEN='\033[0;32m'
|
| 6 |
+
YELLOW='\033[0;33m'
|
| 7 |
+
BLUE='\033[0;34m'
|
| 8 |
+
NC='\033[0m' # No Color
|
| 9 |
+
|
| 10 |
+
# Create backups directory if it doesn't exist
|
| 11 |
+
mkdir -p backups
|
| 12 |
+
|
| 13 |
+
# Function to display header
|
| 14 |
+
show_header() {
|
| 15 |
+
clear
|
| 16 |
+
echo -e "${BLUE}=======================================${NC}"
|
| 17 |
+
echo -e "${GREEN} Cursor-To-OpenAI 简易脚本 ${NC}"
|
| 18 |
+
echo -e "${BLUE}=======================================${NC}"
|
| 19 |
+
echo
|
| 20 |
+
}
|
| 21 |
+
|
| 22 |
+
# Function to check if Docker is installed
|
| 23 |
+
check_docker() {
|
| 24 |
+
if ! command -v docker &> /dev/null; then
|
| 25 |
+
echo -e "${RED}未安装Docker。请先安装Docker。${NC}"
|
| 26 |
+
exit 1
|
| 27 |
+
fi
|
| 28 |
+
}
|
| 29 |
+
|
| 30 |
+
# Function to check if Node.js is installed
|
| 31 |
+
check_nodejs() {
|
| 32 |
+
if ! command -v node &> /dev/null; then
|
| 33 |
+
echo -e "${RED}未安装Node.js。请先安装Node.js。${NC}"
|
| 34 |
+
exit 1
|
| 35 |
+
fi
|
| 36 |
+
|
| 37 |
+
if ! command -v npm &> /dev/null; then
|
| 38 |
+
echo -e "${RED}未安装npm。请先安装npm。${NC}"
|
| 39 |
+
exit 1
|
| 40 |
+
fi
|
| 41 |
+
}
|
| 42 |
+
|
| 43 |
+
# Function to backup configuration before update
|
| 44 |
+
backup_configs() {
|
| 45 |
+
echo -e "${YELLOW}正在备份配置文件...${NC}"
|
| 46 |
+
backup_dir="backups/update_backup_$(date +"%Y%m%d_%H%M%S")"
|
| 47 |
+
mkdir -p "$backup_dir"
|
| 48 |
+
|
| 49 |
+
# Backup important configurations
|
| 50 |
+
if [ -d data ]; then
|
| 51 |
+
cp -r data "$backup_dir/"
|
| 52 |
+
fi
|
| 53 |
+
|
| 54 |
+
if [ -f .env ]; then
|
| 55 |
+
cp .env "$backup_dir/"
|
| 56 |
+
fi
|
| 57 |
+
|
| 58 |
+
echo -e "${GREEN}配置文件已备份到 ${backup_dir}${NC}"
|
| 59 |
+
}
|
| 60 |
+
|
| 61 |
+
# Function to restore configuration after update
|
| 62 |
+
restore_configs() {
|
| 63 |
+
if [ -z "$1" ]; then
|
| 64 |
+
echo -e "${RED}未指定备份目录,无法恢复配置。${NC}"
|
| 65 |
+
return 1
|
| 66 |
+
fi
|
| 67 |
+
|
| 68 |
+
backup_dir="$1"
|
| 69 |
+
echo -e "${YELLOW}正在恢复配置文件...${NC}"
|
| 70 |
+
|
| 71 |
+
if [ -d "$backup_dir/data" ]; then
|
| 72 |
+
cp -r "$backup_dir/data/"* data/ 2>/dev/null
|
| 73 |
+
fi
|
| 74 |
+
|
| 75 |
+
if [ -f "$backup_dir/.env" ]; then
|
| 76 |
+
cp "$backup_dir/.env" ./ 2>/dev/null
|
| 77 |
+
fi
|
| 78 |
+
|
| 79 |
+
echo -e "${GREEN}配置文件已恢复${NC}"
|
| 80 |
+
}
|
| 81 |
+
|
| 82 |
+
# Function for installation tasks
|
| 83 |
+
installation_menu() {
|
| 84 |
+
show_header
|
| 85 |
+
echo -e "${YELLOW}===== 安装菜单 =====${NC}"
|
| 86 |
+
echo -e "1) 克隆仓库"
|
| 87 |
+
echo -e "2) 安装依赖"
|
| 88 |
+
echo -e "3) 创建配置文件"
|
| 89 |
+
echo -e "4) 设置管理员账户"
|
| 90 |
+
echo -e "5) 运行安装向导"
|
| 91 |
+
echo -e "6) 构建并启动Docker容器"
|
| 92 |
+
echo -e "7) 使用npm启动"
|
| 93 |
+
echo -e "8) 返回主菜单"
|
| 94 |
+
echo
|
| 95 |
+
echo -n "请输入选择 [1-8]: "
|
| 96 |
+
read -r choice
|
| 97 |
+
|
| 98 |
+
case $choice in
|
| 99 |
+
1)
|
| 100 |
+
show_header
|
| 101 |
+
echo -e "${YELLOW}正在克隆仓库...${NC}"
|
| 102 |
+
read -p "请输入您的GitHub用户名: " username
|
| 103 |
+
git clone "https://github.com/${username}/cursor-to-openai.git"
|
| 104 |
+
if [ $? -eq 0 ]; then
|
| 105 |
+
echo -e "${GREEN}仓库克隆成功!${NC}"
|
| 106 |
+
cd cursor-to-openai
|
| 107 |
+
else
|
| 108 |
+
echo -e "${RED}克隆仓库失败!${NC}"
|
| 109 |
+
fi
|
| 110 |
+
read -p "按回车键继续..."
|
| 111 |
+
installation_menu
|
| 112 |
+
;;
|
| 113 |
+
2)
|
| 114 |
+
show_header
|
| 115 |
+
echo -e "${YELLOW}正在安装依赖...${NC}"
|
| 116 |
+
npm install
|
| 117 |
+
if [ $? -eq 0 ]; then
|
| 118 |
+
echo -e "${GREEN}依赖安装成功!${NC}"
|
| 119 |
+
else
|
| 120 |
+
echo -e "${RED}依赖安装失败!${NC}"
|
| 121 |
+
fi
|
| 122 |
+
read -p "按回车键继续..."
|
| 123 |
+
installation_menu
|
| 124 |
+
;;
|
| 125 |
+
3)
|
| 126 |
+
show_header
|
| 127 |
+
echo -e "${YELLOW}正在创建配置文件...${NC}"
|
| 128 |
+
|
| 129 |
+
if [ ! -f .env ]; then
|
| 130 |
+
cp .env.example .env
|
| 131 |
+
echo -e "${GREEN}.env文件已创建。${NC}"
|
| 132 |
+
else
|
| 133 |
+
echo -e "${YELLOW}.env文件已存在。${NC}"
|
| 134 |
+
fi
|
| 135 |
+
|
| 136 |
+
mkdir -p data
|
| 137 |
+
|
| 138 |
+
if [ ! -f data/admin.json ]; then
|
| 139 |
+
cp data/admin.example.json data/admin.json
|
| 140 |
+
echo -e "${GREEN}admin.json文件已创建。${NC}"
|
| 141 |
+
else
|
| 142 |
+
echo -e "${YELLOW}admin.json文件已存在。${NC}"
|
| 143 |
+
fi
|
| 144 |
+
|
| 145 |
+
echo -e "${YELLOW}您应该编辑.env文件来配置您的环境。${NC}"
|
| 146 |
+
read -p "是否现在编辑.env文件?(y/n): " edit_env
|
| 147 |
+
if [[ $edit_env == "y" || $edit_env == "Y" ]]; then
|
| 148 |
+
if command -v nano &> /dev/null; then
|
| 149 |
+
nano .env
|
| 150 |
+
elif command -v vim &> /dev/null; then
|
| 151 |
+
vim .env
|
| 152 |
+
else
|
| 153 |
+
echo -e "${RED}未找到编辑器。请稍后手动编辑.env文件。${NC}"
|
| 154 |
+
fi
|
| 155 |
+
fi
|
| 156 |
+
|
| 157 |
+
read -p "按回车键继续..."
|
| 158 |
+
installation_menu
|
| 159 |
+
;;
|
| 160 |
+
4)
|
| 161 |
+
show_header
|
| 162 |
+
echo -e "${YELLOW}正在设置管理员账户...${NC}"
|
| 163 |
+
node scripts/create-admin.js
|
| 164 |
+
read -p "按回车键继续..."
|
| 165 |
+
installation_menu
|
| 166 |
+
;;
|
| 167 |
+
5)
|
| 168 |
+
show_header
|
| 169 |
+
echo -e "${YELLOW}正在运行安装向导...${NC}"
|
| 170 |
+
node setup.js
|
| 171 |
+
read -p "按回车键继续..."
|
| 172 |
+
installation_menu
|
| 173 |
+
;;
|
| 174 |
+
6)
|
| 175 |
+
show_header
|
| 176 |
+
echo -e "${YELLOW}正在构建并启动Docker容器...${NC}"
|
| 177 |
+
check_docker
|
| 178 |
+
docker compose up -d --build
|
| 179 |
+
if [ $? -eq 0 ]; then
|
| 180 |
+
echo -e "${GREEN}Docker容器启动成功!${NC}"
|
| 181 |
+
echo -e "${GREEN}访问管理界面: http://localhost:3010${NC}"
|
| 182 |
+
else
|
| 183 |
+
echo -e "${RED}启动Docker容器失败!${NC}"
|
| 184 |
+
fi
|
| 185 |
+
read -p "按回车键继续..."
|
| 186 |
+
installation_menu
|
| 187 |
+
;;
|
| 188 |
+
7)
|
| 189 |
+
show_header
|
| 190 |
+
echo -e "${YELLOW}正在使用npm启动...${NC}"
|
| 191 |
+
check_nodejs
|
| 192 |
+
npm start &
|
| 193 |
+
if [ $? -eq 0 ]; then
|
| 194 |
+
echo -e "${GREEN}服务启动成功!${NC}"
|
| 195 |
+
echo -e "${GREEN}访问管理界面: http://localhost:3010${NC}"
|
| 196 |
+
else
|
| 197 |
+
echo -e "${RED}启动服务失败!${NC}"
|
| 198 |
+
fi
|
| 199 |
+
read -p "按回车键继续..."
|
| 200 |
+
installation_menu
|
| 201 |
+
;;
|
| 202 |
+
8)
|
| 203 |
+
main_menu
|
| 204 |
+
;;
|
| 205 |
+
*)
|
| 206 |
+
echo -e "${RED}无效选项。请重试。${NC}"
|
| 207 |
+
read -p "按回车键继续..."
|
| 208 |
+
installation_menu
|
| 209 |
+
;;
|
| 210 |
+
esac
|
| 211 |
+
}
|
| 212 |
+
|
| 213 |
+
# Function for maintenance tasks
|
| 214 |
+
maintenance_menu() {
|
| 215 |
+
show_header
|
| 216 |
+
echo -e "${YELLOW}===== 维护菜单 =====${NC}"
|
| 217 |
+
echo -e "1) 查看服务状态"
|
| 218 |
+
echo -e "2) 刷新Cookie"
|
| 219 |
+
echo -e "3) 强制刷新Cookie"
|
| 220 |
+
echo -e "4) 管理邮箱"
|
| 221 |
+
echo -e "5) 管理无效Cookie"
|
| 222 |
+
echo -e "6) 查看日志"
|
| 223 |
+
echo -e "7) 重启服务"
|
| 224 |
+
echo -e "8) 停止服务"
|
| 225 |
+
echo -e "9) 更新项目代码"
|
| 226 |
+
echo -e "10) 备份项目数据"
|
| 227 |
+
echo -e "11) 持续刷新Cookie直到成功"
|
| 228 |
+
echo -e "12) 返回主菜单"
|
| 229 |
+
echo
|
| 230 |
+
echo -n "请输入选择 [1-12]: "
|
| 231 |
+
read -r choice
|
| 232 |
+
|
| 233 |
+
case $choice in
|
| 234 |
+
1)
|
| 235 |
+
show_header
|
| 236 |
+
echo -e "${YELLOW}服务状态:${NC}"
|
| 237 |
+
if docker ps | grep -q cursor-to-openai; then
|
| 238 |
+
echo -e "${GREEN}Docker容器正在运行。${NC}"
|
| 239 |
+
docker ps | grep cursor-to-openai
|
| 240 |
+
else
|
| 241 |
+
echo -e "${RED}Docker容器未运行。${NC}"
|
| 242 |
+
fi
|
| 243 |
+
|
| 244 |
+
pids=$(pgrep -f "node.*start")
|
| 245 |
+
if [ -n "$pids" ]; then
|
| 246 |
+
echo -e "${GREEN}Node.js服务正在运行,PID: $pids${NC}"
|
| 247 |
+
else
|
| 248 |
+
echo -e "${RED}Node.js服务未运行。${NC}"
|
| 249 |
+
fi
|
| 250 |
+
|
| 251 |
+
read -p "按回车键继续..."
|
| 252 |
+
maintenance_menu
|
| 253 |
+
;;
|
| 254 |
+
2)
|
| 255 |
+
show_header
|
| 256 |
+
echo -e "${YELLOW}正在刷新Cookie...${NC}"
|
| 257 |
+
npm run refresh-cookies
|
| 258 |
+
read -p "按回车键继续..."
|
| 259 |
+
maintenance_menu
|
| 260 |
+
;;
|
| 261 |
+
3)
|
| 262 |
+
show_header
|
| 263 |
+
echo -e "${YELLOW}正在强制刷新Cookie...${NC}"
|
| 264 |
+
npm run refresh-cookies -- --force
|
| 265 |
+
read -p "按回车键继续..."
|
| 266 |
+
maintenance_menu
|
| 267 |
+
;;
|
| 268 |
+
4)
|
| 269 |
+
show_header
|
| 270 |
+
echo -e "${YELLOW}正在管理邮箱...${NC}"
|
| 271 |
+
npm run manage-emails
|
| 272 |
+
read -p "按回车键继续..."
|
| 273 |
+
maintenance_menu
|
| 274 |
+
;;
|
| 275 |
+
5)
|
| 276 |
+
show_header
|
| 277 |
+
echo -e "${YELLOW}正在管理无效Cookie...${NC}"
|
| 278 |
+
node manage-invalid-cookies.js
|
| 279 |
+
read -p "按回车键继续..."
|
| 280 |
+
maintenance_menu
|
| 281 |
+
;;
|
| 282 |
+
6)
|
| 283 |
+
show_header
|
| 284 |
+
echo -e "${YELLOW}正在查看日志...${NC}"
|
| 285 |
+
if docker ps | grep -q cursor-to-openai; then
|
| 286 |
+
docker compose logs -f
|
| 287 |
+
else
|
| 288 |
+
echo -e "${RED}Docker容器未运行。${NC}"
|
| 289 |
+
echo -e "${YELLOW}正在检查npm日志...${NC}"
|
| 290 |
+
# Try to find logs in npm-debug.log or similar
|
| 291 |
+
if [ -f npm-debug.log ]; then
|
| 292 |
+
cat npm-debug.log
|
| 293 |
+
else
|
| 294 |
+
echo -e "${RED}未找到日志文件。${NC}"
|
| 295 |
+
fi
|
| 296 |
+
fi
|
| 297 |
+
read -p "按回车键继续..."
|
| 298 |
+
maintenance_menu
|
| 299 |
+
;;
|
| 300 |
+
7)
|
| 301 |
+
show_header
|
| 302 |
+
echo -e "${YELLOW}正在重启服务...${NC}"
|
| 303 |
+
if docker ps | grep -q cursor-to-openai; then
|
| 304 |
+
docker compose restart
|
| 305 |
+
echo -e "${GREEN}Docker容器已重启。${NC}"
|
| 306 |
+
else
|
| 307 |
+
pids=$(pgrep -f "node.*start")
|
| 308 |
+
if [ -n "$pids" ]; then
|
| 309 |
+
kill $pids
|
| 310 |
+
sleep 2
|
| 311 |
+
npm start &
|
| 312 |
+
echo -e "${GREEN}Node.js服务已重启。${NC}"
|
| 313 |
+
else
|
| 314 |
+
echo -e "${RED}未检测到运行中的服务。${NC}"
|
| 315 |
+
echo -e "${YELLOW}是否要启动服务?(y/n): ${NC}"
|
| 316 |
+
read -r start_service
|
| 317 |
+
if [[ $start_service == "y" || $start_service == "Y" ]]; then
|
| 318 |
+
npm start &
|
| 319 |
+
echo -e "${GREEN}服务已启动。${NC}"
|
| 320 |
+
fi
|
| 321 |
+
fi
|
| 322 |
+
fi
|
| 323 |
+
read -p "按回车键继续..."
|
| 324 |
+
maintenance_menu
|
| 325 |
+
;;
|
| 326 |
+
8)
|
| 327 |
+
show_header
|
| 328 |
+
echo -e "${YELLOW}正在停止服务...${NC}"
|
| 329 |
+
if docker ps | grep -q cursor-to-openai; then
|
| 330 |
+
docker compose down
|
| 331 |
+
echo -e "${GREEN}Docker容器已停止。${NC}"
|
| 332 |
+
else
|
| 333 |
+
pids=$(pgrep -f "node.*start")
|
| 334 |
+
if [ -n "$pids" ]; then
|
| 335 |
+
kill $pids
|
| 336 |
+
echo -e "${GREEN}Node.js服务已停止。${NC}"
|
| 337 |
+
else
|
| 338 |
+
echo -e "${RED}未检测到运行中的服务。${NC}"
|
| 339 |
+
fi
|
| 340 |
+
fi
|
| 341 |
+
read -p "按回车键继续..."
|
| 342 |
+
maintenance_menu
|
| 343 |
+
;;
|
| 344 |
+
9)
|
| 345 |
+
show_header
|
| 346 |
+
echo -e "${YELLOW}正在更新项目代码...${NC}"
|
| 347 |
+
|
| 348 |
+
# 备份配置文件
|
| 349 |
+
backup_configs
|
| 350 |
+
backup_dir=$(ls -td backups/update_backup_* | head -1)
|
| 351 |
+
|
| 352 |
+
# 检查是否存在未提交的更改
|
| 353 |
+
if [ -n "$(git status --porcelain)" ]; then
|
| 354 |
+
echo -e "${YELLOW}检测到未提交的更改。更新前请处理这些更改。${NC}"
|
| 355 |
+
echo -e "1) 查看更改"
|
| 356 |
+
echo -e "2) 备份并放弃更改"
|
| 357 |
+
echo -e "3) 取消更新"
|
| 358 |
+
echo -n "请选择操作 [1-3]: "
|
| 359 |
+
read -r update_choice
|
| 360 |
+
|
| 361 |
+
case $update_choice in
|
| 362 |
+
1)
|
| 363 |
+
git status
|
| 364 |
+
echo -e "${YELLOW}是否继续更新?(y/n): ${NC}"
|
| 365 |
+
read -r continue_update
|
| 366 |
+
if [[ $continue_update != "y" && $continue_update != "Y" ]]; then
|
| 367 |
+
echo -e "${YELLOW}更新已取消。${NC}"
|
| 368 |
+
read -p "按回车键继续..."
|
| 369 |
+
maintenance_menu
|
| 370 |
+
return
|
| 371 |
+
fi
|
| 372 |
+
;;
|
| 373 |
+
2)
|
| 374 |
+
echo -e "${YELLOW}备份更改...${NC}"
|
| 375 |
+
git diff > "$backup_dir/local_changes.patch"
|
| 376 |
+
git checkout -- .
|
| 377 |
+
echo -e "${GREEN}更改已备份到 $backup_dir/local_changes.patch${NC}"
|
| 378 |
+
;;
|
| 379 |
+
3)
|
| 380 |
+
echo -e "${YELLOW}更新已取消。${NC}"
|
| 381 |
+
read -p "按回车键继续..."
|
| 382 |
+
maintenance_menu
|
| 383 |
+
return
|
| 384 |
+
;;
|
| 385 |
+
*)
|
| 386 |
+
echo -e "${RED}无效选项。更新已取消。${NC}"
|
| 387 |
+
read -p "按回车键继续..."
|
| 388 |
+
maintenance_menu
|
| 389 |
+
return
|
| 390 |
+
;;
|
| 391 |
+
esac
|
| 392 |
+
fi
|
| 393 |
+
|
| 394 |
+
# 更新代码
|
| 395 |
+
git pull
|
| 396 |
+
update_status=$?
|
| 397 |
+
|
| 398 |
+
# 恢复配置文件
|
| 399 |
+
restore_configs "$backup_dir"
|
| 400 |
+
|
| 401 |
+
if [ $update_status -eq 0 ]; then
|
| 402 |
+
echo -e "${GREEN}项目代码更新成功!${NC}"
|
| 403 |
+
echo -e "${YELLOW}是否需要重新安装依赖?(y/n): ${NC}"
|
| 404 |
+
read -r reinstall
|
| 405 |
+
if [[ $reinstall == "y" || $reinstall == "Y" ]]; then
|
| 406 |
+
npm install
|
| 407 |
+
if [ $? -eq 0 ]; then
|
| 408 |
+
echo -e "${GREEN}依赖安装成功!${NC}"
|
| 409 |
+
else
|
| 410 |
+
echo -e "${RED}依赖安装失败!${NC}"
|
| 411 |
+
fi
|
| 412 |
+
fi
|
| 413 |
+
else
|
| 414 |
+
echo -e "${RED}项目代码更新失败!${NC}"
|
| 415 |
+
fi
|
| 416 |
+
|
| 417 |
+
read -p "按回车键继续..."
|
| 418 |
+
maintenance_menu
|
| 419 |
+
;;
|
| 420 |
+
10)
|
| 421 |
+
show_header
|
| 422 |
+
echo -e "${YELLOW}正在备份项目数据...${NC}"
|
| 423 |
+
|
| 424 |
+
# 创建备份目录
|
| 425 |
+
backup_dir="backups/backup_$(date +"%Y%m%d_%H%M%S")"
|
| 426 |
+
mkdir -p "$backup_dir"
|
| 427 |
+
|
| 428 |
+
# 备份关键文件
|
| 429 |
+
cp -r data "$backup_dir/" 2>/dev/null
|
| 430 |
+
if [ -f .env ]; then
|
| 431 |
+
cp .env "$backup_dir/"
|
| 432 |
+
fi
|
| 433 |
+
|
| 434 |
+
# 压缩备份
|
| 435 |
+
tar -czf "${backup_dir}.tar.gz" "$backup_dir"
|
| 436 |
+
rm -rf "$backup_dir"
|
| 437 |
+
|
| 438 |
+
echo -e "${GREEN}备份已创建: ${backup_dir}.tar.gz${NC}"
|
| 439 |
+
read -p "按回车键继续..."
|
| 440 |
+
maintenance_menu
|
| 441 |
+
;;
|
| 442 |
+
11)
|
| 443 |
+
show_header
|
| 444 |
+
echo -e "${YELLOW}持续刷新Cookie直到成功...${NC}"
|
| 445 |
+
read -p "请输入最大尝试时间(分钟, 默认60): " max_time
|
| 446 |
+
max_time=${max_time:-60}
|
| 447 |
+
max_seconds=$((max_time * 60))
|
| 448 |
+
|
| 449 |
+
echo -e "${YELLOW}将持续尝试刷新Cookie,最长 ${max_time} 分钟...${NC}"
|
| 450 |
+
|
| 451 |
+
start_time=$(date +%s)
|
| 452 |
+
success=false
|
| 453 |
+
attempt=0
|
| 454 |
+
|
| 455 |
+
while ! $success && [ $(($(date +%s) - start_time)) -lt $max_seconds ]; do
|
| 456 |
+
attempt=$((attempt + 1))
|
| 457 |
+
elapsed=$(($(date +%s) - start_time))
|
| 458 |
+
remaining=$((max_seconds - elapsed))
|
| 459 |
+
remaining_min=$((remaining / 60))
|
| 460 |
+
remaining_sec=$((remaining % 60))
|
| 461 |
+
|
| 462 |
+
echo -e "${YELLOW}尝试 #${attempt}...(剩余时间: ${remaining_min}分${remaining_sec}秒)${NC}"
|
| 463 |
+
|
| 464 |
+
# 运行刷新命令并检查输出
|
| 465 |
+
output=$(npm run refresh-cookies -- --force 2>&1)
|
| 466 |
+
echo "$output"
|
| 467 |
+
|
| 468 |
+
if echo "$output" | grep -q "成功添加新的Cookie" || echo "$output" | grep -q "Successfully added new cookies"; then
|
| 469 |
+
success=true
|
| 470 |
+
echo -e "${GREEN}成功添加新Cookie!${NC}"
|
| 471 |
+
else
|
| 472 |
+
wait_time=$((RANDOM % 61 + 30)) # 30-90秒随机间隔
|
| 473 |
+
echo -e "${YELLOW}等待 ${wait_time} 秒后重试...${NC}"
|
| 474 |
+
sleep $wait_time
|
| 475 |
+
fi
|
| 476 |
+
done
|
| 477 |
+
|
| 478 |
+
if $success; then
|
| 479 |
+
echo -e "${GREEN}成功刷新Cookie!${NC}"
|
| 480 |
+
else
|
| 481 |
+
echo -e "${RED}达到最大尝试时间,未能成功刷新Cookie。${NC}"
|
| 482 |
+
fi
|
| 483 |
+
|
| 484 |
+
read -p "按回车键继续..."
|
| 485 |
+
maintenance_menu
|
| 486 |
+
;;
|
| 487 |
+
12)
|
| 488 |
+
main_menu
|
| 489 |
+
;;
|
| 490 |
+
*)
|
| 491 |
+
echo -e "${RED}无效选项。请重试。${NC}"
|
| 492 |
+
read -p "按回车键继续..."
|
| 493 |
+
maintenance_menu
|
| 494 |
+
;;
|
| 495 |
+
esac
|
| 496 |
+
}
|
| 497 |
+
|
| 498 |
+
# Main menu function
|
| 499 |
+
main_menu() {
|
| 500 |
+
show_header
|
| 501 |
+
echo -e "${YELLOW}===== 主菜单 =====${NC}"
|
| 502 |
+
echo -e "1) 启动服务 (npm)"
|
| 503 |
+
echo -e "2) 安装配置"
|
| 504 |
+
echo -e "3) 系统维护"
|
| 505 |
+
echo -e "4) 退出"
|
| 506 |
+
echo
|
| 507 |
+
echo -n "请输入选择 [1-4]: "
|
| 508 |
+
read -r choice
|
| 509 |
+
|
| 510 |
+
case $choice in
|
| 511 |
+
1)
|
| 512 |
+
show_header
|
| 513 |
+
echo -e "${YELLOW}正在使用npm启动服务...${NC}"
|
| 514 |
+
check_nodejs
|
| 515 |
+
|
| 516 |
+
# 检查Node.js服务是否已在运行
|
| 517 |
+
pids=$(pgrep -f "node.*start")
|
| 518 |
+
if [ -n "$pids" ]; then
|
| 519 |
+
echo -e "${YELLOW}服务已在运行,PID: $pids${NC}"
|
| 520 |
+
echo -e "${YELLOW}是否要重启服务?(y/n): ${NC}"
|
| 521 |
+
read -r restart
|
| 522 |
+
if [[ $restart == "y" || $restart == "Y" ]]; then
|
| 523 |
+
kill $pids
|
| 524 |
+
sleep 2
|
| 525 |
+
npm start &
|
| 526 |
+
echo -e "${GREEN}服务已重启${NC}"
|
| 527 |
+
fi
|
| 528 |
+
else
|
| 529 |
+
npm start &
|
| 530 |
+
echo -e "${GREEN}服务已启动${NC}"
|
| 531 |
+
fi
|
| 532 |
+
|
| 533 |
+
echo -e "${GREEN}访问管理界面: http://localhost:3010${NC}"
|
| 534 |
+
read -p "按回车键继续..."
|
| 535 |
+
main_menu
|
| 536 |
+
;;
|
| 537 |
+
2)
|
| 538 |
+
installation_menu
|
| 539 |
+
;;
|
| 540 |
+
3)
|
| 541 |
+
maintenance_menu
|
| 542 |
+
;;
|
| 543 |
+
4)
|
| 544 |
+
show_header
|
| 545 |
+
echo -e "${GREEN}感谢使用Cursor-To-OpenAI简易脚本!${NC}"
|
| 546 |
+
exit 0
|
| 547 |
+
;;
|
| 548 |
+
*)
|
| 549 |
+
echo -e "${RED}无效选项。请重试。${NC}"
|
| 550 |
+
read -p "按回车键继续..."
|
| 551 |
+
main_menu
|
| 552 |
+
;;
|
| 553 |
+
esac
|
| 554 |
+
}
|
| 555 |
+
|
| 556 |
+
# Start the script
|
| 557 |
+
main_menu
|
data/admin.example.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"admin": {
|
| 3 |
+
"username": "your_admin_username",
|
| 4 |
+
"salt": "your_generated_salt",
|
| 5 |
+
"hash": "your_password_hash"
|
| 6 |
+
}
|
| 7 |
+
}
|
data/admin.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"admin":{"username":"zye784581395","salt":"77ffb4ec378f0bd82dad2816d8f40f46","hash":"57fc611a776b5d317f673114c3512b1c4b6afa472bfd3e7c94de4449266eb11f9b6f919b44797c2f6414b56d823af65fcbf524f6afd117a050dc7dbc76ba6cdb"}}
|
data/api_keys.example.json
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"sk-text@example": [
|
| 3 |
+
"user_XXXXXXXXXXXX%3A%3AeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
|
| 4 |
+
]
|
| 5 |
+
}
|
data/api_keys.json
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"123456": [
|
| 3 |
+
"user_01JRSMT134YW8D05T7ZVBBP7JV%3A%3AeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJnb29nbGUtb2F1dGgyfHVzZXJfMDFKUlNNVDEzNFlXOEQwNVQ3WlZCQlA3SlYiLCJ0aW1lIjoiMTc0NTgwMzI1NSIsInJhbmRvbW5lc3MiOiIzYjkxNWI5ZS1mMmJmLTRhNjAiLCJleHAiOjE3NTA5ODcyNTUsImlzcyI6Imh0dHBzOi8vYXV0aGVudGljYXRpb24uY3Vyc29yLnNoIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBlbWFpbCBvZmZsaW5lX2FjY2VzcyIsImF1ZCI6Imh0dHBzOi8vY3Vyc29yLmNvbSJ9.i_C9uxF1DN6nXlFF5H8UoZPtgtIjpYCeU1hJ59to6rk"
|
| 4 |
+
],
|
| 5 |
+
"jinzhu1": [
|
| 6 |
+
"user_01JRSMT134YW8D05T7ZVBBP7JV%3A%3AeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJnb29nbGUtb2F1dGgyfHVzZXJfMDFKUlNNVDEzNFlXOEQwNVQ3WlZCQlA3SlYiLCJ0aW1lIjoiMTc0NDg1NDU0NyIsInJhbmRvbW5lc3MiOiI1NGI5OWFhOS03NTFiLTQzNGMiLCJleHAiOjE3NTAwMzg1NDcsImlzcyI6Imh0dHBzOi8vYXV0aGVudGljYXRpb24uY3Vyc29yLnNoIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBlbWFpbCBvZmZsaW5lX2FjY2VzcyIsImF1ZCI6Imh0dHBzOi8vY3Vyc29yLmNvbSJ9.Sqy7kVfVyjwgTGHJwrwB5elwLZ6-3CcdAhFhwUqUxsE"
|
| 7 |
+
]
|
| 8 |
+
}
|
data/invalid_cookies.example.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
"user_XXXXXXXXXXXX%3A%3AeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
|
| 3 |
+
]
|
data/invalid_cookies.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
[]
|
docker-compose.yaml
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version: '3.8'
|
| 2 |
+
|
| 3 |
+
services:
|
| 4 |
+
app:
|
| 5 |
+
build:
|
| 6 |
+
context: .
|
| 7 |
+
dockerfile: Dockerfile
|
| 8 |
+
image: cursor-to-openai
|
| 9 |
+
volumes:
|
| 10 |
+
- ./data:/app/data
|
| 11 |
+
ports:
|
| 12 |
+
- "3010:3010"
|
| 13 |
+
env_file:
|
| 14 |
+
- .env
|
manage-emails.js
ADDED
|
@@ -0,0 +1,309 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env node
|
| 2 |
+
|
| 3 |
+
const fs = require('fs');
|
| 4 |
+
const path = require('path');
|
| 5 |
+
const readline = require('readline');
|
| 6 |
+
const dotenv = require('dotenv');
|
| 7 |
+
|
| 8 |
+
// 创建交互式命令行界面
|
| 9 |
+
const rl = readline.createInterface({
|
| 10 |
+
input: process.stdin,
|
| 11 |
+
output: process.stdout
|
| 12 |
+
});
|
| 13 |
+
|
| 14 |
+
// 加载环境变量
|
| 15 |
+
const ENV_FILE_PATH = path.join(process.cwd(), '.env');
|
| 16 |
+
let envContent = '';
|
| 17 |
+
let emailConfigs = [];
|
| 18 |
+
|
| 19 |
+
// 应用密码说明
|
| 20 |
+
function printAppPasswordInstructions() {
|
| 21 |
+
console.log('\n===== 如何创建谷歌应用密码 =====');
|
| 22 |
+
console.log('1. 访问 https://myaccount.google.com/security');
|
| 23 |
+
console.log('2. 在"登录Google"部分,点击"两步验证"');
|
| 24 |
+
console.log(' (如果未启用两步验证,需要先启用)');
|
| 25 |
+
console.log('3. 在页面底部找到"应用密码",点击进入');
|
| 26 |
+
console.log('4. 在"选择应用"下拉菜单中选择"其他(自定义名称)"');
|
| 27 |
+
console.log('5. 输入一个名称,例如"Cursor注册"');
|
| 28 |
+
console.log('6. 点击"生成"');
|
| 29 |
+
console.log('7. 复制生成的16位应用密码(格式如:xxxx xxxx xxxx xxxx)');
|
| 30 |
+
console.log('注意: 应用密码只会显示一次,请务必保存好\n');
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
// 加载当前环境变量和邮箱配置
|
| 34 |
+
function loadEnvironment() {
|
| 35 |
+
try {
|
| 36 |
+
if (!fs.existsSync(ENV_FILE_PATH)) {
|
| 37 |
+
console.error('❌ .env文件不存在,请先运行setup.js进行初始化配置');
|
| 38 |
+
process.exit(1);
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
// 读取原始.env文件内容
|
| 42 |
+
envContent = fs.readFileSync(ENV_FILE_PATH, 'utf8');
|
| 43 |
+
|
| 44 |
+
// 解析环境变量
|
| 45 |
+
dotenv.config();
|
| 46 |
+
|
| 47 |
+
// 尝试解析当前的邮箱配置
|
| 48 |
+
try {
|
| 49 |
+
const configStr = process.env.REGISTER_EMAIL_CONFIGS;
|
| 50 |
+
if (configStr) {
|
| 51 |
+
emailConfigs = JSON.parse(configStr);
|
| 52 |
+
if (!Array.isArray(emailConfigs)) {
|
| 53 |
+
emailConfigs = [];
|
| 54 |
+
}
|
| 55 |
+
}
|
| 56 |
+
} catch (parseErr) {
|
| 57 |
+
console.warn('⚠️ 解析当前邮箱配置出错,将使用空配置');
|
| 58 |
+
emailConfigs = [];
|
| 59 |
+
}
|
| 60 |
+
|
| 61 |
+
return true;
|
| 62 |
+
} catch (error) {
|
| 63 |
+
console.error(`❌ 加载环境变量失败: ${error.message}`);
|
| 64 |
+
return false;
|
| 65 |
+
}
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
// 保存更新后的邮箱配置到.env文件
|
| 69 |
+
function saveEmailConfigs() {
|
| 70 |
+
try {
|
| 71 |
+
// 将邮箱配置格式化为JSON字符串
|
| 72 |
+
const configStr = JSON.stringify(emailConfigs);
|
| 73 |
+
|
| 74 |
+
// 替换.env文件中的配置
|
| 75 |
+
let newEnvContent = '';
|
| 76 |
+
|
| 77 |
+
if (envContent.includes('REGISTER_EMAIL_CONFIGS=')) {
|
| 78 |
+
// 使用正则表达式替换REGISTER_EMAIL_CONFIGS行
|
| 79 |
+
newEnvContent = envContent.replace(
|
| 80 |
+
/REGISTER_EMAIL_CONFIGS=.*/,
|
| 81 |
+
`REGISTER_EMAIL_CONFIGS=${configStr}`
|
| 82 |
+
);
|
| 83 |
+
} else {
|
| 84 |
+
// 如果不存在该配置行,添加到文件末尾
|
| 85 |
+
newEnvContent = `${envContent}\nREGISTER_EMAIL_CONFIGS=${configStr}`;
|
| 86 |
+
}
|
| 87 |
+
|
| 88 |
+
// 同时确保USE_CONFIG_FILE设置为false
|
| 89 |
+
if (newEnvContent.includes('REGISTER_USE_CONFIG_FILE=')) {
|
| 90 |
+
newEnvContent = newEnvContent.replace(
|
| 91 |
+
/REGISTER_USE_CONFIG_FILE=.*/,
|
| 92 |
+
'REGISTER_USE_CONFIG_FILE=false'
|
| 93 |
+
);
|
| 94 |
+
} else {
|
| 95 |
+
newEnvContent = `${newEnvContent}\nREGISTER_USE_CONFIG_FILE=false`;
|
| 96 |
+
}
|
| 97 |
+
|
| 98 |
+
// 确保EMAIL_SERVER设置为IMAP
|
| 99 |
+
if (newEnvContent.includes('REGISTER_EMAIL_SERVER=')) {
|
| 100 |
+
newEnvContent = newEnvContent.replace(
|
| 101 |
+
/REGISTER_EMAIL_SERVER=.*/,
|
| 102 |
+
'REGISTER_EMAIL_SERVER=IMAP'
|
| 103 |
+
);
|
| 104 |
+
} else {
|
| 105 |
+
newEnvContent = `${newEnvContent}\nREGISTER_EMAIL_SERVER=IMAP`;
|
| 106 |
+
}
|
| 107 |
+
|
| 108 |
+
// 写入更新后的内容
|
| 109 |
+
fs.writeFileSync(ENV_FILE_PATH, newEnvContent, 'utf8');
|
| 110 |
+
|
| 111 |
+
console.log('✅ 邮箱配置已成功保存到.env文件');
|
| 112 |
+
return true;
|
| 113 |
+
} catch (error) {
|
| 114 |
+
console.error(`❌ 保存邮箱配置失败: ${error.message}`);
|
| 115 |
+
return false;
|
| 116 |
+
}
|
| 117 |
+
}
|
| 118 |
+
|
| 119 |
+
// 显示所有已配置的邮箱
|
| 120 |
+
function displayEmails() {
|
| 121 |
+
console.log('\n===== 当前已配置的邮箱 =====');
|
| 122 |
+
|
| 123 |
+
if (emailConfigs.length === 0) {
|
| 124 |
+
console.log('暂无已配置的邮箱');
|
| 125 |
+
return;
|
| 126 |
+
}
|
| 127 |
+
|
| 128 |
+
emailConfigs.forEach((config, index) => {
|
| 129 |
+
console.log(`[${index + 1}] ${config.email}`);
|
| 130 |
+
console.log(` IMAP服务器: ${config.imap_server}`);
|
| 131 |
+
console.log(` IMAP端口: ${config.imap_port}`);
|
| 132 |
+
console.log(` 用户名: ${config.username}`);
|
| 133 |
+
console.log(` 应用密码: ${config.password}`);
|
| 134 |
+
console.log('');
|
| 135 |
+
});
|
| 136 |
+
}
|
| 137 |
+
|
| 138 |
+
// 添加新邮箱
|
| 139 |
+
function addEmail() {
|
| 140 |
+
console.log('\n===== 添加新邮箱 =====');
|
| 141 |
+
printAppPasswordInstructions();
|
| 142 |
+
|
| 143 |
+
rl.question('请输入Gmail地址: ', (email) => {
|
| 144 |
+
rl.question('请输入Gmail的应用密码 (不是邮箱密码): ', (password) => {
|
| 145 |
+
// 创建新配置
|
| 146 |
+
const newConfig = {
|
| 147 |
+
email: email,
|
| 148 |
+
imap_server: 'imap.gmail.com',
|
| 149 |
+
imap_port: 993,
|
| 150 |
+
username: email,
|
| 151 |
+
password: password
|
| 152 |
+
};
|
| 153 |
+
|
| 154 |
+
// 添加到配置列表
|
| 155 |
+
emailConfigs.push(newConfig);
|
| 156 |
+
|
| 157 |
+
console.log(`\n✅ 已添加邮箱: ${email}`);
|
| 158 |
+
|
| 159 |
+
// 保存到.env文件
|
| 160 |
+
if (saveEmailConfigs()) {
|
| 161 |
+
showMainMenu();
|
| 162 |
+
}
|
| 163 |
+
});
|
| 164 |
+
});
|
| 165 |
+
}
|
| 166 |
+
|
| 167 |
+
// 修改邮箱
|
| 168 |
+
function modifyEmail() {
|
| 169 |
+
if (emailConfigs.length === 0) {
|
| 170 |
+
console.log('\n❌ 当前没有可修改的邮箱。请先添加邮箱。');
|
| 171 |
+
showMainMenu();
|
| 172 |
+
return;
|
| 173 |
+
}
|
| 174 |
+
|
| 175 |
+
console.log('\n===== 修改邮箱 =====');
|
| 176 |
+
displayEmails();
|
| 177 |
+
|
| 178 |
+
rl.question('请输入要修改的邮箱序号 (1-' + emailConfigs.length + '): ', (indexStr) => {
|
| 179 |
+
const index = parseInt(indexStr) - 1;
|
| 180 |
+
|
| 181 |
+
if (isNaN(index) || index < 0 || index >= emailConfigs.length) {
|
| 182 |
+
console.log('\n❌ 无效的序号。请重新选择。');
|
| 183 |
+
modifyEmail();
|
| 184 |
+
return;
|
| 185 |
+
}
|
| 186 |
+
|
| 187 |
+
const currentConfig = emailConfigs[index];
|
| 188 |
+
|
| 189 |
+
console.log(`\n正在修改邮箱: ${currentConfig.email}`);
|
| 190 |
+
|
| 191 |
+
rl.question(`新的Gmail地址 (当前: ${currentConfig.email},直接回车保持不变): `, (email) => {
|
| 192 |
+
const newEmail = email.trim() === '' ? currentConfig.email : email;
|
| 193 |
+
|
| 194 |
+
rl.question('新的应用密码 (直接回车保持不变): ', (password) => {
|
| 195 |
+
const newPassword = password.trim() === '' ? currentConfig.password : password;
|
| 196 |
+
|
| 197 |
+
// 更新配置
|
| 198 |
+
emailConfigs[index] = {
|
| 199 |
+
email: newEmail,
|
| 200 |
+
imap_server: 'imap.gmail.com',
|
| 201 |
+
imap_port: 993,
|
| 202 |
+
username: newEmail,
|
| 203 |
+
password: newPassword
|
| 204 |
+
};
|
| 205 |
+
|
| 206 |
+
console.log(`\n✅ 已修改邮箱配置: ${newEmail}`);
|
| 207 |
+
|
| 208 |
+
// 保存到.env文件
|
| 209 |
+
if (saveEmailConfigs()) {
|
| 210 |
+
showMainMenu();
|
| 211 |
+
}
|
| 212 |
+
});
|
| 213 |
+
});
|
| 214 |
+
});
|
| 215 |
+
}
|
| 216 |
+
|
| 217 |
+
// 删除邮箱
|
| 218 |
+
function deleteEmail() {
|
| 219 |
+
if (emailConfigs.length === 0) {
|
| 220 |
+
console.log('\n❌ 当前没有可删除的邮箱。');
|
| 221 |
+
showMainMenu();
|
| 222 |
+
return;
|
| 223 |
+
}
|
| 224 |
+
|
| 225 |
+
console.log('\n===== 删除邮箱 =====');
|
| 226 |
+
displayEmails();
|
| 227 |
+
|
| 228 |
+
rl.question('请输入要删除的邮箱序号 (1-' + emailConfigs.length + '): ', (indexStr) => {
|
| 229 |
+
const index = parseInt(indexStr) - 1;
|
| 230 |
+
|
| 231 |
+
if (isNaN(index) || index < 0 || index >= emailConfigs.length) {
|
| 232 |
+
console.log('\n❌ 无效的序号。请重新选择。');
|
| 233 |
+
deleteEmail();
|
| 234 |
+
return;
|
| 235 |
+
}
|
| 236 |
+
|
| 237 |
+
const emailToDelete = emailConfigs[index].email;
|
| 238 |
+
|
| 239 |
+
rl.question(`确认删除邮箱 "${emailToDelete}"? (y/n): `, (answer) => {
|
| 240 |
+
if (answer.toLowerCase() === 'y') {
|
| 241 |
+
// 删除邮箱
|
| 242 |
+
emailConfigs.splice(index, 1);
|
| 243 |
+
|
| 244 |
+
console.log(`\n✅ 已删除邮箱: ${emailToDelete}`);
|
| 245 |
+
|
| 246 |
+
// 保存到.env文件
|
| 247 |
+
if (saveEmailConfigs()) {
|
| 248 |
+
showMainMenu();
|
| 249 |
+
}
|
| 250 |
+
} else {
|
| 251 |
+
console.log('\n操作已取消');
|
| 252 |
+
showMainMenu();
|
| 253 |
+
}
|
| 254 |
+
});
|
| 255 |
+
});
|
| 256 |
+
}
|
| 257 |
+
|
| 258 |
+
// 显示主菜单
|
| 259 |
+
function showMainMenu() {
|
| 260 |
+
console.log('\n===== 邮箱配置管理 =====');
|
| 261 |
+
console.log('1. 查看所有邮箱');
|
| 262 |
+
console.log('2. 添加新邮箱');
|
| 263 |
+
console.log('3. 修改邮箱');
|
| 264 |
+
console.log('4. 删除邮箱');
|
| 265 |
+
console.log('0. 退出');
|
| 266 |
+
|
| 267 |
+
rl.question('请选择操作 (0-4): ', (choice) => {
|
| 268 |
+
switch (choice) {
|
| 269 |
+
case '1':
|
| 270 |
+
displayEmails();
|
| 271 |
+
showMainMenu();
|
| 272 |
+
break;
|
| 273 |
+
case '2':
|
| 274 |
+
addEmail();
|
| 275 |
+
break;
|
| 276 |
+
case '3':
|
| 277 |
+
modifyEmail();
|
| 278 |
+
break;
|
| 279 |
+
case '4':
|
| 280 |
+
deleteEmail();
|
| 281 |
+
break;
|
| 282 |
+
case '0':
|
| 283 |
+
console.log('\n✅ 配置完成,退出程序');
|
| 284 |
+
rl.close();
|
| 285 |
+
break;
|
| 286 |
+
default:
|
| 287 |
+
console.log('\n❌ 无效的选择,请重新输入');
|
| 288 |
+
showMainMenu();
|
| 289 |
+
break;
|
| 290 |
+
}
|
| 291 |
+
});
|
| 292 |
+
}
|
| 293 |
+
|
| 294 |
+
// 主函数
|
| 295 |
+
async function main() {
|
| 296 |
+
console.log('===== Cursor-To-OpenAI 邮箱配置管理 =====');
|
| 297 |
+
|
| 298 |
+
// 加载当前配置
|
| 299 |
+
if (loadEnvironment()) {
|
| 300 |
+
// 显示主菜单
|
| 301 |
+
showMainMenu();
|
| 302 |
+
} else {
|
| 303 |
+
console.error('程序退出');
|
| 304 |
+
rl.close();
|
| 305 |
+
}
|
| 306 |
+
}
|
| 307 |
+
|
| 308 |
+
// 运行主函数
|
| 309 |
+
main();
|
manage-invalid-cookies.js
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// 加载环境变量
|
| 2 |
+
require('dotenv').config();
|
| 3 |
+
|
| 4 |
+
const fs = require('fs');
|
| 5 |
+
const path = require('path');
|
| 6 |
+
const readline = require('readline');
|
| 7 |
+
const keyManager = require('./src/utils/keyManager');
|
| 8 |
+
|
| 9 |
+
// 创建命令行交互界面
|
| 10 |
+
const rl = readline.createInterface({
|
| 11 |
+
input: process.stdin,
|
| 12 |
+
output: process.stdout
|
| 13 |
+
});
|
| 14 |
+
|
| 15 |
+
// 显示菜单
|
| 16 |
+
function showMenu() {
|
| 17 |
+
console.log('\n===== 无效Cookie管理工具 =====');
|
| 18 |
+
console.log('1. 查看所有无效Cookie');
|
| 19 |
+
console.log('2. 添加无效Cookie');
|
| 20 |
+
console.log('3. 删除特定无效Cookie');
|
| 21 |
+
console.log('4. 清空所有无效Cookie');
|
| 22 |
+
console.log('5. 从API Keys中移除所有无效Cookie');
|
| 23 |
+
console.log('6. 退出');
|
| 24 |
+
console.log('============================');
|
| 25 |
+
|
| 26 |
+
rl.question('请选择操作 (1-6): ', (answer) => {
|
| 27 |
+
switch(answer) {
|
| 28 |
+
case '1':
|
| 29 |
+
listInvalidCookies();
|
| 30 |
+
break;
|
| 31 |
+
case '2':
|
| 32 |
+
addInvalidCookie();
|
| 33 |
+
break;
|
| 34 |
+
case '3':
|
| 35 |
+
removeInvalidCookie();
|
| 36 |
+
break;
|
| 37 |
+
case '4':
|
| 38 |
+
clearAllInvalidCookies();
|
| 39 |
+
break;
|
| 40 |
+
case '5':
|
| 41 |
+
removeInvalidCookiesFromApiKeys();
|
| 42 |
+
break;
|
| 43 |
+
case '6':
|
| 44 |
+
console.log('退出程序');
|
| 45 |
+
rl.close();
|
| 46 |
+
break;
|
| 47 |
+
default:
|
| 48 |
+
console.log('无效的选择,请重新输入');
|
| 49 |
+
showMenu();
|
| 50 |
+
break;
|
| 51 |
+
}
|
| 52 |
+
});
|
| 53 |
+
}
|
| 54 |
+
|
| 55 |
+
// 查看所有无效Cookie
|
| 56 |
+
function listInvalidCookies() {
|
| 57 |
+
const invalidCookies = Array.from(keyManager.getInvalidCookies());
|
| 58 |
+
|
| 59 |
+
console.log('\n===== 所有无效Cookie =====');
|
| 60 |
+
if (invalidCookies.length === 0) {
|
| 61 |
+
console.log('没有无效Cookie');
|
| 62 |
+
} else {
|
| 63 |
+
invalidCookies.forEach((cookie, index) => {
|
| 64 |
+
console.log(`${index + 1}. ${cookie}`);
|
| 65 |
+
});
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
showMenu();
|
| 69 |
+
}
|
| 70 |
+
|
| 71 |
+
// 添加无效Cookie
|
| 72 |
+
function addInvalidCookie() {
|
| 73 |
+
rl.question('\n请输入要添加的无效Cookie: ', (cookie) => {
|
| 74 |
+
if (!cookie.trim()) {
|
| 75 |
+
console.log('Cookie不能为空');
|
| 76 |
+
showMenu();
|
| 77 |
+
return;
|
| 78 |
+
}
|
| 79 |
+
|
| 80 |
+
// 将cookie添加到无效集合
|
| 81 |
+
const invalidCookies = new Set(keyManager.getInvalidCookies());
|
| 82 |
+
invalidCookies.add(cookie.trim());
|
| 83 |
+
|
| 84 |
+
// 保存到文件
|
| 85 |
+
const INVALID_COOKIES_FILE = path.join(__dirname, 'data/invalid_cookies.json');
|
| 86 |
+
try {
|
| 87 |
+
// 确保目录存在
|
| 88 |
+
const dataDir = path.join(__dirname, 'data');
|
| 89 |
+
if (!fs.existsSync(dataDir)) {
|
| 90 |
+
fs.mkdirSync(dataDir, { recursive: true });
|
| 91 |
+
}
|
| 92 |
+
|
| 93 |
+
fs.writeFileSync(INVALID_COOKIES_FILE, JSON.stringify(Array.from(invalidCookies), null, 2), 'utf8');
|
| 94 |
+
console.log('无效Cookie添加成功');
|
| 95 |
+
|
| 96 |
+
// 重新加载无效cookie
|
| 97 |
+
keyManager.loadInvalidCookiesFromFile();
|
| 98 |
+
} catch (err) {
|
| 99 |
+
console.error('保存无效Cookie失败:', err);
|
| 100 |
+
}
|
| 101 |
+
|
| 102 |
+
showMenu();
|
| 103 |
+
});
|
| 104 |
+
}
|
| 105 |
+
|
| 106 |
+
// 删除特定无效Cookie
|
| 107 |
+
function removeInvalidCookie() {
|
| 108 |
+
const invalidCookies = Array.from(keyManager.getInvalidCookies());
|
| 109 |
+
|
| 110 |
+
if (invalidCookies.length === 0) {
|
| 111 |
+
console.log('\n没有无效Cookie可删除');
|
| 112 |
+
showMenu();
|
| 113 |
+
return;
|
| 114 |
+
}
|
| 115 |
+
|
| 116 |
+
console.log('\n===== 所有无效Cookie =====');
|
| 117 |
+
invalidCookies.forEach((cookie, index) => {
|
| 118 |
+
console.log(`${index + 1}. ${cookie}`);
|
| 119 |
+
});
|
| 120 |
+
|
| 121 |
+
rl.question('\n请输入要删除的Cookie编号 (1-' + invalidCookies.length + '): ', (answer) => {
|
| 122 |
+
const index = parseInt(answer) - 1;
|
| 123 |
+
|
| 124 |
+
if (isNaN(index) || index < 0 || index >= invalidCookies.length) {
|
| 125 |
+
console.log('无效的编号');
|
| 126 |
+
showMenu();
|
| 127 |
+
return;
|
| 128 |
+
}
|
| 129 |
+
|
| 130 |
+
const cookieToRemove = invalidCookies[index];
|
| 131 |
+
const result = keyManager.clearInvalidCookie(cookieToRemove);
|
| 132 |
+
|
| 133 |
+
if (result) {
|
| 134 |
+
console.log(`成功删除无效Cookie: ${cookieToRemove}`);
|
| 135 |
+
} else {
|
| 136 |
+
console.log('删除失败');
|
| 137 |
+
}
|
| 138 |
+
|
| 139 |
+
showMenu();
|
| 140 |
+
});
|
| 141 |
+
}
|
| 142 |
+
|
| 143 |
+
// 清空所有无效Cookie
|
| 144 |
+
function clearAllInvalidCookies() {
|
| 145 |
+
rl.question('\n确定要清空所有无效Cookie吗? (y/n): ', (answer) => {
|
| 146 |
+
if (answer.toLowerCase() === 'y') {
|
| 147 |
+
keyManager.clearAllInvalidCookies();
|
| 148 |
+
console.log('所有无效Cookie已清空');
|
| 149 |
+
} else {
|
| 150 |
+
console.log('操作已取消');
|
| 151 |
+
}
|
| 152 |
+
|
| 153 |
+
showMenu();
|
| 154 |
+
});
|
| 155 |
+
}
|
| 156 |
+
|
| 157 |
+
// 从API Keys中移除所有无效Cookie
|
| 158 |
+
function removeInvalidCookiesFromApiKeys() {
|
| 159 |
+
// 重新初始化API Keys,这会自动移除无效cookie
|
| 160 |
+
keyManager.initializeApiKeys();
|
| 161 |
+
console.log('已从API Keys中移除所有无效Cookie');
|
| 162 |
+
|
| 163 |
+
showMenu();
|
| 164 |
+
}
|
| 165 |
+
|
| 166 |
+
// 启动程序
|
| 167 |
+
console.log('正在加载无效Cookie...');
|
| 168 |
+
keyManager.loadInvalidCookiesFromFile();
|
| 169 |
+
showMenu();
|
node_modules/.bin/acorn
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../acorn/bin/acorn
|
node_modules/.bin/csv-parser
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../csv-parser/bin/csv-parser
|
node_modules/.bin/escodegen
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../escodegen/bin/escodegen.js
|
node_modules/.bin/esgenerate
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../escodegen/bin/esgenerate.js
|
node_modules/.bin/esparse
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../esprima/bin/esparse.js
|
node_modules/.bin/esvalidate
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../esprima/bin/esvalidate.js
|
node_modules/.bin/is-docker
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../is-docker/cli.js
|
node_modules/.bin/is-inside-container
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../is-inside-container/cli.js
|
node_modules/.bin/jsdoc
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../jsdoc/jsdoc.js
|
node_modules/.bin/markdown-it
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../markdown-it/bin/markdown-it.mjs
|
node_modules/.bin/marked
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../marked/bin/marked.js
|
node_modules/.bin/mime
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../mime/cli.js
|
node_modules/.bin/mkdirp
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../mkdirp/bin/cmd.js
|
node_modules/.bin/parser
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../@babel/parser/bin/babel-parser.js
|
node_modules/.bin/pbjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../protobufjs-cli/bin/pbjs
|
node_modules/.bin/pbts
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../protobufjs-cli/bin/pbts
|
node_modules/.bin/semver
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../semver/bin/semver.js
|
node_modules/.bin/uglifyjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../uglify-js/bin/uglifyjs
|
node_modules/.bin/uuid
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
../uuid/dist/esm/bin/uuid
|
node_modules/.package-lock.json
ADDED
|
@@ -0,0 +1,2401 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "cursor-to-openai",
|
| 3 |
+
"version": "1.3.0",
|
| 4 |
+
"lockfileVersion": 3,
|
| 5 |
+
"requires": true,
|
| 6 |
+
"packages": {
|
| 7 |
+
"node_modules/@babel/helper-string-parser": {
|
| 8 |
+
"version": "7.25.9",
|
| 9 |
+
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
|
| 10 |
+
"integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
|
| 11 |
+
"dev": true,
|
| 12 |
+
"license": "MIT",
|
| 13 |
+
"engines": {
|
| 14 |
+
"node": ">=6.9.0"
|
| 15 |
+
}
|
| 16 |
+
},
|
| 17 |
+
"node_modules/@babel/helper-validator-identifier": {
|
| 18 |
+
"version": "7.25.9",
|
| 19 |
+
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
|
| 20 |
+
"integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
|
| 21 |
+
"dev": true,
|
| 22 |
+
"license": "MIT",
|
| 23 |
+
"engines": {
|
| 24 |
+
"node": ">=6.9.0"
|
| 25 |
+
}
|
| 26 |
+
},
|
| 27 |
+
"node_modules/@babel/parser": {
|
| 28 |
+
"version": "7.26.7",
|
| 29 |
+
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz",
|
| 30 |
+
"integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==",
|
| 31 |
+
"dev": true,
|
| 32 |
+
"license": "MIT",
|
| 33 |
+
"dependencies": {
|
| 34 |
+
"@babel/types": "^7.26.7"
|
| 35 |
+
},
|
| 36 |
+
"bin": {
|
| 37 |
+
"parser": "bin/babel-parser.js"
|
| 38 |
+
},
|
| 39 |
+
"engines": {
|
| 40 |
+
"node": ">=6.0.0"
|
| 41 |
+
}
|
| 42 |
+
},
|
| 43 |
+
"node_modules/@babel/types": {
|
| 44 |
+
"version": "7.26.7",
|
| 45 |
+
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz",
|
| 46 |
+
"integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==",
|
| 47 |
+
"dev": true,
|
| 48 |
+
"license": "MIT",
|
| 49 |
+
"dependencies": {
|
| 50 |
+
"@babel/helper-string-parser": "^7.25.9",
|
| 51 |
+
"@babel/helper-validator-identifier": "^7.25.9"
|
| 52 |
+
},
|
| 53 |
+
"engines": {
|
| 54 |
+
"node": ">=6.9.0"
|
| 55 |
+
}
|
| 56 |
+
},
|
| 57 |
+
"node_modules/@jsdoc/salty": {
|
| 58 |
+
"version": "0.2.9",
|
| 59 |
+
"resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.9.tgz",
|
| 60 |
+
"integrity": "sha512-yYxMVH7Dqw6nO0d5NIV8OQWnitU8k6vXH8NtgqAfIa/IUqRMxRv/NUJJ08VEKbAakwxlgBl5PJdrU0dMPStsnw==",
|
| 61 |
+
"dev": true,
|
| 62 |
+
"license": "Apache-2.0",
|
| 63 |
+
"dependencies": {
|
| 64 |
+
"lodash": "^4.17.21"
|
| 65 |
+
},
|
| 66 |
+
"engines": {
|
| 67 |
+
"node": ">=v12.0.0"
|
| 68 |
+
}
|
| 69 |
+
},
|
| 70 |
+
"node_modules/@octokit/auth-token": {
|
| 71 |
+
"version": "4.0.0",
|
| 72 |
+
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
|
| 73 |
+
"integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
|
| 74 |
+
"license": "MIT",
|
| 75 |
+
"engines": {
|
| 76 |
+
"node": ">= 18"
|
| 77 |
+
}
|
| 78 |
+
},
|
| 79 |
+
"node_modules/@octokit/core": {
|
| 80 |
+
"version": "5.2.0",
|
| 81 |
+
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz",
|
| 82 |
+
"integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==",
|
| 83 |
+
"license": "MIT",
|
| 84 |
+
"dependencies": {
|
| 85 |
+
"@octokit/auth-token": "^4.0.0",
|
| 86 |
+
"@octokit/graphql": "^7.1.0",
|
| 87 |
+
"@octokit/request": "^8.3.1",
|
| 88 |
+
"@octokit/request-error": "^5.1.0",
|
| 89 |
+
"@octokit/types": "^13.0.0",
|
| 90 |
+
"before-after-hook": "^2.2.0",
|
| 91 |
+
"universal-user-agent": "^6.0.0"
|
| 92 |
+
},
|
| 93 |
+
"engines": {
|
| 94 |
+
"node": ">= 18"
|
| 95 |
+
}
|
| 96 |
+
},
|
| 97 |
+
"node_modules/@octokit/endpoint": {
|
| 98 |
+
"version": "9.0.6",
|
| 99 |
+
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz",
|
| 100 |
+
"integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==",
|
| 101 |
+
"license": "MIT",
|
| 102 |
+
"dependencies": {
|
| 103 |
+
"@octokit/types": "^13.1.0",
|
| 104 |
+
"universal-user-agent": "^6.0.0"
|
| 105 |
+
},
|
| 106 |
+
"engines": {
|
| 107 |
+
"node": ">= 18"
|
| 108 |
+
}
|
| 109 |
+
},
|
| 110 |
+
"node_modules/@octokit/graphql": {
|
| 111 |
+
"version": "7.1.1",
|
| 112 |
+
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.1.tgz",
|
| 113 |
+
"integrity": "sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==",
|
| 114 |
+
"license": "MIT",
|
| 115 |
+
"dependencies": {
|
| 116 |
+
"@octokit/request": "^8.4.1",
|
| 117 |
+
"@octokit/types": "^13.0.0",
|
| 118 |
+
"universal-user-agent": "^6.0.0"
|
| 119 |
+
},
|
| 120 |
+
"engines": {
|
| 121 |
+
"node": ">= 18"
|
| 122 |
+
}
|
| 123 |
+
},
|
| 124 |
+
"node_modules/@octokit/openapi-types": {
|
| 125 |
+
"version": "23.0.1",
|
| 126 |
+
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz",
|
| 127 |
+
"integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==",
|
| 128 |
+
"license": "MIT"
|
| 129 |
+
},
|
| 130 |
+
"node_modules/@octokit/plugin-paginate-rest": {
|
| 131 |
+
"version": "11.4.4-cjs.2",
|
| 132 |
+
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.4-cjs.2.tgz",
|
| 133 |
+
"integrity": "sha512-2dK6z8fhs8lla5PaOTgqfCGBxgAv/le+EhPs27KklPhm1bKObpu6lXzwfUEQ16ajXzqNrKMujsFyo9K2eaoISw==",
|
| 134 |
+
"license": "MIT",
|
| 135 |
+
"dependencies": {
|
| 136 |
+
"@octokit/types": "^13.7.0"
|
| 137 |
+
},
|
| 138 |
+
"engines": {
|
| 139 |
+
"node": ">= 18"
|
| 140 |
+
},
|
| 141 |
+
"peerDependencies": {
|
| 142 |
+
"@octokit/core": "5"
|
| 143 |
+
}
|
| 144 |
+
},
|
| 145 |
+
"node_modules/@octokit/plugin-request-log": {
|
| 146 |
+
"version": "4.0.1",
|
| 147 |
+
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz",
|
| 148 |
+
"integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==",
|
| 149 |
+
"license": "MIT",
|
| 150 |
+
"engines": {
|
| 151 |
+
"node": ">= 18"
|
| 152 |
+
},
|
| 153 |
+
"peerDependencies": {
|
| 154 |
+
"@octokit/core": "5"
|
| 155 |
+
}
|
| 156 |
+
},
|
| 157 |
+
"node_modules/@octokit/plugin-rest-endpoint-methods": {
|
| 158 |
+
"version": "13.3.2-cjs.1",
|
| 159 |
+
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.2-cjs.1.tgz",
|
| 160 |
+
"integrity": "sha512-VUjIjOOvF2oELQmiFpWA1aOPdawpyaCUqcEBc/UOUnj3Xp6DJGrJ1+bjUIIDzdHjnFNO6q57ODMfdEZnoBkCwQ==",
|
| 161 |
+
"license": "MIT",
|
| 162 |
+
"dependencies": {
|
| 163 |
+
"@octokit/types": "^13.8.0"
|
| 164 |
+
},
|
| 165 |
+
"engines": {
|
| 166 |
+
"node": ">= 18"
|
| 167 |
+
},
|
| 168 |
+
"peerDependencies": {
|
| 169 |
+
"@octokit/core": "^5"
|
| 170 |
+
}
|
| 171 |
+
},
|
| 172 |
+
"node_modules/@octokit/request": {
|
| 173 |
+
"version": "8.4.1",
|
| 174 |
+
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz",
|
| 175 |
+
"integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==",
|
| 176 |
+
"license": "MIT",
|
| 177 |
+
"dependencies": {
|
| 178 |
+
"@octokit/endpoint": "^9.0.6",
|
| 179 |
+
"@octokit/request-error": "^5.1.1",
|
| 180 |
+
"@octokit/types": "^13.1.0",
|
| 181 |
+
"universal-user-agent": "^6.0.0"
|
| 182 |
+
},
|
| 183 |
+
"engines": {
|
| 184 |
+
"node": ">= 18"
|
| 185 |
+
}
|
| 186 |
+
},
|
| 187 |
+
"node_modules/@octokit/request-error": {
|
| 188 |
+
"version": "5.1.1",
|
| 189 |
+
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz",
|
| 190 |
+
"integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==",
|
| 191 |
+
"license": "MIT",
|
| 192 |
+
"dependencies": {
|
| 193 |
+
"@octokit/types": "^13.1.0",
|
| 194 |
+
"deprecation": "^2.0.0",
|
| 195 |
+
"once": "^1.4.0"
|
| 196 |
+
},
|
| 197 |
+
"engines": {
|
| 198 |
+
"node": ">= 18"
|
| 199 |
+
}
|
| 200 |
+
},
|
| 201 |
+
"node_modules/@octokit/rest": {
|
| 202 |
+
"version": "20.1.2",
|
| 203 |
+
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.2.tgz",
|
| 204 |
+
"integrity": "sha512-GmYiltypkHHtihFwPRxlaorG5R9VAHuk/vbszVoRTGXnAsY60wYLkh/E2XiFmdZmqrisw+9FaazS1i5SbdWYgA==",
|
| 205 |
+
"license": "MIT",
|
| 206 |
+
"dependencies": {
|
| 207 |
+
"@octokit/core": "^5.0.2",
|
| 208 |
+
"@octokit/plugin-paginate-rest": "11.4.4-cjs.2",
|
| 209 |
+
"@octokit/plugin-request-log": "^4.0.0",
|
| 210 |
+
"@octokit/plugin-rest-endpoint-methods": "13.3.2-cjs.1"
|
| 211 |
+
},
|
| 212 |
+
"engines": {
|
| 213 |
+
"node": ">= 18"
|
| 214 |
+
}
|
| 215 |
+
},
|
| 216 |
+
"node_modules/@octokit/types": {
|
| 217 |
+
"version": "13.8.0",
|
| 218 |
+
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz",
|
| 219 |
+
"integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==",
|
| 220 |
+
"license": "MIT",
|
| 221 |
+
"dependencies": {
|
| 222 |
+
"@octokit/openapi-types": "^23.0.1"
|
| 223 |
+
}
|
| 224 |
+
},
|
| 225 |
+
"node_modules/@protobufjs/aspromise": {
|
| 226 |
+
"version": "1.1.2",
|
| 227 |
+
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
|
| 228 |
+
"integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
|
| 229 |
+
"license": "BSD-3-Clause"
|
| 230 |
+
},
|
| 231 |
+
"node_modules/@protobufjs/base64": {
|
| 232 |
+
"version": "1.1.2",
|
| 233 |
+
"resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
|
| 234 |
+
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
|
| 235 |
+
"license": "BSD-3-Clause"
|
| 236 |
+
},
|
| 237 |
+
"node_modules/@protobufjs/codegen": {
|
| 238 |
+
"version": "2.0.4",
|
| 239 |
+
"resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
|
| 240 |
+
"integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
|
| 241 |
+
"license": "BSD-3-Clause"
|
| 242 |
+
},
|
| 243 |
+
"node_modules/@protobufjs/eventemitter": {
|
| 244 |
+
"version": "1.1.0",
|
| 245 |
+
"resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
|
| 246 |
+
"integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
|
| 247 |
+
"license": "BSD-3-Clause"
|
| 248 |
+
},
|
| 249 |
+
"node_modules/@protobufjs/fetch": {
|
| 250 |
+
"version": "1.1.0",
|
| 251 |
+
"resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
|
| 252 |
+
"integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
|
| 253 |
+
"license": "BSD-3-Clause",
|
| 254 |
+
"dependencies": {
|
| 255 |
+
"@protobufjs/aspromise": "^1.1.1",
|
| 256 |
+
"@protobufjs/inquire": "^1.1.0"
|
| 257 |
+
}
|
| 258 |
+
},
|
| 259 |
+
"node_modules/@protobufjs/float": {
|
| 260 |
+
"version": "1.0.2",
|
| 261 |
+
"resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
|
| 262 |
+
"integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
|
| 263 |
+
"license": "BSD-3-Clause"
|
| 264 |
+
},
|
| 265 |
+
"node_modules/@protobufjs/inquire": {
|
| 266 |
+
"version": "1.1.0",
|
| 267 |
+
"resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
|
| 268 |
+
"integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
|
| 269 |
+
"license": "BSD-3-Clause"
|
| 270 |
+
},
|
| 271 |
+
"node_modules/@protobufjs/path": {
|
| 272 |
+
"version": "1.1.2",
|
| 273 |
+
"resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
|
| 274 |
+
"integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
|
| 275 |
+
"license": "BSD-3-Clause"
|
| 276 |
+
},
|
| 277 |
+
"node_modules/@protobufjs/pool": {
|
| 278 |
+
"version": "1.1.0",
|
| 279 |
+
"resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
|
| 280 |
+
"integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
|
| 281 |
+
"license": "BSD-3-Clause"
|
| 282 |
+
},
|
| 283 |
+
"node_modules/@protobufjs/utf8": {
|
| 284 |
+
"version": "1.1.0",
|
| 285 |
+
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
|
| 286 |
+
"integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
|
| 287 |
+
"license": "BSD-3-Clause"
|
| 288 |
+
},
|
| 289 |
+
"node_modules/@types/linkify-it": {
|
| 290 |
+
"version": "5.0.0",
|
| 291 |
+
"resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
|
| 292 |
+
"integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==",
|
| 293 |
+
"dev": true,
|
| 294 |
+
"license": "MIT"
|
| 295 |
+
},
|
| 296 |
+
"node_modules/@types/markdown-it": {
|
| 297 |
+
"version": "14.1.2",
|
| 298 |
+
"resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz",
|
| 299 |
+
"integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
|
| 300 |
+
"dev": true,
|
| 301 |
+
"license": "MIT",
|
| 302 |
+
"dependencies": {
|
| 303 |
+
"@types/linkify-it": "^5",
|
| 304 |
+
"@types/mdurl": "^2"
|
| 305 |
+
}
|
| 306 |
+
},
|
| 307 |
+
"node_modules/@types/mdurl": {
|
| 308 |
+
"version": "2.0.0",
|
| 309 |
+
"resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
|
| 310 |
+
"integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
|
| 311 |
+
"dev": true,
|
| 312 |
+
"license": "MIT"
|
| 313 |
+
},
|
| 314 |
+
"node_modules/@types/node": {
|
| 315 |
+
"version": "22.10.5",
|
| 316 |
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz",
|
| 317 |
+
"integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==",
|
| 318 |
+
"license": "MIT",
|
| 319 |
+
"dependencies": {
|
| 320 |
+
"undici-types": "~6.20.0"
|
| 321 |
+
}
|
| 322 |
+
},
|
| 323 |
+
"node_modules/accepts": {
|
| 324 |
+
"version": "1.3.8",
|
| 325 |
+
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
|
| 326 |
+
"integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
|
| 327 |
+
"license": "MIT",
|
| 328 |
+
"dependencies": {
|
| 329 |
+
"mime-types": "~2.1.34",
|
| 330 |
+
"negotiator": "0.6.3"
|
| 331 |
+
},
|
| 332 |
+
"engines": {
|
| 333 |
+
"node": ">= 0.6"
|
| 334 |
+
}
|
| 335 |
+
},
|
| 336 |
+
"node_modules/acorn": {
|
| 337 |
+
"version": "8.14.0",
|
| 338 |
+
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
|
| 339 |
+
"integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
|
| 340 |
+
"dev": true,
|
| 341 |
+
"license": "MIT",
|
| 342 |
+
"bin": {
|
| 343 |
+
"acorn": "bin/acorn"
|
| 344 |
+
},
|
| 345 |
+
"engines": {
|
| 346 |
+
"node": ">=0.4.0"
|
| 347 |
+
}
|
| 348 |
+
},
|
| 349 |
+
"node_modules/acorn-jsx": {
|
| 350 |
+
"version": "5.3.2",
|
| 351 |
+
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
|
| 352 |
+
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
|
| 353 |
+
"dev": true,
|
| 354 |
+
"license": "MIT",
|
| 355 |
+
"peerDependencies": {
|
| 356 |
+
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
|
| 357 |
+
}
|
| 358 |
+
},
|
| 359 |
+
"node_modules/adm-zip": {
|
| 360 |
+
"version": "0.5.16",
|
| 361 |
+
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz",
|
| 362 |
+
"integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==",
|
| 363 |
+
"license": "MIT",
|
| 364 |
+
"engines": {
|
| 365 |
+
"node": ">=12.0"
|
| 366 |
+
}
|
| 367 |
+
},
|
| 368 |
+
"node_modules/ansi-styles": {
|
| 369 |
+
"version": "4.3.0",
|
| 370 |
+
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
| 371 |
+
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
| 372 |
+
"dev": true,
|
| 373 |
+
"license": "MIT",
|
| 374 |
+
"dependencies": {
|
| 375 |
+
"color-convert": "^2.0.1"
|
| 376 |
+
},
|
| 377 |
+
"engines": {
|
| 378 |
+
"node": ">=8"
|
| 379 |
+
},
|
| 380 |
+
"funding": {
|
| 381 |
+
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
| 382 |
+
}
|
| 383 |
+
},
|
| 384 |
+
"node_modules/argparse": {
|
| 385 |
+
"version": "2.0.1",
|
| 386 |
+
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
| 387 |
+
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
| 388 |
+
"dev": true,
|
| 389 |
+
"license": "Python-2.0"
|
| 390 |
+
},
|
| 391 |
+
"node_modules/array-flatten": {
|
| 392 |
+
"version": "1.1.1",
|
| 393 |
+
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
| 394 |
+
"integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
|
| 395 |
+
"license": "MIT"
|
| 396 |
+
},
|
| 397 |
+
"node_modules/asynckit": {
|
| 398 |
+
"version": "0.4.0",
|
| 399 |
+
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
| 400 |
+
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
| 401 |
+
"license": "MIT"
|
| 402 |
+
},
|
| 403 |
+
"node_modules/axios": {
|
| 404 |
+
"version": "1.8.3",
|
| 405 |
+
"resolved": "https://registry.npmjs.org/axios/-/axios-1.8.3.tgz",
|
| 406 |
+
"integrity": "sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A==",
|
| 407 |
+
"license": "MIT",
|
| 408 |
+
"dependencies": {
|
| 409 |
+
"follow-redirects": "^1.15.6",
|
| 410 |
+
"form-data": "^4.0.0",
|
| 411 |
+
"proxy-from-env": "^1.1.0"
|
| 412 |
+
}
|
| 413 |
+
},
|
| 414 |
+
"node_modules/balanced-match": {
|
| 415 |
+
"version": "1.0.2",
|
| 416 |
+
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
| 417 |
+
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
| 418 |
+
"dev": true,
|
| 419 |
+
"license": "MIT"
|
| 420 |
+
},
|
| 421 |
+
"node_modules/basic-auth": {
|
| 422 |
+
"version": "2.0.1",
|
| 423 |
+
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
|
| 424 |
+
"integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
|
| 425 |
+
"license": "MIT",
|
| 426 |
+
"dependencies": {
|
| 427 |
+
"safe-buffer": "5.1.2"
|
| 428 |
+
},
|
| 429 |
+
"engines": {
|
| 430 |
+
"node": ">= 0.8"
|
| 431 |
+
}
|
| 432 |
+
},
|
| 433 |
+
"node_modules/basic-auth/node_modules/safe-buffer": {
|
| 434 |
+
"version": "5.1.2",
|
| 435 |
+
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
| 436 |
+
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
| 437 |
+
"license": "MIT"
|
| 438 |
+
},
|
| 439 |
+
"node_modules/before-after-hook": {
|
| 440 |
+
"version": "2.2.3",
|
| 441 |
+
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
|
| 442 |
+
"integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==",
|
| 443 |
+
"license": "Apache-2.0"
|
| 444 |
+
},
|
| 445 |
+
"node_modules/bluebird": {
|
| 446 |
+
"version": "3.7.2",
|
| 447 |
+
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
|
| 448 |
+
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
|
| 449 |
+
"dev": true,
|
| 450 |
+
"license": "MIT"
|
| 451 |
+
},
|
| 452 |
+
"node_modules/body-parser": {
|
| 453 |
+
"version": "1.20.3",
|
| 454 |
+
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
|
| 455 |
+
"integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
|
| 456 |
+
"license": "MIT",
|
| 457 |
+
"dependencies": {
|
| 458 |
+
"bytes": "3.1.2",
|
| 459 |
+
"content-type": "~1.0.5",
|
| 460 |
+
"debug": "2.6.9",
|
| 461 |
+
"depd": "2.0.0",
|
| 462 |
+
"destroy": "1.2.0",
|
| 463 |
+
"http-errors": "2.0.0",
|
| 464 |
+
"iconv-lite": "0.4.24",
|
| 465 |
+
"on-finished": "2.4.1",
|
| 466 |
+
"qs": "6.13.0",
|
| 467 |
+
"raw-body": "2.5.2",
|
| 468 |
+
"type-is": "~1.6.18",
|
| 469 |
+
"unpipe": "1.0.0"
|
| 470 |
+
},
|
| 471 |
+
"engines": {
|
| 472 |
+
"node": ">= 0.8",
|
| 473 |
+
"npm": "1.2.8000 || >= 1.4.16"
|
| 474 |
+
}
|
| 475 |
+
},
|
| 476 |
+
"node_modules/brace-expansion": {
|
| 477 |
+
"version": "2.0.1",
|
| 478 |
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
| 479 |
+
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
| 480 |
+
"dev": true,
|
| 481 |
+
"license": "MIT",
|
| 482 |
+
"dependencies": {
|
| 483 |
+
"balanced-match": "^1.0.0"
|
| 484 |
+
}
|
| 485 |
+
},
|
| 486 |
+
"node_modules/buffer-equal-constant-time": {
|
| 487 |
+
"version": "1.0.1",
|
| 488 |
+
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
|
| 489 |
+
"integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==",
|
| 490 |
+
"license": "BSD-3-Clause"
|
| 491 |
+
},
|
| 492 |
+
"node_modules/bundle-name": {
|
| 493 |
+
"version": "4.1.0",
|
| 494 |
+
"resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
|
| 495 |
+
"integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==",
|
| 496 |
+
"license": "MIT",
|
| 497 |
+
"dependencies": {
|
| 498 |
+
"run-applescript": "^7.0.0"
|
| 499 |
+
},
|
| 500 |
+
"engines": {
|
| 501 |
+
"node": ">=18"
|
| 502 |
+
},
|
| 503 |
+
"funding": {
|
| 504 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 505 |
+
}
|
| 506 |
+
},
|
| 507 |
+
"node_modules/bytes": {
|
| 508 |
+
"version": "3.1.2",
|
| 509 |
+
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
| 510 |
+
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
|
| 511 |
+
"license": "MIT",
|
| 512 |
+
"engines": {
|
| 513 |
+
"node": ">= 0.8"
|
| 514 |
+
}
|
| 515 |
+
},
|
| 516 |
+
"node_modules/call-bind-apply-helpers": {
|
| 517 |
+
"version": "1.0.1",
|
| 518 |
+
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz",
|
| 519 |
+
"integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==",
|
| 520 |
+
"license": "MIT",
|
| 521 |
+
"dependencies": {
|
| 522 |
+
"es-errors": "^1.3.0",
|
| 523 |
+
"function-bind": "^1.1.2"
|
| 524 |
+
},
|
| 525 |
+
"engines": {
|
| 526 |
+
"node": ">= 0.4"
|
| 527 |
+
}
|
| 528 |
+
},
|
| 529 |
+
"node_modules/call-bound": {
|
| 530 |
+
"version": "1.0.3",
|
| 531 |
+
"resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz",
|
| 532 |
+
"integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==",
|
| 533 |
+
"license": "MIT",
|
| 534 |
+
"dependencies": {
|
| 535 |
+
"call-bind-apply-helpers": "^1.0.1",
|
| 536 |
+
"get-intrinsic": "^1.2.6"
|
| 537 |
+
},
|
| 538 |
+
"engines": {
|
| 539 |
+
"node": ">= 0.4"
|
| 540 |
+
},
|
| 541 |
+
"funding": {
|
| 542 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 543 |
+
}
|
| 544 |
+
},
|
| 545 |
+
"node_modules/catharsis": {
|
| 546 |
+
"version": "0.9.0",
|
| 547 |
+
"resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz",
|
| 548 |
+
"integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==",
|
| 549 |
+
"dev": true,
|
| 550 |
+
"license": "MIT",
|
| 551 |
+
"dependencies": {
|
| 552 |
+
"lodash": "^4.17.15"
|
| 553 |
+
},
|
| 554 |
+
"engines": {
|
| 555 |
+
"node": ">= 10"
|
| 556 |
+
}
|
| 557 |
+
},
|
| 558 |
+
"node_modules/chalk": {
|
| 559 |
+
"version": "4.1.2",
|
| 560 |
+
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
| 561 |
+
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
| 562 |
+
"dev": true,
|
| 563 |
+
"license": "MIT",
|
| 564 |
+
"dependencies": {
|
| 565 |
+
"ansi-styles": "^4.1.0",
|
| 566 |
+
"supports-color": "^7.1.0"
|
| 567 |
+
},
|
| 568 |
+
"engines": {
|
| 569 |
+
"node": ">=10"
|
| 570 |
+
},
|
| 571 |
+
"funding": {
|
| 572 |
+
"url": "https://github.com/chalk/chalk?sponsor=1"
|
| 573 |
+
}
|
| 574 |
+
},
|
| 575 |
+
"node_modules/color-convert": {
|
| 576 |
+
"version": "2.0.1",
|
| 577 |
+
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
| 578 |
+
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
| 579 |
+
"dev": true,
|
| 580 |
+
"license": "MIT",
|
| 581 |
+
"dependencies": {
|
| 582 |
+
"color-name": "~1.1.4"
|
| 583 |
+
},
|
| 584 |
+
"engines": {
|
| 585 |
+
"node": ">=7.0.0"
|
| 586 |
+
}
|
| 587 |
+
},
|
| 588 |
+
"node_modules/color-name": {
|
| 589 |
+
"version": "1.1.4",
|
| 590 |
+
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
| 591 |
+
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
| 592 |
+
"dev": true,
|
| 593 |
+
"license": "MIT"
|
| 594 |
+
},
|
| 595 |
+
"node_modules/combined-stream": {
|
| 596 |
+
"version": "1.0.8",
|
| 597 |
+
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
| 598 |
+
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
| 599 |
+
"license": "MIT",
|
| 600 |
+
"dependencies": {
|
| 601 |
+
"delayed-stream": "~1.0.0"
|
| 602 |
+
},
|
| 603 |
+
"engines": {
|
| 604 |
+
"node": ">= 0.8"
|
| 605 |
+
}
|
| 606 |
+
},
|
| 607 |
+
"node_modules/content-disposition": {
|
| 608 |
+
"version": "0.5.4",
|
| 609 |
+
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
|
| 610 |
+
"integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
|
| 611 |
+
"license": "MIT",
|
| 612 |
+
"dependencies": {
|
| 613 |
+
"safe-buffer": "5.2.1"
|
| 614 |
+
},
|
| 615 |
+
"engines": {
|
| 616 |
+
"node": ">= 0.6"
|
| 617 |
+
}
|
| 618 |
+
},
|
| 619 |
+
"node_modules/content-type": {
|
| 620 |
+
"version": "1.0.5",
|
| 621 |
+
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
|
| 622 |
+
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
|
| 623 |
+
"license": "MIT",
|
| 624 |
+
"engines": {
|
| 625 |
+
"node": ">= 0.6"
|
| 626 |
+
}
|
| 627 |
+
},
|
| 628 |
+
"node_modules/cookie": {
|
| 629 |
+
"version": "0.7.1",
|
| 630 |
+
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
|
| 631 |
+
"integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
|
| 632 |
+
"license": "MIT",
|
| 633 |
+
"engines": {
|
| 634 |
+
"node": ">= 0.6"
|
| 635 |
+
}
|
| 636 |
+
},
|
| 637 |
+
"node_modules/cookie-signature": {
|
| 638 |
+
"version": "1.0.6",
|
| 639 |
+
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
| 640 |
+
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
|
| 641 |
+
"license": "MIT"
|
| 642 |
+
},
|
| 643 |
+
"node_modules/csv-parser": {
|
| 644 |
+
"version": "3.2.0",
|
| 645 |
+
"resolved": "https://registry.npmjs.org/csv-parser/-/csv-parser-3.2.0.tgz",
|
| 646 |
+
"integrity": "sha512-fgKbp+AJbn1h2dcAHKIdKNSSjfp43BZZykXsCjzALjKy80VXQNHPFJ6T9Afwdzoj24aMkq8GwDS7KGcDPpejrA==",
|
| 647 |
+
"license": "MIT",
|
| 648 |
+
"bin": {
|
| 649 |
+
"csv-parser": "bin/csv-parser"
|
| 650 |
+
},
|
| 651 |
+
"engines": {
|
| 652 |
+
"node": ">= 10"
|
| 653 |
+
}
|
| 654 |
+
},
|
| 655 |
+
"node_modules/debug": {
|
| 656 |
+
"version": "2.6.9",
|
| 657 |
+
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
| 658 |
+
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
| 659 |
+
"license": "MIT",
|
| 660 |
+
"dependencies": {
|
| 661 |
+
"ms": "2.0.0"
|
| 662 |
+
}
|
| 663 |
+
},
|
| 664 |
+
"node_modules/deep-is": {
|
| 665 |
+
"version": "0.1.4",
|
| 666 |
+
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
| 667 |
+
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
|
| 668 |
+
"dev": true,
|
| 669 |
+
"license": "MIT"
|
| 670 |
+
},
|
| 671 |
+
"node_modules/default-browser": {
|
| 672 |
+
"version": "5.2.1",
|
| 673 |
+
"resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz",
|
| 674 |
+
"integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==",
|
| 675 |
+
"license": "MIT",
|
| 676 |
+
"dependencies": {
|
| 677 |
+
"bundle-name": "^4.1.0",
|
| 678 |
+
"default-browser-id": "^5.0.0"
|
| 679 |
+
},
|
| 680 |
+
"engines": {
|
| 681 |
+
"node": ">=18"
|
| 682 |
+
},
|
| 683 |
+
"funding": {
|
| 684 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 685 |
+
}
|
| 686 |
+
},
|
| 687 |
+
"node_modules/default-browser-id": {
|
| 688 |
+
"version": "5.0.0",
|
| 689 |
+
"resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz",
|
| 690 |
+
"integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==",
|
| 691 |
+
"license": "MIT",
|
| 692 |
+
"engines": {
|
| 693 |
+
"node": ">=18"
|
| 694 |
+
},
|
| 695 |
+
"funding": {
|
| 696 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 697 |
+
}
|
| 698 |
+
},
|
| 699 |
+
"node_modules/define-lazy-prop": {
|
| 700 |
+
"version": "3.0.0",
|
| 701 |
+
"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
|
| 702 |
+
"integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
|
| 703 |
+
"license": "MIT",
|
| 704 |
+
"engines": {
|
| 705 |
+
"node": ">=12"
|
| 706 |
+
},
|
| 707 |
+
"funding": {
|
| 708 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 709 |
+
}
|
| 710 |
+
},
|
| 711 |
+
"node_modules/delayed-stream": {
|
| 712 |
+
"version": "1.0.0",
|
| 713 |
+
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
| 714 |
+
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
| 715 |
+
"license": "MIT",
|
| 716 |
+
"engines": {
|
| 717 |
+
"node": ">=0.4.0"
|
| 718 |
+
}
|
| 719 |
+
},
|
| 720 |
+
"node_modules/depd": {
|
| 721 |
+
"version": "2.0.0",
|
| 722 |
+
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
|
| 723 |
+
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
|
| 724 |
+
"license": "MIT",
|
| 725 |
+
"engines": {
|
| 726 |
+
"node": ">= 0.8"
|
| 727 |
+
}
|
| 728 |
+
},
|
| 729 |
+
"node_modules/deprecation": {
|
| 730 |
+
"version": "2.3.1",
|
| 731 |
+
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
|
| 732 |
+
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
|
| 733 |
+
"license": "ISC"
|
| 734 |
+
},
|
| 735 |
+
"node_modules/destroy": {
|
| 736 |
+
"version": "1.2.0",
|
| 737 |
+
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
|
| 738 |
+
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
|
| 739 |
+
"license": "MIT",
|
| 740 |
+
"engines": {
|
| 741 |
+
"node": ">= 0.8",
|
| 742 |
+
"npm": "1.2.8000 || >= 1.4.16"
|
| 743 |
+
}
|
| 744 |
+
},
|
| 745 |
+
"node_modules/dotenv": {
|
| 746 |
+
"version": "16.4.7",
|
| 747 |
+
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz",
|
| 748 |
+
"integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==",
|
| 749 |
+
"license": "BSD-2-Clause",
|
| 750 |
+
"engines": {
|
| 751 |
+
"node": ">=12"
|
| 752 |
+
},
|
| 753 |
+
"funding": {
|
| 754 |
+
"url": "https://dotenvx.com"
|
| 755 |
+
}
|
| 756 |
+
},
|
| 757 |
+
"node_modules/dunder-proto": {
|
| 758 |
+
"version": "1.0.1",
|
| 759 |
+
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
| 760 |
+
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
|
| 761 |
+
"license": "MIT",
|
| 762 |
+
"dependencies": {
|
| 763 |
+
"call-bind-apply-helpers": "^1.0.1",
|
| 764 |
+
"es-errors": "^1.3.0",
|
| 765 |
+
"gopd": "^1.2.0"
|
| 766 |
+
},
|
| 767 |
+
"engines": {
|
| 768 |
+
"node": ">= 0.4"
|
| 769 |
+
}
|
| 770 |
+
},
|
| 771 |
+
"node_modules/ecdsa-sig-formatter": {
|
| 772 |
+
"version": "1.0.11",
|
| 773 |
+
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
|
| 774 |
+
"integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
|
| 775 |
+
"license": "Apache-2.0",
|
| 776 |
+
"dependencies": {
|
| 777 |
+
"safe-buffer": "^5.0.1"
|
| 778 |
+
}
|
| 779 |
+
},
|
| 780 |
+
"node_modules/ee-first": {
|
| 781 |
+
"version": "1.1.1",
|
| 782 |
+
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
| 783 |
+
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
|
| 784 |
+
"license": "MIT"
|
| 785 |
+
},
|
| 786 |
+
"node_modules/encodeurl": {
|
| 787 |
+
"version": "2.0.0",
|
| 788 |
+
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
|
| 789 |
+
"integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
|
| 790 |
+
"license": "MIT",
|
| 791 |
+
"engines": {
|
| 792 |
+
"node": ">= 0.8"
|
| 793 |
+
}
|
| 794 |
+
},
|
| 795 |
+
"node_modules/entities": {
|
| 796 |
+
"version": "4.5.0",
|
| 797 |
+
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
|
| 798 |
+
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
|
| 799 |
+
"dev": true,
|
| 800 |
+
"license": "BSD-2-Clause",
|
| 801 |
+
"engines": {
|
| 802 |
+
"node": ">=0.12"
|
| 803 |
+
},
|
| 804 |
+
"funding": {
|
| 805 |
+
"url": "https://github.com/fb55/entities?sponsor=1"
|
| 806 |
+
}
|
| 807 |
+
},
|
| 808 |
+
"node_modules/es-define-property": {
|
| 809 |
+
"version": "1.0.1",
|
| 810 |
+
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
|
| 811 |
+
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
|
| 812 |
+
"license": "MIT",
|
| 813 |
+
"engines": {
|
| 814 |
+
"node": ">= 0.4"
|
| 815 |
+
}
|
| 816 |
+
},
|
| 817 |
+
"node_modules/es-errors": {
|
| 818 |
+
"version": "1.3.0",
|
| 819 |
+
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
|
| 820 |
+
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
|
| 821 |
+
"license": "MIT",
|
| 822 |
+
"engines": {
|
| 823 |
+
"node": ">= 0.4"
|
| 824 |
+
}
|
| 825 |
+
},
|
| 826 |
+
"node_modules/es-object-atoms": {
|
| 827 |
+
"version": "1.0.0",
|
| 828 |
+
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
|
| 829 |
+
"integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
|
| 830 |
+
"license": "MIT",
|
| 831 |
+
"dependencies": {
|
| 832 |
+
"es-errors": "^1.3.0"
|
| 833 |
+
},
|
| 834 |
+
"engines": {
|
| 835 |
+
"node": ">= 0.4"
|
| 836 |
+
}
|
| 837 |
+
},
|
| 838 |
+
"node_modules/es-set-tostringtag": {
|
| 839 |
+
"version": "2.1.0",
|
| 840 |
+
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
|
| 841 |
+
"integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
|
| 842 |
+
"license": "MIT",
|
| 843 |
+
"dependencies": {
|
| 844 |
+
"es-errors": "^1.3.0",
|
| 845 |
+
"get-intrinsic": "^1.2.6",
|
| 846 |
+
"has-tostringtag": "^1.0.2",
|
| 847 |
+
"hasown": "^2.0.2"
|
| 848 |
+
},
|
| 849 |
+
"engines": {
|
| 850 |
+
"node": ">= 0.4"
|
| 851 |
+
}
|
| 852 |
+
},
|
| 853 |
+
"node_modules/escape-html": {
|
| 854 |
+
"version": "1.0.3",
|
| 855 |
+
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
| 856 |
+
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
|
| 857 |
+
"license": "MIT"
|
| 858 |
+
},
|
| 859 |
+
"node_modules/escape-string-regexp": {
|
| 860 |
+
"version": "2.0.0",
|
| 861 |
+
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
|
| 862 |
+
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
|
| 863 |
+
"dev": true,
|
| 864 |
+
"license": "MIT",
|
| 865 |
+
"engines": {
|
| 866 |
+
"node": ">=8"
|
| 867 |
+
}
|
| 868 |
+
},
|
| 869 |
+
"node_modules/escodegen": {
|
| 870 |
+
"version": "1.14.3",
|
| 871 |
+
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
|
| 872 |
+
"integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
|
| 873 |
+
"dev": true,
|
| 874 |
+
"license": "BSD-2-Clause",
|
| 875 |
+
"dependencies": {
|
| 876 |
+
"esprima": "^4.0.1",
|
| 877 |
+
"estraverse": "^4.2.0",
|
| 878 |
+
"esutils": "^2.0.2",
|
| 879 |
+
"optionator": "^0.8.1"
|
| 880 |
+
},
|
| 881 |
+
"bin": {
|
| 882 |
+
"escodegen": "bin/escodegen.js",
|
| 883 |
+
"esgenerate": "bin/esgenerate.js"
|
| 884 |
+
},
|
| 885 |
+
"engines": {
|
| 886 |
+
"node": ">=4.0"
|
| 887 |
+
},
|
| 888 |
+
"optionalDependencies": {
|
| 889 |
+
"source-map": "~0.6.1"
|
| 890 |
+
}
|
| 891 |
+
},
|
| 892 |
+
"node_modules/escodegen/node_modules/estraverse": {
|
| 893 |
+
"version": "4.3.0",
|
| 894 |
+
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
|
| 895 |
+
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
|
| 896 |
+
"dev": true,
|
| 897 |
+
"license": "BSD-2-Clause",
|
| 898 |
+
"engines": {
|
| 899 |
+
"node": ">=4.0"
|
| 900 |
+
}
|
| 901 |
+
},
|
| 902 |
+
"node_modules/eslint-visitor-keys": {
|
| 903 |
+
"version": "3.4.3",
|
| 904 |
+
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
|
| 905 |
+
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
|
| 906 |
+
"dev": true,
|
| 907 |
+
"license": "Apache-2.0",
|
| 908 |
+
"engines": {
|
| 909 |
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
| 910 |
+
},
|
| 911 |
+
"funding": {
|
| 912 |
+
"url": "https://opencollective.com/eslint"
|
| 913 |
+
}
|
| 914 |
+
},
|
| 915 |
+
"node_modules/espree": {
|
| 916 |
+
"version": "9.6.1",
|
| 917 |
+
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
|
| 918 |
+
"integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
|
| 919 |
+
"dev": true,
|
| 920 |
+
"license": "BSD-2-Clause",
|
| 921 |
+
"dependencies": {
|
| 922 |
+
"acorn": "^8.9.0",
|
| 923 |
+
"acorn-jsx": "^5.3.2",
|
| 924 |
+
"eslint-visitor-keys": "^3.4.1"
|
| 925 |
+
},
|
| 926 |
+
"engines": {
|
| 927 |
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
| 928 |
+
},
|
| 929 |
+
"funding": {
|
| 930 |
+
"url": "https://opencollective.com/eslint"
|
| 931 |
+
}
|
| 932 |
+
},
|
| 933 |
+
"node_modules/esprima": {
|
| 934 |
+
"version": "4.0.1",
|
| 935 |
+
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
|
| 936 |
+
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
|
| 937 |
+
"dev": true,
|
| 938 |
+
"license": "BSD-2-Clause",
|
| 939 |
+
"bin": {
|
| 940 |
+
"esparse": "bin/esparse.js",
|
| 941 |
+
"esvalidate": "bin/esvalidate.js"
|
| 942 |
+
},
|
| 943 |
+
"engines": {
|
| 944 |
+
"node": ">=4"
|
| 945 |
+
}
|
| 946 |
+
},
|
| 947 |
+
"node_modules/estraverse": {
|
| 948 |
+
"version": "5.3.0",
|
| 949 |
+
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
|
| 950 |
+
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
|
| 951 |
+
"dev": true,
|
| 952 |
+
"license": "BSD-2-Clause",
|
| 953 |
+
"engines": {
|
| 954 |
+
"node": ">=4.0"
|
| 955 |
+
}
|
| 956 |
+
},
|
| 957 |
+
"node_modules/esutils": {
|
| 958 |
+
"version": "2.0.3",
|
| 959 |
+
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
|
| 960 |
+
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
|
| 961 |
+
"dev": true,
|
| 962 |
+
"license": "BSD-2-Clause",
|
| 963 |
+
"engines": {
|
| 964 |
+
"node": ">=0.10.0"
|
| 965 |
+
}
|
| 966 |
+
},
|
| 967 |
+
"node_modules/etag": {
|
| 968 |
+
"version": "1.8.1",
|
| 969 |
+
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
|
| 970 |
+
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
|
| 971 |
+
"license": "MIT",
|
| 972 |
+
"engines": {
|
| 973 |
+
"node": ">= 0.6"
|
| 974 |
+
}
|
| 975 |
+
},
|
| 976 |
+
"node_modules/express": {
|
| 977 |
+
"version": "4.21.2",
|
| 978 |
+
"resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz",
|
| 979 |
+
"integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==",
|
| 980 |
+
"license": "MIT",
|
| 981 |
+
"dependencies": {
|
| 982 |
+
"accepts": "~1.3.8",
|
| 983 |
+
"array-flatten": "1.1.1",
|
| 984 |
+
"body-parser": "1.20.3",
|
| 985 |
+
"content-disposition": "0.5.4",
|
| 986 |
+
"content-type": "~1.0.4",
|
| 987 |
+
"cookie": "0.7.1",
|
| 988 |
+
"cookie-signature": "1.0.6",
|
| 989 |
+
"debug": "2.6.9",
|
| 990 |
+
"depd": "2.0.0",
|
| 991 |
+
"encodeurl": "~2.0.0",
|
| 992 |
+
"escape-html": "~1.0.3",
|
| 993 |
+
"etag": "~1.8.1",
|
| 994 |
+
"finalhandler": "1.3.1",
|
| 995 |
+
"fresh": "0.5.2",
|
| 996 |
+
"http-errors": "2.0.0",
|
| 997 |
+
"merge-descriptors": "1.0.3",
|
| 998 |
+
"methods": "~1.1.2",
|
| 999 |
+
"on-finished": "2.4.1",
|
| 1000 |
+
"parseurl": "~1.3.3",
|
| 1001 |
+
"path-to-regexp": "0.1.12",
|
| 1002 |
+
"proxy-addr": "~2.0.7",
|
| 1003 |
+
"qs": "6.13.0",
|
| 1004 |
+
"range-parser": "~1.2.1",
|
| 1005 |
+
"safe-buffer": "5.2.1",
|
| 1006 |
+
"send": "0.19.0",
|
| 1007 |
+
"serve-static": "1.16.2",
|
| 1008 |
+
"setprototypeof": "1.2.0",
|
| 1009 |
+
"statuses": "2.0.1",
|
| 1010 |
+
"type-is": "~1.6.18",
|
| 1011 |
+
"utils-merge": "1.0.1",
|
| 1012 |
+
"vary": "~1.1.2"
|
| 1013 |
+
},
|
| 1014 |
+
"engines": {
|
| 1015 |
+
"node": ">= 0.10.0"
|
| 1016 |
+
},
|
| 1017 |
+
"funding": {
|
| 1018 |
+
"type": "opencollective",
|
| 1019 |
+
"url": "https://opencollective.com/express"
|
| 1020 |
+
}
|
| 1021 |
+
},
|
| 1022 |
+
"node_modules/fast-levenshtein": {
|
| 1023 |
+
"version": "2.0.6",
|
| 1024 |
+
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
|
| 1025 |
+
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
|
| 1026 |
+
"dev": true,
|
| 1027 |
+
"license": "MIT"
|
| 1028 |
+
},
|
| 1029 |
+
"node_modules/finalhandler": {
|
| 1030 |
+
"version": "1.3.1",
|
| 1031 |
+
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
|
| 1032 |
+
"integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
|
| 1033 |
+
"license": "MIT",
|
| 1034 |
+
"dependencies": {
|
| 1035 |
+
"debug": "2.6.9",
|
| 1036 |
+
"encodeurl": "~2.0.0",
|
| 1037 |
+
"escape-html": "~1.0.3",
|
| 1038 |
+
"on-finished": "2.4.1",
|
| 1039 |
+
"parseurl": "~1.3.3",
|
| 1040 |
+
"statuses": "2.0.1",
|
| 1041 |
+
"unpipe": "~1.0.0"
|
| 1042 |
+
},
|
| 1043 |
+
"engines": {
|
| 1044 |
+
"node": ">= 0.8"
|
| 1045 |
+
}
|
| 1046 |
+
},
|
| 1047 |
+
"node_modules/follow-redirects": {
|
| 1048 |
+
"version": "1.15.9",
|
| 1049 |
+
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
|
| 1050 |
+
"integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
|
| 1051 |
+
"funding": [
|
| 1052 |
+
{
|
| 1053 |
+
"type": "individual",
|
| 1054 |
+
"url": "https://github.com/sponsors/RubenVerborgh"
|
| 1055 |
+
}
|
| 1056 |
+
],
|
| 1057 |
+
"license": "MIT",
|
| 1058 |
+
"engines": {
|
| 1059 |
+
"node": ">=4.0"
|
| 1060 |
+
},
|
| 1061 |
+
"peerDependenciesMeta": {
|
| 1062 |
+
"debug": {
|
| 1063 |
+
"optional": true
|
| 1064 |
+
}
|
| 1065 |
+
}
|
| 1066 |
+
},
|
| 1067 |
+
"node_modules/form-data": {
|
| 1068 |
+
"version": "4.0.2",
|
| 1069 |
+
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz",
|
| 1070 |
+
"integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==",
|
| 1071 |
+
"license": "MIT",
|
| 1072 |
+
"dependencies": {
|
| 1073 |
+
"asynckit": "^0.4.0",
|
| 1074 |
+
"combined-stream": "^1.0.8",
|
| 1075 |
+
"es-set-tostringtag": "^2.1.0",
|
| 1076 |
+
"mime-types": "^2.1.12"
|
| 1077 |
+
},
|
| 1078 |
+
"engines": {
|
| 1079 |
+
"node": ">= 6"
|
| 1080 |
+
}
|
| 1081 |
+
},
|
| 1082 |
+
"node_modules/forwarded": {
|
| 1083 |
+
"version": "0.2.0",
|
| 1084 |
+
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
|
| 1085 |
+
"integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
|
| 1086 |
+
"license": "MIT",
|
| 1087 |
+
"engines": {
|
| 1088 |
+
"node": ">= 0.6"
|
| 1089 |
+
}
|
| 1090 |
+
},
|
| 1091 |
+
"node_modules/fresh": {
|
| 1092 |
+
"version": "0.5.2",
|
| 1093 |
+
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
| 1094 |
+
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
|
| 1095 |
+
"license": "MIT",
|
| 1096 |
+
"engines": {
|
| 1097 |
+
"node": ">= 0.6"
|
| 1098 |
+
}
|
| 1099 |
+
},
|
| 1100 |
+
"node_modules/fs.realpath": {
|
| 1101 |
+
"version": "1.0.0",
|
| 1102 |
+
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
| 1103 |
+
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
| 1104 |
+
"dev": true,
|
| 1105 |
+
"license": "ISC"
|
| 1106 |
+
},
|
| 1107 |
+
"node_modules/function-bind": {
|
| 1108 |
+
"version": "1.1.2",
|
| 1109 |
+
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
| 1110 |
+
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
| 1111 |
+
"license": "MIT",
|
| 1112 |
+
"funding": {
|
| 1113 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 1114 |
+
}
|
| 1115 |
+
},
|
| 1116 |
+
"node_modules/get-intrinsic": {
|
| 1117 |
+
"version": "1.2.7",
|
| 1118 |
+
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz",
|
| 1119 |
+
"integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==",
|
| 1120 |
+
"license": "MIT",
|
| 1121 |
+
"dependencies": {
|
| 1122 |
+
"call-bind-apply-helpers": "^1.0.1",
|
| 1123 |
+
"es-define-property": "^1.0.1",
|
| 1124 |
+
"es-errors": "^1.3.0",
|
| 1125 |
+
"es-object-atoms": "^1.0.0",
|
| 1126 |
+
"function-bind": "^1.1.2",
|
| 1127 |
+
"get-proto": "^1.0.0",
|
| 1128 |
+
"gopd": "^1.2.0",
|
| 1129 |
+
"has-symbols": "^1.1.0",
|
| 1130 |
+
"hasown": "^2.0.2",
|
| 1131 |
+
"math-intrinsics": "^1.1.0"
|
| 1132 |
+
},
|
| 1133 |
+
"engines": {
|
| 1134 |
+
"node": ">= 0.4"
|
| 1135 |
+
},
|
| 1136 |
+
"funding": {
|
| 1137 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 1138 |
+
}
|
| 1139 |
+
},
|
| 1140 |
+
"node_modules/get-proto": {
|
| 1141 |
+
"version": "1.0.1",
|
| 1142 |
+
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
|
| 1143 |
+
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
| 1144 |
+
"license": "MIT",
|
| 1145 |
+
"dependencies": {
|
| 1146 |
+
"dunder-proto": "^1.0.1",
|
| 1147 |
+
"es-object-atoms": "^1.0.0"
|
| 1148 |
+
},
|
| 1149 |
+
"engines": {
|
| 1150 |
+
"node": ">= 0.4"
|
| 1151 |
+
}
|
| 1152 |
+
},
|
| 1153 |
+
"node_modules/glob": {
|
| 1154 |
+
"version": "8.1.0",
|
| 1155 |
+
"resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
|
| 1156 |
+
"integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
|
| 1157 |
+
"deprecated": "Glob versions prior to v9 are no longer supported",
|
| 1158 |
+
"dev": true,
|
| 1159 |
+
"license": "ISC",
|
| 1160 |
+
"dependencies": {
|
| 1161 |
+
"fs.realpath": "^1.0.0",
|
| 1162 |
+
"inflight": "^1.0.4",
|
| 1163 |
+
"inherits": "2",
|
| 1164 |
+
"minimatch": "^5.0.1",
|
| 1165 |
+
"once": "^1.3.0"
|
| 1166 |
+
},
|
| 1167 |
+
"engines": {
|
| 1168 |
+
"node": ">=12"
|
| 1169 |
+
},
|
| 1170 |
+
"funding": {
|
| 1171 |
+
"url": "https://github.com/sponsors/isaacs"
|
| 1172 |
+
}
|
| 1173 |
+
},
|
| 1174 |
+
"node_modules/gopd": {
|
| 1175 |
+
"version": "1.2.0",
|
| 1176 |
+
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
| 1177 |
+
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
|
| 1178 |
+
"license": "MIT",
|
| 1179 |
+
"engines": {
|
| 1180 |
+
"node": ">= 0.4"
|
| 1181 |
+
},
|
| 1182 |
+
"funding": {
|
| 1183 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 1184 |
+
}
|
| 1185 |
+
},
|
| 1186 |
+
"node_modules/graceful-fs": {
|
| 1187 |
+
"version": "4.2.11",
|
| 1188 |
+
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
| 1189 |
+
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
| 1190 |
+
"dev": true,
|
| 1191 |
+
"license": "ISC"
|
| 1192 |
+
},
|
| 1193 |
+
"node_modules/has-flag": {
|
| 1194 |
+
"version": "4.0.0",
|
| 1195 |
+
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
| 1196 |
+
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
| 1197 |
+
"dev": true,
|
| 1198 |
+
"license": "MIT",
|
| 1199 |
+
"engines": {
|
| 1200 |
+
"node": ">=8"
|
| 1201 |
+
}
|
| 1202 |
+
},
|
| 1203 |
+
"node_modules/has-symbols": {
|
| 1204 |
+
"version": "1.1.0",
|
| 1205 |
+
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
|
| 1206 |
+
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
|
| 1207 |
+
"license": "MIT",
|
| 1208 |
+
"engines": {
|
| 1209 |
+
"node": ">= 0.4"
|
| 1210 |
+
},
|
| 1211 |
+
"funding": {
|
| 1212 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 1213 |
+
}
|
| 1214 |
+
},
|
| 1215 |
+
"node_modules/has-tostringtag": {
|
| 1216 |
+
"version": "1.0.2",
|
| 1217 |
+
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
|
| 1218 |
+
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
|
| 1219 |
+
"license": "MIT",
|
| 1220 |
+
"dependencies": {
|
| 1221 |
+
"has-symbols": "^1.0.3"
|
| 1222 |
+
},
|
| 1223 |
+
"engines": {
|
| 1224 |
+
"node": ">= 0.4"
|
| 1225 |
+
},
|
| 1226 |
+
"funding": {
|
| 1227 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 1228 |
+
}
|
| 1229 |
+
},
|
| 1230 |
+
"node_modules/hasown": {
|
| 1231 |
+
"version": "2.0.2",
|
| 1232 |
+
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
| 1233 |
+
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
|
| 1234 |
+
"license": "MIT",
|
| 1235 |
+
"dependencies": {
|
| 1236 |
+
"function-bind": "^1.1.2"
|
| 1237 |
+
},
|
| 1238 |
+
"engines": {
|
| 1239 |
+
"node": ">= 0.4"
|
| 1240 |
+
}
|
| 1241 |
+
},
|
| 1242 |
+
"node_modules/http-errors": {
|
| 1243 |
+
"version": "2.0.0",
|
| 1244 |
+
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
|
| 1245 |
+
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
|
| 1246 |
+
"license": "MIT",
|
| 1247 |
+
"dependencies": {
|
| 1248 |
+
"depd": "2.0.0",
|
| 1249 |
+
"inherits": "2.0.4",
|
| 1250 |
+
"setprototypeof": "1.2.0",
|
| 1251 |
+
"statuses": "2.0.1",
|
| 1252 |
+
"toidentifier": "1.0.1"
|
| 1253 |
+
},
|
| 1254 |
+
"engines": {
|
| 1255 |
+
"node": ">= 0.8"
|
| 1256 |
+
}
|
| 1257 |
+
},
|
| 1258 |
+
"node_modules/iconv-lite": {
|
| 1259 |
+
"version": "0.4.24",
|
| 1260 |
+
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
| 1261 |
+
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
|
| 1262 |
+
"license": "MIT",
|
| 1263 |
+
"dependencies": {
|
| 1264 |
+
"safer-buffer": ">= 2.1.2 < 3"
|
| 1265 |
+
},
|
| 1266 |
+
"engines": {
|
| 1267 |
+
"node": ">=0.10.0"
|
| 1268 |
+
}
|
| 1269 |
+
},
|
| 1270 |
+
"node_modules/inflight": {
|
| 1271 |
+
"version": "1.0.6",
|
| 1272 |
+
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
| 1273 |
+
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
| 1274 |
+
"deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
|
| 1275 |
+
"dev": true,
|
| 1276 |
+
"license": "ISC",
|
| 1277 |
+
"dependencies": {
|
| 1278 |
+
"once": "^1.3.0",
|
| 1279 |
+
"wrappy": "1"
|
| 1280 |
+
}
|
| 1281 |
+
},
|
| 1282 |
+
"node_modules/inherits": {
|
| 1283 |
+
"version": "2.0.4",
|
| 1284 |
+
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
| 1285 |
+
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
| 1286 |
+
"license": "ISC"
|
| 1287 |
+
},
|
| 1288 |
+
"node_modules/ipaddr.js": {
|
| 1289 |
+
"version": "1.9.1",
|
| 1290 |
+
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
|
| 1291 |
+
"integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
|
| 1292 |
+
"license": "MIT",
|
| 1293 |
+
"engines": {
|
| 1294 |
+
"node": ">= 0.10"
|
| 1295 |
+
}
|
| 1296 |
+
},
|
| 1297 |
+
"node_modules/is-docker": {
|
| 1298 |
+
"version": "3.0.0",
|
| 1299 |
+
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
|
| 1300 |
+
"integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
|
| 1301 |
+
"license": "MIT",
|
| 1302 |
+
"bin": {
|
| 1303 |
+
"is-docker": "cli.js"
|
| 1304 |
+
},
|
| 1305 |
+
"engines": {
|
| 1306 |
+
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
| 1307 |
+
},
|
| 1308 |
+
"funding": {
|
| 1309 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 1310 |
+
}
|
| 1311 |
+
},
|
| 1312 |
+
"node_modules/is-inside-container": {
|
| 1313 |
+
"version": "1.0.0",
|
| 1314 |
+
"resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
|
| 1315 |
+
"integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
|
| 1316 |
+
"license": "MIT",
|
| 1317 |
+
"dependencies": {
|
| 1318 |
+
"is-docker": "^3.0.0"
|
| 1319 |
+
},
|
| 1320 |
+
"bin": {
|
| 1321 |
+
"is-inside-container": "cli.js"
|
| 1322 |
+
},
|
| 1323 |
+
"engines": {
|
| 1324 |
+
"node": ">=14.16"
|
| 1325 |
+
},
|
| 1326 |
+
"funding": {
|
| 1327 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 1328 |
+
}
|
| 1329 |
+
},
|
| 1330 |
+
"node_modules/is-wsl": {
|
| 1331 |
+
"version": "3.1.0",
|
| 1332 |
+
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
|
| 1333 |
+
"integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
|
| 1334 |
+
"license": "MIT",
|
| 1335 |
+
"dependencies": {
|
| 1336 |
+
"is-inside-container": "^1.0.0"
|
| 1337 |
+
},
|
| 1338 |
+
"engines": {
|
| 1339 |
+
"node": ">=16"
|
| 1340 |
+
},
|
| 1341 |
+
"funding": {
|
| 1342 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 1343 |
+
}
|
| 1344 |
+
},
|
| 1345 |
+
"node_modules/js2xmlparser": {
|
| 1346 |
+
"version": "4.0.2",
|
| 1347 |
+
"resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz",
|
| 1348 |
+
"integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==",
|
| 1349 |
+
"dev": true,
|
| 1350 |
+
"license": "Apache-2.0",
|
| 1351 |
+
"dependencies": {
|
| 1352 |
+
"xmlcreate": "^2.0.4"
|
| 1353 |
+
}
|
| 1354 |
+
},
|
| 1355 |
+
"node_modules/jsdoc": {
|
| 1356 |
+
"version": "4.0.4",
|
| 1357 |
+
"resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.4.tgz",
|
| 1358 |
+
"integrity": "sha512-zeFezwyXeG4syyYHbvh1A967IAqq/67yXtXvuL5wnqCkFZe8I0vKfm+EO+YEvLguo6w9CDUbrAXVtJSHh2E8rw==",
|
| 1359 |
+
"dev": true,
|
| 1360 |
+
"license": "Apache-2.0",
|
| 1361 |
+
"dependencies": {
|
| 1362 |
+
"@babel/parser": "^7.20.15",
|
| 1363 |
+
"@jsdoc/salty": "^0.2.1",
|
| 1364 |
+
"@types/markdown-it": "^14.1.1",
|
| 1365 |
+
"bluebird": "^3.7.2",
|
| 1366 |
+
"catharsis": "^0.9.0",
|
| 1367 |
+
"escape-string-regexp": "^2.0.0",
|
| 1368 |
+
"js2xmlparser": "^4.0.2",
|
| 1369 |
+
"klaw": "^3.0.0",
|
| 1370 |
+
"markdown-it": "^14.1.0",
|
| 1371 |
+
"markdown-it-anchor": "^8.6.7",
|
| 1372 |
+
"marked": "^4.0.10",
|
| 1373 |
+
"mkdirp": "^1.0.4",
|
| 1374 |
+
"requizzle": "^0.2.3",
|
| 1375 |
+
"strip-json-comments": "^3.1.0",
|
| 1376 |
+
"underscore": "~1.13.2"
|
| 1377 |
+
},
|
| 1378 |
+
"bin": {
|
| 1379 |
+
"jsdoc": "jsdoc.js"
|
| 1380 |
+
},
|
| 1381 |
+
"engines": {
|
| 1382 |
+
"node": ">=12.0.0"
|
| 1383 |
+
}
|
| 1384 |
+
},
|
| 1385 |
+
"node_modules/jsonwebtoken": {
|
| 1386 |
+
"version": "9.0.2",
|
| 1387 |
+
"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz",
|
| 1388 |
+
"integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==",
|
| 1389 |
+
"license": "MIT",
|
| 1390 |
+
"dependencies": {
|
| 1391 |
+
"jws": "^3.2.2",
|
| 1392 |
+
"lodash.includes": "^4.3.0",
|
| 1393 |
+
"lodash.isboolean": "^3.0.3",
|
| 1394 |
+
"lodash.isinteger": "^4.0.4",
|
| 1395 |
+
"lodash.isnumber": "^3.0.3",
|
| 1396 |
+
"lodash.isplainobject": "^4.0.6",
|
| 1397 |
+
"lodash.isstring": "^4.0.1",
|
| 1398 |
+
"lodash.once": "^4.0.0",
|
| 1399 |
+
"ms": "^2.1.1",
|
| 1400 |
+
"semver": "^7.5.4"
|
| 1401 |
+
},
|
| 1402 |
+
"engines": {
|
| 1403 |
+
"node": ">=12",
|
| 1404 |
+
"npm": ">=6"
|
| 1405 |
+
}
|
| 1406 |
+
},
|
| 1407 |
+
"node_modules/jsonwebtoken/node_modules/ms": {
|
| 1408 |
+
"version": "2.1.3",
|
| 1409 |
+
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
| 1410 |
+
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
| 1411 |
+
"license": "MIT"
|
| 1412 |
+
},
|
| 1413 |
+
"node_modules/jwa": {
|
| 1414 |
+
"version": "1.4.1",
|
| 1415 |
+
"resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
|
| 1416 |
+
"integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
|
| 1417 |
+
"license": "MIT",
|
| 1418 |
+
"dependencies": {
|
| 1419 |
+
"buffer-equal-constant-time": "1.0.1",
|
| 1420 |
+
"ecdsa-sig-formatter": "1.0.11",
|
| 1421 |
+
"safe-buffer": "^5.0.1"
|
| 1422 |
+
}
|
| 1423 |
+
},
|
| 1424 |
+
"node_modules/jws": {
|
| 1425 |
+
"version": "3.2.2",
|
| 1426 |
+
"resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
|
| 1427 |
+
"integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
|
| 1428 |
+
"license": "MIT",
|
| 1429 |
+
"dependencies": {
|
| 1430 |
+
"jwa": "^1.4.1",
|
| 1431 |
+
"safe-buffer": "^5.0.1"
|
| 1432 |
+
}
|
| 1433 |
+
},
|
| 1434 |
+
"node_modules/klaw": {
|
| 1435 |
+
"version": "3.0.0",
|
| 1436 |
+
"resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz",
|
| 1437 |
+
"integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==",
|
| 1438 |
+
"dev": true,
|
| 1439 |
+
"license": "MIT",
|
| 1440 |
+
"dependencies": {
|
| 1441 |
+
"graceful-fs": "^4.1.9"
|
| 1442 |
+
}
|
| 1443 |
+
},
|
| 1444 |
+
"node_modules/levn": {
|
| 1445 |
+
"version": "0.3.0",
|
| 1446 |
+
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
|
| 1447 |
+
"integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
|
| 1448 |
+
"dev": true,
|
| 1449 |
+
"license": "MIT",
|
| 1450 |
+
"dependencies": {
|
| 1451 |
+
"prelude-ls": "~1.1.2",
|
| 1452 |
+
"type-check": "~0.3.2"
|
| 1453 |
+
},
|
| 1454 |
+
"engines": {
|
| 1455 |
+
"node": ">= 0.8.0"
|
| 1456 |
+
}
|
| 1457 |
+
},
|
| 1458 |
+
"node_modules/linkify-it": {
|
| 1459 |
+
"version": "5.0.0",
|
| 1460 |
+
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
|
| 1461 |
+
"integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
|
| 1462 |
+
"dev": true,
|
| 1463 |
+
"license": "MIT",
|
| 1464 |
+
"dependencies": {
|
| 1465 |
+
"uc.micro": "^2.0.0"
|
| 1466 |
+
}
|
| 1467 |
+
},
|
| 1468 |
+
"node_modules/lodash": {
|
| 1469 |
+
"version": "4.17.21",
|
| 1470 |
+
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
| 1471 |
+
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
| 1472 |
+
"dev": true,
|
| 1473 |
+
"license": "MIT"
|
| 1474 |
+
},
|
| 1475 |
+
"node_modules/lodash.includes": {
|
| 1476 |
+
"version": "4.3.0",
|
| 1477 |
+
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
|
| 1478 |
+
"integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==",
|
| 1479 |
+
"license": "MIT"
|
| 1480 |
+
},
|
| 1481 |
+
"node_modules/lodash.isboolean": {
|
| 1482 |
+
"version": "3.0.3",
|
| 1483 |
+
"resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
|
| 1484 |
+
"integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==",
|
| 1485 |
+
"license": "MIT"
|
| 1486 |
+
},
|
| 1487 |
+
"node_modules/lodash.isinteger": {
|
| 1488 |
+
"version": "4.0.4",
|
| 1489 |
+
"resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
|
| 1490 |
+
"integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==",
|
| 1491 |
+
"license": "MIT"
|
| 1492 |
+
},
|
| 1493 |
+
"node_modules/lodash.isnumber": {
|
| 1494 |
+
"version": "3.0.3",
|
| 1495 |
+
"resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
|
| 1496 |
+
"integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==",
|
| 1497 |
+
"license": "MIT"
|
| 1498 |
+
},
|
| 1499 |
+
"node_modules/lodash.isplainobject": {
|
| 1500 |
+
"version": "4.0.6",
|
| 1501 |
+
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
|
| 1502 |
+
"integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
|
| 1503 |
+
"license": "MIT"
|
| 1504 |
+
},
|
| 1505 |
+
"node_modules/lodash.isstring": {
|
| 1506 |
+
"version": "4.0.1",
|
| 1507 |
+
"resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
|
| 1508 |
+
"integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==",
|
| 1509 |
+
"license": "MIT"
|
| 1510 |
+
},
|
| 1511 |
+
"node_modules/lodash.once": {
|
| 1512 |
+
"version": "4.1.1",
|
| 1513 |
+
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
|
| 1514 |
+
"integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==",
|
| 1515 |
+
"license": "MIT"
|
| 1516 |
+
},
|
| 1517 |
+
"node_modules/long": {
|
| 1518 |
+
"version": "5.2.4",
|
| 1519 |
+
"resolved": "https://registry.npmjs.org/long/-/long-5.2.4.tgz",
|
| 1520 |
+
"integrity": "sha512-qtzLbJE8hq7VabR3mISmVGtoXP8KGc2Z/AT8OuqlYD7JTR3oqrgwdjnk07wpj1twXxYmgDXgoKVWUG/fReSzHg==",
|
| 1521 |
+
"license": "Apache-2.0"
|
| 1522 |
+
},
|
| 1523 |
+
"node_modules/markdown-it": {
|
| 1524 |
+
"version": "14.1.0",
|
| 1525 |
+
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
|
| 1526 |
+
"integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
|
| 1527 |
+
"dev": true,
|
| 1528 |
+
"license": "MIT",
|
| 1529 |
+
"dependencies": {
|
| 1530 |
+
"argparse": "^2.0.1",
|
| 1531 |
+
"entities": "^4.4.0",
|
| 1532 |
+
"linkify-it": "^5.0.0",
|
| 1533 |
+
"mdurl": "^2.0.0",
|
| 1534 |
+
"punycode.js": "^2.3.1",
|
| 1535 |
+
"uc.micro": "^2.1.0"
|
| 1536 |
+
},
|
| 1537 |
+
"bin": {
|
| 1538 |
+
"markdown-it": "bin/markdown-it.mjs"
|
| 1539 |
+
}
|
| 1540 |
+
},
|
| 1541 |
+
"node_modules/markdown-it-anchor": {
|
| 1542 |
+
"version": "8.6.7",
|
| 1543 |
+
"resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz",
|
| 1544 |
+
"integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==",
|
| 1545 |
+
"dev": true,
|
| 1546 |
+
"license": "Unlicense",
|
| 1547 |
+
"peerDependencies": {
|
| 1548 |
+
"@types/markdown-it": "*",
|
| 1549 |
+
"markdown-it": "*"
|
| 1550 |
+
}
|
| 1551 |
+
},
|
| 1552 |
+
"node_modules/marked": {
|
| 1553 |
+
"version": "4.3.0",
|
| 1554 |
+
"resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
|
| 1555 |
+
"integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
|
| 1556 |
+
"dev": true,
|
| 1557 |
+
"license": "MIT",
|
| 1558 |
+
"bin": {
|
| 1559 |
+
"marked": "bin/marked.js"
|
| 1560 |
+
},
|
| 1561 |
+
"engines": {
|
| 1562 |
+
"node": ">= 12"
|
| 1563 |
+
}
|
| 1564 |
+
},
|
| 1565 |
+
"node_modules/math-intrinsics": {
|
| 1566 |
+
"version": "1.1.0",
|
| 1567 |
+
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
| 1568 |
+
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
|
| 1569 |
+
"license": "MIT",
|
| 1570 |
+
"engines": {
|
| 1571 |
+
"node": ">= 0.4"
|
| 1572 |
+
}
|
| 1573 |
+
},
|
| 1574 |
+
"node_modules/mdurl": {
|
| 1575 |
+
"version": "2.0.0",
|
| 1576 |
+
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
|
| 1577 |
+
"integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
|
| 1578 |
+
"dev": true,
|
| 1579 |
+
"license": "MIT"
|
| 1580 |
+
},
|
| 1581 |
+
"node_modules/media-typer": {
|
| 1582 |
+
"version": "0.3.0",
|
| 1583 |
+
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
| 1584 |
+
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
|
| 1585 |
+
"license": "MIT",
|
| 1586 |
+
"engines": {
|
| 1587 |
+
"node": ">= 0.6"
|
| 1588 |
+
}
|
| 1589 |
+
},
|
| 1590 |
+
"node_modules/merge-descriptors": {
|
| 1591 |
+
"version": "1.0.3",
|
| 1592 |
+
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
|
| 1593 |
+
"integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
|
| 1594 |
+
"license": "MIT",
|
| 1595 |
+
"funding": {
|
| 1596 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 1597 |
+
}
|
| 1598 |
+
},
|
| 1599 |
+
"node_modules/methods": {
|
| 1600 |
+
"version": "1.1.2",
|
| 1601 |
+
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
| 1602 |
+
"integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
|
| 1603 |
+
"license": "MIT",
|
| 1604 |
+
"engines": {
|
| 1605 |
+
"node": ">= 0.6"
|
| 1606 |
+
}
|
| 1607 |
+
},
|
| 1608 |
+
"node_modules/mime": {
|
| 1609 |
+
"version": "1.6.0",
|
| 1610 |
+
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
|
| 1611 |
+
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
|
| 1612 |
+
"license": "MIT",
|
| 1613 |
+
"bin": {
|
| 1614 |
+
"mime": "cli.js"
|
| 1615 |
+
},
|
| 1616 |
+
"engines": {
|
| 1617 |
+
"node": ">=4"
|
| 1618 |
+
}
|
| 1619 |
+
},
|
| 1620 |
+
"node_modules/mime-db": {
|
| 1621 |
+
"version": "1.52.0",
|
| 1622 |
+
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
| 1623 |
+
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
| 1624 |
+
"license": "MIT",
|
| 1625 |
+
"engines": {
|
| 1626 |
+
"node": ">= 0.6"
|
| 1627 |
+
}
|
| 1628 |
+
},
|
| 1629 |
+
"node_modules/mime-types": {
|
| 1630 |
+
"version": "2.1.35",
|
| 1631 |
+
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
| 1632 |
+
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
| 1633 |
+
"license": "MIT",
|
| 1634 |
+
"dependencies": {
|
| 1635 |
+
"mime-db": "1.52.0"
|
| 1636 |
+
},
|
| 1637 |
+
"engines": {
|
| 1638 |
+
"node": ">= 0.6"
|
| 1639 |
+
}
|
| 1640 |
+
},
|
| 1641 |
+
"node_modules/minimatch": {
|
| 1642 |
+
"version": "5.1.6",
|
| 1643 |
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
|
| 1644 |
+
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
|
| 1645 |
+
"dev": true,
|
| 1646 |
+
"license": "ISC",
|
| 1647 |
+
"dependencies": {
|
| 1648 |
+
"brace-expansion": "^2.0.1"
|
| 1649 |
+
},
|
| 1650 |
+
"engines": {
|
| 1651 |
+
"node": ">=10"
|
| 1652 |
+
}
|
| 1653 |
+
},
|
| 1654 |
+
"node_modules/minimist": {
|
| 1655 |
+
"version": "1.2.8",
|
| 1656 |
+
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
| 1657 |
+
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
| 1658 |
+
"dev": true,
|
| 1659 |
+
"license": "MIT",
|
| 1660 |
+
"funding": {
|
| 1661 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 1662 |
+
}
|
| 1663 |
+
},
|
| 1664 |
+
"node_modules/mkdirp": {
|
| 1665 |
+
"version": "1.0.4",
|
| 1666 |
+
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
|
| 1667 |
+
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
|
| 1668 |
+
"dev": true,
|
| 1669 |
+
"license": "MIT",
|
| 1670 |
+
"bin": {
|
| 1671 |
+
"mkdirp": "bin/cmd.js"
|
| 1672 |
+
},
|
| 1673 |
+
"engines": {
|
| 1674 |
+
"node": ">=10"
|
| 1675 |
+
}
|
| 1676 |
+
},
|
| 1677 |
+
"node_modules/morgan": {
|
| 1678 |
+
"version": "1.10.0",
|
| 1679 |
+
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz",
|
| 1680 |
+
"integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==",
|
| 1681 |
+
"license": "MIT",
|
| 1682 |
+
"dependencies": {
|
| 1683 |
+
"basic-auth": "~2.0.1",
|
| 1684 |
+
"debug": "2.6.9",
|
| 1685 |
+
"depd": "~2.0.0",
|
| 1686 |
+
"on-finished": "~2.3.0",
|
| 1687 |
+
"on-headers": "~1.0.2"
|
| 1688 |
+
},
|
| 1689 |
+
"engines": {
|
| 1690 |
+
"node": ">= 0.8.0"
|
| 1691 |
+
}
|
| 1692 |
+
},
|
| 1693 |
+
"node_modules/morgan/node_modules/on-finished": {
|
| 1694 |
+
"version": "2.3.0",
|
| 1695 |
+
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
|
| 1696 |
+
"integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
|
| 1697 |
+
"license": "MIT",
|
| 1698 |
+
"dependencies": {
|
| 1699 |
+
"ee-first": "1.1.1"
|
| 1700 |
+
},
|
| 1701 |
+
"engines": {
|
| 1702 |
+
"node": ">= 0.8"
|
| 1703 |
+
}
|
| 1704 |
+
},
|
| 1705 |
+
"node_modules/ms": {
|
| 1706 |
+
"version": "2.0.0",
|
| 1707 |
+
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
| 1708 |
+
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
| 1709 |
+
"license": "MIT"
|
| 1710 |
+
},
|
| 1711 |
+
"node_modules/negotiator": {
|
| 1712 |
+
"version": "0.6.3",
|
| 1713 |
+
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
|
| 1714 |
+
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
|
| 1715 |
+
"license": "MIT",
|
| 1716 |
+
"engines": {
|
| 1717 |
+
"node": ">= 0.6"
|
| 1718 |
+
}
|
| 1719 |
+
},
|
| 1720 |
+
"node_modules/node-cron": {
|
| 1721 |
+
"version": "3.0.3",
|
| 1722 |
+
"resolved": "https://registry.npmjs.org/node-cron/-/node-cron-3.0.3.tgz",
|
| 1723 |
+
"integrity": "sha512-dOal67//nohNgYWb+nWmg5dkFdIwDm8EpeGYMekPMrngV3637lqnX0lbUcCtgibHTz6SEz7DAIjKvKDFYCnO1A==",
|
| 1724 |
+
"license": "ISC",
|
| 1725 |
+
"dependencies": {
|
| 1726 |
+
"uuid": "8.3.2"
|
| 1727 |
+
},
|
| 1728 |
+
"engines": {
|
| 1729 |
+
"node": ">=6.0.0"
|
| 1730 |
+
}
|
| 1731 |
+
},
|
| 1732 |
+
"node_modules/node-cron/node_modules/uuid": {
|
| 1733 |
+
"version": "8.3.2",
|
| 1734 |
+
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
| 1735 |
+
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
| 1736 |
+
"license": "MIT",
|
| 1737 |
+
"bin": {
|
| 1738 |
+
"uuid": "dist/bin/uuid"
|
| 1739 |
+
}
|
| 1740 |
+
},
|
| 1741 |
+
"node_modules/node-fetch": {
|
| 1742 |
+
"version": "2.7.0",
|
| 1743 |
+
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
|
| 1744 |
+
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
|
| 1745 |
+
"license": "MIT",
|
| 1746 |
+
"dependencies": {
|
| 1747 |
+
"whatwg-url": "^5.0.0"
|
| 1748 |
+
},
|
| 1749 |
+
"engines": {
|
| 1750 |
+
"node": "4.x || >=6.0.0"
|
| 1751 |
+
},
|
| 1752 |
+
"peerDependencies": {
|
| 1753 |
+
"encoding": "^0.1.0"
|
| 1754 |
+
},
|
| 1755 |
+
"peerDependenciesMeta": {
|
| 1756 |
+
"encoding": {
|
| 1757 |
+
"optional": true
|
| 1758 |
+
}
|
| 1759 |
+
}
|
| 1760 |
+
},
|
| 1761 |
+
"node_modules/object-inspect": {
|
| 1762 |
+
"version": "1.13.3",
|
| 1763 |
+
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz",
|
| 1764 |
+
"integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==",
|
| 1765 |
+
"license": "MIT",
|
| 1766 |
+
"engines": {
|
| 1767 |
+
"node": ">= 0.4"
|
| 1768 |
+
},
|
| 1769 |
+
"funding": {
|
| 1770 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 1771 |
+
}
|
| 1772 |
+
},
|
| 1773 |
+
"node_modules/on-finished": {
|
| 1774 |
+
"version": "2.4.1",
|
| 1775 |
+
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
|
| 1776 |
+
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
|
| 1777 |
+
"license": "MIT",
|
| 1778 |
+
"dependencies": {
|
| 1779 |
+
"ee-first": "1.1.1"
|
| 1780 |
+
},
|
| 1781 |
+
"engines": {
|
| 1782 |
+
"node": ">= 0.8"
|
| 1783 |
+
}
|
| 1784 |
+
},
|
| 1785 |
+
"node_modules/on-headers": {
|
| 1786 |
+
"version": "1.0.2",
|
| 1787 |
+
"resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
|
| 1788 |
+
"integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
|
| 1789 |
+
"license": "MIT",
|
| 1790 |
+
"engines": {
|
| 1791 |
+
"node": ">= 0.8"
|
| 1792 |
+
}
|
| 1793 |
+
},
|
| 1794 |
+
"node_modules/once": {
|
| 1795 |
+
"version": "1.4.0",
|
| 1796 |
+
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
| 1797 |
+
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
| 1798 |
+
"license": "ISC",
|
| 1799 |
+
"dependencies": {
|
| 1800 |
+
"wrappy": "1"
|
| 1801 |
+
}
|
| 1802 |
+
},
|
| 1803 |
+
"node_modules/open": {
|
| 1804 |
+
"version": "10.1.0",
|
| 1805 |
+
"resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz",
|
| 1806 |
+
"integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==",
|
| 1807 |
+
"license": "MIT",
|
| 1808 |
+
"dependencies": {
|
| 1809 |
+
"default-browser": "^5.2.1",
|
| 1810 |
+
"define-lazy-prop": "^3.0.0",
|
| 1811 |
+
"is-inside-container": "^1.0.0",
|
| 1812 |
+
"is-wsl": "^3.1.0"
|
| 1813 |
+
},
|
| 1814 |
+
"engines": {
|
| 1815 |
+
"node": ">=18"
|
| 1816 |
+
},
|
| 1817 |
+
"funding": {
|
| 1818 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 1819 |
+
}
|
| 1820 |
+
},
|
| 1821 |
+
"node_modules/optionator": {
|
| 1822 |
+
"version": "0.8.3",
|
| 1823 |
+
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
|
| 1824 |
+
"integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
|
| 1825 |
+
"dev": true,
|
| 1826 |
+
"license": "MIT",
|
| 1827 |
+
"dependencies": {
|
| 1828 |
+
"deep-is": "~0.1.3",
|
| 1829 |
+
"fast-levenshtein": "~2.0.6",
|
| 1830 |
+
"levn": "~0.3.0",
|
| 1831 |
+
"prelude-ls": "~1.1.2",
|
| 1832 |
+
"type-check": "~0.3.2",
|
| 1833 |
+
"word-wrap": "~1.2.3"
|
| 1834 |
+
},
|
| 1835 |
+
"engines": {
|
| 1836 |
+
"node": ">= 0.8.0"
|
| 1837 |
+
}
|
| 1838 |
+
},
|
| 1839 |
+
"node_modules/parseurl": {
|
| 1840 |
+
"version": "1.3.3",
|
| 1841 |
+
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
| 1842 |
+
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
|
| 1843 |
+
"license": "MIT",
|
| 1844 |
+
"engines": {
|
| 1845 |
+
"node": ">= 0.8"
|
| 1846 |
+
}
|
| 1847 |
+
},
|
| 1848 |
+
"node_modules/path-to-regexp": {
|
| 1849 |
+
"version": "0.1.12",
|
| 1850 |
+
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
|
| 1851 |
+
"integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==",
|
| 1852 |
+
"license": "MIT"
|
| 1853 |
+
},
|
| 1854 |
+
"node_modules/prelude-ls": {
|
| 1855 |
+
"version": "1.1.2",
|
| 1856 |
+
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
|
| 1857 |
+
"integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==",
|
| 1858 |
+
"dev": true,
|
| 1859 |
+
"engines": {
|
| 1860 |
+
"node": ">= 0.8.0"
|
| 1861 |
+
}
|
| 1862 |
+
},
|
| 1863 |
+
"node_modules/protobufjs": {
|
| 1864 |
+
"version": "7.4.0",
|
| 1865 |
+
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz",
|
| 1866 |
+
"integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==",
|
| 1867 |
+
"hasInstallScript": true,
|
| 1868 |
+
"license": "BSD-3-Clause",
|
| 1869 |
+
"dependencies": {
|
| 1870 |
+
"@protobufjs/aspromise": "^1.1.2",
|
| 1871 |
+
"@protobufjs/base64": "^1.1.2",
|
| 1872 |
+
"@protobufjs/codegen": "^2.0.4",
|
| 1873 |
+
"@protobufjs/eventemitter": "^1.1.0",
|
| 1874 |
+
"@protobufjs/fetch": "^1.1.0",
|
| 1875 |
+
"@protobufjs/float": "^1.0.2",
|
| 1876 |
+
"@protobufjs/inquire": "^1.1.0",
|
| 1877 |
+
"@protobufjs/path": "^1.1.2",
|
| 1878 |
+
"@protobufjs/pool": "^1.1.0",
|
| 1879 |
+
"@protobufjs/utf8": "^1.1.0",
|
| 1880 |
+
"@types/node": ">=13.7.0",
|
| 1881 |
+
"long": "^5.0.0"
|
| 1882 |
+
},
|
| 1883 |
+
"engines": {
|
| 1884 |
+
"node": ">=12.0.0"
|
| 1885 |
+
}
|
| 1886 |
+
},
|
| 1887 |
+
"node_modules/protobufjs-cli": {
|
| 1888 |
+
"version": "1.1.3",
|
| 1889 |
+
"resolved": "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.1.3.tgz",
|
| 1890 |
+
"integrity": "sha512-MqD10lqF+FMsOayFiNOdOGNlXc4iKDCf0ZQPkPR+gizYh9gqUeGTWulABUCdI+N67w5RfJ6xhgX4J8pa8qmMXQ==",
|
| 1891 |
+
"dev": true,
|
| 1892 |
+
"license": "BSD-3-Clause",
|
| 1893 |
+
"dependencies": {
|
| 1894 |
+
"chalk": "^4.0.0",
|
| 1895 |
+
"escodegen": "^1.13.0",
|
| 1896 |
+
"espree": "^9.0.0",
|
| 1897 |
+
"estraverse": "^5.1.0",
|
| 1898 |
+
"glob": "^8.0.0",
|
| 1899 |
+
"jsdoc": "^4.0.0",
|
| 1900 |
+
"minimist": "^1.2.0",
|
| 1901 |
+
"semver": "^7.1.2",
|
| 1902 |
+
"tmp": "^0.2.1",
|
| 1903 |
+
"uglify-js": "^3.7.7"
|
| 1904 |
+
},
|
| 1905 |
+
"bin": {
|
| 1906 |
+
"pbjs": "bin/pbjs",
|
| 1907 |
+
"pbts": "bin/pbts"
|
| 1908 |
+
},
|
| 1909 |
+
"engines": {
|
| 1910 |
+
"node": ">=12.0.0"
|
| 1911 |
+
},
|
| 1912 |
+
"peerDependencies": {
|
| 1913 |
+
"protobufjs": "^7.0.0"
|
| 1914 |
+
}
|
| 1915 |
+
},
|
| 1916 |
+
"node_modules/proxy-addr": {
|
| 1917 |
+
"version": "2.0.7",
|
| 1918 |
+
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
|
| 1919 |
+
"integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
|
| 1920 |
+
"license": "MIT",
|
| 1921 |
+
"dependencies": {
|
| 1922 |
+
"forwarded": "0.2.0",
|
| 1923 |
+
"ipaddr.js": "1.9.1"
|
| 1924 |
+
},
|
| 1925 |
+
"engines": {
|
| 1926 |
+
"node": ">= 0.10"
|
| 1927 |
+
}
|
| 1928 |
+
},
|
| 1929 |
+
"node_modules/proxy-from-env": {
|
| 1930 |
+
"version": "1.1.0",
|
| 1931 |
+
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
| 1932 |
+
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
|
| 1933 |
+
"license": "MIT"
|
| 1934 |
+
},
|
| 1935 |
+
"node_modules/punycode.js": {
|
| 1936 |
+
"version": "2.3.1",
|
| 1937 |
+
"resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
|
| 1938 |
+
"integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
|
| 1939 |
+
"dev": true,
|
| 1940 |
+
"license": "MIT",
|
| 1941 |
+
"engines": {
|
| 1942 |
+
"node": ">=6"
|
| 1943 |
+
}
|
| 1944 |
+
},
|
| 1945 |
+
"node_modules/qs": {
|
| 1946 |
+
"version": "6.13.0",
|
| 1947 |
+
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
|
| 1948 |
+
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
|
| 1949 |
+
"license": "BSD-3-Clause",
|
| 1950 |
+
"dependencies": {
|
| 1951 |
+
"side-channel": "^1.0.6"
|
| 1952 |
+
},
|
| 1953 |
+
"engines": {
|
| 1954 |
+
"node": ">=0.6"
|
| 1955 |
+
},
|
| 1956 |
+
"funding": {
|
| 1957 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 1958 |
+
}
|
| 1959 |
+
},
|
| 1960 |
+
"node_modules/range-parser": {
|
| 1961 |
+
"version": "1.2.1",
|
| 1962 |
+
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
| 1963 |
+
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
|
| 1964 |
+
"license": "MIT",
|
| 1965 |
+
"engines": {
|
| 1966 |
+
"node": ">= 0.6"
|
| 1967 |
+
}
|
| 1968 |
+
},
|
| 1969 |
+
"node_modules/raw-body": {
|
| 1970 |
+
"version": "2.5.2",
|
| 1971 |
+
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
|
| 1972 |
+
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
|
| 1973 |
+
"license": "MIT",
|
| 1974 |
+
"dependencies": {
|
| 1975 |
+
"bytes": "3.1.2",
|
| 1976 |
+
"http-errors": "2.0.0",
|
| 1977 |
+
"iconv-lite": "0.4.24",
|
| 1978 |
+
"unpipe": "1.0.0"
|
| 1979 |
+
},
|
| 1980 |
+
"engines": {
|
| 1981 |
+
"node": ">= 0.8"
|
| 1982 |
+
}
|
| 1983 |
+
},
|
| 1984 |
+
"node_modules/requizzle": {
|
| 1985 |
+
"version": "0.2.4",
|
| 1986 |
+
"resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz",
|
| 1987 |
+
"integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==",
|
| 1988 |
+
"dev": true,
|
| 1989 |
+
"license": "MIT",
|
| 1990 |
+
"dependencies": {
|
| 1991 |
+
"lodash": "^4.17.21"
|
| 1992 |
+
}
|
| 1993 |
+
},
|
| 1994 |
+
"node_modules/run-applescript": {
|
| 1995 |
+
"version": "7.0.0",
|
| 1996 |
+
"resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz",
|
| 1997 |
+
"integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==",
|
| 1998 |
+
"license": "MIT",
|
| 1999 |
+
"engines": {
|
| 2000 |
+
"node": ">=18"
|
| 2001 |
+
},
|
| 2002 |
+
"funding": {
|
| 2003 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 2004 |
+
}
|
| 2005 |
+
},
|
| 2006 |
+
"node_modules/safe-buffer": {
|
| 2007 |
+
"version": "5.2.1",
|
| 2008 |
+
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
| 2009 |
+
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
| 2010 |
+
"funding": [
|
| 2011 |
+
{
|
| 2012 |
+
"type": "github",
|
| 2013 |
+
"url": "https://github.com/sponsors/feross"
|
| 2014 |
+
},
|
| 2015 |
+
{
|
| 2016 |
+
"type": "patreon",
|
| 2017 |
+
"url": "https://www.patreon.com/feross"
|
| 2018 |
+
},
|
| 2019 |
+
{
|
| 2020 |
+
"type": "consulting",
|
| 2021 |
+
"url": "https://feross.org/support"
|
| 2022 |
+
}
|
| 2023 |
+
],
|
| 2024 |
+
"license": "MIT"
|
| 2025 |
+
},
|
| 2026 |
+
"node_modules/safer-buffer": {
|
| 2027 |
+
"version": "2.1.2",
|
| 2028 |
+
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
| 2029 |
+
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
| 2030 |
+
"license": "MIT"
|
| 2031 |
+
},
|
| 2032 |
+
"node_modules/semver": {
|
| 2033 |
+
"version": "7.7.0",
|
| 2034 |
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.0.tgz",
|
| 2035 |
+
"integrity": "sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==",
|
| 2036 |
+
"license": "ISC",
|
| 2037 |
+
"bin": {
|
| 2038 |
+
"semver": "bin/semver.js"
|
| 2039 |
+
},
|
| 2040 |
+
"engines": {
|
| 2041 |
+
"node": ">=10"
|
| 2042 |
+
}
|
| 2043 |
+
},
|
| 2044 |
+
"node_modules/send": {
|
| 2045 |
+
"version": "0.19.0",
|
| 2046 |
+
"resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
|
| 2047 |
+
"integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
|
| 2048 |
+
"license": "MIT",
|
| 2049 |
+
"dependencies": {
|
| 2050 |
+
"debug": "2.6.9",
|
| 2051 |
+
"depd": "2.0.0",
|
| 2052 |
+
"destroy": "1.2.0",
|
| 2053 |
+
"encodeurl": "~1.0.2",
|
| 2054 |
+
"escape-html": "~1.0.3",
|
| 2055 |
+
"etag": "~1.8.1",
|
| 2056 |
+
"fresh": "0.5.2",
|
| 2057 |
+
"http-errors": "2.0.0",
|
| 2058 |
+
"mime": "1.6.0",
|
| 2059 |
+
"ms": "2.1.3",
|
| 2060 |
+
"on-finished": "2.4.1",
|
| 2061 |
+
"range-parser": "~1.2.1",
|
| 2062 |
+
"statuses": "2.0.1"
|
| 2063 |
+
},
|
| 2064 |
+
"engines": {
|
| 2065 |
+
"node": ">= 0.8.0"
|
| 2066 |
+
}
|
| 2067 |
+
},
|
| 2068 |
+
"node_modules/send/node_modules/encodeurl": {
|
| 2069 |
+
"version": "1.0.2",
|
| 2070 |
+
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
| 2071 |
+
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
| 2072 |
+
"license": "MIT",
|
| 2073 |
+
"engines": {
|
| 2074 |
+
"node": ">= 0.8"
|
| 2075 |
+
}
|
| 2076 |
+
},
|
| 2077 |
+
"node_modules/send/node_modules/ms": {
|
| 2078 |
+
"version": "2.1.3",
|
| 2079 |
+
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
| 2080 |
+
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
| 2081 |
+
"license": "MIT"
|
| 2082 |
+
},
|
| 2083 |
+
"node_modules/serve-static": {
|
| 2084 |
+
"version": "1.16.2",
|
| 2085 |
+
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
|
| 2086 |
+
"integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
|
| 2087 |
+
"license": "MIT",
|
| 2088 |
+
"dependencies": {
|
| 2089 |
+
"encodeurl": "~2.0.0",
|
| 2090 |
+
"escape-html": "~1.0.3",
|
| 2091 |
+
"parseurl": "~1.3.3",
|
| 2092 |
+
"send": "0.19.0"
|
| 2093 |
+
},
|
| 2094 |
+
"engines": {
|
| 2095 |
+
"node": ">= 0.8.0"
|
| 2096 |
+
}
|
| 2097 |
+
},
|
| 2098 |
+
"node_modules/setprototypeof": {
|
| 2099 |
+
"version": "1.2.0",
|
| 2100 |
+
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
| 2101 |
+
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
|
| 2102 |
+
"license": "ISC"
|
| 2103 |
+
},
|
| 2104 |
+
"node_modules/side-channel": {
|
| 2105 |
+
"version": "1.1.0",
|
| 2106 |
+
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
|
| 2107 |
+
"integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
|
| 2108 |
+
"license": "MIT",
|
| 2109 |
+
"dependencies": {
|
| 2110 |
+
"es-errors": "^1.3.0",
|
| 2111 |
+
"object-inspect": "^1.13.3",
|
| 2112 |
+
"side-channel-list": "^1.0.0",
|
| 2113 |
+
"side-channel-map": "^1.0.1",
|
| 2114 |
+
"side-channel-weakmap": "^1.0.2"
|
| 2115 |
+
},
|
| 2116 |
+
"engines": {
|
| 2117 |
+
"node": ">= 0.4"
|
| 2118 |
+
},
|
| 2119 |
+
"funding": {
|
| 2120 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 2121 |
+
}
|
| 2122 |
+
},
|
| 2123 |
+
"node_modules/side-channel-list": {
|
| 2124 |
+
"version": "1.0.0",
|
| 2125 |
+
"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
|
| 2126 |
+
"integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
|
| 2127 |
+
"license": "MIT",
|
| 2128 |
+
"dependencies": {
|
| 2129 |
+
"es-errors": "^1.3.0",
|
| 2130 |
+
"object-inspect": "^1.13.3"
|
| 2131 |
+
},
|
| 2132 |
+
"engines": {
|
| 2133 |
+
"node": ">= 0.4"
|
| 2134 |
+
},
|
| 2135 |
+
"funding": {
|
| 2136 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 2137 |
+
}
|
| 2138 |
+
},
|
| 2139 |
+
"node_modules/side-channel-map": {
|
| 2140 |
+
"version": "1.0.1",
|
| 2141 |
+
"resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
|
| 2142 |
+
"integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
|
| 2143 |
+
"license": "MIT",
|
| 2144 |
+
"dependencies": {
|
| 2145 |
+
"call-bound": "^1.0.2",
|
| 2146 |
+
"es-errors": "^1.3.0",
|
| 2147 |
+
"get-intrinsic": "^1.2.5",
|
| 2148 |
+
"object-inspect": "^1.13.3"
|
| 2149 |
+
},
|
| 2150 |
+
"engines": {
|
| 2151 |
+
"node": ">= 0.4"
|
| 2152 |
+
},
|
| 2153 |
+
"funding": {
|
| 2154 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 2155 |
+
}
|
| 2156 |
+
},
|
| 2157 |
+
"node_modules/side-channel-weakmap": {
|
| 2158 |
+
"version": "1.0.2",
|
| 2159 |
+
"resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
|
| 2160 |
+
"integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
|
| 2161 |
+
"license": "MIT",
|
| 2162 |
+
"dependencies": {
|
| 2163 |
+
"call-bound": "^1.0.2",
|
| 2164 |
+
"es-errors": "^1.3.0",
|
| 2165 |
+
"get-intrinsic": "^1.2.5",
|
| 2166 |
+
"object-inspect": "^1.13.3",
|
| 2167 |
+
"side-channel-map": "^1.0.1"
|
| 2168 |
+
},
|
| 2169 |
+
"engines": {
|
| 2170 |
+
"node": ">= 0.4"
|
| 2171 |
+
},
|
| 2172 |
+
"funding": {
|
| 2173 |
+
"url": "https://github.com/sponsors/ljharb"
|
| 2174 |
+
}
|
| 2175 |
+
},
|
| 2176 |
+
"node_modules/source-map": {
|
| 2177 |
+
"version": "0.6.1",
|
| 2178 |
+
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
| 2179 |
+
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
| 2180 |
+
"dev": true,
|
| 2181 |
+
"license": "BSD-3-Clause",
|
| 2182 |
+
"optional": true,
|
| 2183 |
+
"engines": {
|
| 2184 |
+
"node": ">=0.10.0"
|
| 2185 |
+
}
|
| 2186 |
+
},
|
| 2187 |
+
"node_modules/statuses": {
|
| 2188 |
+
"version": "2.0.1",
|
| 2189 |
+
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
| 2190 |
+
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
|
| 2191 |
+
"license": "MIT",
|
| 2192 |
+
"engines": {
|
| 2193 |
+
"node": ">= 0.8"
|
| 2194 |
+
}
|
| 2195 |
+
},
|
| 2196 |
+
"node_modules/strip-json-comments": {
|
| 2197 |
+
"version": "3.1.1",
|
| 2198 |
+
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
|
| 2199 |
+
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
|
| 2200 |
+
"dev": true,
|
| 2201 |
+
"license": "MIT",
|
| 2202 |
+
"engines": {
|
| 2203 |
+
"node": ">=8"
|
| 2204 |
+
},
|
| 2205 |
+
"funding": {
|
| 2206 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 2207 |
+
}
|
| 2208 |
+
},
|
| 2209 |
+
"node_modules/supports-color": {
|
| 2210 |
+
"version": "7.2.0",
|
| 2211 |
+
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
| 2212 |
+
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
| 2213 |
+
"dev": true,
|
| 2214 |
+
"license": "MIT",
|
| 2215 |
+
"dependencies": {
|
| 2216 |
+
"has-flag": "^4.0.0"
|
| 2217 |
+
},
|
| 2218 |
+
"engines": {
|
| 2219 |
+
"node": ">=8"
|
| 2220 |
+
}
|
| 2221 |
+
},
|
| 2222 |
+
"node_modules/tmp": {
|
| 2223 |
+
"version": "0.2.3",
|
| 2224 |
+
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
|
| 2225 |
+
"integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
|
| 2226 |
+
"dev": true,
|
| 2227 |
+
"license": "MIT",
|
| 2228 |
+
"engines": {
|
| 2229 |
+
"node": ">=14.14"
|
| 2230 |
+
}
|
| 2231 |
+
},
|
| 2232 |
+
"node_modules/toidentifier": {
|
| 2233 |
+
"version": "1.0.1",
|
| 2234 |
+
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
|
| 2235 |
+
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
|
| 2236 |
+
"license": "MIT",
|
| 2237 |
+
"engines": {
|
| 2238 |
+
"node": ">=0.6"
|
| 2239 |
+
}
|
| 2240 |
+
},
|
| 2241 |
+
"node_modules/tr46": {
|
| 2242 |
+
"version": "0.0.3",
|
| 2243 |
+
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
| 2244 |
+
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
|
| 2245 |
+
"license": "MIT"
|
| 2246 |
+
},
|
| 2247 |
+
"node_modules/type-check": {
|
| 2248 |
+
"version": "0.3.2",
|
| 2249 |
+
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
|
| 2250 |
+
"integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
|
| 2251 |
+
"dev": true,
|
| 2252 |
+
"license": "MIT",
|
| 2253 |
+
"dependencies": {
|
| 2254 |
+
"prelude-ls": "~1.1.2"
|
| 2255 |
+
},
|
| 2256 |
+
"engines": {
|
| 2257 |
+
"node": ">= 0.8.0"
|
| 2258 |
+
}
|
| 2259 |
+
},
|
| 2260 |
+
"node_modules/type-is": {
|
| 2261 |
+
"version": "1.6.18",
|
| 2262 |
+
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
|
| 2263 |
+
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
|
| 2264 |
+
"license": "MIT",
|
| 2265 |
+
"dependencies": {
|
| 2266 |
+
"media-typer": "0.3.0",
|
| 2267 |
+
"mime-types": "~2.1.24"
|
| 2268 |
+
},
|
| 2269 |
+
"engines": {
|
| 2270 |
+
"node": ">= 0.6"
|
| 2271 |
+
}
|
| 2272 |
+
},
|
| 2273 |
+
"node_modules/uc.micro": {
|
| 2274 |
+
"version": "2.1.0",
|
| 2275 |
+
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
|
| 2276 |
+
"integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
|
| 2277 |
+
"dev": true,
|
| 2278 |
+
"license": "MIT"
|
| 2279 |
+
},
|
| 2280 |
+
"node_modules/uglify-js": {
|
| 2281 |
+
"version": "3.19.3",
|
| 2282 |
+
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
|
| 2283 |
+
"integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
|
| 2284 |
+
"dev": true,
|
| 2285 |
+
"license": "BSD-2-Clause",
|
| 2286 |
+
"bin": {
|
| 2287 |
+
"uglifyjs": "bin/uglifyjs"
|
| 2288 |
+
},
|
| 2289 |
+
"engines": {
|
| 2290 |
+
"node": ">=0.8.0"
|
| 2291 |
+
}
|
| 2292 |
+
},
|
| 2293 |
+
"node_modules/underscore": {
|
| 2294 |
+
"version": "1.13.7",
|
| 2295 |
+
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz",
|
| 2296 |
+
"integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==",
|
| 2297 |
+
"dev": true,
|
| 2298 |
+
"license": "MIT"
|
| 2299 |
+
},
|
| 2300 |
+
"node_modules/undici": {
|
| 2301 |
+
"version": "6.21.2",
|
| 2302 |
+
"resolved": "https://registry.npmjs.org/undici/-/undici-6.21.2.tgz",
|
| 2303 |
+
"integrity": "sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g==",
|
| 2304 |
+
"license": "MIT",
|
| 2305 |
+
"engines": {
|
| 2306 |
+
"node": ">=18.17"
|
| 2307 |
+
}
|
| 2308 |
+
},
|
| 2309 |
+
"node_modules/undici-types": {
|
| 2310 |
+
"version": "6.20.0",
|
| 2311 |
+
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
|
| 2312 |
+
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
|
| 2313 |
+
"license": "MIT"
|
| 2314 |
+
},
|
| 2315 |
+
"node_modules/universal-user-agent": {
|
| 2316 |
+
"version": "6.0.1",
|
| 2317 |
+
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
|
| 2318 |
+
"integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==",
|
| 2319 |
+
"license": "ISC"
|
| 2320 |
+
},
|
| 2321 |
+
"node_modules/unpipe": {
|
| 2322 |
+
"version": "1.0.0",
|
| 2323 |
+
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
| 2324 |
+
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
|
| 2325 |
+
"license": "MIT",
|
| 2326 |
+
"engines": {
|
| 2327 |
+
"node": ">= 0.8"
|
| 2328 |
+
}
|
| 2329 |
+
},
|
| 2330 |
+
"node_modules/utils-merge": {
|
| 2331 |
+
"version": "1.0.1",
|
| 2332 |
+
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
| 2333 |
+
"integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
|
| 2334 |
+
"license": "MIT",
|
| 2335 |
+
"engines": {
|
| 2336 |
+
"node": ">= 0.4.0"
|
| 2337 |
+
}
|
| 2338 |
+
},
|
| 2339 |
+
"node_modules/uuid": {
|
| 2340 |
+
"version": "11.0.5",
|
| 2341 |
+
"resolved": "https://registry.npmjs.org/uuid/-/uuid-11.0.5.tgz",
|
| 2342 |
+
"integrity": "sha512-508e6IcKLrhxKdBbcA2b4KQZlLVp2+J5UwQ6F7Drckkc5N9ZJwFa4TgWtsww9UG8fGHbm6gbV19TdM5pQ4GaIA==",
|
| 2343 |
+
"funding": [
|
| 2344 |
+
"https://github.com/sponsors/broofa",
|
| 2345 |
+
"https://github.com/sponsors/ctavan"
|
| 2346 |
+
],
|
| 2347 |
+
"license": "MIT",
|
| 2348 |
+
"bin": {
|
| 2349 |
+
"uuid": "dist/esm/bin/uuid"
|
| 2350 |
+
}
|
| 2351 |
+
},
|
| 2352 |
+
"node_modules/vary": {
|
| 2353 |
+
"version": "1.1.2",
|
| 2354 |
+
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
| 2355 |
+
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
|
| 2356 |
+
"license": "MIT",
|
| 2357 |
+
"engines": {
|
| 2358 |
+
"node": ">= 0.8"
|
| 2359 |
+
}
|
| 2360 |
+
},
|
| 2361 |
+
"node_modules/webidl-conversions": {
|
| 2362 |
+
"version": "3.0.1",
|
| 2363 |
+
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
| 2364 |
+
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
|
| 2365 |
+
"license": "BSD-2-Clause"
|
| 2366 |
+
},
|
| 2367 |
+
"node_modules/whatwg-url": {
|
| 2368 |
+
"version": "5.0.0",
|
| 2369 |
+
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
| 2370 |
+
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
| 2371 |
+
"license": "MIT",
|
| 2372 |
+
"dependencies": {
|
| 2373 |
+
"tr46": "~0.0.3",
|
| 2374 |
+
"webidl-conversions": "^3.0.0"
|
| 2375 |
+
}
|
| 2376 |
+
},
|
| 2377 |
+
"node_modules/word-wrap": {
|
| 2378 |
+
"version": "1.2.5",
|
| 2379 |
+
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
|
| 2380 |
+
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
|
| 2381 |
+
"dev": true,
|
| 2382 |
+
"license": "MIT",
|
| 2383 |
+
"engines": {
|
| 2384 |
+
"node": ">=0.10.0"
|
| 2385 |
+
}
|
| 2386 |
+
},
|
| 2387 |
+
"node_modules/wrappy": {
|
| 2388 |
+
"version": "1.0.2",
|
| 2389 |
+
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
| 2390 |
+
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
| 2391 |
+
"license": "ISC"
|
| 2392 |
+
},
|
| 2393 |
+
"node_modules/xmlcreate": {
|
| 2394 |
+
"version": "2.0.4",
|
| 2395 |
+
"resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz",
|
| 2396 |
+
"integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==",
|
| 2397 |
+
"dev": true,
|
| 2398 |
+
"license": "Apache-2.0"
|
| 2399 |
+
}
|
| 2400 |
+
}
|
| 2401 |
+
}
|
node_modules/@babel/helper-string-parser/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining
|
| 6 |
+
a copy of this software and associated documentation files (the
|
| 7 |
+
"Software"), to deal in the Software without restriction, including
|
| 8 |
+
without limitation the rights to use, copy, modify, merge, publish,
|
| 9 |
+
distribute, sublicense, and/or sell copies of the Software, and to
|
| 10 |
+
permit persons to whom the Software is furnished to do so, subject to
|
| 11 |
+
the following conditions:
|
| 12 |
+
|
| 13 |
+
The above copyright notice and this permission notice shall be
|
| 14 |
+
included in all copies or substantial portions of the Software.
|
| 15 |
+
|
| 16 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
| 17 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
| 18 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
| 19 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
| 20 |
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
| 21 |
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
| 22 |
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
node_modules/@babel/helper-string-parser/README.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# @babel/helper-string-parser
|
| 2 |
+
|
| 3 |
+
> A utility package to parse strings
|
| 4 |
+
|
| 5 |
+
See our website [@babel/helper-string-parser](https://babeljs.io/docs/babel-helper-string-parser) for more information.
|
| 6 |
+
|
| 7 |
+
## Install
|
| 8 |
+
|
| 9 |
+
Using npm:
|
| 10 |
+
|
| 11 |
+
```sh
|
| 12 |
+
npm install --save @babel/helper-string-parser
|
| 13 |
+
```
|
| 14 |
+
|
| 15 |
+
or using yarn:
|
| 16 |
+
|
| 17 |
+
```sh
|
| 18 |
+
yarn add @babel/helper-string-parser
|
| 19 |
+
```
|
node_modules/@babel/helper-string-parser/lib/index.js
ADDED
|
@@ -0,0 +1,295 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use strict";
|
| 2 |
+
|
| 3 |
+
Object.defineProperty(exports, "__esModule", {
|
| 4 |
+
value: true
|
| 5 |
+
});
|
| 6 |
+
exports.readCodePoint = readCodePoint;
|
| 7 |
+
exports.readInt = readInt;
|
| 8 |
+
exports.readStringContents = readStringContents;
|
| 9 |
+
var _isDigit = function isDigit(code) {
|
| 10 |
+
return code >= 48 && code <= 57;
|
| 11 |
+
};
|
| 12 |
+
const forbiddenNumericSeparatorSiblings = {
|
| 13 |
+
decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]),
|
| 14 |
+
hex: new Set([46, 88, 95, 120])
|
| 15 |
+
};
|
| 16 |
+
const isAllowedNumericSeparatorSibling = {
|
| 17 |
+
bin: ch => ch === 48 || ch === 49,
|
| 18 |
+
oct: ch => ch >= 48 && ch <= 55,
|
| 19 |
+
dec: ch => ch >= 48 && ch <= 57,
|
| 20 |
+
hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102
|
| 21 |
+
};
|
| 22 |
+
function readStringContents(type, input, pos, lineStart, curLine, errors) {
|
| 23 |
+
const initialPos = pos;
|
| 24 |
+
const initialLineStart = lineStart;
|
| 25 |
+
const initialCurLine = curLine;
|
| 26 |
+
let out = "";
|
| 27 |
+
let firstInvalidLoc = null;
|
| 28 |
+
let chunkStart = pos;
|
| 29 |
+
const {
|
| 30 |
+
length
|
| 31 |
+
} = input;
|
| 32 |
+
for (;;) {
|
| 33 |
+
if (pos >= length) {
|
| 34 |
+
errors.unterminated(initialPos, initialLineStart, initialCurLine);
|
| 35 |
+
out += input.slice(chunkStart, pos);
|
| 36 |
+
break;
|
| 37 |
+
}
|
| 38 |
+
const ch = input.charCodeAt(pos);
|
| 39 |
+
if (isStringEnd(type, ch, input, pos)) {
|
| 40 |
+
out += input.slice(chunkStart, pos);
|
| 41 |
+
break;
|
| 42 |
+
}
|
| 43 |
+
if (ch === 92) {
|
| 44 |
+
out += input.slice(chunkStart, pos);
|
| 45 |
+
const res = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors);
|
| 46 |
+
if (res.ch === null && !firstInvalidLoc) {
|
| 47 |
+
firstInvalidLoc = {
|
| 48 |
+
pos,
|
| 49 |
+
lineStart,
|
| 50 |
+
curLine
|
| 51 |
+
};
|
| 52 |
+
} else {
|
| 53 |
+
out += res.ch;
|
| 54 |
+
}
|
| 55 |
+
({
|
| 56 |
+
pos,
|
| 57 |
+
lineStart,
|
| 58 |
+
curLine
|
| 59 |
+
} = res);
|
| 60 |
+
chunkStart = pos;
|
| 61 |
+
} else if (ch === 8232 || ch === 8233) {
|
| 62 |
+
++pos;
|
| 63 |
+
++curLine;
|
| 64 |
+
lineStart = pos;
|
| 65 |
+
} else if (ch === 10 || ch === 13) {
|
| 66 |
+
if (type === "template") {
|
| 67 |
+
out += input.slice(chunkStart, pos) + "\n";
|
| 68 |
+
++pos;
|
| 69 |
+
if (ch === 13 && input.charCodeAt(pos) === 10) {
|
| 70 |
+
++pos;
|
| 71 |
+
}
|
| 72 |
+
++curLine;
|
| 73 |
+
chunkStart = lineStart = pos;
|
| 74 |
+
} else {
|
| 75 |
+
errors.unterminated(initialPos, initialLineStart, initialCurLine);
|
| 76 |
+
}
|
| 77 |
+
} else {
|
| 78 |
+
++pos;
|
| 79 |
+
}
|
| 80 |
+
}
|
| 81 |
+
return {
|
| 82 |
+
pos,
|
| 83 |
+
str: out,
|
| 84 |
+
firstInvalidLoc,
|
| 85 |
+
lineStart,
|
| 86 |
+
curLine,
|
| 87 |
+
containsInvalid: !!firstInvalidLoc
|
| 88 |
+
};
|
| 89 |
+
}
|
| 90 |
+
function isStringEnd(type, ch, input, pos) {
|
| 91 |
+
if (type === "template") {
|
| 92 |
+
return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123;
|
| 93 |
+
}
|
| 94 |
+
return ch === (type === "double" ? 34 : 39);
|
| 95 |
+
}
|
| 96 |
+
function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) {
|
| 97 |
+
const throwOnInvalid = !inTemplate;
|
| 98 |
+
pos++;
|
| 99 |
+
const res = ch => ({
|
| 100 |
+
pos,
|
| 101 |
+
ch,
|
| 102 |
+
lineStart,
|
| 103 |
+
curLine
|
| 104 |
+
});
|
| 105 |
+
const ch = input.charCodeAt(pos++);
|
| 106 |
+
switch (ch) {
|
| 107 |
+
case 110:
|
| 108 |
+
return res("\n");
|
| 109 |
+
case 114:
|
| 110 |
+
return res("\r");
|
| 111 |
+
case 120:
|
| 112 |
+
{
|
| 113 |
+
let code;
|
| 114 |
+
({
|
| 115 |
+
code,
|
| 116 |
+
pos
|
| 117 |
+
} = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors));
|
| 118 |
+
return res(code === null ? null : String.fromCharCode(code));
|
| 119 |
+
}
|
| 120 |
+
case 117:
|
| 121 |
+
{
|
| 122 |
+
let code;
|
| 123 |
+
({
|
| 124 |
+
code,
|
| 125 |
+
pos
|
| 126 |
+
} = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors));
|
| 127 |
+
return res(code === null ? null : String.fromCodePoint(code));
|
| 128 |
+
}
|
| 129 |
+
case 116:
|
| 130 |
+
return res("\t");
|
| 131 |
+
case 98:
|
| 132 |
+
return res("\b");
|
| 133 |
+
case 118:
|
| 134 |
+
return res("\u000b");
|
| 135 |
+
case 102:
|
| 136 |
+
return res("\f");
|
| 137 |
+
case 13:
|
| 138 |
+
if (input.charCodeAt(pos) === 10) {
|
| 139 |
+
++pos;
|
| 140 |
+
}
|
| 141 |
+
case 10:
|
| 142 |
+
lineStart = pos;
|
| 143 |
+
++curLine;
|
| 144 |
+
case 8232:
|
| 145 |
+
case 8233:
|
| 146 |
+
return res("");
|
| 147 |
+
case 56:
|
| 148 |
+
case 57:
|
| 149 |
+
if (inTemplate) {
|
| 150 |
+
return res(null);
|
| 151 |
+
} else {
|
| 152 |
+
errors.strictNumericEscape(pos - 1, lineStart, curLine);
|
| 153 |
+
}
|
| 154 |
+
default:
|
| 155 |
+
if (ch >= 48 && ch <= 55) {
|
| 156 |
+
const startPos = pos - 1;
|
| 157 |
+
const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2));
|
| 158 |
+
let octalStr = match[0];
|
| 159 |
+
let octal = parseInt(octalStr, 8);
|
| 160 |
+
if (octal > 255) {
|
| 161 |
+
octalStr = octalStr.slice(0, -1);
|
| 162 |
+
octal = parseInt(octalStr, 8);
|
| 163 |
+
}
|
| 164 |
+
pos += octalStr.length - 1;
|
| 165 |
+
const next = input.charCodeAt(pos);
|
| 166 |
+
if (octalStr !== "0" || next === 56 || next === 57) {
|
| 167 |
+
if (inTemplate) {
|
| 168 |
+
return res(null);
|
| 169 |
+
} else {
|
| 170 |
+
errors.strictNumericEscape(startPos, lineStart, curLine);
|
| 171 |
+
}
|
| 172 |
+
}
|
| 173 |
+
return res(String.fromCharCode(octal));
|
| 174 |
+
}
|
| 175 |
+
return res(String.fromCharCode(ch));
|
| 176 |
+
}
|
| 177 |
+
}
|
| 178 |
+
function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) {
|
| 179 |
+
const initialPos = pos;
|
| 180 |
+
let n;
|
| 181 |
+
({
|
| 182 |
+
n,
|
| 183 |
+
pos
|
| 184 |
+
} = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid));
|
| 185 |
+
if (n === null) {
|
| 186 |
+
if (throwOnInvalid) {
|
| 187 |
+
errors.invalidEscapeSequence(initialPos, lineStart, curLine);
|
| 188 |
+
} else {
|
| 189 |
+
pos = initialPos - 1;
|
| 190 |
+
}
|
| 191 |
+
}
|
| 192 |
+
return {
|
| 193 |
+
code: n,
|
| 194 |
+
pos
|
| 195 |
+
};
|
| 196 |
+
}
|
| 197 |
+
function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) {
|
| 198 |
+
const start = pos;
|
| 199 |
+
const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;
|
| 200 |
+
const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin;
|
| 201 |
+
let invalid = false;
|
| 202 |
+
let total = 0;
|
| 203 |
+
for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {
|
| 204 |
+
const code = input.charCodeAt(pos);
|
| 205 |
+
let val;
|
| 206 |
+
if (code === 95 && allowNumSeparator !== "bail") {
|
| 207 |
+
const prev = input.charCodeAt(pos - 1);
|
| 208 |
+
const next = input.charCodeAt(pos + 1);
|
| 209 |
+
if (!allowNumSeparator) {
|
| 210 |
+
if (bailOnError) return {
|
| 211 |
+
n: null,
|
| 212 |
+
pos
|
| 213 |
+
};
|
| 214 |
+
errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);
|
| 215 |
+
} else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) {
|
| 216 |
+
if (bailOnError) return {
|
| 217 |
+
n: null,
|
| 218 |
+
pos
|
| 219 |
+
};
|
| 220 |
+
errors.unexpectedNumericSeparator(pos, lineStart, curLine);
|
| 221 |
+
}
|
| 222 |
+
++pos;
|
| 223 |
+
continue;
|
| 224 |
+
}
|
| 225 |
+
if (code >= 97) {
|
| 226 |
+
val = code - 97 + 10;
|
| 227 |
+
} else if (code >= 65) {
|
| 228 |
+
val = code - 65 + 10;
|
| 229 |
+
} else if (_isDigit(code)) {
|
| 230 |
+
val = code - 48;
|
| 231 |
+
} else {
|
| 232 |
+
val = Infinity;
|
| 233 |
+
}
|
| 234 |
+
if (val >= radix) {
|
| 235 |
+
if (val <= 9 && bailOnError) {
|
| 236 |
+
return {
|
| 237 |
+
n: null,
|
| 238 |
+
pos
|
| 239 |
+
};
|
| 240 |
+
} else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) {
|
| 241 |
+
val = 0;
|
| 242 |
+
} else if (forceLen) {
|
| 243 |
+
val = 0;
|
| 244 |
+
invalid = true;
|
| 245 |
+
} else {
|
| 246 |
+
break;
|
| 247 |
+
}
|
| 248 |
+
}
|
| 249 |
+
++pos;
|
| 250 |
+
total = total * radix + val;
|
| 251 |
+
}
|
| 252 |
+
if (pos === start || len != null && pos - start !== len || invalid) {
|
| 253 |
+
return {
|
| 254 |
+
n: null,
|
| 255 |
+
pos
|
| 256 |
+
};
|
| 257 |
+
}
|
| 258 |
+
return {
|
| 259 |
+
n: total,
|
| 260 |
+
pos
|
| 261 |
+
};
|
| 262 |
+
}
|
| 263 |
+
function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) {
|
| 264 |
+
const ch = input.charCodeAt(pos);
|
| 265 |
+
let code;
|
| 266 |
+
if (ch === 123) {
|
| 267 |
+
++pos;
|
| 268 |
+
({
|
| 269 |
+
code,
|
| 270 |
+
pos
|
| 271 |
+
} = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors));
|
| 272 |
+
++pos;
|
| 273 |
+
if (code !== null && code > 0x10ffff) {
|
| 274 |
+
if (throwOnInvalid) {
|
| 275 |
+
errors.invalidCodePoint(pos, lineStart, curLine);
|
| 276 |
+
} else {
|
| 277 |
+
return {
|
| 278 |
+
code: null,
|
| 279 |
+
pos
|
| 280 |
+
};
|
| 281 |
+
}
|
| 282 |
+
}
|
| 283 |
+
} else {
|
| 284 |
+
({
|
| 285 |
+
code,
|
| 286 |
+
pos
|
| 287 |
+
} = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors));
|
| 288 |
+
}
|
| 289 |
+
return {
|
| 290 |
+
code,
|
| 291 |
+
pos
|
| 292 |
+
};
|
| 293 |
+
}
|
| 294 |
+
|
| 295 |
+
//# sourceMappingURL=index.js.map
|
node_modules/@babel/helper-string-parser/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"version":3,"names":["isDigit","code","forbiddenNumericSeparatorSiblings","decBinOct","Set","hex","isAllowedNumericSeparatorSibling","bin","ch","oct","dec","readStringContents","type","input","pos","lineStart","curLine","errors","initialPos","initialLineStart","initialCurLine","out","firstInvalidLoc","chunkStart","length","unterminated","slice","charCodeAt","isStringEnd","res","readEscapedChar","str","containsInvalid","inTemplate","throwOnInvalid","readHexChar","String","fromCharCode","readCodePoint","fromCodePoint","strictNumericEscape","startPos","match","exec","octalStr","octal","parseInt","next","len","forceLen","n","readInt","invalidEscapeSequence","radix","allowNumSeparator","bailOnError","start","forbiddenSiblings","isAllowedSibling","invalid","total","i","e","Infinity","val","prev","numericSeparatorInEscapeSequence","Number","isNaN","has","unexpectedNumericSeparator","_isDigit","invalidDigit","indexOf","invalidCodePoint"],"sources":["../src/index.ts"],"sourcesContent":["// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\n// The following character codes are forbidden from being\n// an immediate sibling of NumericLiteralSeparator _\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: new Set<number>([\n charCodes.dot,\n charCodes.uppercaseB,\n charCodes.uppercaseE,\n charCodes.uppercaseO,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseB,\n charCodes.lowercaseE,\n charCodes.lowercaseO,\n ]),\n hex: new Set<number>([\n charCodes.dot,\n charCodes.uppercaseX,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseX,\n ]),\n};\n\nconst isAllowedNumericSeparatorSibling = {\n // 0 - 1\n bin: (ch: number) => ch === charCodes.digit0 || ch === charCodes.digit1,\n\n // 0 - 7\n oct: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit7,\n\n // 0 - 9\n dec: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit9,\n\n // 0 - 9, A - F, a - f,\n hex: (ch: number) =>\n (ch >= charCodes.digit0 && ch <= charCodes.digit9) ||\n (ch >= charCodes.uppercaseA && ch <= charCodes.uppercaseF) ||\n (ch >= charCodes.lowercaseA && ch <= charCodes.lowercaseF),\n};\n\nexport type StringContentsErrorHandlers = EscapedCharErrorHandlers & {\n unterminated(\n initialPos: number,\n initialLineStart: number,\n initialCurLine: number,\n ): void;\n};\n\nexport function readStringContents(\n type: \"single\" | \"double\" | \"template\",\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n errors: StringContentsErrorHandlers,\n) {\n const initialPos = pos;\n const initialLineStart = lineStart;\n const initialCurLine = curLine;\n\n let out = \"\";\n let firstInvalidLoc = null;\n let chunkStart = pos;\n const { length } = input;\n for (;;) {\n if (pos >= length) {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n out += input.slice(chunkStart, pos);\n break;\n }\n const ch = input.charCodeAt(pos);\n if (isStringEnd(type, ch, input, pos)) {\n out += input.slice(chunkStart, pos);\n break;\n }\n if (ch === charCodes.backslash) {\n out += input.slice(chunkStart, pos);\n const res = readEscapedChar(\n input,\n pos,\n lineStart,\n curLine,\n type === \"template\",\n errors,\n );\n if (res.ch === null && !firstInvalidLoc) {\n firstInvalidLoc = { pos, lineStart, curLine };\n } else {\n out += res.ch;\n }\n ({ pos, lineStart, curLine } = res);\n chunkStart = pos;\n } else if (\n ch === charCodes.lineSeparator ||\n ch === charCodes.paragraphSeparator\n ) {\n ++pos;\n ++curLine;\n lineStart = pos;\n } else if (ch === charCodes.lineFeed || ch === charCodes.carriageReturn) {\n if (type === \"template\") {\n out += input.slice(chunkStart, pos) + \"\\n\";\n ++pos;\n if (\n ch === charCodes.carriageReturn &&\n input.charCodeAt(pos) === charCodes.lineFeed\n ) {\n ++pos;\n }\n ++curLine;\n chunkStart = lineStart = pos;\n } else {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n }\n } else {\n ++pos;\n }\n }\n return process.env.BABEL_8_BREAKING\n ? { pos, str: out, firstInvalidLoc, lineStart, curLine }\n : {\n pos,\n str: out,\n firstInvalidLoc,\n lineStart,\n curLine,\n containsInvalid: !!firstInvalidLoc,\n };\n}\n\nfunction isStringEnd(\n type: \"single\" | \"double\" | \"template\",\n ch: number,\n input: string,\n pos: number,\n) {\n if (type === \"template\") {\n return (\n ch === charCodes.graveAccent ||\n (ch === charCodes.dollarSign &&\n input.charCodeAt(pos + 1) === charCodes.leftCurlyBrace)\n );\n }\n return (\n ch === (type === \"double\" ? charCodes.quotationMark : charCodes.apostrophe)\n );\n}\n\ntype EscapedCharErrorHandlers = HexCharErrorHandlers &\n CodePointErrorHandlers & {\n strictNumericEscape(pos: number, lineStart: number, curLine: number): void;\n };\n\nfunction readEscapedChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n inTemplate: boolean,\n errors: EscapedCharErrorHandlers,\n) {\n const throwOnInvalid = !inTemplate;\n pos++; // skip '\\'\n\n const res = (ch: string | null) => ({ pos, ch, lineStart, curLine });\n\n const ch = input.charCodeAt(pos++);\n switch (ch) {\n case charCodes.lowercaseN:\n return res(\"\\n\");\n case charCodes.lowercaseR:\n return res(\"\\r\");\n case charCodes.lowercaseX: {\n let code;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 2,\n false,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCharCode(code));\n }\n case charCodes.lowercaseU: {\n let code;\n ({ code, pos } = readCodePoint(\n input,\n pos,\n lineStart,\n curLine,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCodePoint(code));\n }\n case charCodes.lowercaseT:\n return res(\"\\t\");\n case charCodes.lowercaseB:\n return res(\"\\b\");\n case charCodes.lowercaseV:\n return res(\"\\u000b\");\n case charCodes.lowercaseF:\n return res(\"\\f\");\n case charCodes.carriageReturn:\n if (input.charCodeAt(pos) === charCodes.lineFeed) {\n ++pos;\n }\n // fall through\n case charCodes.lineFeed:\n lineStart = pos;\n ++curLine;\n // fall through\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n return res(\"\");\n case charCodes.digit8:\n case charCodes.digit9:\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(pos - 1, lineStart, curLine);\n }\n // fall through\n default:\n if (ch >= charCodes.digit0 && ch <= charCodes.digit7) {\n const startPos = pos - 1;\n const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2));\n\n let octalStr = match[0];\n\n let octal = parseInt(octalStr, 8);\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n pos += octalStr.length - 1;\n const next = input.charCodeAt(pos);\n if (\n octalStr !== \"0\" ||\n next === charCodes.digit8 ||\n next === charCodes.digit9\n ) {\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(startPos, lineStart, curLine);\n }\n }\n\n return res(String.fromCharCode(octal));\n }\n\n return res(String.fromCharCode(ch));\n }\n}\n\ntype HexCharErrorHandlers = IntErrorHandlers & {\n invalidEscapeSequence(pos: number, lineStart: number, curLine: number): void;\n};\n\n// Used to read character escape sequences ('\\x', '\\u').\nfunction readHexChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n len: number,\n forceLen: boolean,\n throwOnInvalid: boolean,\n errors: HexCharErrorHandlers,\n) {\n const initialPos = pos;\n let n;\n ({ n, pos } = readInt(\n input,\n pos,\n lineStart,\n curLine,\n 16,\n len,\n forceLen,\n false,\n errors,\n /* bailOnError */ !throwOnInvalid,\n ));\n if (n === null) {\n if (throwOnInvalid) {\n errors.invalidEscapeSequence(initialPos, lineStart, curLine);\n } else {\n pos = initialPos - 1;\n }\n }\n return { code: n, pos };\n}\n\nexport type IntErrorHandlers = {\n numericSeparatorInEscapeSequence(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n unexpectedNumericSeparator(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n // It can return \"true\" to indicate that the error was handled\n // and the int parsing should continue.\n invalidDigit(\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n ): boolean;\n};\n\nexport function readInt(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n len: number | undefined,\n forceLen: boolean,\n allowNumSeparator: boolean | \"bail\",\n errors: IntErrorHandlers,\n bailOnError: boolean,\n) {\n const start = pos;\n const forbiddenSiblings =\n radix === 16\n ? forbiddenNumericSeparatorSiblings.hex\n : forbiddenNumericSeparatorSiblings.decBinOct;\n const isAllowedSibling =\n radix === 16\n ? isAllowedNumericSeparatorSibling.hex\n : radix === 10\n ? isAllowedNumericSeparatorSibling.dec\n : radix === 8\n ? isAllowedNumericSeparatorSibling.oct\n : isAllowedNumericSeparatorSibling.bin;\n\n let invalid = false;\n let total = 0;\n\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n const code = input.charCodeAt(pos);\n let val;\n\n if (code === charCodes.underscore && allowNumSeparator !== \"bail\") {\n const prev = input.charCodeAt(pos - 1);\n const next = input.charCodeAt(pos + 1);\n\n if (!allowNumSeparator) {\n if (bailOnError) return { n: null, pos };\n errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);\n } else if (\n Number.isNaN(next) ||\n !isAllowedSibling(next) ||\n forbiddenSiblings.has(prev) ||\n forbiddenSiblings.has(next)\n ) {\n if (bailOnError) return { n: null, pos };\n errors.unexpectedNumericSeparator(pos, lineStart, curLine);\n }\n\n // Ignore this _ character\n ++pos;\n continue;\n }\n\n if (code >= charCodes.lowercaseA) {\n val = code - charCodes.lowercaseA + charCodes.lineFeed;\n } else if (code >= charCodes.uppercaseA) {\n val = code - charCodes.uppercaseA + charCodes.lineFeed;\n } else if (charCodes.isDigit(code)) {\n val = code - charCodes.digit0; // 0-9\n } else {\n val = Infinity;\n }\n if (val >= radix) {\n // If we found a digit which is too big, errors.invalidDigit can return true to avoid\n // breaking the loop (this is used for error recovery).\n if (val <= 9 && bailOnError) {\n return { n: null, pos };\n } else if (\n val <= 9 &&\n errors.invalidDigit(pos, lineStart, curLine, radix)\n ) {\n val = 0;\n } else if (forceLen) {\n val = 0;\n invalid = true;\n } else {\n break;\n }\n }\n ++pos;\n total = total * radix + val;\n }\n if (pos === start || (len != null && pos - start !== len) || invalid) {\n return { n: null, pos };\n }\n\n return { n: total, pos };\n}\n\nexport type CodePointErrorHandlers = HexCharErrorHandlers & {\n invalidCodePoint(pos: number, lineStart: number, curLine: number): void;\n};\n\nexport function readCodePoint(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n throwOnInvalid: boolean,\n errors: CodePointErrorHandlers,\n) {\n const ch = input.charCodeAt(pos);\n let code;\n\n if (ch === charCodes.leftCurlyBrace) {\n ++pos;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n input.indexOf(\"}\", pos) - pos,\n true,\n throwOnInvalid,\n errors,\n ));\n ++pos;\n if (code !== null && code > 0x10ffff) {\n if (throwOnInvalid) {\n errors.invalidCodePoint(pos, lineStart, curLine);\n } else {\n return { code: null, pos };\n }\n }\n } else {\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 4,\n false,\n throwOnInvalid,\n errors,\n ));\n }\n return { code, pos };\n}\n"],"mappings":"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","ignoreList":[]}
|
node_modules/@babel/helper-string-parser/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "@babel/helper-string-parser",
|
| 3 |
+
"version": "7.25.9",
|
| 4 |
+
"description": "A utility package to parse strings",
|
| 5 |
+
"repository": {
|
| 6 |
+
"type": "git",
|
| 7 |
+
"url": "https://github.com/babel/babel.git",
|
| 8 |
+
"directory": "packages/babel-helper-string-parser"
|
| 9 |
+
},
|
| 10 |
+
"homepage": "https://babel.dev/docs/en/next/babel-helper-string-parser",
|
| 11 |
+
"license": "MIT",
|
| 12 |
+
"publishConfig": {
|
| 13 |
+
"access": "public"
|
| 14 |
+
},
|
| 15 |
+
"main": "./lib/index.js",
|
| 16 |
+
"devDependencies": {
|
| 17 |
+
"charcodes": "^0.2.0"
|
| 18 |
+
},
|
| 19 |
+
"engines": {
|
| 20 |
+
"node": ">=6.9.0"
|
| 21 |
+
},
|
| 22 |
+
"author": "The Babel Team (https://babel.dev/team)",
|
| 23 |
+
"exports": {
|
| 24 |
+
".": {
|
| 25 |
+
"types": "./lib/index.d.ts",
|
| 26 |
+
"default": "./lib/index.js"
|
| 27 |
+
},
|
| 28 |
+
"./package.json": "./package.json"
|
| 29 |
+
},
|
| 30 |
+
"type": "commonjs"
|
| 31 |
+
}
|
node_modules/@babel/helper-validator-identifier/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining
|
| 6 |
+
a copy of this software and associated documentation files (the
|
| 7 |
+
"Software"), to deal in the Software without restriction, including
|
| 8 |
+
without limitation the rights to use, copy, modify, merge, publish,
|
| 9 |
+
distribute, sublicense, and/or sell copies of the Software, and to
|
| 10 |
+
permit persons to whom the Software is furnished to do so, subject to
|
| 11 |
+
the following conditions:
|
| 12 |
+
|
| 13 |
+
The above copyright notice and this permission notice shall be
|
| 14 |
+
included in all copies or substantial portions of the Software.
|
| 15 |
+
|
| 16 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
| 17 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
| 18 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
| 19 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
| 20 |
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
| 21 |
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
| 22 |
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
node_modules/@babel/helper-validator-identifier/README.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# @babel/helper-validator-identifier
|
| 2 |
+
|
| 3 |
+
> Validate identifier/keywords name
|
| 4 |
+
|
| 5 |
+
See our website [@babel/helper-validator-identifier](https://babeljs.io/docs/babel-helper-validator-identifier) for more information.
|
| 6 |
+
|
| 7 |
+
## Install
|
| 8 |
+
|
| 9 |
+
Using npm:
|
| 10 |
+
|
| 11 |
+
```sh
|
| 12 |
+
npm install --save @babel/helper-validator-identifier
|
| 13 |
+
```
|
| 14 |
+
|
| 15 |
+
or using yarn:
|
| 16 |
+
|
| 17 |
+
```sh
|
| 18 |
+
yarn add @babel/helper-validator-identifier
|
| 19 |
+
```
|
node_modules/@babel/helper-validator-identifier/lib/identifier.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use strict";
|
| 2 |
+
|
| 3 |
+
Object.defineProperty(exports, "__esModule", {
|
| 4 |
+
value: true
|
| 5 |
+
});
|
| 6 |
+
exports.isIdentifierChar = isIdentifierChar;
|
| 7 |
+
exports.isIdentifierName = isIdentifierName;
|
| 8 |
+
exports.isIdentifierStart = isIdentifierStart;
|
| 9 |
+
let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7cd\ua7d0\ua7d1\ua7d3\ua7d5-\ua7dc\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
|
| 10 |
+
let nonASCIIidentifierChars = "\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
|
| 11 |
+
const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
|
| 12 |
+
const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
|
| 13 |
+
nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
|
| 14 |
+
const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
|
| 15 |
+
const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
|
| 16 |
+
function isInAstralSet(code, set) {
|
| 17 |
+
let pos = 0x10000;
|
| 18 |
+
for (let i = 0, length = set.length; i < length; i += 2) {
|
| 19 |
+
pos += set[i];
|
| 20 |
+
if (pos > code) return false;
|
| 21 |
+
pos += set[i + 1];
|
| 22 |
+
if (pos >= code) return true;
|
| 23 |
+
}
|
| 24 |
+
return false;
|
| 25 |
+
}
|
| 26 |
+
function isIdentifierStart(code) {
|
| 27 |
+
if (code < 65) return code === 36;
|
| 28 |
+
if (code <= 90) return true;
|
| 29 |
+
if (code < 97) return code === 95;
|
| 30 |
+
if (code <= 122) return true;
|
| 31 |
+
if (code <= 0xffff) {
|
| 32 |
+
return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
|
| 33 |
+
}
|
| 34 |
+
return isInAstralSet(code, astralIdentifierStartCodes);
|
| 35 |
+
}
|
| 36 |
+
function isIdentifierChar(code) {
|
| 37 |
+
if (code < 48) return code === 36;
|
| 38 |
+
if (code < 58) return true;
|
| 39 |
+
if (code < 65) return false;
|
| 40 |
+
if (code <= 90) return true;
|
| 41 |
+
if (code < 97) return code === 95;
|
| 42 |
+
if (code <= 122) return true;
|
| 43 |
+
if (code <= 0xffff) {
|
| 44 |
+
return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
|
| 45 |
+
}
|
| 46 |
+
return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
|
| 47 |
+
}
|
| 48 |
+
function isIdentifierName(name) {
|
| 49 |
+
let isFirst = true;
|
| 50 |
+
for (let i = 0; i < name.length; i++) {
|
| 51 |
+
let cp = name.charCodeAt(i);
|
| 52 |
+
if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {
|
| 53 |
+
const trail = name.charCodeAt(++i);
|
| 54 |
+
if ((trail & 0xfc00) === 0xdc00) {
|
| 55 |
+
cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
|
| 56 |
+
}
|
| 57 |
+
}
|
| 58 |
+
if (isFirst) {
|
| 59 |
+
isFirst = false;
|
| 60 |
+
if (!isIdentifierStart(cp)) {
|
| 61 |
+
return false;
|
| 62 |
+
}
|
| 63 |
+
} else if (!isIdentifierChar(cp)) {
|
| 64 |
+
return false;
|
| 65 |
+
}
|
| 66 |
+
}
|
| 67 |
+
return !isFirst;
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
//# sourceMappingURL=identifier.js.map
|
node_modules/@babel/helper-validator-identifier/lib/identifier.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"version":3,"names":["nonASCIIidentifierStartChars","nonASCIIidentifierChars","nonASCIIidentifierStart","RegExp","nonASCIIidentifier","astralIdentifierStartCodes","astralIdentifierCodes","isInAstralSet","code","set","pos","i","length","isIdentifierStart","test","String","fromCharCode","isIdentifierChar","isIdentifierName","name","isFirst","cp","charCodeAt","trail"],"sources":["../src/identifier.ts"],"sourcesContent":["// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point between 0x80 and 0xffff.\n// Generated by `scripts/generate-identifier-regex.cjs`.\n\n/* prettier-ignore */\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088e\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c8a\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7cd\\ua7d0\\ua7d1\\ua7d3\\ua7d5-\\ua7dc\\ua7f2-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\n/* prettier-ignore */\nlet nonASCIIidentifierChars = \"\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0897-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0cf3\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ece\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1ace\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\u30fb\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\\uff65\";\n\nconst nonASCIIidentifierStart = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + \"]\",\n);\nconst nonASCIIidentifier = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\",\n);\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n\n// These are a run-length and offset-encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by `scripts/generate-identifier-regex.cjs`.\n/* prettier-ignore */\nconst astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191];\n/* prettier-ignore */\nconst astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239];\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code: number, set: readonly number[]): boolean {\n let pos = 0x10000;\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n return false;\n}\n\n// Test whether a given character code starts an identifier.\n\nexport function isIdentifierStart(code: number): boolean {\n if (code < charCodes.uppercaseA) return code === charCodes.dollarSign;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return (\n code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))\n );\n }\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\n\n// Test whether a given character is part of an identifier.\n\nexport function isIdentifierChar(code: number): boolean {\n if (code < charCodes.digit0) return code === charCodes.dollarSign;\n if (code < charCodes.colon) return true;\n if (code < charCodes.uppercaseA) return false;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n return (\n isInAstralSet(code, astralIdentifierStartCodes) ||\n isInAstralSet(code, astralIdentifierCodes)\n );\n}\n\n// Test whether a given string is a valid identifier name\n\nexport function isIdentifierName(name: string): boolean {\n let isFirst = true;\n for (let i = 0; i < name.length; i++) {\n // The implementation is based on\n // https://source.chromium.org/chromium/chromium/src/+/master:v8/src/builtins/builtins-string-gen.cc;l=1455;drc=221e331b49dfefadbc6fa40b0c68e6f97606d0b3;bpv=0;bpt=1\n // We reimplement `codePointAt` because `codePointAt` is a V8 builtin which is not inlined by TurboFan (as of M91)\n // since `name` is mostly ASCII, an inlined `charCodeAt` wins here\n let cp = name.charCodeAt(i);\n if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {\n const trail = name.charCodeAt(++i);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n if (isFirst) {\n isFirst = false;\n if (!isIdentifierStart(cp)) {\n return false;\n }\n } else if (!isIdentifierChar(cp)) {\n return false;\n }\n }\n return !isFirst;\n}\n"],"mappings":";;;;;;;;AAaA,IAAIA,4BAA4B,GAAG,8qIAA8qI;AAEjtI,IAAIC,uBAAuB,GAAG,+kFAA+kF;AAE7mF,MAAMC,uBAAuB,GAAG,IAAIC,MAAM,CACxC,GAAG,GAAGH,4BAA4B,GAAG,GACvC,CAAC;AACD,MAAMI,kBAAkB,GAAG,IAAID,MAAM,CACnC,GAAG,GAAGH,4BAA4B,GAAGC,uBAAuB,GAAG,GACjE,CAAC;AAEDD,4BAA4B,GAAGC,uBAAuB,GAAG,IAAI;AAQ7D,MAAMI,0BAA0B,GAAG,CAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,EAAE,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,IAAI,EAAC,KAAK,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,CAAC;AAEjkD,MAAMC,qBAAqB,GAAG,CAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAA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","ignoreList":[]}
|
node_modules/@babel/helper-validator-identifier/lib/index.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use strict";
|
| 2 |
+
|
| 3 |
+
Object.defineProperty(exports, "__esModule", {
|
| 4 |
+
value: true
|
| 5 |
+
});
|
| 6 |
+
Object.defineProperty(exports, "isIdentifierChar", {
|
| 7 |
+
enumerable: true,
|
| 8 |
+
get: function () {
|
| 9 |
+
return _identifier.isIdentifierChar;
|
| 10 |
+
}
|
| 11 |
+
});
|
| 12 |
+
Object.defineProperty(exports, "isIdentifierName", {
|
| 13 |
+
enumerable: true,
|
| 14 |
+
get: function () {
|
| 15 |
+
return _identifier.isIdentifierName;
|
| 16 |
+
}
|
| 17 |
+
});
|
| 18 |
+
Object.defineProperty(exports, "isIdentifierStart", {
|
| 19 |
+
enumerable: true,
|
| 20 |
+
get: function () {
|
| 21 |
+
return _identifier.isIdentifierStart;
|
| 22 |
+
}
|
| 23 |
+
});
|
| 24 |
+
Object.defineProperty(exports, "isKeyword", {
|
| 25 |
+
enumerable: true,
|
| 26 |
+
get: function () {
|
| 27 |
+
return _keyword.isKeyword;
|
| 28 |
+
}
|
| 29 |
+
});
|
| 30 |
+
Object.defineProperty(exports, "isReservedWord", {
|
| 31 |
+
enumerable: true,
|
| 32 |
+
get: function () {
|
| 33 |
+
return _keyword.isReservedWord;
|
| 34 |
+
}
|
| 35 |
+
});
|
| 36 |
+
Object.defineProperty(exports, "isStrictBindOnlyReservedWord", {
|
| 37 |
+
enumerable: true,
|
| 38 |
+
get: function () {
|
| 39 |
+
return _keyword.isStrictBindOnlyReservedWord;
|
| 40 |
+
}
|
| 41 |
+
});
|
| 42 |
+
Object.defineProperty(exports, "isStrictBindReservedWord", {
|
| 43 |
+
enumerable: true,
|
| 44 |
+
get: function () {
|
| 45 |
+
return _keyword.isStrictBindReservedWord;
|
| 46 |
+
}
|
| 47 |
+
});
|
| 48 |
+
Object.defineProperty(exports, "isStrictReservedWord", {
|
| 49 |
+
enumerable: true,
|
| 50 |
+
get: function () {
|
| 51 |
+
return _keyword.isStrictReservedWord;
|
| 52 |
+
}
|
| 53 |
+
});
|
| 54 |
+
var _identifier = require("./identifier.js");
|
| 55 |
+
var _keyword = require("./keyword.js");
|
| 56 |
+
|
| 57 |
+
//# sourceMappingURL=index.js.map
|
node_modules/@babel/helper-validator-identifier/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"version":3,"names":["_identifier","require","_keyword"],"sources":["../src/index.ts"],"sourcesContent":["export {\n isIdentifierName,\n isIdentifierChar,\n isIdentifierStart,\n} from \"./identifier.ts\";\nexport {\n isReservedWord,\n isStrictBindOnlyReservedWord,\n isStrictBindReservedWord,\n isStrictReservedWord,\n isKeyword,\n} from \"./keyword.ts\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA","ignoreList":[]}
|
node_modules/@babel/helper-validator-identifier/lib/keyword.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use strict";
|
| 2 |
+
|
| 3 |
+
Object.defineProperty(exports, "__esModule", {
|
| 4 |
+
value: true
|
| 5 |
+
});
|
| 6 |
+
exports.isKeyword = isKeyword;
|
| 7 |
+
exports.isReservedWord = isReservedWord;
|
| 8 |
+
exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
|
| 9 |
+
exports.isStrictBindReservedWord = isStrictBindReservedWord;
|
| 10 |
+
exports.isStrictReservedWord = isStrictReservedWord;
|
| 11 |
+
const reservedWords = {
|
| 12 |
+
keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
|
| 13 |
+
strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
|
| 14 |
+
strictBind: ["eval", "arguments"]
|
| 15 |
+
};
|
| 16 |
+
const keywords = new Set(reservedWords.keyword);
|
| 17 |
+
const reservedWordsStrictSet = new Set(reservedWords.strict);
|
| 18 |
+
const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
|
| 19 |
+
function isReservedWord(word, inModule) {
|
| 20 |
+
return inModule && word === "await" || word === "enum";
|
| 21 |
+
}
|
| 22 |
+
function isStrictReservedWord(word, inModule) {
|
| 23 |
+
return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
|
| 24 |
+
}
|
| 25 |
+
function isStrictBindOnlyReservedWord(word) {
|
| 26 |
+
return reservedWordsStrictBindSet.has(word);
|
| 27 |
+
}
|
| 28 |
+
function isStrictBindReservedWord(word, inModule) {
|
| 29 |
+
return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
|
| 30 |
+
}
|
| 31 |
+
function isKeyword(word) {
|
| 32 |
+
return keywords.has(word);
|
| 33 |
+
}
|
| 34 |
+
|
| 35 |
+
//# sourceMappingURL=keyword.js.map
|
node_modules/@babel/helper-validator-identifier/lib/keyword.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"version":3,"names":["reservedWords","keyword","strict","strictBind","keywords","Set","reservedWordsStrictSet","reservedWordsStrictBindSet","isReservedWord","word","inModule","isStrictReservedWord","has","isStrictBindOnlyReservedWord","isStrictBindReservedWord","isKeyword"],"sources":["../src/keyword.ts"],"sourcesContent":["const reservedWords = {\n keyword: [\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n ],\n strict: [\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n ],\n strictBind: [\"eval\", \"arguments\"],\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\n\n/**\n * Checks if word is a reserved word in non-strict mode\n */\nexport function isReservedWord(word: string, inModule: boolean): boolean {\n return (inModule && word === \"await\") || word === \"enum\";\n}\n\n/**\n * Checks if word is a reserved word in non-binding strict mode\n *\n * Includes non-strict reserved words\n */\nexport function isStrictReservedWord(word: string, inModule: boolean): boolean {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode, but it is allowed as\n * a normal identifier.\n */\nexport function isStrictBindOnlyReservedWord(word: string): boolean {\n return reservedWordsStrictBindSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode\n *\n * Includes non-strict reserved words and non-binding strict reserved words\n */\nexport function isStrictBindReservedWord(\n word: string,\n inModule: boolean,\n): boolean {\n return (\n isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word)\n );\n}\n\nexport function isKeyword(word: string): boolean {\n return keywords.has(word);\n}\n"],"mappings":";;;;;;;;;;AAAA,MAAMA,aAAa,GAAG;EACpBC,OAAO,EAAE,CACP,OAAO,EACP,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACV,SAAS,EACT,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,QAAQ,CACT;EACDC,MAAM,EAAE,CACN,YAAY,EACZ,WAAW,EACX,KAAK,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,CACR;EACDC,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW;AAClC,CAAC;AACD,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAACL,aAAa,CAACC,OAAO,CAAC;AAC/C,MAAMK,sBAAsB,GAAG,IAAID,GAAG,CAACL,aAAa,CAACE,MAAM,CAAC;AAC5D,MAAMK,0BAA0B,GAAG,IAAIF,GAAG,CAACL,aAAa,CAACG,UAAU,CAAC;AAK7D,SAASK,cAAcA,CAACC,IAAY,EAAEC,QAAiB,EAAW;EACvE,OAAQA,QAAQ,IAAID,IAAI,KAAK,OAAO,IAAKA,IAAI,KAAK,MAAM;AAC1D;AAOO,SAASE,oBAAoBA,CAACF,IAAY,EAAEC,QAAiB,EAAW;EAC7E,OAAOF,cAAc,CAACC,IAAI,EAAEC,QAAQ,CAAC,IAAIJ,sBAAsB,CAACM,GAAG,CAACH,IAAI,CAAC;AAC3E;AAMO,SAASI,4BAA4BA,CAACJ,IAAY,EAAW;EAClE,OAAOF,0BAA0B,CAACK,GAAG,CAACH,IAAI,CAAC;AAC7C;AAOO,SAASK,wBAAwBA,CACtCL,IAAY,EACZC,QAAiB,EACR;EACT,OACEC,oBAAoB,CAACF,IAAI,EAAEC,QAAQ,CAAC,IAAIG,4BAA4B,CAACJ,IAAI,CAAC;AAE9E;AAEO,SAASM,SAASA,CAACN,IAAY,EAAW;EAC/C,OAAOL,QAAQ,CAACQ,GAAG,CAACH,IAAI,CAAC;AAC3B","ignoreList":[]}
|