@ai-ecoverse/wasix-ruby 3.4.11-1 → 3.4.11-3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1802) hide show
  1. package/PRESTAGE.md +61 -27
  2. package/README.md +2 -2
  3. package/bin/bundle +29 -0
  4. package/bin/bundler +29 -0
  5. package/bin/erb +29 -0
  6. package/bin/gem +12 -0
  7. package/bin/irb +29 -0
  8. package/bin/rake +29 -0
  9. package/bin/ruby +1 -0
  10. package/bin/ruby.wasm +0 -0
  11. package/lib/ruby/3.4.0/English.rb +164 -0
  12. package/lib/ruby/3.4.0/benchmark.rb +594 -0
  13. package/lib/ruby/3.4.0/bundled_gems.rb +248 -0
  14. package/lib/ruby/3.4.0/bundler/build_metadata.rb +43 -0
  15. package/lib/ruby/3.4.0/bundler/capistrano.rb +22 -0
  16. package/lib/ruby/3.4.0/bundler/checksum.rb +264 -0
  17. package/lib/ruby/3.4.0/bundler/ci_detector.rb +75 -0
  18. package/lib/ruby/3.4.0/bundler/cli/add.rb +49 -0
  19. package/lib/ruby/3.4.0/bundler/cli/binstubs.rb +57 -0
  20. package/lib/ruby/3.4.0/bundler/cli/cache.rb +43 -0
  21. package/lib/ruby/3.4.0/bundler/cli/check.rb +40 -0
  22. package/lib/ruby/3.4.0/bundler/cli/clean.rb +25 -0
  23. package/lib/ruby/3.4.0/bundler/cli/common.rb +138 -0
  24. package/lib/ruby/3.4.0/bundler/cli/config.rb +204 -0
  25. package/lib/ruby/3.4.0/bundler/cli/console.rb +42 -0
  26. package/lib/ruby/3.4.0/bundler/cli/doctor/diagnose.rb +167 -0
  27. package/lib/ruby/3.4.0/bundler/cli/doctor/ssl.rb +249 -0
  28. package/lib/ruby/3.4.0/bundler/cli/doctor.rb +33 -0
  29. package/lib/ruby/3.4.0/bundler/cli/exec.rb +89 -0
  30. package/lib/ruby/3.4.0/bundler/cli/fund.rb +36 -0
  31. package/lib/ruby/3.4.0/bundler/cli/gem.rb +467 -0
  32. package/lib/ruby/3.4.0/bundler/cli/info.rb +83 -0
  33. package/lib/ruby/3.4.0/bundler/cli/init.rb +51 -0
  34. package/lib/ruby/3.4.0/bundler/cli/inject.rb +60 -0
  35. package/lib/ruby/3.4.0/bundler/cli/install.rb +199 -0
  36. package/lib/ruby/3.4.0/bundler/cli/issue.rb +41 -0
  37. package/lib/ruby/3.4.0/bundler/cli/list.rb +66 -0
  38. package/lib/ruby/3.4.0/bundler/cli/lock.rb +94 -0
  39. package/lib/ruby/3.4.0/bundler/cli/open.rb +29 -0
  40. package/lib/ruby/3.4.0/bundler/cli/outdated.rb +297 -0
  41. package/lib/ruby/3.4.0/bundler/cli/platform.rb +48 -0
  42. package/lib/ruby/3.4.0/bundler/cli/plugin.rb +35 -0
  43. package/lib/ruby/3.4.0/bundler/cli/pristine.rb +60 -0
  44. package/lib/ruby/3.4.0/bundler/cli/remove.rb +17 -0
  45. package/lib/ruby/3.4.0/bundler/cli/show.rb +75 -0
  46. package/lib/ruby/3.4.0/bundler/cli/update.rb +123 -0
  47. package/lib/ruby/3.4.0/bundler/cli/viz.rb +31 -0
  48. package/lib/ruby/3.4.0/bundler/cli.rb +790 -0
  49. package/lib/ruby/3.4.0/bundler/compact_index_client/cache.rb +96 -0
  50. package/lib/ruby/3.4.0/bundler/compact_index_client/cache_file.rb +148 -0
  51. package/lib/ruby/3.4.0/bundler/compact_index_client/parser.rb +84 -0
  52. package/lib/ruby/3.4.0/bundler/compact_index_client/updater.rb +105 -0
  53. package/lib/ruby/3.4.0/bundler/compact_index_client.rb +97 -0
  54. package/lib/ruby/3.4.0/bundler/constants.rb +14 -0
  55. package/lib/ruby/3.4.0/bundler/current_ruby.rb +82 -0
  56. package/lib/ruby/3.4.0/bundler/definition.rb +1187 -0
  57. package/lib/ruby/3.4.0/bundler/dependency.rb +151 -0
  58. package/lib/ruby/3.4.0/bundler/deployment.rb +69 -0
  59. package/lib/ruby/3.4.0/bundler/deprecate.rb +44 -0
  60. package/lib/ruby/3.4.0/bundler/digest.rb +71 -0
  61. package/lib/ruby/3.4.0/bundler/dsl.rb +638 -0
  62. package/lib/ruby/3.4.0/bundler/endpoint_specification.rb +174 -0
  63. package/lib/ruby/3.4.0/bundler/env.rb +148 -0
  64. package/lib/ruby/3.4.0/bundler/environment_preserver.rb +68 -0
  65. package/lib/ruby/3.4.0/bundler/errors.rb +281 -0
  66. package/lib/ruby/3.4.0/bundler/feature_flag.rb +50 -0
  67. package/lib/ruby/3.4.0/bundler/fetcher/base.rb +52 -0
  68. package/lib/ruby/3.4.0/bundler/fetcher/compact_index.rb +120 -0
  69. package/lib/ruby/3.4.0/bundler/fetcher/dependency.rb +78 -0
  70. package/lib/ruby/3.4.0/bundler/fetcher/downloader.rb +91 -0
  71. package/lib/ruby/3.4.0/bundler/fetcher/gem_remote_fetcher.rb +16 -0
  72. package/lib/ruby/3.4.0/bundler/fetcher/index.rb +25 -0
  73. package/lib/ruby/3.4.0/bundler/fetcher.rb +331 -0
  74. package/lib/ruby/3.4.0/bundler/force_platform.rb +16 -0
  75. package/lib/ruby/3.4.0/bundler/friendly_errors.rb +126 -0
  76. package/lib/ruby/3.4.0/bundler/gem_helper.rb +237 -0
  77. package/lib/ruby/3.4.0/bundler/gem_helpers.rb +144 -0
  78. package/lib/ruby/3.4.0/bundler/gem_tasks.rb +7 -0
  79. package/lib/ruby/3.4.0/bundler/gem_version_promoter.rb +147 -0
  80. package/lib/ruby/3.4.0/bundler/graph.rb +152 -0
  81. package/lib/ruby/3.4.0/bundler/index.rb +205 -0
  82. package/lib/ruby/3.4.0/bundler/injector.rb +285 -0
  83. package/lib/ruby/3.4.0/bundler/inline.rb +98 -0
  84. package/lib/ruby/3.4.0/bundler/installer/gem_installer.rb +85 -0
  85. package/lib/ruby/3.4.0/bundler/installer/parallel_installer.rb +203 -0
  86. package/lib/ruby/3.4.0/bundler/installer/standalone.rb +113 -0
  87. package/lib/ruby/3.4.0/bundler/installer.rb +243 -0
  88. package/lib/ruby/3.4.0/bundler/lazy_specification.rb +243 -0
  89. package/lib/ruby/3.4.0/bundler/lockfile_generator.rb +104 -0
  90. package/lib/ruby/3.4.0/bundler/lockfile_parser.rb +300 -0
  91. package/lib/ruby/3.4.0/bundler/man/bundle-add.1 +76 -0
  92. package/lib/ruby/3.4.0/bundler/man/bundle-add.1.ronn +87 -0
  93. package/lib/ruby/3.4.0/bundler/man/bundle-binstubs.1 +33 -0
  94. package/lib/ruby/3.4.0/bundler/man/bundle-binstubs.1.ronn +44 -0
  95. package/lib/ruby/3.4.0/bundler/man/bundle-cache.1 +68 -0
  96. package/lib/ruby/3.4.0/bundler/man/bundle-cache.1.ronn +108 -0
  97. package/lib/ruby/3.4.0/bundler/man/bundle-check.1 +24 -0
  98. package/lib/ruby/3.4.0/bundler/man/bundle-check.1.ronn +31 -0
  99. package/lib/ruby/3.4.0/bundler/man/bundle-clean.1 +17 -0
  100. package/lib/ruby/3.4.0/bundler/man/bundle-clean.1.ronn +18 -0
  101. package/lib/ruby/3.4.0/bundler/man/bundle-config.1 +317 -0
  102. package/lib/ruby/3.4.0/bundler/man/bundle-config.1.ronn +408 -0
  103. package/lib/ruby/3.4.0/bundler/man/bundle-console.1 +33 -0
  104. package/lib/ruby/3.4.0/bundler/man/bundle-console.1.ronn +39 -0
  105. package/lib/ruby/3.4.0/bundler/man/bundle-doctor.1 +30 -0
  106. package/lib/ruby/3.4.0/bundler/man/bundle-doctor.1.ronn +33 -0
  107. package/lib/ruby/3.4.0/bundler/man/bundle-env.1 +9 -0
  108. package/lib/ruby/3.4.0/bundler/man/bundle-env.1.ronn +10 -0
  109. package/lib/ruby/3.4.0/bundler/man/bundle-exec.1 +107 -0
  110. package/lib/ruby/3.4.0/bundler/man/bundle-exec.1.ronn +154 -0
  111. package/lib/ruby/3.4.0/bundler/man/bundle-fund.1 +22 -0
  112. package/lib/ruby/3.4.0/bundler/man/bundle-fund.1.ronn +25 -0
  113. package/lib/ruby/3.4.0/bundler/man/bundle-gem.1 +87 -0
  114. package/lib/ruby/3.4.0/bundler/man/bundle-gem.1.ronn +149 -0
  115. package/lib/ruby/3.4.0/bundler/man/bundle-help.1 +9 -0
  116. package/lib/ruby/3.4.0/bundler/man/bundle-help.1.ronn +12 -0
  117. package/lib/ruby/3.4.0/bundler/man/bundle-info.1 +17 -0
  118. package/lib/ruby/3.4.0/bundler/man/bundle-info.1.ronn +21 -0
  119. package/lib/ruby/3.4.0/bundler/man/bundle-init.1 +20 -0
  120. package/lib/ruby/3.4.0/bundler/man/bundle-init.1.ronn +32 -0
  121. package/lib/ruby/3.4.0/bundler/man/bundle-inject.1 +31 -0
  122. package/lib/ruby/3.4.0/bundler/man/bundle-inject.1.ronn +32 -0
  123. package/lib/ruby/3.4.0/bundler/man/bundle-install.1 +218 -0
  124. package/lib/ruby/3.4.0/bundler/man/bundle-install.1.ronn +387 -0
  125. package/lib/ruby/3.4.0/bundler/man/bundle-issue.1 +45 -0
  126. package/lib/ruby/3.4.0/bundler/man/bundle-issue.1.ronn +37 -0
  127. package/lib/ruby/3.4.0/bundler/man/bundle-licenses.1 +9 -0
  128. package/lib/ruby/3.4.0/bundler/man/bundle-licenses.1.ronn +10 -0
  129. package/lib/ruby/3.4.0/bundler/man/bundle-list.1 +35 -0
  130. package/lib/ruby/3.4.0/bundler/man/bundle-list.1.ronn +36 -0
  131. package/lib/ruby/3.4.0/bundler/man/bundle-lock.1 +75 -0
  132. package/lib/ruby/3.4.0/bundler/man/bundle-lock.1.ronn +115 -0
  133. package/lib/ruby/3.4.0/bundler/man/bundle-open.1 +32 -0
  134. package/lib/ruby/3.4.0/bundler/man/bundle-open.1.ronn +28 -0
  135. package/lib/ruby/3.4.0/bundler/man/bundle-outdated.1 +103 -0
  136. package/lib/ruby/3.4.0/bundler/man/bundle-outdated.1.ronn +110 -0
  137. package/lib/ruby/3.4.0/bundler/man/bundle-platform.1 +49 -0
  138. package/lib/ruby/3.4.0/bundler/man/bundle-platform.1.ronn +49 -0
  139. package/lib/ruby/3.4.0/bundler/man/bundle-plugin.1 +58 -0
  140. package/lib/ruby/3.4.0/bundler/man/bundle-plugin.1.ronn +63 -0
  141. package/lib/ruby/3.4.0/bundler/man/bundle-pristine.1 +23 -0
  142. package/lib/ruby/3.4.0/bundler/man/bundle-pristine.1.ronn +34 -0
  143. package/lib/ruby/3.4.0/bundler/man/bundle-remove.1 +21 -0
  144. package/lib/ruby/3.4.0/bundler/man/bundle-remove.1.ronn +23 -0
  145. package/lib/ruby/3.4.0/bundler/man/bundle-show.1 +19 -0
  146. package/lib/ruby/3.4.0/bundler/man/bundle-show.1.ronn +25 -0
  147. package/lib/ruby/3.4.0/bundler/man/bundle-update.1 +281 -0
  148. package/lib/ruby/3.4.0/bundler/man/bundle-update.1.ronn +359 -0
  149. package/lib/ruby/3.4.0/bundler/man/bundle-version.1 +22 -0
  150. package/lib/ruby/3.4.0/bundler/man/bundle-version.1.ronn +24 -0
  151. package/lib/ruby/3.4.0/bundler/man/bundle-viz.1 +30 -0
  152. package/lib/ruby/3.4.0/bundler/man/bundle-viz.1.ronn +36 -0
  153. package/lib/ruby/3.4.0/bundler/man/bundle.1 +102 -0
  154. package/lib/ruby/3.4.0/bundler/man/bundle.1.ronn +116 -0
  155. package/lib/ruby/3.4.0/bundler/man/gemfile.5 +472 -0
  156. package/lib/ruby/3.4.0/bundler/man/gemfile.5.ronn +558 -0
  157. package/lib/ruby/3.4.0/bundler/match_metadata.rb +30 -0
  158. package/lib/ruby/3.4.0/bundler/match_platform.rb +23 -0
  159. package/lib/ruby/3.4.0/bundler/match_remote_metadata.rb +29 -0
  160. package/lib/ruby/3.4.0/bundler/materialization.rb +59 -0
  161. package/lib/ruby/3.4.0/bundler/mirror.rb +221 -0
  162. package/lib/ruby/3.4.0/bundler/plugin/api/source.rb +322 -0
  163. package/lib/ruby/3.4.0/bundler/plugin/api.rb +81 -0
  164. package/lib/ruby/3.4.0/bundler/plugin/dsl.rb +53 -0
  165. package/lib/ruby/3.4.0/bundler/plugin/events.rb +85 -0
  166. package/lib/ruby/3.4.0/bundler/plugin/index.rb +197 -0
  167. package/lib/ruby/3.4.0/bundler/plugin/installer/git.rb +34 -0
  168. package/lib/ruby/3.4.0/bundler/plugin/installer/path.rb +26 -0
  169. package/lib/ruby/3.4.0/bundler/plugin/installer/rubygems.rb +19 -0
  170. package/lib/ruby/3.4.0/bundler/plugin/installer.rb +132 -0
  171. package/lib/ruby/3.4.0/bundler/plugin/source_list.rb +31 -0
  172. package/lib/ruby/3.4.0/bundler/plugin.rb +378 -0
  173. package/lib/ruby/3.4.0/bundler/process_lock.rb +20 -0
  174. package/lib/ruby/3.4.0/bundler/remote_specification.rb +126 -0
  175. package/lib/ruby/3.4.0/bundler/resolver/base.rb +118 -0
  176. package/lib/ruby/3.4.0/bundler/resolver/candidate.rb +85 -0
  177. package/lib/ruby/3.4.0/bundler/resolver/incompatibility.rb +15 -0
  178. package/lib/ruby/3.4.0/bundler/resolver/package.rb +94 -0
  179. package/lib/ruby/3.4.0/bundler/resolver/root.rb +25 -0
  180. package/lib/ruby/3.4.0/bundler/resolver/spec_group.rb +74 -0
  181. package/lib/ruby/3.4.0/bundler/resolver/strategy.rb +40 -0
  182. package/lib/ruby/3.4.0/bundler/resolver.rb +526 -0
  183. package/lib/ruby/3.4.0/bundler/retry.rb +66 -0
  184. package/lib/ruby/3.4.0/bundler/ruby_dsl.rb +62 -0
  185. package/lib/ruby/3.4.0/bundler/ruby_version.rb +137 -0
  186. package/lib/ruby/3.4.0/bundler/rubygems_ext.rb +485 -0
  187. package/lib/ruby/3.4.0/bundler/rubygems_gem_installer.rb +172 -0
  188. package/lib/ruby/3.4.0/bundler/rubygems_integration.rb +455 -0
  189. package/lib/ruby/3.4.0/bundler/runtime.rb +320 -0
  190. package/lib/ruby/3.4.0/bundler/safe_marshal.rb +31 -0
  191. package/lib/ruby/3.4.0/bundler/self_manager.rb +206 -0
  192. package/lib/ruby/3.4.0/bundler/settings/validator.rb +102 -0
  193. package/lib/ruby/3.4.0/bundler/settings.rb +599 -0
  194. package/lib/ruby/3.4.0/bundler/setup.rb +39 -0
  195. package/lib/ruby/3.4.0/bundler/shared_helpers.rb +398 -0
  196. package/lib/ruby/3.4.0/bundler/similarity_detector.rb +63 -0
  197. package/lib/ruby/3.4.0/bundler/source/gemspec.rb +15 -0
  198. package/lib/ruby/3.4.0/bundler/source/git/git_proxy.rb +472 -0
  199. package/lib/ruby/3.4.0/bundler/source/git.rb +452 -0
  200. package/lib/ruby/3.4.0/bundler/source/metadata.rb +63 -0
  201. package/lib/ruby/3.4.0/bundler/source/path/installer.rb +53 -0
  202. package/lib/ruby/3.4.0/bundler/source/path.rb +250 -0
  203. package/lib/ruby/3.4.0/bundler/source/rubygems/remote.rb +76 -0
  204. package/lib/ruby/3.4.0/bundler/source/rubygems.rb +522 -0
  205. package/lib/ruby/3.4.0/bundler/source/rubygems_aggregate.rb +68 -0
  206. package/lib/ruby/3.4.0/bundler/source.rb +118 -0
  207. package/lib/ruby/3.4.0/bundler/source_list.rb +273 -0
  208. package/lib/ruby/3.4.0/bundler/source_map.rb +71 -0
  209. package/lib/ruby/3.4.0/bundler/spec_set.rb +395 -0
  210. package/lib/ruby/3.4.0/bundler/stub_specification.rb +146 -0
  211. package/lib/ruby/3.4.0/bundler/templates/Executable +27 -0
  212. package/lib/ruby/3.4.0/bundler/templates/Executable.bundler +109 -0
  213. package/lib/ruby/3.4.0/bundler/templates/Executable.standalone +14 -0
  214. package/lib/ruby/3.4.0/bundler/templates/Gemfile +5 -0
  215. package/lib/ruby/3.4.0/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  216. package/lib/ruby/3.4.0/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +132 -0
  217. package/lib/ruby/3.4.0/bundler/templates/newgem/Cargo.toml.tt +7 -0
  218. package/lib/ruby/3.4.0/bundler/templates/newgem/Gemfile.tt +24 -0
  219. package/lib/ruby/3.4.0/bundler/templates/newgem/LICENSE.txt.tt +21 -0
  220. package/lib/ruby/3.4.0/bundler/templates/newgem/README.md.tt +49 -0
  221. package/lib/ruby/3.4.0/bundler/templates/newgem/Rakefile.tt +67 -0
  222. package/lib/ruby/3.4.0/bundler/templates/newgem/bin/console.tt +11 -0
  223. package/lib/ruby/3.4.0/bundler/templates/newgem/bin/setup.tt +8 -0
  224. package/lib/ruby/3.4.0/bundler/templates/newgem/circleci/config.yml.tt +25 -0
  225. package/lib/ruby/3.4.0/bundler/templates/newgem/exe/newgem.tt +3 -0
  226. package/lib/ruby/3.4.0/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  227. package/lib/ruby/3.4.0/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
  228. package/lib/ruby/3.4.0/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  229. package/lib/ruby/3.4.0/bundler/templates/newgem/ext/newgem/newgem.c.tt +9 -0
  230. package/lib/ruby/3.4.0/bundler/templates/newgem/ext/newgem/newgem.h.tt +6 -0
  231. package/lib/ruby/3.4.0/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  232. package/lib/ruby/3.4.0/bundler/templates/newgem/github/workflows/main.yml.tt +37 -0
  233. package/lib/ruby/3.4.0/bundler/templates/newgem/gitignore.tt +23 -0
  234. package/lib/ruby/3.4.0/bundler/templates/newgem/gitlab-ci.yml.tt +18 -0
  235. package/lib/ruby/3.4.0/bundler/templates/newgem/lib/newgem/version.rb.tt +9 -0
  236. package/lib/ruby/3.4.0/bundler/templates/newgem/lib/newgem.rb.tt +15 -0
  237. package/lib/ruby/3.4.0/bundler/templates/newgem/newgem.gemspec.tt +52 -0
  238. package/lib/ruby/3.4.0/bundler/templates/newgem/rspec.tt +3 -0
  239. package/lib/ruby/3.4.0/bundler/templates/newgem/rubocop.yml.tt +8 -0
  240. package/lib/ruby/3.4.0/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  241. package/lib/ruby/3.4.0/bundler/templates/newgem/spec/newgem_spec.rb.tt +11 -0
  242. package/lib/ruby/3.4.0/bundler/templates/newgem/spec/spec_helper.rb.tt +15 -0
  243. package/lib/ruby/3.4.0/bundler/templates/newgem/standard.yml.tt +3 -0
  244. package/lib/ruby/3.4.0/bundler/templates/newgem/test/minitest/test_helper.rb.tt +6 -0
  245. package/lib/ruby/3.4.0/bundler/templates/newgem/test/minitest/test_newgem.rb.tt +13 -0
  246. package/lib/ruby/3.4.0/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  247. package/lib/ruby/3.4.0/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  248. package/lib/ruby/3.4.0/bundler/ui/rg_proxy.rb +19 -0
  249. package/lib/ruby/3.4.0/bundler/ui/shell.rb +187 -0
  250. package/lib/ruby/3.4.0/bundler/ui/silent.rb +96 -0
  251. package/lib/ruby/3.4.0/bundler/ui.rb +9 -0
  252. package/lib/ruby/3.4.0/bundler/uri_credentials_filter.rb +43 -0
  253. package/lib/ruby/3.4.0/bundler/uri_normalizer.rb +23 -0
  254. package/lib/ruby/3.4.0/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +224 -0
  255. package/lib/ruby/3.4.0/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
  256. package/lib/ruby/3.4.0/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
  257. package/lib/ruby/3.4.0/bundler/vendor/connection_pool/lib/connection_pool.rb +186 -0
  258. package/lib/ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb +2696 -0
  259. package/lib/ruby/3.4.0/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +41 -0
  260. package/lib/ruby/3.4.0/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +65 -0
  261. package/lib/ruby/3.4.0/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
  262. package/lib/ruby/3.4.0/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1111 -0
  263. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  264. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +169 -0
  265. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  266. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
  267. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  268. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  269. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  270. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  271. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +61 -0
  272. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/strategy.rb +42 -0
  273. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  274. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  275. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
  276. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +423 -0
  277. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +236 -0
  278. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  279. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  280. package/lib/ruby/3.4.0/bundler/vendor/securerandom/lib/securerandom.rb +102 -0
  281. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions/create_file.rb +105 -0
  282. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions/create_link.rb +61 -0
  283. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions/directory.rb +108 -0
  284. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +143 -0
  285. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +371 -0
  286. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +130 -0
  287. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions.rb +340 -0
  288. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/base.rb +825 -0
  289. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/command.rb +151 -0
  290. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +107 -0
  291. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/error.rb +106 -0
  292. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/group.rb +292 -0
  293. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/invocation.rb +178 -0
  294. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/line_editor/basic.rb +37 -0
  295. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/line_editor/readline.rb +88 -0
  296. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/line_editor.rb +17 -0
  297. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
  298. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/parser/argument.rb +86 -0
  299. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/parser/arguments.rb +195 -0
  300. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/parser/option.rb +178 -0
  301. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/parser/options.rb +294 -0
  302. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/parser.rb +4 -0
  303. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/rake_compat.rb +72 -0
  304. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/runner.rb +335 -0
  305. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/basic.rb +388 -0
  306. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/color.rb +112 -0
  307. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/column_printer.rb +29 -0
  308. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/html.rb +81 -0
  309. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/table_printer.rb +118 -0
  310. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/terminal.rb +42 -0
  311. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +38 -0
  312. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell.rb +81 -0
  313. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/util.rb +285 -0
  314. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/version.rb +3 -0
  315. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor.rb +674 -0
  316. package/lib/ruby/3.4.0/bundler/vendor/tsort/lib/tsort.rb +455 -0
  317. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/common.rb +880 -0
  318. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/file.rb +100 -0
  319. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
  320. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/generic.rb +1592 -0
  321. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/http.rb +125 -0
  322. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/https.rb +23 -0
  323. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
  324. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/ldaps.rb +22 -0
  325. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/mailto.rb +293 -0
  326. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +546 -0
  327. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +206 -0
  328. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/version.rb +6 -0
  329. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/ws.rb +83 -0
  330. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/wss.rb +23 -0
  331. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri.rb +104 -0
  332. package/lib/ruby/3.4.0/bundler/vendored_fileutils.rb +4 -0
  333. package/lib/ruby/3.4.0/bundler/vendored_net_http.rb +23 -0
  334. package/lib/ruby/3.4.0/bundler/vendored_persistent.rb +11 -0
  335. package/lib/ruby/3.4.0/bundler/vendored_pub_grub.rb +4 -0
  336. package/lib/ruby/3.4.0/bundler/vendored_securerandom.rb +12 -0
  337. package/lib/ruby/3.4.0/bundler/vendored_thor.rb +8 -0
  338. package/lib/ruby/3.4.0/bundler/vendored_timeout.rb +12 -0
  339. package/lib/ruby/3.4.0/bundler/vendored_tsort.rb +4 -0
  340. package/lib/ruby/3.4.0/bundler/vendored_uri.rb +21 -0
  341. package/lib/ruby/3.4.0/bundler/version.rb +13 -0
  342. package/lib/ruby/3.4.0/bundler/vlad.rb +17 -0
  343. package/lib/ruby/3.4.0/bundler/worker.rb +117 -0
  344. package/lib/ruby/3.4.0/bundler/yaml_serializer.rb +98 -0
  345. package/lib/ruby/3.4.0/bundler.rb +701 -0
  346. package/lib/ruby/3.4.0/cgi/cookie.rb +210 -0
  347. package/lib/ruby/3.4.0/cgi/core.rb +900 -0
  348. package/lib/ruby/3.4.0/cgi/html.rb +1035 -0
  349. package/lib/ruby/3.4.0/cgi/session/pstore.rb +91 -0
  350. package/lib/ruby/3.4.0/cgi/session.rb +562 -0
  351. package/lib/ruby/3.4.0/cgi/util.rb +258 -0
  352. package/lib/ruby/3.4.0/cgi.rb +297 -0
  353. package/lib/ruby/3.4.0/coverage.rb +14 -0
  354. package/lib/ruby/3.4.0/date.rb +70 -0
  355. package/lib/ruby/3.4.0/delegate.rb +444 -0
  356. package/lib/ruby/3.4.0/did_you_mean/core_ext/name_error.rb +57 -0
  357. package/lib/ruby/3.4.0/did_you_mean/experimental.rb +2 -0
  358. package/lib/ruby/3.4.0/did_you_mean/formatter.rb +44 -0
  359. package/lib/ruby/3.4.0/did_you_mean/formatters/plain_formatter.rb +4 -0
  360. package/lib/ruby/3.4.0/did_you_mean/formatters/verbose_formatter.rb +10 -0
  361. package/lib/ruby/3.4.0/did_you_mean/jaro_winkler.rb +84 -0
  362. package/lib/ruby/3.4.0/did_you_mean/levenshtein.rb +57 -0
  363. package/lib/ruby/3.4.0/did_you_mean/spell_checker.rb +46 -0
  364. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/key_error_checker.rb +28 -0
  365. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/method_name_checker.rb +79 -0
  366. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb +49 -0
  367. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb +85 -0
  368. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/name_error_checkers.rb +20 -0
  369. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/null_checker.rb +6 -0
  370. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/pattern_key_name_checker.rb +28 -0
  371. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/require_path_checker.rb +39 -0
  372. package/lib/ruby/3.4.0/did_you_mean/tree_spell_checker.rb +109 -0
  373. package/lib/ruby/3.4.0/did_you_mean/verbose.rb +2 -0
  374. package/lib/ruby/3.4.0/did_you_mean/version.rb +3 -0
  375. package/lib/ruby/3.4.0/did_you_mean.rb +131 -0
  376. package/lib/ruby/3.4.0/digest/loader.rb +3 -0
  377. package/lib/ruby/3.4.0/digest/sha2/loader.rb +3 -0
  378. package/lib/ruby/3.4.0/digest/sha2.rb +142 -0
  379. package/lib/ruby/3.4.0/digest/version.rb +5 -0
  380. package/lib/ruby/3.4.0/digest.rb +123 -0
  381. package/lib/ruby/3.4.0/erb/compiler.rb +472 -0
  382. package/lib/ruby/3.4.0/erb/def_method.rb +47 -0
  383. package/lib/ruby/3.4.0/erb/util.rb +63 -0
  384. package/lib/ruby/3.4.0/erb/version.rb +5 -0
  385. package/lib/ruby/3.4.0/erb.rb +509 -0
  386. package/lib/ruby/3.4.0/error_highlight/base.rb +830 -0
  387. package/lib/ruby/3.4.0/error_highlight/core_ext.rb +47 -0
  388. package/lib/ruby/3.4.0/error_highlight/formatter.rb +74 -0
  389. package/lib/ruby/3.4.0/error_highlight/version.rb +3 -0
  390. package/lib/ruby/3.4.0/error_highlight.rb +2 -0
  391. package/lib/ruby/3.4.0/fileutils.rb +2696 -0
  392. package/lib/ruby/3.4.0/find.rb +90 -0
  393. package/lib/ruby/3.4.0/forwardable/impl.rb +16 -0
  394. package/lib/ruby/3.4.0/forwardable.rb +321 -0
  395. package/lib/ruby/3.4.0/ipaddr.rb +841 -0
  396. package/lib/ruby/3.4.0/irb/cmd/nop.rb +4 -0
  397. package/lib/ruby/3.4.0/irb/color.rb +262 -0
  398. package/lib/ruby/3.4.0/irb/color_printer.rb +55 -0
  399. package/lib/ruby/3.4.0/irb/command/backtrace.rb +17 -0
  400. package/lib/ruby/3.4.0/irb/command/base.rb +60 -0
  401. package/lib/ruby/3.4.0/irb/command/break.rb +17 -0
  402. package/lib/ruby/3.4.0/irb/command/catch.rb +17 -0
  403. package/lib/ruby/3.4.0/irb/command/cd.rb +51 -0
  404. package/lib/ruby/3.4.0/irb/command/chws.rb +40 -0
  405. package/lib/ruby/3.4.0/irb/command/context.rb +16 -0
  406. package/lib/ruby/3.4.0/irb/command/continue.rb +17 -0
  407. package/lib/ruby/3.4.0/irb/command/debug.rb +73 -0
  408. package/lib/ruby/3.4.0/irb/command/delete.rb +17 -0
  409. package/lib/ruby/3.4.0/irb/command/disable_irb.rb +19 -0
  410. package/lib/ruby/3.4.0/irb/command/edit.rb +63 -0
  411. package/lib/ruby/3.4.0/irb/command/exit.rb +18 -0
  412. package/lib/ruby/3.4.0/irb/command/finish.rb +17 -0
  413. package/lib/ruby/3.4.0/irb/command/force_exit.rb +18 -0
  414. package/lib/ruby/3.4.0/irb/command/help.rb +83 -0
  415. package/lib/ruby/3.4.0/irb/command/history.rb +45 -0
  416. package/lib/ruby/3.4.0/irb/command/info.rb +17 -0
  417. package/lib/ruby/3.4.0/irb/command/internal_helpers.rb +27 -0
  418. package/lib/ruby/3.4.0/irb/command/irb_info.rb +33 -0
  419. package/lib/ruby/3.4.0/irb/command/load.rb +91 -0
  420. package/lib/ruby/3.4.0/irb/command/ls.rb +167 -0
  421. package/lib/ruby/3.4.0/irb/command/measure.rb +49 -0
  422. package/lib/ruby/3.4.0/irb/command/next.rb +17 -0
  423. package/lib/ruby/3.4.0/irb/command/pushws.rb +65 -0
  424. package/lib/ruby/3.4.0/irb/command/show_doc.rb +51 -0
  425. package/lib/ruby/3.4.0/irb/command/show_source.rb +74 -0
  426. package/lib/ruby/3.4.0/irb/command/step.rb +17 -0
  427. package/lib/ruby/3.4.0/irb/command/subirb.rb +123 -0
  428. package/lib/ruby/3.4.0/irb/command/whereami.rb +23 -0
  429. package/lib/ruby/3.4.0/irb/command.rb +23 -0
  430. package/lib/ruby/3.4.0/irb/completion.rb +504 -0
  431. package/lib/ruby/3.4.0/irb/context.rb +716 -0
  432. package/lib/ruby/3.4.0/irb/debug/ui.rb +101 -0
  433. package/lib/ruby/3.4.0/irb/debug.rb +127 -0
  434. package/lib/ruby/3.4.0/irb/default_commands.rb +276 -0
  435. package/lib/ruby/3.4.0/irb/easter-egg.rb +152 -0
  436. package/lib/ruby/3.4.0/irb/ext/change-ws.rb +37 -0
  437. package/lib/ruby/3.4.0/irb/ext/eval_history.rb +149 -0
  438. package/lib/ruby/3.4.0/irb/ext/loader.rb +127 -0
  439. package/lib/ruby/3.4.0/irb/ext/multi-irb.rb +258 -0
  440. package/lib/ruby/3.4.0/irb/ext/tracer.rb +39 -0
  441. package/lib/ruby/3.4.0/irb/ext/use-loader.rb +67 -0
  442. package/lib/ruby/3.4.0/irb/ext/workspaces.rb +36 -0
  443. package/lib/ruby/3.4.0/irb/frame.rb +80 -0
  444. package/lib/ruby/3.4.0/irb/help.rb +28 -0
  445. package/lib/ruby/3.4.0/irb/helper_method/base.rb +16 -0
  446. package/lib/ruby/3.4.0/irb/helper_method/conf.rb +11 -0
  447. package/lib/ruby/3.4.0/irb/helper_method.rb +29 -0
  448. package/lib/ruby/3.4.0/irb/history.rb +112 -0
  449. package/lib/ruby/3.4.0/irb/init.rb +538 -0
  450. package/lib/ruby/3.4.0/irb/input-method.rb +515 -0
  451. package/lib/ruby/3.4.0/irb/inspector.rb +131 -0
  452. package/lib/ruby/3.4.0/irb/lc/error.rb +52 -0
  453. package/lib/ruby/3.4.0/irb/lc/help-message +55 -0
  454. package/lib/ruby/3.4.0/irb/lc/ja/error.rb +53 -0
  455. package/lib/ruby/3.4.0/irb/lc/ja/help-message +58 -0
  456. package/lib/ruby/3.4.0/irb/locale.rb +153 -0
  457. package/lib/ruby/3.4.0/irb/nesting_parser.rb +239 -0
  458. package/lib/ruby/3.4.0/irb/notifier.rb +230 -0
  459. package/lib/ruby/3.4.0/irb/output-method.rb +80 -0
  460. package/lib/ruby/3.4.0/irb/pager.rb +100 -0
  461. package/lib/ruby/3.4.0/irb/ruby-lex.rb +476 -0
  462. package/lib/ruby/3.4.0/irb/ruby_logo.aa +118 -0
  463. package/lib/ruby/3.4.0/irb/source_finder.rb +138 -0
  464. package/lib/ruby/3.4.0/irb/statement.rb +80 -0
  465. package/lib/ruby/3.4.0/irb/version.rb +11 -0
  466. package/lib/ruby/3.4.0/irb/workspace.rb +171 -0
  467. package/lib/ruby/3.4.0/irb/ws-for-case-2.rb +9 -0
  468. package/lib/ruby/3.4.0/irb/xmp.rb +164 -0
  469. package/lib/ruby/3.4.0/irb.rb +1593 -0
  470. package/lib/ruby/3.4.0/json/add/bigdecimal.rb +58 -0
  471. package/lib/ruby/3.4.0/json/add/complex.rb +51 -0
  472. package/lib/ruby/3.4.0/json/add/core.rb +12 -0
  473. package/lib/ruby/3.4.0/json/add/date.rb +54 -0
  474. package/lib/ruby/3.4.0/json/add/date_time.rb +67 -0
  475. package/lib/ruby/3.4.0/json/add/exception.rb +49 -0
  476. package/lib/ruby/3.4.0/json/add/ostruct.rb +54 -0
  477. package/lib/ruby/3.4.0/json/add/range.rb +54 -0
  478. package/lib/ruby/3.4.0/json/add/rational.rb +49 -0
  479. package/lib/ruby/3.4.0/json/add/regexp.rb +48 -0
  480. package/lib/ruby/3.4.0/json/add/set.rb +48 -0
  481. package/lib/ruby/3.4.0/json/add/struct.rb +52 -0
  482. package/lib/ruby/3.4.0/json/add/symbol.rb +47 -0
  483. package/lib/ruby/3.4.0/json/add/time.rb +52 -0
  484. package/lib/ruby/3.4.0/json/common.rb +896 -0
  485. package/lib/ruby/3.4.0/json/ext/generator/state.rb +116 -0
  486. package/lib/ruby/3.4.0/json/ext.rb +23 -0
  487. package/lib/ruby/3.4.0/json/generic_object.rb +75 -0
  488. package/lib/ruby/3.4.0/json/version.rb +5 -0
  489. package/lib/ruby/3.4.0/json.rb +587 -0
  490. package/lib/ruby/3.4.0/logger/errors.rb +9 -0
  491. package/lib/ruby/3.4.0/logger/formatter.rb +36 -0
  492. package/lib/ruby/3.4.0/logger/log_device.rb +236 -0
  493. package/lib/ruby/3.4.0/logger/period.rb +47 -0
  494. package/lib/ruby/3.4.0/logger/severity.rb +38 -0
  495. package/lib/ruby/3.4.0/logger/version.rb +5 -0
  496. package/lib/ruby/3.4.0/logger.rb +761 -0
  497. package/lib/ruby/3.4.0/mkmf.rb +3045 -0
  498. package/lib/ruby/3.4.0/monitor.rb +289 -0
  499. package/lib/ruby/3.4.0/net/http/exceptions.rb +34 -0
  500. package/lib/ruby/3.4.0/net/http/generic_request.rb +414 -0
  501. package/lib/ruby/3.4.0/net/http/header.rb +981 -0
  502. package/lib/ruby/3.4.0/net/http/proxy_delta.rb +17 -0
  503. package/lib/ruby/3.4.0/net/http/request.rb +88 -0
  504. package/lib/ruby/3.4.0/net/http/requests.rb +430 -0
  505. package/lib/ruby/3.4.0/net/http/response.rb +738 -0
  506. package/lib/ruby/3.4.0/net/http/responses.rb +1174 -0
  507. package/lib/ruby/3.4.0/net/http/status.rb +84 -0
  508. package/lib/ruby/3.4.0/net/http.rb +2574 -0
  509. package/lib/ruby/3.4.0/net/https.rb +23 -0
  510. package/lib/ruby/3.4.0/net/protocol.rb +544 -0
  511. package/lib/ruby/3.4.0/objspace/trace.rb +45 -0
  512. package/lib/ruby/3.4.0/objspace.rb +135 -0
  513. package/lib/ruby/3.4.0/open-uri.rb +895 -0
  514. package/lib/ruby/3.4.0/open3/version.rb +3 -0
  515. package/lib/ruby/3.4.0/open3.rb +1410 -0
  516. package/lib/ruby/3.4.0/openssl/asn1.rb +188 -0
  517. package/lib/ruby/3.4.0/openssl/bn.rb +40 -0
  518. package/lib/ruby/3.4.0/openssl/buffering.rb +499 -0
  519. package/lib/ruby/3.4.0/openssl/cipher.rb +67 -0
  520. package/lib/ruby/3.4.0/openssl/digest.rb +69 -0
  521. package/lib/ruby/3.4.0/openssl/hmac.rb +78 -0
  522. package/lib/ruby/3.4.0/openssl/marshal.rb +30 -0
  523. package/lib/ruby/3.4.0/openssl/pkcs5.rb +22 -0
  524. package/lib/ruby/3.4.0/openssl/pkey.rb +471 -0
  525. package/lib/ruby/3.4.0/openssl/ssl.rb +609 -0
  526. package/lib/ruby/3.4.0/openssl/version.rb +5 -0
  527. package/lib/ruby/3.4.0/openssl/x509.rb +391 -0
  528. package/lib/ruby/3.4.0/openssl.rb +38 -0
  529. package/lib/ruby/3.4.0/optionparser.rb +2 -0
  530. package/lib/ruby/3.4.0/optparse/ac.rb +70 -0
  531. package/lib/ruby/3.4.0/optparse/date.rb +18 -0
  532. package/lib/ruby/3.4.0/optparse/kwargs.rb +27 -0
  533. package/lib/ruby/3.4.0/optparse/shellwords.rb +7 -0
  534. package/lib/ruby/3.4.0/optparse/time.rb +11 -0
  535. package/lib/ruby/3.4.0/optparse/uri.rb +7 -0
  536. package/lib/ruby/3.4.0/optparse/version.rb +80 -0
  537. package/lib/ruby/3.4.0/optparse.rb +2429 -0
  538. package/lib/ruby/3.4.0/ostruct.rb +489 -0
  539. package/lib/ruby/3.4.0/pathname.rb +621 -0
  540. package/lib/ruby/3.4.0/pp.rb +699 -0
  541. package/lib/ruby/3.4.0/prettyprint.rb +558 -0
  542. package/lib/ruby/3.4.0/prism/compiler.rb +801 -0
  543. package/lib/ruby/3.4.0/prism/desugar_compiler.rb +392 -0
  544. package/lib/ruby/3.4.0/prism/dispatcher.rb +2210 -0
  545. package/lib/ruby/3.4.0/prism/dsl.rb +1003 -0
  546. package/lib/ruby/3.4.0/prism/ffi.rb +570 -0
  547. package/lib/ruby/3.4.0/prism/inspect_visitor.rb +2392 -0
  548. package/lib/ruby/3.4.0/prism/lex_compat.rb +928 -0
  549. package/lib/ruby/3.4.0/prism/mutation_compiler.rb +772 -0
  550. package/lib/ruby/3.4.0/prism/node.rb +18816 -0
  551. package/lib/ruby/3.4.0/prism/node_ext.rb +511 -0
  552. package/lib/ruby/3.4.0/prism/pack.rb +230 -0
  553. package/lib/ruby/3.4.0/prism/parse_result/comments.rb +188 -0
  554. package/lib/ruby/3.4.0/prism/parse_result/errors.rb +66 -0
  555. package/lib/ruby/3.4.0/prism/parse_result/newlines.rb +155 -0
  556. package/lib/ruby/3.4.0/prism/parse_result.rb +911 -0
  557. package/lib/ruby/3.4.0/prism/pattern.rb +269 -0
  558. package/lib/ruby/3.4.0/prism/polyfill/append_as_bytes.rb +15 -0
  559. package/lib/ruby/3.4.0/prism/polyfill/byteindex.rb +13 -0
  560. package/lib/ruby/3.4.0/prism/polyfill/scan_byte.rb +14 -0
  561. package/lib/ruby/3.4.0/prism/polyfill/unpack1.rb +14 -0
  562. package/lib/ruby/3.4.0/prism/polyfill/warn.rb +36 -0
  563. package/lib/ruby/3.4.0/prism/reflection.rb +416 -0
  564. package/lib/ruby/3.4.0/prism/relocation.rb +505 -0
  565. package/lib/ruby/3.4.0/prism/serialize.rb +2400 -0
  566. package/lib/ruby/3.4.0/prism/string_query.rb +31 -0
  567. package/lib/ruby/3.4.0/prism/translation/parser/builder.rb +62 -0
  568. package/lib/ruby/3.4.0/prism/translation/parser/compiler.rb +2234 -0
  569. package/lib/ruby/3.4.0/prism/translation/parser/lexer.rb +820 -0
  570. package/lib/ruby/3.4.0/prism/translation/parser.rb +374 -0
  571. package/lib/ruby/3.4.0/prism/translation/parser33.rb +13 -0
  572. package/lib/ruby/3.4.0/prism/translation/parser34.rb +13 -0
  573. package/lib/ruby/3.4.0/prism/translation/parser35.rb +13 -0
  574. package/lib/ruby/3.4.0/prism/translation/parser_current.rb +24 -0
  575. package/lib/ruby/3.4.0/prism/translation/ripper/sexp.rb +126 -0
  576. package/lib/ruby/3.4.0/prism/translation/ripper/shim.rb +5 -0
  577. package/lib/ruby/3.4.0/prism/translation/ripper.rb +3474 -0
  578. package/lib/ruby/3.4.0/prism/translation/ruby_parser.rb +1929 -0
  579. package/lib/ruby/3.4.0/prism/translation.rb +16 -0
  580. package/lib/ruby/3.4.0/prism/visitor.rb +813 -0
  581. package/lib/ruby/3.4.0/prism.rb +91 -0
  582. package/lib/ruby/3.4.0/pstore.rb +736 -0
  583. package/lib/ruby/3.4.0/psych/class_loader.rb +104 -0
  584. package/lib/ruby/3.4.0/psych/coder.rb +95 -0
  585. package/lib/ruby/3.4.0/psych/core_ext.rb +19 -0
  586. package/lib/ruby/3.4.0/psych/exception.rb +28 -0
  587. package/lib/ruby/3.4.0/psych/handler.rb +255 -0
  588. package/lib/ruby/3.4.0/psych/handlers/document_stream.rb +23 -0
  589. package/lib/ruby/3.4.0/psych/handlers/recorder.rb +40 -0
  590. package/lib/ruby/3.4.0/psych/json/ruby_events.rb +20 -0
  591. package/lib/ruby/3.4.0/psych/json/stream.rb +17 -0
  592. package/lib/ruby/3.4.0/psych/json/tree_builder.rb +13 -0
  593. package/lib/ruby/3.4.0/psych/json/yaml_events.rb +30 -0
  594. package/lib/ruby/3.4.0/psych/nodes/alias.rb +21 -0
  595. package/lib/ruby/3.4.0/psych/nodes/document.rb +63 -0
  596. package/lib/ruby/3.4.0/psych/nodes/mapping.rb +59 -0
  597. package/lib/ruby/3.4.0/psych/nodes/node.rb +75 -0
  598. package/lib/ruby/3.4.0/psych/nodes/scalar.rb +70 -0
  599. package/lib/ruby/3.4.0/psych/nodes/sequence.rb +84 -0
  600. package/lib/ruby/3.4.0/psych/nodes/stream.rb +40 -0
  601. package/lib/ruby/3.4.0/psych/nodes.rb +78 -0
  602. package/lib/ruby/3.4.0/psych/omap.rb +5 -0
  603. package/lib/ruby/3.4.0/psych/parser.rb +65 -0
  604. package/lib/ruby/3.4.0/psych/scalar_scanner.rb +141 -0
  605. package/lib/ruby/3.4.0/psych/set.rb +5 -0
  606. package/lib/ruby/3.4.0/psych/stream.rb +38 -0
  607. package/lib/ruby/3.4.0/psych/streaming.rb +28 -0
  608. package/lib/ruby/3.4.0/psych/syntax_error.rb +22 -0
  609. package/lib/ruby/3.4.0/psych/tree_builder.rb +137 -0
  610. package/lib/ruby/3.4.0/psych/versions.rb +10 -0
  611. package/lib/ruby/3.4.0/psych/visitors/depth_first.rb +27 -0
  612. package/lib/ruby/3.4.0/psych/visitors/emitter.rb +52 -0
  613. package/lib/ruby/3.4.0/psych/visitors/json_tree.rb +25 -0
  614. package/lib/ruby/3.4.0/psych/visitors/to_ruby.rb +435 -0
  615. package/lib/ruby/3.4.0/psych/visitors/visitor.rb +34 -0
  616. package/lib/ruby/3.4.0/psych/visitors/yaml_tree.rb +583 -0
  617. package/lib/ruby/3.4.0/psych/visitors.rb +7 -0
  618. package/lib/ruby/3.4.0/psych/y.rb +10 -0
  619. package/lib/ruby/3.4.0/psych.rb +763 -0
  620. package/lib/ruby/3.4.0/random/formatter.rb +372 -0
  621. package/lib/ruby/3.4.0/rdoc/code_object/alias.rb +104 -0
  622. package/lib/ruby/3.4.0/rdoc/code_object/anon_class.rb +10 -0
  623. package/lib/ruby/3.4.0/rdoc/code_object/any_method.rb +374 -0
  624. package/lib/ruby/3.4.0/rdoc/code_object/attr.rb +172 -0
  625. package/lib/ruby/3.4.0/rdoc/code_object/class_module.rb +888 -0
  626. package/lib/ruby/3.4.0/rdoc/code_object/constant.rb +186 -0
  627. package/lib/ruby/3.4.0/rdoc/code_object/context/section.rb +175 -0
  628. package/lib/ruby/3.4.0/rdoc/code_object/context.rb +1222 -0
  629. package/lib/ruby/3.4.0/rdoc/code_object/extend.rb +9 -0
  630. package/lib/ruby/3.4.0/rdoc/code_object/ghost_method.rb +6 -0
  631. package/lib/ruby/3.4.0/rdoc/code_object/include.rb +9 -0
  632. package/lib/ruby/3.4.0/rdoc/code_object/meta_method.rb +6 -0
  633. package/lib/ruby/3.4.0/rdoc/code_object/method_attr.rb +410 -0
  634. package/lib/ruby/3.4.0/rdoc/code_object/mixin.rb +120 -0
  635. package/lib/ruby/3.4.0/rdoc/code_object/normal_class.rb +92 -0
  636. package/lib/ruby/3.4.0/rdoc/code_object/normal_module.rb +73 -0
  637. package/lib/ruby/3.4.0/rdoc/code_object/require.rb +51 -0
  638. package/lib/ruby/3.4.0/rdoc/code_object/single_class.rb +30 -0
  639. package/lib/ruby/3.4.0/rdoc/code_object/top_level.rb +273 -0
  640. package/lib/ruby/3.4.0/rdoc/code_object.rb +395 -0
  641. package/lib/ruby/3.4.0/rdoc/code_objects.rb +5 -0
  642. package/lib/ruby/3.4.0/rdoc/comment.rb +236 -0
  643. package/lib/ruby/3.4.0/rdoc/cross_reference.rb +228 -0
  644. package/lib/ruby/3.4.0/rdoc/encoding.rb +120 -0
  645. package/lib/ruby/3.4.0/rdoc/erb_partial.rb +18 -0
  646. package/lib/ruby/3.4.0/rdoc/erbio.rb +37 -0
  647. package/lib/ruby/3.4.0/rdoc/generator/darkfish.rb +812 -0
  648. package/lib/ruby/3.4.0/rdoc/generator/json_index.rb +284 -0
  649. package/lib/ruby/3.4.0/rdoc/generator/markup.rb +171 -0
  650. package/lib/ruby/3.4.0/rdoc/generator/pot/message_extractor.rb +68 -0
  651. package/lib/ruby/3.4.0/rdoc/generator/pot/po.rb +84 -0
  652. package/lib/ruby/3.4.0/rdoc/generator/pot/po_entry.rb +141 -0
  653. package/lib/ruby/3.4.0/rdoc/generator/pot.rb +94 -0
  654. package/lib/ruby/3.4.0/rdoc/generator/ri.rb +30 -0
  655. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_footer.rhtml +5 -0
  656. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_head.rhtml +48 -0
  657. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +5 -0
  658. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +15 -0
  659. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +15 -0
  660. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +15 -0
  661. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +21 -0
  662. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +11 -0
  663. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +32 -0
  664. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +6 -0
  665. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_search.rhtml +14 -0
  666. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +11 -0
  667. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +39 -0
  668. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml +3 -0
  669. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/class.rhtml +221 -0
  670. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/css/fonts.css +167 -0
  671. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/css/rdoc.css +683 -0
  672. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +0 -0
  673. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +0 -0
  674. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +0 -0
  675. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +0 -0
  676. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  677. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  678. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/add.png +0 -0
  679. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/arrow_up.png +0 -0
  680. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/brick.png +0 -0
  681. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/brick_link.png +0 -0
  682. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/bug.png +0 -0
  683. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/bullet_black.png +0 -0
  684. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png +0 -0
  685. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png +0 -0
  686. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/date.png +0 -0
  687. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/delete.png +0 -0
  688. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/find.png +0 -0
  689. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/loadingAnimation.gif +0 -0
  690. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/macFFBgHack.png +0 -0
  691. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/package.png +0 -0
  692. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/page_green.png +0 -0
  693. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/page_white_text.png +0 -0
  694. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/page_white_width.png +0 -0
  695. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/plugin.png +0 -0
  696. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/ruby.png +0 -0
  697. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
  698. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/tag_green.png +0 -0
  699. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/transparent.png +0 -0
  700. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/wrench.png +0 -0
  701. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/wrench_orange.png +0 -0
  702. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/zoom.png +0 -0
  703. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/index.rhtml +23 -0
  704. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/js/darkfish.js +120 -0
  705. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/js/search.js +110 -0
  706. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/page.rhtml +18 -0
  707. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/servlet_not_found.rhtml +20 -0
  708. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/servlet_root.rhtml +65 -0
  709. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/table_of_contents.rhtml +70 -0
  710. package/lib/ruby/3.4.0/rdoc/generator/template/json_index/js/navigation.js +105 -0
  711. package/lib/ruby/3.4.0/rdoc/generator/template/json_index/js/searcher.js +229 -0
  712. package/lib/ruby/3.4.0/rdoc/generator.rb +51 -0
  713. package/lib/ruby/3.4.0/rdoc/i18n/locale.rb +102 -0
  714. package/lib/ruby/3.4.0/rdoc/i18n/text.rb +126 -0
  715. package/lib/ruby/3.4.0/rdoc/i18n.rb +10 -0
  716. package/lib/ruby/3.4.0/rdoc/known_classes.rb +74 -0
  717. package/lib/ruby/3.4.0/rdoc/markdown/entities.rb +2131 -0
  718. package/lib/ruby/3.4.0/rdoc/markdown/literals.rb +454 -0
  719. package/lib/ruby/3.4.0/rdoc/markdown.rb +16806 -0
  720. package/lib/ruby/3.4.0/rdoc/markup/attr_changer.rb +22 -0
  721. package/lib/ruby/3.4.0/rdoc/markup/attr_span.rb +35 -0
  722. package/lib/ruby/3.4.0/rdoc/markup/attribute_manager.rb +405 -0
  723. package/lib/ruby/3.4.0/rdoc/markup/attributes.rb +70 -0
  724. package/lib/ruby/3.4.0/rdoc/markup/blank_line.rb +27 -0
  725. package/lib/ruby/3.4.0/rdoc/markup/block_quote.rb +14 -0
  726. package/lib/ruby/3.4.0/rdoc/markup/document.rb +164 -0
  727. package/lib/ruby/3.4.0/rdoc/markup/formatter.rb +272 -0
  728. package/lib/ruby/3.4.0/rdoc/markup/hard_break.rb +31 -0
  729. package/lib/ruby/3.4.0/rdoc/markup/heading.rb +84 -0
  730. package/lib/ruby/3.4.0/rdoc/markup/include.rb +42 -0
  731. package/lib/ruby/3.4.0/rdoc/markup/indented_paragraph.rb +47 -0
  732. package/lib/ruby/3.4.0/rdoc/markup/list.rb +101 -0
  733. package/lib/ruby/3.4.0/rdoc/markup/list_item.rb +99 -0
  734. package/lib/ruby/3.4.0/rdoc/markup/paragraph.rb +28 -0
  735. package/lib/ruby/3.4.0/rdoc/markup/parser.rb +585 -0
  736. package/lib/ruby/3.4.0/rdoc/markup/pre_process.rb +318 -0
  737. package/lib/ruby/3.4.0/rdoc/markup/raw.rb +69 -0
  738. package/lib/ruby/3.4.0/rdoc/markup/regexp_handling.rb +40 -0
  739. package/lib/ruby/3.4.0/rdoc/markup/rule.rb +20 -0
  740. package/lib/ruby/3.4.0/rdoc/markup/table.rb +56 -0
  741. package/lib/ruby/3.4.0/rdoc/markup/to_ansi.rb +93 -0
  742. package/lib/ruby/3.4.0/rdoc/markup/to_bs.rb +102 -0
  743. package/lib/ruby/3.4.0/rdoc/markup/to_html.rb +462 -0
  744. package/lib/ruby/3.4.0/rdoc/markup/to_html_crossref.rb +226 -0
  745. package/lib/ruby/3.4.0/rdoc/markup/to_html_snippet.rb +287 -0
  746. package/lib/ruby/3.4.0/rdoc/markup/to_joined_paragraph.rb +46 -0
  747. package/lib/ruby/3.4.0/rdoc/markup/to_label.rb +74 -0
  748. package/lib/ruby/3.4.0/rdoc/markup/to_markdown.rb +191 -0
  749. package/lib/ruby/3.4.0/rdoc/markup/to_rdoc.rb +353 -0
  750. package/lib/ruby/3.4.0/rdoc/markup/to_table_of_contents.rb +88 -0
  751. package/lib/ruby/3.4.0/rdoc/markup/to_test.rb +69 -0
  752. package/lib/ruby/3.4.0/rdoc/markup/to_tt_only.rb +120 -0
  753. package/lib/ruby/3.4.0/rdoc/markup/verbatim.rb +83 -0
  754. package/lib/ruby/3.4.0/rdoc/markup.rb +240 -0
  755. package/lib/ruby/3.4.0/rdoc/options.rb +1416 -0
  756. package/lib/ruby/3.4.0/rdoc/parser/c.rb +1257 -0
  757. package/lib/ruby/3.4.0/rdoc/parser/changelog.rb +350 -0
  758. package/lib/ruby/3.4.0/rdoc/parser/markdown.rb +22 -0
  759. package/lib/ruby/3.4.0/rdoc/parser/prism_ruby.rb +1092 -0
  760. package/lib/ruby/3.4.0/rdoc/parser/rd.rb +22 -0
  761. package/lib/ruby/3.4.0/rdoc/parser/ripper_state_lex.rb +302 -0
  762. package/lib/ruby/3.4.0/rdoc/parser/ruby.rb +2378 -0
  763. package/lib/ruby/3.4.0/rdoc/parser/ruby_tools.rb +165 -0
  764. package/lib/ruby/3.4.0/rdoc/parser/simple.rb +61 -0
  765. package/lib/ruby/3.4.0/rdoc/parser/text.rb +11 -0
  766. package/lib/ruby/3.4.0/rdoc/parser.rb +297 -0
  767. package/lib/ruby/3.4.0/rdoc/rd/block_parser.rb +1706 -0
  768. package/lib/ruby/3.4.0/rdoc/rd/inline.rb +71 -0
  769. package/lib/ruby/3.4.0/rdoc/rd/inline_parser.rb +1854 -0
  770. package/lib/ruby/3.4.0/rdoc/rd.rb +99 -0
  771. package/lib/ruby/3.4.0/rdoc/rdoc.rb +551 -0
  772. package/lib/ruby/3.4.0/rdoc/ri/driver.rb +1566 -0
  773. package/lib/ruby/3.4.0/rdoc/ri/formatter.rb +6 -0
  774. package/lib/ruby/3.4.0/rdoc/ri/paths.rb +171 -0
  775. package/lib/ruby/3.4.0/rdoc/ri/store.rb +6 -0
  776. package/lib/ruby/3.4.0/rdoc/ri/task.rb +71 -0
  777. package/lib/ruby/3.4.0/rdoc/ri.rb +20 -0
  778. package/lib/ruby/3.4.0/rdoc/rubygems_hook.rb +327 -0
  779. package/lib/ruby/3.4.0/rdoc/servlet.rb +452 -0
  780. package/lib/ruby/3.4.0/rdoc/stats/normal.rb +58 -0
  781. package/lib/ruby/3.4.0/rdoc/stats/quiet.rb +59 -0
  782. package/lib/ruby/3.4.0/rdoc/stats/verbose.rb +44 -0
  783. package/lib/ruby/3.4.0/rdoc/stats.rb +461 -0
  784. package/lib/ruby/3.4.0/rdoc/store.rb +997 -0
  785. package/lib/ruby/3.4.0/rdoc/task.rb +354 -0
  786. package/lib/ruby/3.4.0/rdoc/text.rb +322 -0
  787. package/lib/ruby/3.4.0/rdoc/token_stream.rb +118 -0
  788. package/lib/ruby/3.4.0/rdoc/tom_doc.rb +257 -0
  789. package/lib/ruby/3.4.0/rdoc/version.rb +10 -0
  790. package/lib/ruby/3.4.0/rdoc.rb +211 -0
  791. package/lib/ruby/3.4.0/readline.rb +7 -0
  792. package/lib/ruby/3.4.0/reline/config.rb +373 -0
  793. package/lib/ruby/3.4.0/reline/face.rb +199 -0
  794. package/lib/ruby/3.4.0/reline/history.rb +76 -0
  795. package/lib/ruby/3.4.0/reline/io/ansi.rb +325 -0
  796. package/lib/ruby/3.4.0/reline/io/dumb.rb +120 -0
  797. package/lib/ruby/3.4.0/reline/io/windows.rb +530 -0
  798. package/lib/ruby/3.4.0/reline/io.rb +55 -0
  799. package/lib/ruby/3.4.0/reline/key_actor/base.rb +37 -0
  800. package/lib/ruby/3.4.0/reline/key_actor/composite.rb +17 -0
  801. package/lib/ruby/3.4.0/reline/key_actor/emacs.rb +517 -0
  802. package/lib/ruby/3.4.0/reline/key_actor/vi_command.rb +518 -0
  803. package/lib/ruby/3.4.0/reline/key_actor/vi_insert.rb +517 -0
  804. package/lib/ruby/3.4.0/reline/key_actor.rb +8 -0
  805. package/lib/ruby/3.4.0/reline/key_stroke.rb +119 -0
  806. package/lib/ruby/3.4.0/reline/kill_ring.rb +125 -0
  807. package/lib/ruby/3.4.0/reline/line_editor.rb +2382 -0
  808. package/lib/ruby/3.4.0/reline/unicode/east_asian_width.rb +1267 -0
  809. package/lib/ruby/3.4.0/reline/unicode.rb +415 -0
  810. package/lib/ruby/3.4.0/reline/version.rb +3 -0
  811. package/lib/ruby/3.4.0/reline.rb +519 -0
  812. package/lib/ruby/3.4.0/resolv.rb +3587 -0
  813. package/lib/ruby/3.4.0/ripper/core.rb +74 -0
  814. package/lib/ruby/3.4.0/ripper/filter.rb +86 -0
  815. package/lib/ruby/3.4.0/ripper/lexer.rb +379 -0
  816. package/lib/ruby/3.4.0/ripper/sexp.rb +187 -0
  817. package/lib/ruby/3.4.0/ripper.rb +74 -0
  818. package/lib/ruby/3.4.0/ruby_vm/rjit/assembler.rb +1160 -0
  819. package/lib/ruby/3.4.0/ruby_vm/rjit/block.rb +11 -0
  820. package/lib/ruby/3.4.0/ruby_vm/rjit/branch_stub.rb +24 -0
  821. package/lib/ruby/3.4.0/ruby_vm/rjit/c_pointer.rb +394 -0
  822. package/lib/ruby/3.4.0/ruby_vm/rjit/c_type.rb +99 -0
  823. package/lib/ruby/3.4.0/ruby_vm/rjit/code_block.rb +91 -0
  824. package/lib/ruby/3.4.0/ruby_vm/rjit/compiler.rb +518 -0
  825. package/lib/ruby/3.4.0/ruby_vm/rjit/context.rb +377 -0
  826. package/lib/ruby/3.4.0/ruby_vm/rjit/entry_stub.rb +7 -0
  827. package/lib/ruby/3.4.0/ruby_vm/rjit/exit_compiler.rb +164 -0
  828. package/lib/ruby/3.4.0/ruby_vm/rjit/hooks.rb +36 -0
  829. package/lib/ruby/3.4.0/ruby_vm/rjit/insn_compiler.rb +6046 -0
  830. package/lib/ruby/3.4.0/ruby_vm/rjit/instruction.rb +1326 -0
  831. package/lib/ruby/3.4.0/ruby_vm/rjit/invariants.rb +155 -0
  832. package/lib/ruby/3.4.0/ruby_vm/rjit/jit_state.rb +65 -0
  833. package/lib/ruby/3.4.0/ruby_vm/rjit/stats.rb +191 -0
  834. package/lib/ruby/3.4.0/ruby_vm/rjit/type.rb +221 -0
  835. package/lib/ruby/3.4.0/rubygems/available_set.rb +165 -0
  836. package/lib/ruby/3.4.0/rubygems/basic_specification.rb +383 -0
  837. package/lib/ruby/3.4.0/rubygems/bundler_version_finder.rb +77 -0
  838. package/lib/ruby/3.4.0/rubygems/ci_detector.rb +75 -0
  839. package/lib/ruby/3.4.0/rubygems/command.rb +664 -0
  840. package/lib/ruby/3.4.0/rubygems/command_manager.rb +255 -0
  841. package/lib/ruby/3.4.0/rubygems/commands/build_command.rb +127 -0
  842. package/lib/ruby/3.4.0/rubygems/commands/cert_command.rb +325 -0
  843. package/lib/ruby/3.4.0/rubygems/commands/check_command.rb +97 -0
  844. package/lib/ruby/3.4.0/rubygems/commands/cleanup_command.rb +178 -0
  845. package/lib/ruby/3.4.0/rubygems/commands/contents_command.rb +196 -0
  846. package/lib/ruby/3.4.0/rubygems/commands/dependency_command.rb +206 -0
  847. package/lib/ruby/3.4.0/rubygems/commands/environment_command.rb +181 -0
  848. package/lib/ruby/3.4.0/rubygems/commands/exec_command.rb +256 -0
  849. package/lib/ruby/3.4.0/rubygems/commands/fetch_command.rb +109 -0
  850. package/lib/ruby/3.4.0/rubygems/commands/generate_index_command.rb +51 -0
  851. package/lib/ruby/3.4.0/rubygems/commands/help_command.rb +375 -0
  852. package/lib/ruby/3.4.0/rubygems/commands/info_command.rb +38 -0
  853. package/lib/ruby/3.4.0/rubygems/commands/install_command.rb +269 -0
  854. package/lib/ruby/3.4.0/rubygems/commands/list_command.rb +42 -0
  855. package/lib/ruby/3.4.0/rubygems/commands/lock_command.rb +109 -0
  856. package/lib/ruby/3.4.0/rubygems/commands/mirror_command.rb +26 -0
  857. package/lib/ruby/3.4.0/rubygems/commands/open_command.rb +83 -0
  858. package/lib/ruby/3.4.0/rubygems/commands/outdated_command.rb +33 -0
  859. package/lib/ruby/3.4.0/rubygems/commands/owner_command.rb +124 -0
  860. package/lib/ruby/3.4.0/rubygems/commands/pristine_command.rb +217 -0
  861. package/lib/ruby/3.4.0/rubygems/commands/push_command.rb +135 -0
  862. package/lib/ruby/3.4.0/rubygems/commands/query_command.rb +43 -0
  863. package/lib/ruby/3.4.0/rubygems/commands/rdoc_command.rb +90 -0
  864. package/lib/ruby/3.4.0/rubygems/commands/rebuild_command.rb +262 -0
  865. package/lib/ruby/3.4.0/rubygems/commands/search_command.rb +41 -0
  866. package/lib/ruby/3.4.0/rubygems/commands/server_command.rb +26 -0
  867. package/lib/ruby/3.4.0/rubygems/commands/setup_command.rb +663 -0
  868. package/lib/ruby/3.4.0/rubygems/commands/signin_command.rb +34 -0
  869. package/lib/ruby/3.4.0/rubygems/commands/signout_command.rb +32 -0
  870. package/lib/ruby/3.4.0/rubygems/commands/sources_command.rb +227 -0
  871. package/lib/ruby/3.4.0/rubygems/commands/specification_command.rb +156 -0
  872. package/lib/ruby/3.4.0/rubygems/commands/stale_command.rb +40 -0
  873. package/lib/ruby/3.4.0/rubygems/commands/uninstall_command.rb +204 -0
  874. package/lib/ruby/3.4.0/rubygems/commands/unpack_command.rb +168 -0
  875. package/lib/ruby/3.4.0/rubygems/commands/update_command.rb +326 -0
  876. package/lib/ruby/3.4.0/rubygems/commands/which_command.rb +88 -0
  877. package/lib/ruby/3.4.0/rubygems/commands/yank_command.rb +99 -0
  878. package/lib/ruby/3.4.0/rubygems/compatibility.rb +41 -0
  879. package/lib/ruby/3.4.0/rubygems/config_file.rb +618 -0
  880. package/lib/ruby/3.4.0/rubygems/core_ext/kernel_gem.rb +68 -0
  881. package/lib/ruby/3.4.0/rubygems/core_ext/kernel_require.rb +149 -0
  882. package/lib/ruby/3.4.0/rubygems/core_ext/kernel_warn.rb +45 -0
  883. package/lib/ruby/3.4.0/rubygems/core_ext/tcpsocket_init.rb +54 -0
  884. package/lib/ruby/3.4.0/rubygems/defaults.rb +308 -0
  885. package/lib/ruby/3.4.0/rubygems/dependency.rb +348 -0
  886. package/lib/ruby/3.4.0/rubygems/dependency_installer.rb +335 -0
  887. package/lib/ruby/3.4.0/rubygems/dependency_list.rb +243 -0
  888. package/lib/ruby/3.4.0/rubygems/deprecate.rb +169 -0
  889. package/lib/ruby/3.4.0/rubygems/doctor.rb +132 -0
  890. package/lib/ruby/3.4.0/rubygems/errors.rb +177 -0
  891. package/lib/ruby/3.4.0/rubygems/exceptions.rb +293 -0
  892. package/lib/ruby/3.4.0/rubygems/ext/build_error.rb +9 -0
  893. package/lib/ruby/3.4.0/rubygems/ext/builder.rb +260 -0
  894. package/lib/ruby/3.4.0/rubygems/ext/cargo_builder/link_flag_converter.rb +27 -0
  895. package/lib/ruby/3.4.0/rubygems/ext/cargo_builder.rb +346 -0
  896. package/lib/ruby/3.4.0/rubygems/ext/cmake_builder.rb +21 -0
  897. package/lib/ruby/3.4.0/rubygems/ext/configure_builder.rb +26 -0
  898. package/lib/ruby/3.4.0/rubygems/ext/ext_conf_builder.rb +77 -0
  899. package/lib/ruby/3.4.0/rubygems/ext/rake_builder.rb +37 -0
  900. package/lib/ruby/3.4.0/rubygems/ext.rb +20 -0
  901. package/lib/ruby/3.4.0/rubygems/gem_runner.rb +89 -0
  902. package/lib/ruby/3.4.0/rubygems/gemcutter_utilities/webauthn_listener/response.rb +163 -0
  903. package/lib/ruby/3.4.0/rubygems/gemcutter_utilities/webauthn_listener.rb +105 -0
  904. package/lib/ruby/3.4.0/rubygems/gemcutter_utilities/webauthn_poller.rb +80 -0
  905. package/lib/ruby/3.4.0/rubygems/gemcutter_utilities.rb +397 -0
  906. package/lib/ruby/3.4.0/rubygems/gemspec_helpers.rb +19 -0
  907. package/lib/ruby/3.4.0/rubygems/install_default_message.rb +13 -0
  908. package/lib/ruby/3.4.0/rubygems/install_message.rb +13 -0
  909. package/lib/ruby/3.4.0/rubygems/install_update_options.rb +204 -0
  910. package/lib/ruby/3.4.0/rubygems/installer.rb +1031 -0
  911. package/lib/ruby/3.4.0/rubygems/installer_uninstaller_utils.rb +27 -0
  912. package/lib/ruby/3.4.0/rubygems/local_remote_options.rb +146 -0
  913. package/lib/ruby/3.4.0/rubygems/name_tuple.rb +119 -0
  914. package/lib/ruby/3.4.0/rubygems/openssl.rb +7 -0
  915. package/lib/ruby/3.4.0/rubygems/package/digest_io.rb +63 -0
  916. package/lib/ruby/3.4.0/rubygems/package/file_source.rb +32 -0
  917. package/lib/ruby/3.4.0/rubygems/package/io_source.rb +48 -0
  918. package/lib/ruby/3.4.0/rubygems/package/old.rb +169 -0
  919. package/lib/ruby/3.4.0/rubygems/package/source.rb +4 -0
  920. package/lib/ruby/3.4.0/rubygems/package/tar_header.rb +277 -0
  921. package/lib/ruby/3.4.0/rubygems/package/tar_reader/entry.rb +244 -0
  922. package/lib/ruby/3.4.0/rubygems/package/tar_reader.rb +101 -0
  923. package/lib/ruby/3.4.0/rubygems/package/tar_writer.rb +332 -0
  924. package/lib/ruby/3.4.0/rubygems/package.rb +742 -0
  925. package/lib/ruby/3.4.0/rubygems/package_task.rb +123 -0
  926. package/lib/ruby/3.4.0/rubygems/path_support.rb +85 -0
  927. package/lib/ruby/3.4.0/rubygems/platform.rb +269 -0
  928. package/lib/ruby/3.4.0/rubygems/psych_tree.rb +37 -0
  929. package/lib/ruby/3.4.0/rubygems/query_utils.rb +349 -0
  930. package/lib/ruby/3.4.0/rubygems/rdoc.rb +26 -0
  931. package/lib/ruby/3.4.0/rubygems/remote_fetcher.rb +341 -0
  932. package/lib/ruby/3.4.0/rubygems/request/connection_pools.rb +95 -0
  933. package/lib/ruby/3.4.0/rubygems/request/http_pool.rb +47 -0
  934. package/lib/ruby/3.4.0/rubygems/request/https_pool.rb +10 -0
  935. package/lib/ruby/3.4.0/rubygems/request.rb +298 -0
  936. package/lib/ruby/3.4.0/rubygems/request_set/gem_dependency_api.rb +841 -0
  937. package/lib/ruby/3.4.0/rubygems/request_set/lockfile/parser.rb +344 -0
  938. package/lib/ruby/3.4.0/rubygems/request_set/lockfile/tokenizer.rb +122 -0
  939. package/lib/ruby/3.4.0/rubygems/request_set/lockfile.rb +235 -0
  940. package/lib/ruby/3.4.0/rubygems/request_set.rb +468 -0
  941. package/lib/ruby/3.4.0/rubygems/requirement.rb +298 -0
  942. package/lib/ruby/3.4.0/rubygems/resolver/activation_request.rb +159 -0
  943. package/lib/ruby/3.4.0/rubygems/resolver/api_set/gem_parser.rb +21 -0
  944. package/lib/ruby/3.4.0/rubygems/resolver/api_set.rb +139 -0
  945. package/lib/ruby/3.4.0/rubygems/resolver/api_specification.rb +105 -0
  946. package/lib/ruby/3.4.0/rubygems/resolver/best_set.rb +49 -0
  947. package/lib/ruby/3.4.0/rubygems/resolver/composed_set.rb +65 -0
  948. package/lib/ruby/3.4.0/rubygems/resolver/conflict.rb +146 -0
  949. package/lib/ruby/3.4.0/rubygems/resolver/current_set.rb +12 -0
  950. package/lib/ruby/3.4.0/rubygems/resolver/dependency_request.rb +119 -0
  951. package/lib/ruby/3.4.0/rubygems/resolver/git_set.rb +120 -0
  952. package/lib/ruby/3.4.0/rubygems/resolver/git_specification.rb +57 -0
  953. package/lib/ruby/3.4.0/rubygems/resolver/index_set.rb +79 -0
  954. package/lib/ruby/3.4.0/rubygems/resolver/index_specification.rb +101 -0
  955. package/lib/ruby/3.4.0/rubygems/resolver/installed_specification.rb +57 -0
  956. package/lib/ruby/3.4.0/rubygems/resolver/installer_set.rb +271 -0
  957. package/lib/ruby/3.4.0/rubygems/resolver/local_specification.rb +40 -0
  958. package/lib/ruby/3.4.0/rubygems/resolver/lock_set.rb +81 -0
  959. package/lib/ruby/3.4.0/rubygems/resolver/lock_specification.rb +86 -0
  960. package/lib/ruby/3.4.0/rubygems/resolver/requirement_list.rb +82 -0
  961. package/lib/ruby/3.4.0/rubygems/resolver/set.rb +55 -0
  962. package/lib/ruby/3.4.0/rubygems/resolver/source_set.rb +47 -0
  963. package/lib/ruby/3.4.0/rubygems/resolver/spec_specification.rb +76 -0
  964. package/lib/ruby/3.4.0/rubygems/resolver/specification.rb +126 -0
  965. package/lib/ruby/3.4.0/rubygems/resolver/stats.rb +46 -0
  966. package/lib/ruby/3.4.0/rubygems/resolver/vendor_set.rb +86 -0
  967. package/lib/ruby/3.4.0/rubygems/resolver/vendor_specification.rb +23 -0
  968. package/lib/ruby/3.4.0/rubygems/resolver.rb +341 -0
  969. package/lib/ruby/3.4.0/rubygems/s3_uri_signer.rb +177 -0
  970. package/lib/ruby/3.4.0/rubygems/safe_marshal/elements.rb +146 -0
  971. package/lib/ruby/3.4.0/rubygems/safe_marshal/reader.rb +325 -0
  972. package/lib/ruby/3.4.0/rubygems/safe_marshal/visitors/stream_printer.rb +31 -0
  973. package/lib/ruby/3.4.0/rubygems/safe_marshal/visitors/to_ruby.rb +428 -0
  974. package/lib/ruby/3.4.0/rubygems/safe_marshal/visitors/visitor.rb +74 -0
  975. package/lib/ruby/3.4.0/rubygems/safe_marshal.rb +74 -0
  976. package/lib/ruby/3.4.0/rubygems/safe_yaml.rb +45 -0
  977. package/lib/ruby/3.4.0/rubygems/security/policies.rb +114 -0
  978. package/lib/ruby/3.4.0/rubygems/security/policy.rb +288 -0
  979. package/lib/ruby/3.4.0/rubygems/security/signer.rb +212 -0
  980. package/lib/ruby/3.4.0/rubygems/security/trust_dir.rb +117 -0
  981. package/lib/ruby/3.4.0/rubygems/security.rb +615 -0
  982. package/lib/ruby/3.4.0/rubygems/security_option.rb +43 -0
  983. package/lib/ruby/3.4.0/rubygems/source/git.rb +244 -0
  984. package/lib/ruby/3.4.0/rubygems/source/installed.rb +39 -0
  985. package/lib/ruby/3.4.0/rubygems/source/local.rb +131 -0
  986. package/lib/ruby/3.4.0/rubygems/source/lock.rb +49 -0
  987. package/lib/ruby/3.4.0/rubygems/source/specific_file.rb +73 -0
  988. package/lib/ruby/3.4.0/rubygems/source/vendor.rb +24 -0
  989. package/lib/ruby/3.4.0/rubygems/source.rb +247 -0
  990. package/lib/ruby/3.4.0/rubygems/source_list.rb +146 -0
  991. package/lib/ruby/3.4.0/rubygems/spec_fetcher.rb +290 -0
  992. package/lib/ruby/3.4.0/rubygems/specification.rb +2666 -0
  993. package/lib/ruby/3.4.0/rubygems/specification_policy.rb +558 -0
  994. package/lib/ruby/3.4.0/rubygems/specification_record.rb +212 -0
  995. package/lib/ruby/3.4.0/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem +21 -0
  996. package/lib/ruby/3.4.0/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
  997. package/lib/ruby/3.4.0/rubygems/stub_specification.rb +235 -0
  998. package/lib/ruby/3.4.0/rubygems/target_rbconfig.rb +50 -0
  999. package/lib/ruby/3.4.0/rubygems/text.rb +85 -0
  1000. package/lib/ruby/3.4.0/rubygems/uninstaller.rb +429 -0
  1001. package/lib/ruby/3.4.0/rubygems/unknown_command_spell_checker.rb +21 -0
  1002. package/lib/ruby/3.4.0/rubygems/update_suggestion.rb +56 -0
  1003. package/lib/ruby/3.4.0/rubygems/uri.rb +126 -0
  1004. package/lib/ruby/3.4.0/rubygems/uri_formatter.rb +47 -0
  1005. package/lib/ruby/3.4.0/rubygems/user_interaction.rb +650 -0
  1006. package/lib/ruby/3.4.0/rubygems/util/licenses.rb +834 -0
  1007. package/lib/ruby/3.4.0/rubygems/util/list.rb +40 -0
  1008. package/lib/ruby/3.4.0/rubygems/util.rb +118 -0
  1009. package/lib/ruby/3.4.0/rubygems/validator.rb +144 -0
  1010. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +57 -0
  1011. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +88 -0
  1012. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +36 -0
  1013. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +66 -0
  1014. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +62 -0
  1015. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +63 -0
  1016. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +61 -0
  1017. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +126 -0
  1018. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +46 -0
  1019. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +36 -0
  1020. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +164 -0
  1021. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph.rb +255 -0
  1022. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/errors.rb +149 -0
  1023. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/gem_metadata.rb +6 -0
  1024. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +112 -0
  1025. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/modules/ui.rb +67 -0
  1026. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/resolution.rb +839 -0
  1027. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/resolver.rb +46 -0
  1028. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/state.rb +58 -0
  1029. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo.rb +11 -0
  1030. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/exceptions.rb +34 -0
  1031. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/generic_request.rb +414 -0
  1032. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/header.rb +981 -0
  1033. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/proxy_delta.rb +17 -0
  1034. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/request.rb +88 -0
  1035. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/requests.rb +430 -0
  1036. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/response.rb +738 -0
  1037. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/responses.rb +1174 -0
  1038. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/status.rb +84 -0
  1039. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http.rb +2580 -0
  1040. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/https.rb +23 -0
  1041. package/lib/ruby/3.4.0/rubygems/vendor/net-protocol/lib/net/protocol.rb +544 -0
  1042. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optionparser.rb +2 -0
  1043. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/ac.rb +70 -0
  1044. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/date.rb +18 -0
  1045. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/kwargs.rb +27 -0
  1046. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/shellwords.rb +7 -0
  1047. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/time.rb +11 -0
  1048. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/uri.rb +7 -0
  1049. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/version.rb +80 -0
  1050. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse.rb +2426 -0
  1051. package/lib/ruby/3.4.0/rubygems/vendor/resolv/lib/resolv.rb +3455 -0
  1052. package/lib/ruby/3.4.0/rubygems/vendor/securerandom/lib/securerandom.rb +102 -0
  1053. package/lib/ruby/3.4.0/rubygems/vendor/timeout/lib/timeout.rb +198 -0
  1054. package/lib/ruby/3.4.0/rubygems/vendor/tsort/lib/tsort.rb +455 -0
  1055. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/common.rb +880 -0
  1056. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/file.rb +100 -0
  1057. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/ftp.rb +267 -0
  1058. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/generic.rb +1592 -0
  1059. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/http.rb +125 -0
  1060. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/https.rb +23 -0
  1061. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/ldap.rb +261 -0
  1062. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/ldaps.rb +22 -0
  1063. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/mailto.rb +293 -0
  1064. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/rfc2396_parser.rb +546 -0
  1065. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/rfc3986_parser.rb +206 -0
  1066. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/version.rb +6 -0
  1067. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/ws.rb +83 -0
  1068. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/wss.rb +23 -0
  1069. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri.rb +104 -0
  1070. package/lib/ruby/3.4.0/rubygems/vendored_molinillo.rb +3 -0
  1071. package/lib/ruby/3.4.0/rubygems/vendored_net_http.rb +5 -0
  1072. package/lib/ruby/3.4.0/rubygems/vendored_optparse.rb +3 -0
  1073. package/lib/ruby/3.4.0/rubygems/vendored_securerandom.rb +3 -0
  1074. package/lib/ruby/3.4.0/rubygems/vendored_timeout.rb +5 -0
  1075. package/lib/ruby/3.4.0/rubygems/vendored_tsort.rb +3 -0
  1076. package/lib/ruby/3.4.0/rubygems/version.rb +441 -0
  1077. package/lib/ruby/3.4.0/rubygems/version_option.rb +80 -0
  1078. package/lib/ruby/3.4.0/rubygems/yaml_serializer.rb +98 -0
  1079. package/lib/ruby/3.4.0/rubygems.rb +1417 -0
  1080. package/lib/ruby/3.4.0/securerandom.rb +102 -0
  1081. package/lib/ruby/3.4.0/set/sorted_set.rb +6 -0
  1082. package/lib/ruby/3.4.0/set.rb +855 -0
  1083. package/lib/ruby/3.4.0/shellwords.rb +254 -0
  1084. package/lib/ruby/3.4.0/singleton.rb +239 -0
  1085. package/lib/ruby/3.4.0/socket.rb +1790 -0
  1086. package/lib/ruby/3.4.0/strscan/strscan.rb +25 -0
  1087. package/lib/ruby/3.4.0/syntax_suggest/api.rb +233 -0
  1088. package/lib/ruby/3.4.0/syntax_suggest/around_block_scan.rb +232 -0
  1089. package/lib/ruby/3.4.0/syntax_suggest/block_expand.rb +165 -0
  1090. package/lib/ruby/3.4.0/syntax_suggest/capture/before_after_keyword_ends.rb +85 -0
  1091. package/lib/ruby/3.4.0/syntax_suggest/capture/falling_indent_lines.rb +71 -0
  1092. package/lib/ruby/3.4.0/syntax_suggest/capture_code_context.rb +245 -0
  1093. package/lib/ruby/3.4.0/syntax_suggest/clean_document.rb +306 -0
  1094. package/lib/ruby/3.4.0/syntax_suggest/cli.rb +130 -0
  1095. package/lib/ruby/3.4.0/syntax_suggest/code_block.rb +100 -0
  1096. package/lib/ruby/3.4.0/syntax_suggest/code_frontier.rb +178 -0
  1097. package/lib/ruby/3.4.0/syntax_suggest/code_line.rb +243 -0
  1098. package/lib/ruby/3.4.0/syntax_suggest/code_search.rb +139 -0
  1099. package/lib/ruby/3.4.0/syntax_suggest/core_ext.rb +96 -0
  1100. package/lib/ruby/3.4.0/syntax_suggest/display_code_with_line_numbers.rb +70 -0
  1101. package/lib/ruby/3.4.0/syntax_suggest/display_invalid_blocks.rb +83 -0
  1102. package/lib/ruby/3.4.0/syntax_suggest/explain_syntax.rb +117 -0
  1103. package/lib/ruby/3.4.0/syntax_suggest/left_right_lex_count.rb +168 -0
  1104. package/lib/ruby/3.4.0/syntax_suggest/lex_all.rb +74 -0
  1105. package/lib/ruby/3.4.0/syntax_suggest/lex_value.rb +70 -0
  1106. package/lib/ruby/3.4.0/syntax_suggest/mini_stringio.rb +30 -0
  1107. package/lib/ruby/3.4.0/syntax_suggest/parse_blocks_from_indent_line.rb +60 -0
  1108. package/lib/ruby/3.4.0/syntax_suggest/pathname_from_message.rb +59 -0
  1109. package/lib/ruby/3.4.0/syntax_suggest/priority_engulf_queue.rb +63 -0
  1110. package/lib/ruby/3.4.0/syntax_suggest/priority_queue.rb +105 -0
  1111. package/lib/ruby/3.4.0/syntax_suggest/ripper_errors.rb +39 -0
  1112. package/lib/ruby/3.4.0/syntax_suggest/scan_history.rb +134 -0
  1113. package/lib/ruby/3.4.0/syntax_suggest/unvisited_lines.rb +36 -0
  1114. package/lib/ruby/3.4.0/syntax_suggest/version.rb +5 -0
  1115. package/lib/ruby/3.4.0/syntax_suggest.rb +3 -0
  1116. package/lib/ruby/3.4.0/tempfile.rb +640 -0
  1117. package/lib/ruby/3.4.0/time.rb +731 -0
  1118. package/lib/ruby/3.4.0/timeout.rb +200 -0
  1119. package/lib/ruby/3.4.0/tmpdir.rb +189 -0
  1120. package/lib/ruby/3.4.0/tsort.rb +455 -0
  1121. package/lib/ruby/3.4.0/un.rb +441 -0
  1122. package/lib/ruby/3.4.0/unicode_normalize/normalize.rb +181 -0
  1123. package/lib/ruby/3.4.0/unicode_normalize/tables.rb +9259 -0
  1124. package/lib/ruby/3.4.0/uri/common.rb +880 -0
  1125. package/lib/ruby/3.4.0/uri/file.rb +100 -0
  1126. package/lib/ruby/3.4.0/uri/ftp.rb +267 -0
  1127. package/lib/ruby/3.4.0/uri/generic.rb +1592 -0
  1128. package/lib/ruby/3.4.0/uri/http.rb +125 -0
  1129. package/lib/ruby/3.4.0/uri/https.rb +23 -0
  1130. package/lib/ruby/3.4.0/uri/ldap.rb +261 -0
  1131. package/lib/ruby/3.4.0/uri/ldaps.rb +22 -0
  1132. package/lib/ruby/3.4.0/uri/mailto.rb +293 -0
  1133. package/lib/ruby/3.4.0/uri/rfc2396_parser.rb +546 -0
  1134. package/lib/ruby/3.4.0/uri/rfc3986_parser.rb +206 -0
  1135. package/lib/ruby/3.4.0/uri/version.rb +6 -0
  1136. package/lib/ruby/3.4.0/uri/ws.rb +83 -0
  1137. package/lib/ruby/3.4.0/uri/wss.rb +23 -0
  1138. package/lib/ruby/3.4.0/uri.rb +104 -0
  1139. package/lib/ruby/{3.4.11 → 3.4.0/wasm32-wasi}/rbconfig.rb +11 -11
  1140. package/lib/ruby/3.4.0/weakref.rb +58 -0
  1141. package/lib/ruby/3.4.0/yaml/dbm.rb +295 -0
  1142. package/lib/ruby/3.4.0/yaml/store.rb +98 -0
  1143. package/lib/ruby/3.4.0/yaml.rb +70 -0
  1144. package/lib/ruby/gems/3.4.0/cache/abbrev-0.1.2.gem +0 -0
  1145. package/lib/ruby/gems/3.4.0/cache/base64-0.2.0.gem +0 -0
  1146. package/lib/ruby/gems/3.4.0/cache/csv-3.3.2.gem +0 -0
  1147. package/lib/ruby/gems/3.4.0/cache/drb-2.2.1.gem +0 -0
  1148. package/lib/ruby/gems/3.4.0/cache/getoptlong-0.2.1.gem +0 -0
  1149. package/lib/ruby/gems/3.4.0/cache/matrix-0.4.2.gem +0 -0
  1150. package/lib/ruby/gems/3.4.0/cache/minitest-5.25.4.gem +0 -0
  1151. package/lib/ruby/gems/3.4.0/cache/mutex_m-0.3.0.gem +0 -0
  1152. package/lib/ruby/gems/3.4.0/cache/net-ftp-0.3.8.gem +0 -0
  1153. package/lib/ruby/gems/3.4.0/cache/net-imap-0.5.15.gem +0 -0
  1154. package/lib/ruby/gems/3.4.0/cache/net-pop-0.1.2.gem +0 -0
  1155. package/lib/ruby/gems/3.4.0/cache/net-smtp-0.5.1.gem +0 -0
  1156. package/lib/ruby/gems/3.4.0/cache/observer-0.1.2.gem +0 -0
  1157. package/lib/ruby/gems/3.4.0/cache/power_assert-2.0.5.gem +0 -0
  1158. package/lib/ruby/gems/3.4.0/cache/prime-0.1.3.gem +0 -0
  1159. package/lib/ruby/gems/3.4.0/cache/rake-13.2.1.gem +0 -0
  1160. package/lib/ruby/gems/3.4.0/cache/repl_type_completor-0.1.9.gem +0 -0
  1161. package/lib/ruby/gems/3.4.0/cache/resolv-replace-0.1.1.gem +0 -0
  1162. package/lib/ruby/gems/3.4.0/cache/rexml-3.4.4.gem +0 -0
  1163. package/lib/ruby/gems/3.4.0/cache/rinda-0.2.0.gem +0 -0
  1164. package/lib/ruby/gems/3.4.0/cache/rss-0.3.1.gem +0 -0
  1165. package/lib/ruby/gems/3.4.0/cache/test-unit-3.6.7.gem +0 -0
  1166. package/lib/ruby/gems/3.4.0/cache/typeprof-0.30.1.gem +0 -0
  1167. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/Gemfile +4 -0
  1168. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/LICENSE.txt +22 -0
  1169. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/README.md +45 -0
  1170. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/Rakefile +10 -0
  1171. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/bin/console +14 -0
  1172. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/bin/setup +8 -0
  1173. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/lib/abbrev.rb +133 -0
  1174. package/lib/ruby/gems/3.4.0/gems/base64-0.2.0/LICENSE.txt +22 -0
  1175. package/lib/ruby/gems/3.4.0/gems/base64-0.2.0/README.md +48 -0
  1176. package/lib/ruby/gems/3.4.0/gems/base64-0.2.0/lib/base64.rb +363 -0
  1177. package/lib/ruby/gems/3.4.0/gems/bundler-2.6.9/exe/bundle +29 -0
  1178. package/lib/ruby/gems/3.4.0/gems/bundler-2.6.9/exe/bundler +4 -0
  1179. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/LICENSE.txt +33 -0
  1180. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/NEWS.md +965 -0
  1181. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/README.md +55 -0
  1182. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/arguments/io.rdoc +5 -0
  1183. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/common/col_sep.rdoc +57 -0
  1184. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/common/quote_char.rdoc +42 -0
  1185. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/common/row_sep.rdoc +91 -0
  1186. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/generating/force_quotes.rdoc +17 -0
  1187. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/generating/quote_empty.rdoc +12 -0
  1188. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/generating/write_converters.rdoc +25 -0
  1189. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/generating/write_empty_value.rdoc +15 -0
  1190. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/generating/write_headers.rdoc +29 -0
  1191. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/generating/write_nil_value.rdoc +14 -0
  1192. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/converters.rdoc +46 -0
  1193. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/empty_value.rdoc +13 -0
  1194. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/field_size_limit.rdoc +39 -0
  1195. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/header_converters.rdoc +43 -0
  1196. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/headers.rdoc +63 -0
  1197. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/liberal_parsing.rdoc +38 -0
  1198. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/nil_value.rdoc +12 -0
  1199. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/return_headers.rdoc +22 -0
  1200. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/skip_blanks.rdoc +31 -0
  1201. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/skip_lines.rdoc +37 -0
  1202. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/strip.rdoc +15 -0
  1203. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/unconverted_fields.rdoc +27 -0
  1204. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/recipes/filtering.rdoc +226 -0
  1205. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/recipes/generating.rdoc +298 -0
  1206. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/recipes/parsing.rdoc +554 -0
  1207. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/recipes/recipes.rdoc +6 -0
  1208. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/core_ext/array.rb +9 -0
  1209. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/core_ext/string.rb +9 -0
  1210. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/fields_converter.rb +96 -0
  1211. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/input_record_separator.rb +18 -0
  1212. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/parser.rb +1292 -0
  1213. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/row.rb +757 -0
  1214. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/table.rb +1055 -0
  1215. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/version.rb +6 -0
  1216. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/writer.rb +209 -0
  1217. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv.rb +3017 -0
  1218. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/LICENSE.txt +22 -0
  1219. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/acl.rb +239 -0
  1220. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/drb.rb +1943 -0
  1221. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/eq.rb +15 -0
  1222. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/extserv.rb +44 -0
  1223. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/extservm.rb +94 -0
  1224. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/gw.rb +161 -0
  1225. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/invokemethod.rb +35 -0
  1226. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/observer.rb +26 -0
  1227. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/ssl.rb +354 -0
  1228. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/timeridconv.rb +97 -0
  1229. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/unix.rb +118 -0
  1230. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/version.rb +3 -0
  1231. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/weakidconv.rb +59 -0
  1232. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb.rb +3 -0
  1233. package/lib/ruby/gems/3.4.0/gems/erb-4.0.4.1/libexec/erb +164 -0
  1234. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/Gemfile +4 -0
  1235. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/LICENSE.txt +22 -0
  1236. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/README.md +99 -0
  1237. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/Rakefile +10 -0
  1238. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/bin/console +7 -0
  1239. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/bin/setup +6 -0
  1240. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/lib/getoptlong.rb +867 -0
  1241. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/abbrev.rb +9 -0
  1242. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/aliases.rb +8 -0
  1243. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/argv.rb +12 -0
  1244. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/each.rb +12 -0
  1245. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/fibonacci.rb +62 -0
  1246. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/permute.rb +12 -0
  1247. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/require_order.rb +13 -0
  1248. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/return_in_order.rb +13 -0
  1249. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/simple.rb +7 -0
  1250. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/types.rb +10 -0
  1251. package/lib/ruby/gems/3.4.0/gems/irb-1.14.3/exe/irb +9 -0
  1252. package/lib/ruby/gems/3.4.0/gems/matrix-0.4.2/LICENSE.txt +22 -0
  1253. package/lib/ruby/gems/3.4.0/gems/matrix-0.4.2/lib/matrix/eigenvalue_decomposition.rb +882 -0
  1254. package/lib/ruby/gems/3.4.0/gems/matrix-0.4.2/lib/matrix/lup_decomposition.rb +219 -0
  1255. package/lib/ruby/gems/3.4.0/gems/matrix-0.4.2/lib/matrix/version.rb +5 -0
  1256. package/lib/ruby/gems/3.4.0/gems/matrix-0.4.2/lib/matrix.rb +2493 -0
  1257. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/History.rdoc +1681 -0
  1258. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/Manifest.txt +32 -0
  1259. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/README.rdoc +835 -0
  1260. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/Rakefile +81 -0
  1261. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/design_rationale.rb +52 -0
  1262. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/hoe/minitest.rb +29 -0
  1263. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/assertions.rb +855 -0
  1264. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/autorun.rb +6 -0
  1265. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/benchmark.rb +452 -0
  1266. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/compress.rb +94 -0
  1267. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/error_on_warning.rb +11 -0
  1268. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/expectations.rb +321 -0
  1269. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/hell.rb +11 -0
  1270. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/manual_plugins.rb +16 -0
  1271. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/mock.rb +347 -0
  1272. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/parallel.rb +70 -0
  1273. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/pride.rb +4 -0
  1274. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/pride_plugin.rb +135 -0
  1275. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/spec.rb +350 -0
  1276. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/test.rb +237 -0
  1277. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/test_task.rb +307 -0
  1278. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/unit.rb +42 -0
  1279. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb +1235 -0
  1280. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/metametameta.rb +150 -0
  1281. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_assertions.rb +1720 -0
  1282. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_benchmark.rb +137 -0
  1283. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_mock.rb +1218 -0
  1284. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_reporter.rb +436 -0
  1285. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_spec.rb +1163 -0
  1286. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_test.rb +1356 -0
  1287. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_test_task.rb +57 -0
  1288. package/lib/ruby/gems/3.4.0/gems/mutex_m-0.3.0/BSDL +22 -0
  1289. package/lib/ruby/gems/3.4.0/gems/mutex_m-0.3.0/COPYING +56 -0
  1290. package/lib/ruby/gems/3.4.0/gems/mutex_m-0.3.0/README.md +62 -0
  1291. package/lib/ruby/gems/3.4.0/gems/mutex_m-0.3.0/lib/mutex_m.rb +121 -0
  1292. package/lib/ruby/gems/3.4.0/gems/mutex_m-0.3.0/sig/mutex_m.rbs +99 -0
  1293. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/BSDL +22 -0
  1294. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/COPYING +56 -0
  1295. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/Gemfile +6 -0
  1296. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/LICENSE.txt +2 -0
  1297. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/README.md +56 -0
  1298. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/Rakefile +10 -0
  1299. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/lib/net/ftp.rb +1580 -0
  1300. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/BSDL +22 -0
  1301. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/COPYING +56 -0
  1302. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/Gemfile +25 -0
  1303. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/LICENSE.txt +65 -0
  1304. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/README.md +77 -0
  1305. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/Rakefile +13 -0
  1306. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/docs/styles.css +85 -0
  1307. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/authenticators.rb +37 -0
  1308. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/command_data.rb +507 -0
  1309. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_accessors.rb +75 -0
  1310. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_inheritance.rb +90 -0
  1311. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_type_coercion.rb +74 -0
  1312. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_version_defaults.rb +93 -0
  1313. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config.rb +500 -0
  1314. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/connection_state.rb +48 -0
  1315. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/data_encoding.rb +214 -0
  1316. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/data_lite.rb +226 -0
  1317. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/deprecated_client_options.rb +142 -0
  1318. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/errors.rb +118 -0
  1319. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/esearch_result.rb +219 -0
  1320. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/fetch_data.rb +597 -0
  1321. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/flags.rb +262 -0
  1322. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_data.rb +1113 -0
  1323. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_parser/parser_utils.rb +245 -0
  1324. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_parser.rb +2282 -0
  1325. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_reader.rb +92 -0
  1326. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/anonymous_authenticator.rb +69 -0
  1327. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/authentication_exchange.rb +139 -0
  1328. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/authenticators.rb +122 -0
  1329. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/client_adapter.rb +123 -0
  1330. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/cram_md5_authenticator.rb +61 -0
  1331. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/digest_md5_authenticator.rb +342 -0
  1332. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/external_authenticator.rb +83 -0
  1333. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/gs2_header.rb +80 -0
  1334. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/login_authenticator.rb +56 -0
  1335. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/oauthbearer_authenticator.rb +199 -0
  1336. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/plain_authenticator.rb +101 -0
  1337. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/protocol_adapters.rb +101 -0
  1338. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/scram_algorithm.rb +58 -0
  1339. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/scram_authenticator.rb +361 -0
  1340. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/stringprep.rb +12 -0
  1341. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/xoauth2_authenticator.rb +106 -0
  1342. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl.rb +182 -0
  1343. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl_adapter.rb +20 -0
  1344. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/search_result.rb +145 -0
  1345. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sequence_set.rb +1952 -0
  1346. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/nameprep.rb +70 -0
  1347. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/saslprep.rb +69 -0
  1348. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/saslprep_tables.rb +96 -0
  1349. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/tables.rb +146 -0
  1350. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/trace.rb +85 -0
  1351. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep.rb +159 -0
  1352. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/uidplus_data.rb +244 -0
  1353. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/vanished_data.rb +65 -0
  1354. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap.rb +3968 -0
  1355. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/rakelib/benchmarks.rake +91 -0
  1356. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/rakelib/rdoc.rake +70 -0
  1357. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/rakelib/rfcs.rake +170 -0
  1358. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/rakelib/saslprep.rake +30 -0
  1359. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/rakelib/string_prep_tables_generator.rb +449 -0
  1360. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/sample/net-imap.rb +167 -0
  1361. package/lib/ruby/gems/3.4.0/gems/net-pop-0.1.2/Gemfile +7 -0
  1362. package/lib/ruby/gems/3.4.0/gems/net-pop-0.1.2/LICENSE.txt +22 -0
  1363. package/lib/ruby/gems/3.4.0/gems/net-pop-0.1.2/README.md +66 -0
  1364. package/lib/ruby/gems/3.4.0/gems/net-pop-0.1.2/Rakefile +17 -0
  1365. package/lib/ruby/gems/3.4.0/gems/net-pop-0.1.2/lib/net/pop.rb +1025 -0
  1366. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/LICENSE.txt +2 -0
  1367. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/NEWS.md +133 -0
  1368. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/README.md +97 -0
  1369. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_cram_md5.rb +48 -0
  1370. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_login.rb +11 -0
  1371. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_plain.rb +9 -0
  1372. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_xoauth2.rb +17 -0
  1373. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/authenticator.rb +57 -0
  1374. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp.rb +1164 -0
  1375. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/Gemfile +9 -0
  1376. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/LICENSE.txt +22 -0
  1377. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/README.md +139 -0
  1378. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/Rakefile +10 -0
  1379. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/bin/console +14 -0
  1380. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/bin/setup +8 -0
  1381. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/lib/observer.rb +229 -0
  1382. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/BSDL +22 -0
  1383. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/COPYING +57 -0
  1384. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/Gemfile +19 -0
  1385. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/LEGAL +4 -0
  1386. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/README.md +98 -0
  1387. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/Rakefile +59 -0
  1388. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/colorize.rb +7 -0
  1389. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/configuration.rb +46 -0
  1390. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/context.rb +233 -0
  1391. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/enable_tracepoint_events.rb +62 -0
  1392. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/inspector.rb +66 -0
  1393. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/parser.rb +251 -0
  1394. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/version.rb +3 -0
  1395. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert.rb +93 -0
  1396. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/BSDL +22 -0
  1397. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/COPYING +56 -0
  1398. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/README.md +49 -0
  1399. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/Rakefile +10 -0
  1400. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/lib/prime.rb +561 -0
  1401. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/sig/integer-extension.rbs +41 -0
  1402. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/sig/manifest.yaml +2 -0
  1403. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/sig/prime.rbs +372 -0
  1404. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/History.rdoc +2403 -0
  1405. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/MIT-LICENSE +21 -0
  1406. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/README.rdoc +155 -0
  1407. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/command_line_usage.rdoc +158 -0
  1408. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/example/Rakefile1 +38 -0
  1409. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/example/Rakefile2 +35 -0
  1410. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/example/a.c +6 -0
  1411. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/example/b.c +6 -0
  1412. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/example/main.c +11 -0
  1413. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/glossary.rdoc +42 -0
  1414. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/jamis.rb +592 -0
  1415. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/proto_rake.rdoc +127 -0
  1416. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/rake.1 +156 -0
  1417. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/rakefile.rdoc +622 -0
  1418. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/rational.rdoc +151 -0
  1419. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/exe/rake +27 -0
  1420. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/application.rb +861 -0
  1421. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/backtrace.rb +25 -0
  1422. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/clean.rb +78 -0
  1423. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/cloneable.rb +17 -0
  1424. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/cpu_counter.rb +107 -0
  1425. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/default_loader.rb +15 -0
  1426. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/dsl_definition.rb +196 -0
  1427. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/early_time.rb +22 -0
  1428. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/ext/core.rb +26 -0
  1429. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/ext/string.rb +176 -0
  1430. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/file_creation_task.rb +25 -0
  1431. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/file_list.rb +435 -0
  1432. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/file_task.rb +58 -0
  1433. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/file_utils.rb +132 -0
  1434. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/file_utils_ext.rb +134 -0
  1435. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/invocation_chain.rb +57 -0
  1436. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/invocation_exception_mixin.rb +17 -0
  1437. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/late_time.rb +18 -0
  1438. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/linked_list.rb +112 -0
  1439. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/loaders/makefile.rb +54 -0
  1440. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/multi_task.rb +14 -0
  1441. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/name_space.rb +38 -0
  1442. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/packagetask.rb +222 -0
  1443. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/phony.rb +16 -0
  1444. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/private_reader.rb +21 -0
  1445. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/promise.rb +100 -0
  1446. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/pseudo_status.rb +30 -0
  1447. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/rake_module.rb +67 -0
  1448. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/rake_test_loader.rb +27 -0
  1449. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/rule_recursion_overflow_error.rb +20 -0
  1450. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/scope.rb +43 -0
  1451. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/task.rb +434 -0
  1452. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/task_argument_error.rb +8 -0
  1453. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/task_arguments.rb +109 -0
  1454. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/task_manager.rb +331 -0
  1455. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/tasklib.rb +12 -0
  1456. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/testtask.rb +189 -0
  1457. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/thread_history_display.rb +49 -0
  1458. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/thread_pool.rb +163 -0
  1459. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/trace_output.rb +23 -0
  1460. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/version.rb +10 -0
  1461. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/win32.rb +51 -0
  1462. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake.rb +70 -0
  1463. package/lib/ruby/gems/3.4.0/gems/rdoc-6.14.0/exe/rdoc +43 -0
  1464. package/lib/ruby/gems/3.4.0/gems/rdoc-6.14.0/exe/ri +12 -0
  1465. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/Gemfile +27 -0
  1466. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/LICENSE.txt +21 -0
  1467. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/README.md +60 -0
  1468. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/Rakefile +37 -0
  1469. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/methods.rb +11 -0
  1470. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/require_paths.rb +80 -0
  1471. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/result.rb +170 -0
  1472. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/scope.rb +409 -0
  1473. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/type_analyzer.rb +1190 -0
  1474. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/types.rb +452 -0
  1475. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/version.rb +5 -0
  1476. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor.rb +141 -0
  1477. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/sig/repl_type_completor.rbs +19 -0
  1478. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/Gemfile +4 -0
  1479. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/LICENSE.txt +22 -0
  1480. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/README.md +30 -0
  1481. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/Rakefile +1 -0
  1482. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/bin/console +14 -0
  1483. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/bin/setup +8 -0
  1484. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/lib/resolv-replace.rb +76 -0
  1485. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/LICENSE.txt +22 -0
  1486. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/NEWS.md +843 -0
  1487. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/README.md +57 -0
  1488. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/context.rdoc +143 -0
  1489. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/rdoc/child.rdoc +87 -0
  1490. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/rdoc/document.rdoc +276 -0
  1491. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/rdoc/element.rdoc +602 -0
  1492. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/rdoc/node.rdoc +97 -0
  1493. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/rdoc/parent.rdoc +267 -0
  1494. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/tocs/child_toc.rdoc +12 -0
  1495. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/tocs/document_toc.rdoc +30 -0
  1496. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/tocs/element_toc.rdoc +55 -0
  1497. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/tocs/master_toc.rdoc +135 -0
  1498. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/tocs/node_toc.rdoc +16 -0
  1499. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/tocs/parent_toc.rdoc +25 -0
  1500. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tutorial.rdoc +1358 -0
  1501. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/attlistdecl.rb +63 -0
  1502. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/attribute.rb +210 -0
  1503. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/cdata.rb +68 -0
  1504. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/child.rb +96 -0
  1505. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/comment.rb +80 -0
  1506. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/doctype.rb +306 -0
  1507. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/document.rb +471 -0
  1508. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/dtd/attlistdecl.rb +11 -0
  1509. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/dtd/dtd.rb +47 -0
  1510. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/dtd/elementdecl.rb +18 -0
  1511. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/dtd/entitydecl.rb +57 -0
  1512. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/dtd/notationdecl.rb +40 -0
  1513. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/element.rb +2578 -0
  1514. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/encoding.rb +48 -0
  1515. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/entity.rb +142 -0
  1516. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/formatters/default.rb +116 -0
  1517. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/formatters/pretty.rb +142 -0
  1518. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/formatters/transitive.rb +58 -0
  1519. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/functions.rb +446 -0
  1520. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/instruction.rb +79 -0
  1521. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/light/node.rb +188 -0
  1522. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/namespace.rb +63 -0
  1523. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/node.rb +80 -0
  1524. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/output.rb +30 -0
  1525. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parent.rb +166 -0
  1526. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parseexception.rb +53 -0
  1527. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/baseparser.rb +949 -0
  1528. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/lightparser.rb +59 -0
  1529. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/pullparser.rb +213 -0
  1530. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/sax2parser.rb +270 -0
  1531. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/streamparser.rb +67 -0
  1532. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/treeparser.rb +89 -0
  1533. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/ultralightparser.rb +57 -0
  1534. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/xpathparser.rb +739 -0
  1535. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/quickpath.rb +267 -0
  1536. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/rexml.rb +39 -0
  1537. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/sax2listener.rb +98 -0
  1538. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/security.rb +28 -0
  1539. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/source.rb +388 -0
  1540. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/streamlistener.rb +93 -0
  1541. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/text.rb +420 -0
  1542. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/undefinednamespaceexception.rb +9 -0
  1543. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/validation/relaxng.rb +540 -0
  1544. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/validation/validation.rb +144 -0
  1545. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/validation/validationexception.rb +10 -0
  1546. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/xmldecl.rb +130 -0
  1547. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/xmltokens.rb +85 -0
  1548. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/xpath.rb +70 -0
  1549. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/xpath_parser.rb +980 -0
  1550. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml.rb +3 -0
  1551. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/Gemfile +6 -0
  1552. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/LICENSE.txt +22 -0
  1553. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/README.md +32 -0
  1554. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/Rakefile +9 -0
  1555. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/bin/console +14 -0
  1556. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/bin/setup +8 -0
  1557. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/lib/rinda/rinda.rb +329 -0
  1558. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/lib/rinda/ring.rb +484 -0
  1559. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/lib/rinda/tuplespace.rb +641 -0
  1560. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/LICENSE.txt +22 -0
  1561. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/NEWS.md +87 -0
  1562. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/README.md +88 -0
  1563. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/0.9.rb +462 -0
  1564. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/1.0.rb +485 -0
  1565. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/2.0.rb +143 -0
  1566. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/atom.rb +1025 -0
  1567. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/content/1.0.rb +10 -0
  1568. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/content/2.0.rb +12 -0
  1569. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/content.rb +34 -0
  1570. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/converter.rb +171 -0
  1571. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/dublincore/1.0.rb +13 -0
  1572. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/dublincore/2.0.rb +13 -0
  1573. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/dublincore/atom.rb +17 -0
  1574. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/dublincore.rb +164 -0
  1575. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/image.rb +198 -0
  1576. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/itunes.rb +482 -0
  1577. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/0.9.rb +509 -0
  1578. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/1.0.rb +436 -0
  1579. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/2.0.rb +224 -0
  1580. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/atom.rb +173 -0
  1581. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/base.rb +945 -0
  1582. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/content.rb +22 -0
  1583. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/dublincore.rb +122 -0
  1584. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/entry.rb +164 -0
  1585. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/feed.rb +427 -0
  1586. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/image.rb +112 -0
  1587. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/itunes.rb +258 -0
  1588. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/slash.rb +34 -0
  1589. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/syndication.rb +19 -0
  1590. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/taxonomy.rb +119 -0
  1591. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/trackback.rb +62 -0
  1592. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker.rb +79 -0
  1593. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/parser.rb +589 -0
  1594. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/rexmlparser.rb +50 -0
  1595. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/rss.rb +1370 -0
  1596. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/slash.rb +52 -0
  1597. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/syndication.rb +69 -0
  1598. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/taxonomy.rb +148 -0
  1599. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/trackback.rb +291 -0
  1600. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/utils.rb +182 -0
  1601. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/version.rb +4 -0
  1602. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/xml-stylesheet.rb +105 -0
  1603. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/xml.rb +73 -0
  1604. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/xmlparser.rb +95 -0
  1605. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/xmlscanner.rb +122 -0
  1606. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss.rb +94 -0
  1607. package/lib/ruby/gems/3.4.0/gems/syntax_suggest-2.0.3/exe/syntax_suggest +7 -0
  1608. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/BSDL +24 -0
  1609. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/COPYING +64 -0
  1610. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/PSFL +271 -0
  1611. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/README.md +108 -0
  1612. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/Rakefile +74 -0
  1613. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/doc/text/getting-started.md +246 -0
  1614. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/doc/text/how-to.md +90 -0
  1615. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/doc/text/news.md +1853 -0
  1616. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/assertion-failed-error.rb +60 -0
  1617. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/assertions.rb +2541 -0
  1618. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/attribute-matcher.rb +26 -0
  1619. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/attribute.rb +228 -0
  1620. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/auto-runner-loader.rb +17 -0
  1621. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/autorunner.rb +629 -0
  1622. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/code-snippet-fetcher.rb +58 -0
  1623. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/collector/descendant.rb +20 -0
  1624. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/collector/dir.rb +110 -0
  1625. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/collector/load.rb +201 -0
  1626. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/collector/objectspace.rb +35 -0
  1627. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/collector/xml.rb +249 -0
  1628. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/collector.rb +104 -0
  1629. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/color-scheme.rb +225 -0
  1630. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/color.rb +134 -0
  1631. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/data-sets.rb +127 -0
  1632. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/data.rb +371 -0
  1633. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/diff.rb +745 -0
  1634. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/error.rb +158 -0
  1635. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/exception-handler.rb +82 -0
  1636. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/failure.rb +169 -0
  1637. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/fault-location-detector.rb +104 -0
  1638. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/fixture.rb +304 -0
  1639. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/notification.rb +138 -0
  1640. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/omission.rb +198 -0
  1641. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/pending.rb +155 -0
  1642. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/priority.rb +194 -0
  1643. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/runner/console.rb +86 -0
  1644. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/runner/emacs.rb +8 -0
  1645. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/runner/xml.rb +15 -0
  1646. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/sub-test-result.rb +59 -0
  1647. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/test-suite-creator.rb +103 -0
  1648. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/test-suite-runner.rb +128 -0
  1649. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/test-suite-thread-runner.rb +69 -0
  1650. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/testcase.rb +963 -0
  1651. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/testresult.rb +132 -0
  1652. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/testsuite.rb +108 -0
  1653. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/console/outputlevel.rb +15 -0
  1654. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/console/testrunner.rb +891 -0
  1655. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/emacs/testrunner.rb +49 -0
  1656. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/testrunner.rb +53 -0
  1657. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/testrunnermediator.rb +119 -0
  1658. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  1659. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/xml/testrunner.rb +224 -0
  1660. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/util/backtracefilter.rb +59 -0
  1661. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/util/memory-usage.rb +47 -0
  1662. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/util/method-owner-finder.rb +28 -0
  1663. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/util/observable.rb +86 -0
  1664. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/util/output.rb +32 -0
  1665. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/util/procwrapper.rb +48 -0
  1666. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/version.rb +5 -0
  1667. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/warning.rb +3 -0
  1668. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit.rb +521 -0
  1669. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test-unit.rb +19 -0
  1670. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/sample/adder.rb +13 -0
  1671. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/sample/subtracter.rb +12 -0
  1672. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/sample/test_adder.rb +20 -0
  1673. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/sample/test_subtracter.rb +20 -0
  1674. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/sample/test_user.rb +23 -0
  1675. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/LICENSE +21 -0
  1676. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/README.md +25 -0
  1677. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/bin/typeprof +5 -0
  1678. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/doc/doc.ja.md +134 -0
  1679. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/doc/doc.md +136 -0
  1680. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/cli/cli.rb +178 -0
  1681. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/cli.rb +5 -0
  1682. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/code_range.rb +112 -0
  1683. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/base.rb +263 -0
  1684. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/call.rb +259 -0
  1685. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/const.rb +126 -0
  1686. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/control.rb +433 -0
  1687. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/meta.rb +150 -0
  1688. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/method.rb +339 -0
  1689. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/misc.rb +263 -0
  1690. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/module.rb +123 -0
  1691. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/pattern.rb +140 -0
  1692. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/sig_decl.rb +471 -0
  1693. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/sig_type.rb +663 -0
  1694. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/value.rb +319 -0
  1695. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/variable.rb +315 -0
  1696. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast.rb +472 -0
  1697. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/builtin.rb +146 -0
  1698. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env/method.rb +137 -0
  1699. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env/method_entity.rb +55 -0
  1700. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env/module_entity.rb +408 -0
  1701. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env/static_read.rb +155 -0
  1702. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env/type_alias_entity.rb +27 -0
  1703. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env/value_entity.rb +32 -0
  1704. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env.rb +366 -0
  1705. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/graph/box.rb +998 -0
  1706. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/graph/change_set.rb +224 -0
  1707. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/graph/filter.rb +155 -0
  1708. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/graph/vertex.rb +225 -0
  1709. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/service.rb +514 -0
  1710. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/type.rb +352 -0
  1711. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/util.rb +81 -0
  1712. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core.rb +31 -0
  1713. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/diagnostic.rb +35 -0
  1714. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/lsp/messages.rb +415 -0
  1715. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/lsp/server.rb +203 -0
  1716. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/lsp/text.rb +69 -0
  1717. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/lsp/util.rb +51 -0
  1718. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/lsp.rb +7 -0
  1719. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/version.rb +3 -0
  1720. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof.rb +6 -0
  1721. package/lib/ruby/gems/3.4.0/specifications/abbrev-0.1.2.gemspec +23 -0
  1722. package/lib/ruby/gems/3.4.0/specifications/base64-0.2.0.gemspec +23 -0
  1723. package/lib/ruby/gems/3.4.0/specifications/csv-3.3.2.gemspec +24 -0
  1724. package/lib/ruby/gems/3.4.0/specifications/default/benchmark-0.4.0.gemspec +22 -0
  1725. package/lib/ruby/gems/3.4.0/specifications/default/bundler-2.6.9.gemspec +23 -0
  1726. package/lib/ruby/gems/3.4.0/specifications/default/cgi-0.4.2.gemspec +23 -0
  1727. package/lib/ruby/gems/3.4.0/specifications/default/date-3.4.1.gemspec +23 -0
  1728. package/lib/ruby/gems/3.4.0/specifications/default/delegate-0.4.0.gemspec +21 -0
  1729. package/lib/ruby/gems/3.4.0/specifications/default/did_you_mean-2.0.0.gemspec +20 -0
  1730. package/lib/ruby/gems/3.4.0/specifications/default/digest-3.2.0.gemspec +22 -0
  1731. package/lib/ruby/gems/3.4.0/specifications/default/english-0.8.0.gemspec +21 -0
  1732. package/lib/ruby/gems/3.4.0/specifications/default/erb-4.0.4.1.gemspec +29 -0
  1733. package/lib/ruby/gems/3.4.0/specifications/default/error_highlight-0.7.0.gemspec +20 -0
  1734. package/lib/ruby/gems/3.4.0/specifications/default/etc-1.4.6.gemspec +25 -0
  1735. package/lib/ruby/gems/3.4.0/specifications/default/fcntl-1.2.0.gemspec +24 -0
  1736. package/lib/ruby/gems/3.4.0/specifications/default/fileutils-1.7.3.gemspec +21 -0
  1737. package/lib/ruby/gems/3.4.0/specifications/default/find-0.2.0.gemspec +21 -0
  1738. package/lib/ruby/gems/3.4.0/specifications/default/forwardable-1.3.3.gemspec +21 -0
  1739. package/lib/ruby/gems/3.4.0/specifications/default/io-console-0.8.1.gemspec +23 -0
  1740. package/lib/ruby/gems/3.4.0/specifications/default/io-nonblock-0.3.2.gemspec +23 -0
  1741. package/lib/ruby/gems/3.4.0/specifications/default/io-wait-0.3.2.gemspec +24 -0
  1742. package/lib/ruby/gems/3.4.0/specifications/default/ipaddr-1.2.7.gemspec +20 -0
  1743. package/lib/ruby/gems/3.4.0/specifications/default/irb-1.14.3.gemspec +28 -0
  1744. package/lib/ruby/gems/3.4.0/specifications/default/json-2.9.1.gemspec +23 -0
  1745. package/lib/ruby/gems/3.4.0/specifications/default/logger-1.6.4.gemspec +20 -0
  1746. package/lib/ruby/gems/3.4.0/specifications/default/net-http-0.6.0.gemspec +26 -0
  1747. package/lib/ruby/gems/3.4.0/specifications/default/net-protocol-0.2.2.gemspec +25 -0
  1748. package/lib/ruby/gems/3.4.0/specifications/default/open-uri-0.5.0.gemspec +27 -0
  1749. package/lib/ruby/gems/3.4.0/specifications/default/open3-0.2.1.gemspec +22 -0
  1750. package/lib/ruby/gems/3.4.0/specifications/default/openssl-3.3.3.gemspec +24 -0
  1751. package/lib/ruby/gems/3.4.0/specifications/default/optparse-0.6.0.gemspec +23 -0
  1752. package/lib/ruby/gems/3.4.0/specifications/default/ostruct-0.6.1.gemspec +20 -0
  1753. package/lib/ruby/gems/3.4.0/specifications/default/pathname-0.4.0.gemspec +24 -0
  1754. package/lib/ruby/gems/3.4.0/specifications/default/pp-0.6.2.gemspec +26 -0
  1755. package/lib/ruby/gems/3.4.0/specifications/default/prettyprint-0.2.0.gemspec +22 -0
  1756. package/lib/ruby/gems/3.4.0/specifications/default/prism-1.5.3.gemspec +22 -0
  1757. package/lib/ruby/gems/3.4.0/specifications/default/pstore-0.2.1.gemspec +21 -0
  1758. package/lib/ruby/gems/3.4.0/specifications/default/psych-5.2.2.gemspec +30 -0
  1759. package/lib/ruby/gems/3.4.0/specifications/default/rdoc-6.14.0.gemspec +30 -0
  1760. package/lib/ruby/gems/3.4.0/specifications/default/readline-0.0.4.gemspec +23 -0
  1761. package/lib/ruby/gems/3.4.0/specifications/default/reline-0.6.0.gemspec +25 -0
  1762. package/lib/ruby/gems/3.4.0/specifications/default/resolv-0.7.2.gemspec +24 -0
  1763. package/lib/ruby/gems/3.4.0/specifications/default/ruby2_keywords-0.0.5.gemspec +20 -0
  1764. package/lib/ruby/gems/3.4.0/specifications/default/securerandom-0.4.1.gemspec +22 -0
  1765. package/lib/ruby/gems/3.4.0/specifications/default/set-1.1.1.gemspec +21 -0
  1766. package/lib/ruby/gems/3.4.0/specifications/default/shellwords-0.2.2.gemspec +22 -0
  1767. package/lib/ruby/gems/3.4.0/specifications/default/singleton-0.3.0.gemspec +21 -0
  1768. package/lib/ruby/gems/3.4.0/specifications/default/stringio-3.1.2.gemspec +23 -0
  1769. package/lib/ruby/gems/3.4.0/specifications/default/strscan-3.1.2.gemspec +24 -0
  1770. package/lib/ruby/gems/3.4.0/specifications/default/syntax_suggest-2.0.3.gemspec +23 -0
  1771. package/lib/ruby/gems/3.4.0/specifications/default/tempfile-0.3.1.gemspec +21 -0
  1772. package/lib/ruby/gems/3.4.0/specifications/default/time-0.4.1.gemspec +26 -0
  1773. package/lib/ruby/gems/3.4.0/specifications/default/timeout-0.4.3.gemspec +21 -0
  1774. package/lib/ruby/gems/3.4.0/specifications/default/tmpdir-0.3.1.gemspec +26 -0
  1775. package/lib/ruby/gems/3.4.0/specifications/default/tsort-0.2.0.gemspec +22 -0
  1776. package/lib/ruby/gems/3.4.0/specifications/default/un-0.3.0.gemspec +22 -0
  1777. package/lib/ruby/gems/3.4.0/specifications/default/uri-1.0.4.gemspec +22 -0
  1778. package/lib/ruby/gems/3.4.0/specifications/default/weakref-0.1.3.gemspec +25 -0
  1779. package/lib/ruby/gems/3.4.0/specifications/default/yaml-0.4.0.gemspec +21 -0
  1780. package/lib/ruby/gems/3.4.0/specifications/default/zlib-3.2.3.gemspec +23 -0
  1781. package/lib/ruby/gems/3.4.0/specifications/drb-2.2.1.gemspec +22 -0
  1782. package/lib/ruby/gems/3.4.0/specifications/getoptlong-0.2.1.gemspec +21 -0
  1783. package/lib/ruby/gems/3.4.0/specifications/matrix-0.4.2.gemspec +22 -0
  1784. package/lib/ruby/gems/3.4.0/specifications/minitest-5.25.4.gemspec +31 -0
  1785. package/lib/ruby/gems/3.4.0/specifications/mutex_m-0.3.0.gemspec +22 -0
  1786. package/lib/ruby/gems/3.4.0/specifications/net-ftp-0.3.8.gemspec +27 -0
  1787. package/lib/ruby/gems/3.4.0/specifications/net-imap-0.5.15.gemspec +28 -0
  1788. package/lib/ruby/gems/3.4.0/specifications/net-pop-0.1.2.gemspec +26 -0
  1789. package/lib/ruby/gems/3.4.0/specifications/net-smtp-0.5.1.gemspec +26 -0
  1790. package/lib/ruby/gems/3.4.0/specifications/observer-0.1.2.gemspec +22 -0
  1791. package/lib/ruby/gems/3.4.0/specifications/power_assert-2.0.5.gemspec +24 -0
  1792. package/lib/ruby/gems/3.4.0/specifications/prime-0.1.3.gemspec +27 -0
  1793. package/lib/ruby/gems/3.4.0/specifications/rake-13.2.1.gemspec +26 -0
  1794. package/lib/ruby/gems/3.4.0/specifications/repl_type_completor-0.1.9.gemspec +28 -0
  1795. package/lib/ruby/gems/3.4.0/specifications/resolv-replace-0.1.1.gemspec +26 -0
  1796. package/lib/ruby/gems/3.4.0/specifications/rexml-3.4.4.gemspec +25 -0
  1797. package/lib/ruby/gems/3.4.0/specifications/rinda-0.2.0.gemspec +29 -0
  1798. package/lib/ruby/gems/3.4.0/specifications/rss-0.3.1.gemspec +24 -0
  1799. package/lib/ruby/gems/3.4.0/specifications/test-unit-3.6.7.gemspec +25 -0
  1800. package/lib/ruby/gems/3.4.0/specifications/typeprof-0.30.1.gemspec +28 -0
  1801. package/package.json +47 -4
  1802. package/lib/ruby/3.4.11/wasm32-wasi/rbconfig.rb +0 -366
@@ -0,0 +1,1580 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # = net/ftp.rb - FTP Client Library
4
+ #
5
+ # Written by Shugo Maeda <shugo@ruby-lang.org>.
6
+ #
7
+ # Documentation by Gavin Sinclair, sourced from "Programming Ruby" (Hunt/Thomas)
8
+ # and "Ruby In a Nutshell" (Matsumoto), used with permission.
9
+ #
10
+ # This library is distributed under the terms of the Ruby license.
11
+ # You can freely distribute/modify this library.
12
+ #
13
+ # It is included in the Ruby standard library.
14
+ #
15
+ # See the Net::FTP class for an overview.
16
+ #
17
+
18
+ require "socket"
19
+ require "monitor"
20
+ require "net/protocol"
21
+ require "time"
22
+ begin
23
+ require "openssl"
24
+ rescue LoadError
25
+ end
26
+
27
+ module Net
28
+
29
+ # :stopdoc:
30
+ class FTPError < StandardError; end
31
+ class FTPReplyError < FTPError; end
32
+ class FTPTempError < FTPError; end
33
+ class FTPPermError < FTPError; end
34
+ class FTPProtoError < FTPError; end
35
+ class FTPConnectionError < FTPError; end
36
+ # :startdoc:
37
+
38
+ #
39
+ # This class implements the File Transfer Protocol. If you have used a
40
+ # command-line FTP program, and are familiar with the commands, you will be
41
+ # able to use this class easily. Some extra features are included to take
42
+ # advantage of Ruby's style and strengths.
43
+ #
44
+ # == Example
45
+ #
46
+ # require 'net/ftp'
47
+ #
48
+ # === Example 1
49
+ #
50
+ # ftp = Net::FTP.new('example.com')
51
+ # ftp.login
52
+ # files = ftp.chdir('pub/lang/ruby/contrib')
53
+ # files = ftp.list('n*')
54
+ # ftp.getbinaryfile('nif.rb-0.91.gz', 'nif.gz', 1024)
55
+ # ftp.close
56
+ #
57
+ # === Example 2
58
+ #
59
+ # Net::FTP.open('example.com') do |ftp|
60
+ # ftp.login
61
+ # files = ftp.chdir('pub/lang/ruby/contrib')
62
+ # files = ftp.list('n*')
63
+ # ftp.getbinaryfile('nif.rb-0.91.gz', 'nif.gz', 1024)
64
+ # end
65
+ #
66
+ # == Major Methods
67
+ #
68
+ # The following are the methods most likely to be useful to users:
69
+ # - FTP.open
70
+ # - #getbinaryfile
71
+ # - #gettextfile
72
+ # - #putbinaryfile
73
+ # - #puttextfile
74
+ # - #chdir
75
+ # - #nlst
76
+ # - #size
77
+ # - #rename
78
+ # - #delete
79
+ #
80
+ # == Mainframe User Support
81
+ # - #literal
82
+ # - #quote
83
+ #
84
+ class FTP < Protocol
85
+ include MonitorMixin
86
+ if defined?(OpenSSL::SSL)
87
+ include OpenSSL
88
+ include SSL
89
+ end
90
+
91
+ # :stopdoc:
92
+ VERSION = "0.3.8"
93
+ FTP_PORT = 21
94
+ CRLF = "\r\n"
95
+ DEFAULT_BLOCKSIZE = BufferedIO::BUFSIZE
96
+ @@default_passive = true
97
+ # :startdoc:
98
+
99
+ # When +true+, transfers are performed in binary mode. Default: +true+.
100
+ attr_reader :binary
101
+
102
+ # When +true+, the connection is in passive mode. Default: +true+.
103
+ attr_accessor :passive
104
+
105
+ # When +true+, use the IP address in PASV responses. Otherwise, it uses
106
+ # the same IP address for the control connection. Default: +false+.
107
+ attr_accessor :use_pasv_ip
108
+
109
+ # When +true+, all traffic to and from the server is written
110
+ # to +$stdout+. Default: +false+.
111
+ attr_accessor :debug_mode
112
+
113
+ # Sets or retrieves the output stream for debugging.
114
+ # Output stream will be used only when +debug_mode+ is set to true.
115
+ # The default value is +$stdout+.
116
+ attr_accessor :debug_output
117
+
118
+ # Sets or retrieves the +resume+ status, which decides whether incomplete
119
+ # transfers are resumed or restarted. Default: +false+.
120
+ attr_accessor :resume
121
+
122
+ # Number of seconds to wait for the connection to open. Any number
123
+ # may be used, including Floats for fractional seconds. If the FTP
124
+ # object cannot open a connection in this many seconds, it raises a
125
+ # Net::OpenTimeout exception. The default value is +nil+.
126
+ attr_accessor :open_timeout
127
+
128
+ # Number of seconds to wait for the TLS handshake. Any number
129
+ # may be used, including Floats for fractional seconds. If the FTP
130
+ # object cannot complete the TLS handshake in this many seconds, it
131
+ # raises a Net::OpenTimeout exception. The default value is +nil+.
132
+ # If +ssl_handshake_timeout+ is +nil+, +open_timeout+ is used instead.
133
+ attr_accessor :ssl_handshake_timeout
134
+
135
+ # Number of seconds to wait for one block to be read (via one read(2)
136
+ # call). Any number may be used, including Floats for fractional
137
+ # seconds. If the FTP object cannot read data in this many seconds,
138
+ # it raises a Timeout::Error exception. The default value is 60 seconds.
139
+ attr_reader :read_timeout
140
+
141
+ # Setter for the read_timeout attribute.
142
+ def read_timeout=(sec)
143
+ @sock.read_timeout = sec
144
+ @read_timeout = sec
145
+ end
146
+
147
+ # The server's welcome message.
148
+ attr_reader :welcome
149
+
150
+ # The server's last response code.
151
+ attr_reader :last_response_code
152
+ alias lastresp last_response_code
153
+
154
+ # The server's last response.
155
+ attr_reader :last_response
156
+
157
+ # When +true+, connections are in passive mode per default.
158
+ # Default: +true+.
159
+ def self.default_passive=(value)
160
+ @@default_passive = value
161
+ end
162
+
163
+ # When +true+, connections are in passive mode per default.
164
+ # Default: +true+.
165
+ def self.default_passive
166
+ @@default_passive
167
+ end
168
+
169
+ #
170
+ # A synonym for <tt>FTP.new</tt>, but with a mandatory host parameter.
171
+ #
172
+ # If a block is given, it is passed the +FTP+ object, which will be closed
173
+ # when the block finishes, or when an exception is raised.
174
+ #
175
+ def FTP.open(host, *args)
176
+ if block_given?
177
+ ftp = new(host, *args)
178
+ begin
179
+ yield ftp
180
+ ensure
181
+ ftp.close
182
+ end
183
+ else
184
+ new(host, *args)
185
+ end
186
+ end
187
+
188
+ # :call-seq:
189
+ # Net::FTP.new(host = nil, options = {})
190
+ #
191
+ # Creates and returns a new +FTP+ object. If a +host+ is given, a connection
192
+ # is made.
193
+ #
194
+ # +options+ is an option hash, each key of which is a symbol.
195
+ #
196
+ # The available options are:
197
+ #
198
+ # port:: Port number (default value is 21)
199
+ # ssl:: If +options+[:ssl] is true, then an attempt will be made
200
+ # to use SSL (now TLS) to connect to the server. For this
201
+ # to work OpenSSL [OSSL] and the Ruby OpenSSL [RSSL]
202
+ # extensions need to be installed. If +options+[:ssl] is a
203
+ # hash, it's passed to OpenSSL::SSL::SSLContext#set_params
204
+ # as parameters.
205
+ # private_data_connection:: If true, TLS is used for data connections.
206
+ # Default: +true+ when +options+[:ssl] is true.
207
+ # implicit_ftps:: If true, TLS is established on initial connection.
208
+ # Default: +false+
209
+ # username:: Username for login. If +options+[:username] is the string
210
+ # "anonymous" and the +options+[:password] is +nil+,
211
+ # "anonymous@" is used as a password.
212
+ # password:: Password for login.
213
+ # account:: Account information for ACCT.
214
+ # passive:: When +true+, the connection is in passive mode. Default:
215
+ # +true+.
216
+ # open_timeout:: Number of seconds to wait for the connection to open.
217
+ # See Net::FTP#open_timeout for details. Default: +nil+.
218
+ # read_timeout:: Number of seconds to wait for one block to be read.
219
+ # See Net::FTP#read_timeout for details. Default: +60+.
220
+ # ssl_handshake_timeout:: Number of seconds to wait for the TLS
221
+ # handshake.
222
+ # See Net::FTP#ssl_handshake_timeout for
223
+ # details. Default: +nil+.
224
+ # use_pasv_ip:: When +true+, use the IP address in PASV responses.
225
+ # Otherwise, it uses the same IP address for the control
226
+ # connection. Default: +false+.
227
+ # debug_mode:: When +true+, all traffic to and from the server is
228
+ # written to +$stdout+. Default: +false+.
229
+ #
230
+ def initialize(host = nil, user_or_options = {}, passwd = nil, acct = nil)
231
+ super()
232
+ begin
233
+ options = user_or_options.to_hash
234
+ rescue NoMethodError
235
+ # for backward compatibility
236
+ options = {}
237
+ options[:username] = user_or_options
238
+ options[:password] = passwd
239
+ options[:account] = acct
240
+ end
241
+ @host = nil
242
+ if options[:ssl]
243
+ unless defined?(OpenSSL::SSL)
244
+ raise "SSL extension not installed"
245
+ end
246
+ ssl_params = options[:ssl] == true ? {} : options[:ssl]
247
+ @ssl_context = SSLContext.new
248
+ @ssl_context.set_params(ssl_params)
249
+ if defined?(VerifyCallbackProc)
250
+ @ssl_context.verify_callback = VerifyCallbackProc
251
+ end
252
+
253
+ # jruby-openssl does not support session caching
254
+ unless RUBY_ENGINE == "jruby"
255
+ @ssl_context.session_cache_mode =
256
+ OpenSSL::SSL::SSLContext::SESSION_CACHE_CLIENT |
257
+ OpenSSL::SSL::SSLContext::SESSION_CACHE_NO_INTERNAL_STORE
258
+ @ssl_context.session_new_cb = proc {|sock, sess| @ssl_session = sess }
259
+ end
260
+
261
+ @ssl_session = nil
262
+ if options[:private_data_connection].nil?
263
+ @private_data_connection = true
264
+ else
265
+ @private_data_connection = options[:private_data_connection]
266
+ end
267
+ if options[:implicit_ftps].nil?
268
+ @implicit_ftps = false
269
+ else
270
+ @implicit_ftps = options[:implicit_ftps]
271
+ end
272
+ else
273
+ @ssl_context = nil
274
+ if options[:private_data_connection]
275
+ raise ArgumentError,
276
+ "private_data_connection can be set to true only when ssl is enabled"
277
+ end
278
+ @private_data_connection = false
279
+ if options[:implicit_ftps]
280
+ raise ArgumentError,
281
+ "implicit_ftps can be set to true only when ssl is enabled"
282
+ end
283
+ @implicit_ftps = false
284
+ end
285
+ @binary = true
286
+ if options[:passive].nil?
287
+ @passive = @@default_passive
288
+ else
289
+ @passive = options[:passive]
290
+ end
291
+ if options[:debug_mode].nil?
292
+ @debug_mode = false
293
+ else
294
+ @debug_mode = options[:debug_mode]
295
+ end
296
+ @debug_output = $stdout
297
+ @resume = false
298
+ @bare_sock = @sock = NullSocket.new
299
+ @logged_in = false
300
+ @open_timeout = options[:open_timeout]
301
+ @ssl_handshake_timeout = options[:ssl_handshake_timeout]
302
+ @read_timeout = options[:read_timeout] || 60
303
+ @use_pasv_ip = options[:use_pasv_ip] || false
304
+ if host
305
+ connect(host, options[:port] || FTP_PORT)
306
+ if options[:username]
307
+ login(options[:username], options[:password], options[:account])
308
+ end
309
+ end
310
+ end
311
+
312
+ # A setter to toggle transfers in binary mode.
313
+ # +newmode+ is either +true+ or +false+
314
+ def binary=(newmode)
315
+ if newmode != @binary
316
+ @binary = newmode
317
+ send_type_command if @logged_in
318
+ end
319
+ end
320
+
321
+ # Sends a command to destination host, with the current binary sendmode
322
+ # type.
323
+ #
324
+ # If binary mode is +true+, then "TYPE I" (image) is sent, otherwise "TYPE
325
+ # A" (ascii) is sent.
326
+ def send_type_command # :nodoc:
327
+ if @binary
328
+ voidcmd("TYPE I")
329
+ else
330
+ voidcmd("TYPE A")
331
+ end
332
+ end
333
+ private :send_type_command
334
+
335
+ # Toggles transfers in binary mode and yields to a block.
336
+ # This preserves your current binary send mode, but allows a temporary
337
+ # transaction with binary sendmode of +newmode+.
338
+ #
339
+ # +newmode+ is either +true+ or +false+
340
+ def with_binary(newmode) # :nodoc:
341
+ oldmode = binary
342
+ self.binary = newmode
343
+ begin
344
+ yield
345
+ ensure
346
+ self.binary = oldmode
347
+ end
348
+ end
349
+ private :with_binary
350
+
351
+ # Obsolete
352
+ def return_code # :nodoc:
353
+ warn("Net::FTP#return_code is obsolete and do nothing", uplevel: 1)
354
+ return "\n"
355
+ end
356
+
357
+ # Obsolete
358
+ def return_code=(s) # :nodoc:
359
+ warn("Net::FTP#return_code= is obsolete and do nothing", uplevel: 1)
360
+ end
361
+
362
+ # Constructs a socket with +host+ and +port+.
363
+ #
364
+ # If SOCKSSocket is defined and the environment (ENV) defines
365
+ # SOCKS_SERVER, then a SOCKSSocket is returned, else a Socket is
366
+ # returned.
367
+ def open_socket(host, port) # :nodoc:
368
+ return Timeout.timeout(@open_timeout, OpenTimeout) {
369
+ if defined? SOCKSSocket and ENV["SOCKS_SERVER"]
370
+ @passive = true
371
+ SOCKSSocket.open(host, port)
372
+ else
373
+ Socket.tcp(host, port)
374
+ end
375
+ }
376
+ end
377
+ private :open_socket
378
+
379
+ def start_tls_session(sock)
380
+ ssl_sock = SSLSocket.new(sock, @ssl_context)
381
+ ssl_sock.sync_close = true
382
+ ssl_sock.hostname = @host if ssl_sock.respond_to? :hostname=
383
+ if @ssl_session &&
384
+ Process.clock_gettime(Process::CLOCK_REALTIME) < @ssl_session.time.to_f + @ssl_session.timeout
385
+ # ProFTPD returns 425 for data connections if session is not reused.
386
+ ssl_sock.session = @ssl_session
387
+ end
388
+ ssl_socket_connect(ssl_sock, @ssl_handshake_timeout || @open_timeout)
389
+ if @ssl_context.verify_mode != VERIFY_NONE
390
+ ssl_sock.post_connection_check(@host)
391
+ end
392
+ return ssl_sock
393
+ end
394
+ private :start_tls_session
395
+
396
+ #
397
+ # Establishes an FTP connection to host, optionally overriding the default
398
+ # port. If the environment variable +SOCKS_SERVER+ is set, sets up the
399
+ # connection through a SOCKS proxy. Raises an exception (typically
400
+ # <tt>Errno::ECONNREFUSED</tt>) if the connection cannot be established.
401
+ #
402
+ def connect(host, port = FTP_PORT)
403
+ debug_print "connect: #{host}:#{port}"
404
+ synchronize do
405
+ @host = host
406
+ @bare_sock = open_socket(host, port)
407
+ if @ssl_context
408
+ begin
409
+ unless @implicit_ftps
410
+ set_socket(BufferedSocket.new(@bare_sock, read_timeout: @read_timeout))
411
+ voidcmd("AUTH TLS")
412
+ end
413
+ set_socket(BufferedSSLSocket.new(start_tls_session(@bare_sock), read_timeout: @read_timeout), @implicit_ftps)
414
+ if @private_data_connection
415
+ voidcmd("PBSZ 0")
416
+ voidcmd("PROT P")
417
+ end
418
+ rescue OpenSSL::SSL::SSLError, OpenTimeout
419
+ @sock.close
420
+ raise
421
+ end
422
+ else
423
+ set_socket(BufferedSocket.new(@bare_sock, read_timeout: @read_timeout))
424
+ end
425
+ end
426
+ end
427
+
428
+ #
429
+ # Set the socket used to connect to the FTP server.
430
+ #
431
+ # May raise FTPReplyError if +get_greeting+ is false.
432
+ def set_socket(sock, get_greeting = true)
433
+ synchronize do
434
+ @sock = sock
435
+ if get_greeting
436
+ voidresp
437
+ end
438
+ end
439
+ end
440
+
441
+ # If string +s+ includes the PASS command (password), then the contents of
442
+ # the password are cleaned from the string using "*"
443
+ def sanitize(s) # :nodoc:
444
+ if s =~ /^PASS /i
445
+ return s[0, 5] + "*" * (s.length - 5)
446
+ else
447
+ return s
448
+ end
449
+ end
450
+ private :sanitize
451
+
452
+ # Ensures that +line+ has a control return / line feed (CRLF) and writes
453
+ # it to the socket.
454
+ def putline(line) # :nodoc:
455
+ debug_print "put: #{sanitize(line)}"
456
+ if /[\r\n]/ =~ line
457
+ raise ArgumentError, "A line must not contain CR or LF"
458
+ end
459
+ line = line + CRLF
460
+ @sock.write(line)
461
+ end
462
+ private :putline
463
+
464
+ # Reads a line from the sock. If EOF, then it will raise EOFError
465
+ def getline # :nodoc:
466
+ line = @sock.readline # if get EOF, raise EOFError
467
+ line.sub!(/(\r\n|\n|\r)\z/n, "")
468
+ debug_print "get: #{sanitize(line)}"
469
+ return line
470
+ end
471
+ private :getline
472
+
473
+ # Receive a section of lines until the response code's match.
474
+ def getmultiline # :nodoc:
475
+ lines = []
476
+ lines << getline
477
+ code = lines.last.slice(/\A([0-9a-zA-Z]{3})-/, 1)
478
+ if code
479
+ delimiter = code + " "
480
+ begin
481
+ lines << getline
482
+ end until lines.last.start_with?(delimiter)
483
+ end
484
+ return lines.join("\n") + "\n"
485
+ end
486
+ private :getmultiline
487
+
488
+ # Receives a response from the destination host.
489
+ #
490
+ # Returns the response code or raises FTPTempError, FTPPermError, or
491
+ # FTPProtoError
492
+ def getresp # :nodoc:
493
+ @last_response = getmultiline
494
+ @last_response_code = @last_response[0, 3]
495
+ case @last_response_code
496
+ when /\A[123]/
497
+ return @last_response
498
+ when /\A4/
499
+ raise FTPTempError, @last_response
500
+ when /\A5/
501
+ raise FTPPermError, @last_response
502
+ else
503
+ raise FTPProtoError, @last_response
504
+ end
505
+ end
506
+ private :getresp
507
+
508
+ # Receives a response.
509
+ #
510
+ # Raises FTPReplyError if the first position of the response code is not
511
+ # equal 2.
512
+ def voidresp # :nodoc:
513
+ resp = getresp
514
+ if !resp.start_with?("2")
515
+ raise FTPReplyError, resp
516
+ end
517
+ end
518
+ private :voidresp
519
+
520
+ #
521
+ # Sends a command and returns the response.
522
+ #
523
+ def sendcmd(cmd)
524
+ synchronize do
525
+ putline(cmd)
526
+ return getresp
527
+ end
528
+ end
529
+
530
+ #
531
+ # Sends a command and expect a response beginning with '2'.
532
+ #
533
+ def voidcmd(cmd)
534
+ synchronize do
535
+ putline(cmd)
536
+ voidresp
537
+ end
538
+ end
539
+
540
+ # Constructs and send the appropriate PORT (or EPRT) command
541
+ def sendport(host, port) # :nodoc:
542
+ remote_address = @bare_sock.remote_address
543
+ if remote_address.ipv4?
544
+ cmd = "PORT " + (host.split(".") + port.divmod(256)).join(",")
545
+ elsif remote_address.ipv6?
546
+ cmd = sprintf("EPRT |2|%s|%d|", host, port)
547
+ else
548
+ raise FTPProtoError, host
549
+ end
550
+ voidcmd(cmd)
551
+ end
552
+ private :sendport
553
+
554
+ # Constructs a TCPServer socket
555
+ def makeport # :nodoc:
556
+ Addrinfo.tcp(@bare_sock.local_address.ip_address, 0).listen
557
+ end
558
+ private :makeport
559
+
560
+ # sends the appropriate command to enable a passive connection
561
+ def makepasv # :nodoc:
562
+ if @bare_sock.remote_address.ipv4?
563
+ host, port = parse227(sendcmd("PASV"))
564
+ else
565
+ host, port = parse229(sendcmd("EPSV"))
566
+ end
567
+ return host, port
568
+ end
569
+ private :makepasv
570
+
571
+ # Constructs a connection for transferring data
572
+ def transfercmd(cmd, rest_offset = nil) # :nodoc:
573
+ if @passive
574
+ host, port = makepasv
575
+ succeeded = false
576
+ begin
577
+ conn = open_socket(host, port)
578
+ if @resume and rest_offset
579
+ resp = sendcmd("REST " + rest_offset.to_s)
580
+ if !resp.start_with?("3")
581
+ raise FTPReplyError, resp
582
+ end
583
+ end
584
+ resp = sendcmd(cmd)
585
+ # skip 2XX for some ftp servers
586
+ resp = getresp if resp.start_with?("2")
587
+ if !resp.start_with?("1")
588
+ raise FTPReplyError, resp
589
+ end
590
+ succeeded = true
591
+ ensure
592
+ conn&.close if !succeeded
593
+ end
594
+ else
595
+ sock = makeport
596
+ begin
597
+ addr = sock.local_address
598
+ sendport(addr.ip_address, addr.ip_port)
599
+ if @resume and rest_offset
600
+ resp = sendcmd("REST " + rest_offset.to_s)
601
+ if !resp.start_with?("3")
602
+ raise FTPReplyError, resp
603
+ end
604
+ end
605
+ resp = sendcmd(cmd)
606
+ # skip 2XX for some ftp servers
607
+ resp = getresp if resp.start_with?("2")
608
+ if !resp.start_with?("1")
609
+ raise FTPReplyError, resp
610
+ end
611
+ conn, = sock.accept
612
+ sock.shutdown(Socket::SHUT_WR) rescue nil
613
+ sock.read rescue nil
614
+ ensure
615
+ sock.close
616
+ end
617
+ end
618
+ if @private_data_connection
619
+ return BufferedSSLSocket.new(start_tls_session(conn),
620
+ read_timeout: @read_timeout)
621
+ else
622
+ return BufferedSocket.new(conn, read_timeout: @read_timeout)
623
+ end
624
+ end
625
+ private :transfercmd
626
+
627
+ #
628
+ # Logs in to the remote host. The session must have been
629
+ # previously connected. If +user+ is the string "anonymous" and
630
+ # the +password+ is +nil+, "anonymous@" is used as a password. If
631
+ # the +acct+ parameter is not +nil+, an FTP ACCT command is sent
632
+ # following the successful login. Raises an exception on error
633
+ # (typically <tt>Net::FTPPermError</tt>).
634
+ #
635
+ def login(user = "anonymous", passwd = nil, acct = nil)
636
+ if user == "anonymous" and passwd == nil
637
+ passwd = "anonymous@"
638
+ end
639
+
640
+ resp = ""
641
+ synchronize do
642
+ resp = sendcmd('USER ' + user)
643
+ if resp.start_with?("3")
644
+ raise FTPReplyError, resp if passwd.nil?
645
+ resp = sendcmd('PASS ' + passwd)
646
+ end
647
+ if resp.start_with?("3")
648
+ raise FTPReplyError, resp if acct.nil?
649
+ resp = sendcmd('ACCT ' + acct)
650
+ end
651
+ end
652
+ if !resp.start_with?("2")
653
+ raise FTPReplyError, resp
654
+ end
655
+ @welcome = resp
656
+ send_type_command
657
+ @logged_in = true
658
+ end
659
+
660
+ #
661
+ # Puts the connection into binary (image) mode, issues the given command,
662
+ # and fetches the data returned, passing it to the associated block in
663
+ # chunks of +blocksize+ characters. Note that +cmd+ is a server command
664
+ # (such as "RETR myfile").
665
+ #
666
+ def retrbinary(cmd, blocksize, rest_offset = nil) # :yield: data
667
+ synchronize do
668
+ with_binary(true) do
669
+ begin
670
+ conn = transfercmd(cmd, rest_offset)
671
+ while data = conn.read(blocksize)
672
+ yield(data)
673
+ end
674
+ conn.shutdown(Socket::SHUT_WR) rescue nil
675
+ conn.read_timeout = 1
676
+ conn.read rescue nil
677
+ ensure
678
+ conn.close if conn
679
+ end
680
+ voidresp
681
+ end
682
+ end
683
+ end
684
+
685
+ #
686
+ # Puts the connection into ASCII (text) mode, issues the given command, and
687
+ # passes the resulting data, one line at a time, to the associated block. If
688
+ # no block is given, prints the lines. Note that +cmd+ is a server command
689
+ # (such as "RETR myfile").
690
+ #
691
+ def retrlines(cmd) # :yield: line
692
+ synchronize do
693
+ with_binary(false) do
694
+ begin
695
+ conn = transfercmd(cmd)
696
+ while line = conn.gets
697
+ yield(line.sub(/\r?\n\z/, ""), !line.match(/\n\z/).nil?)
698
+ end
699
+ conn.shutdown(Socket::SHUT_WR) rescue nil
700
+ conn.read_timeout = 1
701
+ conn.read rescue nil
702
+ ensure
703
+ conn.close if conn
704
+ end
705
+ voidresp
706
+ end
707
+ end
708
+ end
709
+
710
+ #
711
+ # Puts the connection into binary (image) mode, issues the given server-side
712
+ # command (such as "STOR myfile"), and sends the contents of the file named
713
+ # +file+ to the server. If the optional block is given, it also passes it
714
+ # the data, in chunks of +blocksize+ characters.
715
+ #
716
+ def storbinary(cmd, file, blocksize, rest_offset = nil) # :yield: data
717
+ if rest_offset
718
+ file.seek(rest_offset, IO::SEEK_SET)
719
+ end
720
+ synchronize do
721
+ with_binary(true) do
722
+ begin
723
+ conn = transfercmd(cmd)
724
+ while buf = file.read(blocksize)
725
+ conn.write(buf)
726
+ yield(buf) if block_given?
727
+ end
728
+ conn.shutdown(Socket::SHUT_WR) rescue nil
729
+ conn.read_timeout = 1
730
+ conn.read rescue nil
731
+ ensure
732
+ conn.close if conn
733
+ end
734
+ voidresp
735
+ end
736
+ end
737
+ rescue Errno::EPIPE
738
+ # EPIPE, in this case, means that the data connection was unexpectedly
739
+ # terminated. Rather than just raising EPIPE to the caller, check the
740
+ # response on the control connection. If getresp doesn't raise a more
741
+ # appropriate exception, re-raise the original exception.
742
+ getresp
743
+ raise
744
+ end
745
+
746
+ #
747
+ # Puts the connection into ASCII (text) mode, issues the given server-side
748
+ # command (such as "STOR myfile"), and sends the contents of the file
749
+ # named +file+ to the server, one line at a time. If the optional block is
750
+ # given, it also passes it the lines.
751
+ #
752
+ def storlines(cmd, file) # :yield: line
753
+ synchronize do
754
+ with_binary(false) do
755
+ begin
756
+ conn = transfercmd(cmd)
757
+ while buf = file.gets
758
+ if buf[-2, 2] != CRLF
759
+ buf = buf.chomp + CRLF
760
+ end
761
+ conn.write(buf)
762
+ yield(buf) if block_given?
763
+ end
764
+ conn.shutdown(Socket::SHUT_WR) rescue nil
765
+ conn.read_timeout = 1
766
+ conn.read rescue nil
767
+ ensure
768
+ conn.close if conn
769
+ end
770
+ getresp # The response might be important when connected to a mainframe
771
+ end
772
+ end
773
+ rescue Errno::EPIPE
774
+ # EPIPE, in this case, means that the data connection was unexpectedly
775
+ # terminated. Rather than just raising EPIPE to the caller, check the
776
+ # response on the control connection. If getresp doesn't raise a more
777
+ # appropriate exception, re-raise the original exception.
778
+ getresp
779
+ raise
780
+ end
781
+
782
+ #
783
+ # Retrieves +remotefile+ in binary mode, storing the result in +localfile+.
784
+ # If +localfile+ is nil, returns retrieved data.
785
+ # If a block is supplied, it is passed the retrieved data in +blocksize+
786
+ # chunks.
787
+ #
788
+ def getbinaryfile(remotefile, localfile = File.basename(remotefile),
789
+ blocksize = DEFAULT_BLOCKSIZE, &block) # :yield: data
790
+ f = nil
791
+ result = nil
792
+ if localfile
793
+ if @resume
794
+ rest_offset = File.size?(localfile)
795
+ f = File.open(localfile, "a")
796
+ else
797
+ rest_offset = nil
798
+ f = File.open(localfile, "w")
799
+ end
800
+ elsif !block_given?
801
+ result = String.new
802
+ end
803
+ begin
804
+ f&.binmode
805
+ retrbinary("RETR #{remotefile}", blocksize, rest_offset) do |data|
806
+ f&.write(data)
807
+ block&.(data)
808
+ result&.concat(data)
809
+ end
810
+ return result
811
+ ensure
812
+ f&.close
813
+ end
814
+ end
815
+
816
+ #
817
+ # Retrieves +remotefile+ in ASCII (text) mode, storing the result in
818
+ # +localfile+.
819
+ # If +localfile+ is nil, returns retrieved data.
820
+ # If a block is supplied, it is passed the retrieved data one
821
+ # line at a time.
822
+ #
823
+ def gettextfile(remotefile, localfile = File.basename(remotefile),
824
+ &block) # :yield: line
825
+ f = nil
826
+ result = nil
827
+ if localfile
828
+ f = File.open(localfile, "w")
829
+ elsif !block_given?
830
+ result = String.new
831
+ end
832
+ begin
833
+ retrlines("RETR #{remotefile}") do |line, newline|
834
+ l = newline ? line + "\n" : line
835
+ f&.print(l)
836
+ block&.(line, newline)
837
+ result&.concat(l)
838
+ end
839
+ return result
840
+ ensure
841
+ f&.close
842
+ end
843
+ end
844
+
845
+ #
846
+ # Retrieves +remotefile+ in whatever mode the session is set (text or
847
+ # binary). See #gettextfile and #getbinaryfile.
848
+ #
849
+ def get(remotefile, localfile = File.basename(remotefile),
850
+ blocksize = DEFAULT_BLOCKSIZE, &block) # :yield: data
851
+ if @binary
852
+ getbinaryfile(remotefile, localfile, blocksize, &block)
853
+ else
854
+ gettextfile(remotefile, localfile, &block)
855
+ end
856
+ end
857
+
858
+ #
859
+ # Transfers +localfile+ to the server in binary mode, storing the result in
860
+ # +remotefile+. If a block is supplied, calls it, passing in the transmitted
861
+ # data in +blocksize+ chunks.
862
+ #
863
+ def putbinaryfile(localfile, remotefile = File.basename(localfile),
864
+ blocksize = DEFAULT_BLOCKSIZE, &block) # :yield: data
865
+ if @resume
866
+ begin
867
+ rest_offset = size(remotefile)
868
+ rescue Net::FTPPermError
869
+ rest_offset = nil
870
+ end
871
+ else
872
+ rest_offset = nil
873
+ end
874
+ f = File.open(localfile)
875
+ begin
876
+ f.binmode
877
+ if rest_offset
878
+ storbinary("APPE #{remotefile}", f, blocksize, rest_offset, &block)
879
+ else
880
+ storbinary("STOR #{remotefile}", f, blocksize, rest_offset, &block)
881
+ end
882
+ ensure
883
+ f.close
884
+ end
885
+ end
886
+
887
+ #
888
+ # Transfers +localfile+ to the server in ASCII (text) mode, storing the result
889
+ # in +remotefile+. If callback or an associated block is supplied, calls it,
890
+ # passing in the transmitted data one line at a time.
891
+ #
892
+ # Returns the response which will contain a job number if the user was communicating with a mainframe in ASCII mode
893
+ # after issuing 'quote site filetype=jes'
894
+ #
895
+ def puttextfile(localfile, remotefile = File.basename(localfile), &block) # :yield: line
896
+ f = File.open(localfile)
897
+ response = ''
898
+ begin
899
+ response = storlines("STOR #{remotefile}", f, &block)
900
+ ensure
901
+ f.close
902
+ end
903
+ response
904
+ end
905
+
906
+ #
907
+ # Transfers +localfile+ to the server in whatever mode the session is set
908
+ # (text or binary). See #puttextfile and #putbinaryfile.
909
+ #
910
+ def put(localfile, remotefile = File.basename(localfile),
911
+ blocksize = DEFAULT_BLOCKSIZE, &block)
912
+ if @binary
913
+ putbinaryfile(localfile, remotefile, blocksize, &block)
914
+ else
915
+ puttextfile(localfile, remotefile, &block)
916
+ end
917
+ end
918
+
919
+ #
920
+ # Sends the ACCT command.
921
+ #
922
+ # This is a less common FTP command, to send account
923
+ # information if the destination host requires it.
924
+ #
925
+ def acct(account)
926
+ cmd = "ACCT " + account
927
+ voidcmd(cmd)
928
+ end
929
+
930
+ #
931
+ # Returns an array of filenames in the remote directory.
932
+ #
933
+ def nlst(dir = nil)
934
+ cmd = "NLST"
935
+ if dir
936
+ cmd = "#{cmd} #{dir}"
937
+ end
938
+ files = []
939
+ retrlines(cmd) do |line|
940
+ files.push(line)
941
+ end
942
+ return files
943
+ end
944
+
945
+ #
946
+ # Returns an array of file information in the directory (the output is like
947
+ # `ls -l`). If a block is given, it iterates through the listing.
948
+ #
949
+ def list(*args, &block) # :yield: line
950
+ cmd = "LIST"
951
+ args.each do |arg|
952
+ cmd = "#{cmd} #{arg}"
953
+ end
954
+ lines = []
955
+ retrlines(cmd) do |line|
956
+ lines << line
957
+ end
958
+ if block
959
+ lines.each(&block)
960
+ end
961
+ return lines
962
+ end
963
+ alias ls list
964
+ alias dir list
965
+
966
+ #
967
+ # MLSxEntry represents an entry in responses of MLST/MLSD.
968
+ # Each entry has the facts (e.g., size, last modification time, etc.)
969
+ # and the pathname.
970
+ #
971
+ class MLSxEntry
972
+ attr_reader :facts, :pathname
973
+
974
+ def initialize(facts, pathname)
975
+ @facts = facts
976
+ @pathname = pathname
977
+ end
978
+
979
+ standard_facts = %w(size modify create type unique perm
980
+ lang media-type charset)
981
+ standard_facts.each do |factname|
982
+ define_method factname.gsub(/-/, "_") do
983
+ facts[factname]
984
+ end
985
+ end
986
+
987
+ #
988
+ # Returns +true+ if the entry is a file (i.e., the value of the type
989
+ # fact is file).
990
+ #
991
+ def file?
992
+ return facts["type"] == "file"
993
+ end
994
+
995
+ #
996
+ # Returns +true+ if the entry is a directory (i.e., the value of the
997
+ # type fact is dir, cdir, or pdir).
998
+ #
999
+ def directory?
1000
+ if /\A[cp]?dir\z/.match(facts["type"])
1001
+ return true
1002
+ else
1003
+ return false
1004
+ end
1005
+ end
1006
+
1007
+ #
1008
+ # Returns +true+ if the APPE command may be applied to the file.
1009
+ #
1010
+ def appendable?
1011
+ return facts["perm"].include?(?a)
1012
+ end
1013
+
1014
+ #
1015
+ # Returns +true+ if files may be created in the directory by STOU,
1016
+ # STOR, APPE, and RNTO.
1017
+ #
1018
+ def creatable?
1019
+ return facts["perm"].include?(?c)
1020
+ end
1021
+
1022
+ #
1023
+ # Returns +true+ if the file or directory may be deleted by DELE/RMD.
1024
+ #
1025
+ def deletable?
1026
+ return facts["perm"].include?(?d)
1027
+ end
1028
+
1029
+ #
1030
+ # Returns +true+ if the directory may be entered by CWD/CDUP.
1031
+ #
1032
+ def enterable?
1033
+ return facts["perm"].include?(?e)
1034
+ end
1035
+
1036
+ #
1037
+ # Returns +true+ if the file or directory may be renamed by RNFR.
1038
+ #
1039
+ def renamable?
1040
+ return facts["perm"].include?(?f)
1041
+ end
1042
+
1043
+ #
1044
+ # Returns +true+ if the listing commands, LIST, NLST, and MLSD are
1045
+ # applied to the directory.
1046
+ #
1047
+ def listable?
1048
+ return facts["perm"].include?(?l)
1049
+ end
1050
+
1051
+ #
1052
+ # Returns +true+ if the MKD command may be used to create a new
1053
+ # directory within the directory.
1054
+ #
1055
+ def directory_makable?
1056
+ return facts["perm"].include?(?m)
1057
+ end
1058
+
1059
+ #
1060
+ # Returns +true+ if the objects in the directory may be deleted, or
1061
+ # the directory may be purged.
1062
+ #
1063
+ def purgeable?
1064
+ return facts["perm"].include?(?p)
1065
+ end
1066
+
1067
+ #
1068
+ # Returns +true+ if the RETR command may be applied to the file.
1069
+ #
1070
+ def readable?
1071
+ return facts["perm"].include?(?r)
1072
+ end
1073
+
1074
+ #
1075
+ # Returns +true+ if the STOR command may be applied to the file.
1076
+ #
1077
+ def writable?
1078
+ return facts["perm"].include?(?w)
1079
+ end
1080
+ end
1081
+
1082
+ CASE_DEPENDENT_PARSER = ->(value) { value }
1083
+ CASE_INDEPENDENT_PARSER = ->(value) { value.downcase }
1084
+ DECIMAL_PARSER = ->(value) { value.to_i }
1085
+ OCTAL_PARSER = ->(value) { value.to_i(8) }
1086
+ TIME_PARSER = ->(value, local = false) {
1087
+ unless /\A(?<year>\d{4})(?<month>\d{2})(?<day>\d{2})
1088
+ (?<hour>\d{2})(?<min>\d{2})(?<sec>\d{2})
1089
+ (?:\.(?<fractions>\d{1,17}))?/x =~ value
1090
+ value = value[0, 97] + "..." if value.size > 100
1091
+ raise FTPProtoError, "invalid time-val: #{value}"
1092
+ end
1093
+ usec = ".#{fractions}".to_r * 1_000_000 if fractions
1094
+ Time.public_send(local ? :local : :utc, year, month, day, hour, min, sec, usec)
1095
+ }
1096
+ FACT_PARSERS = Hash.new(CASE_DEPENDENT_PARSER)
1097
+ FACT_PARSERS["size"] = DECIMAL_PARSER
1098
+ FACT_PARSERS["modify"] = TIME_PARSER
1099
+ FACT_PARSERS["create"] = TIME_PARSER
1100
+ FACT_PARSERS["type"] = CASE_INDEPENDENT_PARSER
1101
+ FACT_PARSERS["unique"] = CASE_DEPENDENT_PARSER
1102
+ FACT_PARSERS["perm"] = CASE_INDEPENDENT_PARSER
1103
+ FACT_PARSERS["lang"] = CASE_INDEPENDENT_PARSER
1104
+ FACT_PARSERS["media-type"] = CASE_INDEPENDENT_PARSER
1105
+ FACT_PARSERS["charset"] = CASE_INDEPENDENT_PARSER
1106
+ FACT_PARSERS["unix.mode"] = OCTAL_PARSER
1107
+ FACT_PARSERS["unix.owner"] = DECIMAL_PARSER
1108
+ FACT_PARSERS["unix.group"] = DECIMAL_PARSER
1109
+ FACT_PARSERS["unix.ctime"] = TIME_PARSER
1110
+ FACT_PARSERS["unix.atime"] = TIME_PARSER
1111
+
1112
+ def parse_mlsx_entry(entry)
1113
+ facts, pathname = entry.chomp.split(/ /, 2)
1114
+ unless pathname
1115
+ raise FTPProtoError, entry
1116
+ end
1117
+ return MLSxEntry.new(
1118
+ facts.scan(/(.*?)=(.*?);/).each_with_object({}) {
1119
+ |(factname, value), h|
1120
+ name = factname.downcase
1121
+ h[name] = FACT_PARSERS[name].(value)
1122
+ },
1123
+ pathname)
1124
+ end
1125
+ private :parse_mlsx_entry
1126
+
1127
+ #
1128
+ # Returns data (e.g., size, last modification time, entry type, etc.)
1129
+ # about the file or directory specified by +pathname+.
1130
+ # If +pathname+ is omitted, the current directory is assumed.
1131
+ #
1132
+ def mlst(pathname = nil)
1133
+ cmd = pathname ? "MLST #{pathname}" : "MLST"
1134
+ resp = sendcmd(cmd)
1135
+ if !resp.start_with?("250")
1136
+ raise FTPReplyError, resp
1137
+ end
1138
+ line = resp.lines[1]
1139
+ unless line
1140
+ raise FTPProtoError, resp
1141
+ end
1142
+ entry = line.sub(/\A(250-| *)/, "")
1143
+ return parse_mlsx_entry(entry)
1144
+ end
1145
+
1146
+ #
1147
+ # Returns an array of the entries of the directory specified by
1148
+ # +pathname+.
1149
+ # Each entry has the facts (e.g., size, last modification time, etc.)
1150
+ # and the pathname.
1151
+ # If a block is given, it iterates through the listing.
1152
+ # If +pathname+ is omitted, the current directory is assumed.
1153
+ #
1154
+ def mlsd(pathname = nil, &block) # :yield: entry
1155
+ cmd = pathname ? "MLSD #{pathname}" : "MLSD"
1156
+ entries = []
1157
+ retrlines(cmd) do |line|
1158
+ entries << parse_mlsx_entry(line)
1159
+ end
1160
+ if block
1161
+ entries.each(&block)
1162
+ end
1163
+ return entries
1164
+ end
1165
+
1166
+ #
1167
+ # Renames a file on the server.
1168
+ #
1169
+ def rename(fromname, toname)
1170
+ resp = sendcmd("RNFR #{fromname}")
1171
+ if !resp.start_with?("3")
1172
+ raise FTPReplyError, resp
1173
+ end
1174
+ voidcmd("RNTO #{toname}")
1175
+ end
1176
+
1177
+ #
1178
+ # Deletes a file on the server.
1179
+ #
1180
+ def delete(filename)
1181
+ resp = sendcmd("DELE #{filename}")
1182
+ if resp.start_with?("250")
1183
+ return
1184
+ elsif resp.start_with?("5")
1185
+ raise FTPPermError, resp
1186
+ else
1187
+ raise FTPReplyError, resp
1188
+ end
1189
+ end
1190
+
1191
+ #
1192
+ # Changes the (remote) directory.
1193
+ #
1194
+ def chdir(dirname)
1195
+ if dirname == ".."
1196
+ begin
1197
+ voidcmd("CDUP")
1198
+ return
1199
+ rescue FTPPermError => e
1200
+ if e.message[0, 3] != "500"
1201
+ raise e
1202
+ end
1203
+ end
1204
+ end
1205
+ cmd = "CWD #{dirname}"
1206
+ voidcmd(cmd)
1207
+ end
1208
+
1209
+ def get_body(resp) # :nodoc:
1210
+ resp.slice(/\A[0-9a-zA-Z]{3} (.*)$/, 1)
1211
+ end
1212
+ private :get_body
1213
+
1214
+ #
1215
+ # Returns the size of the given (remote) filename.
1216
+ #
1217
+ def size(filename)
1218
+ with_binary(true) do
1219
+ resp = sendcmd("SIZE #{filename}")
1220
+ if !resp.start_with?("213")
1221
+ raise FTPReplyError, resp
1222
+ end
1223
+ return get_body(resp).to_i
1224
+ end
1225
+ end
1226
+
1227
+ #
1228
+ # Returns the last modification time of the (remote) file. If +local+ is
1229
+ # +true+, it is returned as a local time, otherwise it's a UTC time.
1230
+ #
1231
+ def mtime(filename, local = false)
1232
+ return TIME_PARSER.(mdtm(filename), local)
1233
+ end
1234
+
1235
+ #
1236
+ # Creates a remote directory.
1237
+ #
1238
+ def mkdir(dirname)
1239
+ resp = sendcmd("MKD #{dirname}")
1240
+ return parse257(resp)
1241
+ end
1242
+
1243
+ #
1244
+ # The "quote" subcommand sends arguments verbatim to the remote ftp server.
1245
+ # The "literal" subcommand is an alias for "quote".
1246
+ # @param arguments Array[String] to be sent verbatim to the remote ftp server
1247
+ #
1248
+ def quote(arguments)
1249
+ sendcmd(arguments)
1250
+ end
1251
+ alias literal quote
1252
+
1253
+ #
1254
+ # Removes a remote directory.
1255
+ #
1256
+ def rmdir(dirname)
1257
+ voidcmd("RMD #{dirname}")
1258
+ end
1259
+
1260
+ #
1261
+ # Returns the current remote directory.
1262
+ #
1263
+ def pwd
1264
+ resp = sendcmd("PWD")
1265
+ return parse257(resp)
1266
+ end
1267
+ alias getdir pwd
1268
+
1269
+ #
1270
+ # Returns system information.
1271
+ #
1272
+ def system
1273
+ resp = sendcmd("SYST")
1274
+ if !resp.start_with?("215")
1275
+ raise FTPReplyError, resp
1276
+ end
1277
+ return get_body(resp)
1278
+ end
1279
+
1280
+ #
1281
+ # Aborts the previous command (ABOR command).
1282
+ #
1283
+ def abort
1284
+ line = "ABOR" + CRLF
1285
+ debug_print "put: ABOR"
1286
+ @sock.send(line, Socket::MSG_OOB)
1287
+ resp = getmultiline
1288
+ unless ["426", "226", "225"].include?(resp[0, 3])
1289
+ raise FTPProtoError, resp
1290
+ end
1291
+ return resp
1292
+ end
1293
+
1294
+ #
1295
+ # Returns the status (STAT command).
1296
+ #
1297
+ # pathname:: when stat is invoked with pathname as a parameter it acts like
1298
+ # list but a lot faster and over the same tcp session.
1299
+ #
1300
+ def status(pathname = nil)
1301
+ line = pathname ? "STAT #{pathname}" : "STAT"
1302
+ if /[\r\n]/ =~ line
1303
+ raise ArgumentError, "A line must not contain CR or LF"
1304
+ end
1305
+ debug_print "put: #{line}"
1306
+ @sock.send(line + CRLF, Socket::MSG_OOB)
1307
+ return getresp
1308
+ end
1309
+
1310
+ #
1311
+ # Returns the raw last modification time of the (remote) file in the format
1312
+ # "YYYYMMDDhhmmss" (MDTM command).
1313
+ #
1314
+ # Use +mtime+ if you want a parsed Time instance.
1315
+ #
1316
+ def mdtm(filename)
1317
+ resp = sendcmd("MDTM #{filename}")
1318
+ if resp.start_with?("213")
1319
+ return get_body(resp)
1320
+ end
1321
+ end
1322
+
1323
+ #
1324
+ # Issues the HELP command.
1325
+ #
1326
+ def help(arg = nil)
1327
+ cmd = "HELP"
1328
+ if arg
1329
+ cmd = cmd + " " + arg
1330
+ end
1331
+ sendcmd(cmd)
1332
+ end
1333
+
1334
+ #
1335
+ # Exits the FTP session.
1336
+ #
1337
+ def quit
1338
+ voidcmd("QUIT")
1339
+ end
1340
+
1341
+ #
1342
+ # Issues a NOOP command.
1343
+ #
1344
+ # Does nothing except return a response.
1345
+ #
1346
+ def noop
1347
+ voidcmd("NOOP")
1348
+ end
1349
+
1350
+ #
1351
+ # Issues a SITE command.
1352
+ #
1353
+ def site(arg)
1354
+ cmd = "SITE " + arg
1355
+ voidcmd(cmd)
1356
+ end
1357
+
1358
+ #
1359
+ # Issues a FEAT command
1360
+ #
1361
+ # Returns an array of supported optional features
1362
+ #
1363
+ def features
1364
+ resp = sendcmd("FEAT")
1365
+ if !resp.start_with?("211")
1366
+ raise FTPReplyError, resp
1367
+ end
1368
+
1369
+ feats = []
1370
+ resp.each_line do |line|
1371
+ next if !line.start_with?(' ') # skip status lines
1372
+
1373
+ feats << line.strip
1374
+ end
1375
+
1376
+ return feats
1377
+ end
1378
+
1379
+ #
1380
+ # Issues an OPTS command
1381
+ # - name Should be the name of the option to set
1382
+ # - params is any optional parameters to supply with the option
1383
+ #
1384
+ # example: option('UTF8', 'ON') => 'OPTS UTF8 ON'
1385
+ #
1386
+ def option(name, params = nil)
1387
+ cmd = "OPTS #{name}"
1388
+ cmd += " #{params}" if params
1389
+
1390
+ voidcmd(cmd)
1391
+ end
1392
+
1393
+ #
1394
+ # Closes the connection. Further operations are impossible until you open
1395
+ # a new connection with #connect.
1396
+ #
1397
+ def close
1398
+ if @sock and not @sock.closed?
1399
+ begin
1400
+ @sock.shutdown(Socket::SHUT_WR) rescue nil
1401
+ orig, self.read_timeout = self.read_timeout, 3
1402
+ @sock.read rescue nil
1403
+ ensure
1404
+ @sock.close
1405
+ self.read_timeout = orig
1406
+ end
1407
+ end
1408
+ end
1409
+
1410
+ #
1411
+ # Returns +true+ if and only if the connection is closed.
1412
+ #
1413
+ def closed?
1414
+ @sock == nil or @sock.closed?
1415
+ end
1416
+
1417
+ # handler for response code 227
1418
+ # (Entering Passive Mode (h1,h2,h3,h4,p1,p2))
1419
+ #
1420
+ # Returns host and port.
1421
+ def parse227(resp) # :nodoc:
1422
+ if !resp.start_with?("227")
1423
+ raise FTPReplyError, resp
1424
+ end
1425
+ if m = /(?<host>\d+(?:,\d+){3}),(?<port>\d+,\d+)/.match(resp)
1426
+ if @use_pasv_ip
1427
+ host = parse_pasv_ipv4_host(m["host"])
1428
+ else
1429
+ host = @bare_sock.remote_address.ip_address
1430
+ end
1431
+ return host, parse_pasv_port(m["port"])
1432
+ else
1433
+ raise FTPProtoError, resp
1434
+ end
1435
+ end
1436
+ private :parse227
1437
+
1438
+ def parse_pasv_ipv4_host(s)
1439
+ return s.tr(",", ".")
1440
+ end
1441
+ private :parse_pasv_ipv4_host
1442
+
1443
+ def parse_pasv_ipv6_host(s)
1444
+ return s.split(/,/).map { |i|
1445
+ "%02x" % i.to_i
1446
+ }.each_slice(2).map(&:join).join(":")
1447
+ end
1448
+ private :parse_pasv_ipv6_host
1449
+
1450
+ def parse_pasv_port(s)
1451
+ return s.split(/,/).map(&:to_i).inject { |x, y|
1452
+ (x << 8) + y
1453
+ }
1454
+ end
1455
+ private :parse_pasv_port
1456
+
1457
+ # handler for response code 229
1458
+ # (Extended Passive Mode Entered)
1459
+ #
1460
+ # Returns host and port.
1461
+ def parse229(resp) # :nodoc:
1462
+ if !resp.start_with?("229")
1463
+ raise FTPReplyError, resp
1464
+ end
1465
+ if m = /\((?<d>[!-~])\k<d>\k<d>(?<port>\d+)\k<d>\)/.match(resp)
1466
+ return @bare_sock.remote_address.ip_address, m["port"].to_i
1467
+ else
1468
+ raise FTPProtoError, resp
1469
+ end
1470
+ end
1471
+ private :parse229
1472
+
1473
+ # handler for response code 257
1474
+ # ("PATHNAME" created)
1475
+ #
1476
+ # Returns host and port.
1477
+ def parse257(resp) # :nodoc:
1478
+ if !resp.start_with?("257")
1479
+ raise FTPReplyError, resp
1480
+ end
1481
+ return resp.slice(/"(([^"]|"")*)"/, 1).to_s.gsub(/""/, '"')
1482
+ end
1483
+ private :parse257
1484
+
1485
+ #
1486
+ # Writes debug message to the debug output stream
1487
+ #
1488
+ def debug_print(msg)
1489
+ @debug_output << msg + "\n" if @debug_mode && @debug_output
1490
+ end
1491
+
1492
+ # :stopdoc:
1493
+ class NullSocket
1494
+ def read_timeout=(sec)
1495
+ end
1496
+
1497
+ def closed?
1498
+ true
1499
+ end
1500
+
1501
+ def close
1502
+ end
1503
+
1504
+ def method_missing(mid, *args)
1505
+ raise FTPConnectionError, "not connected"
1506
+ end
1507
+ end
1508
+
1509
+ class BufferedSocket < BufferedIO
1510
+ [:local_address, :remote_address, :addr, :peeraddr, :send, :shutdown].each do |method|
1511
+ define_method(method) { |*args|
1512
+ @io.__send__(method, *args)
1513
+ }
1514
+ end
1515
+
1516
+ def read(len = nil)
1517
+ if len
1518
+ s = super(len, String.new, true)
1519
+ return s.empty? ? nil : s
1520
+ else
1521
+ result = String.new
1522
+ while s = super(DEFAULT_BLOCKSIZE, String.new, true)
1523
+ break if s.empty?
1524
+ result << s
1525
+ end
1526
+ return result
1527
+ end
1528
+ end
1529
+
1530
+ def gets
1531
+ line = readuntil("\n", true)
1532
+ return line.empty? ? nil : line
1533
+ end
1534
+
1535
+ def readline
1536
+ line = gets
1537
+ if line.nil?
1538
+ raise EOFError, "end of file reached"
1539
+ end
1540
+ return line
1541
+ end
1542
+ end
1543
+
1544
+ if defined?(OpenSSL::SSL::SSLSocket)
1545
+ class BufferedSSLSocket < BufferedSocket
1546
+ def initialize(*args, **options)
1547
+ super
1548
+ @is_shutdown = false
1549
+ end
1550
+
1551
+ def shutdown(*args)
1552
+ # SSL_shutdown() will be called from SSLSocket#close, and
1553
+ # SSL_shutdown() will send the "close notify" alert to the peer,
1554
+ # so shutdown(2) should not be called.
1555
+ @is_shutdown = true
1556
+ end
1557
+
1558
+ def send(mesg, flags, dest = nil)
1559
+ # Ignore flags and dest.
1560
+ @io.write(mesg)
1561
+ end
1562
+
1563
+ private
1564
+
1565
+ def rbuf_fill
1566
+ if @is_shutdown
1567
+ raise EOFError, "shutdown has been called"
1568
+ else
1569
+ super
1570
+ end
1571
+ end
1572
+ end
1573
+ end
1574
+ # :startdoc:
1575
+ end
1576
+ end
1577
+
1578
+
1579
+ # Documentation comments:
1580
+ # - sourced from pickaxe and nutshell, with improvements (hopefully)