libp2p 0.46.21 → 1.0.0-06e6d235f

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 (301) hide show
  1. package/README.md +52 -48
  2. package/dist/index.min.js +40 -28
  3. package/dist/src/address-manager/index.d.ts +4 -5
  4. package/dist/src/address-manager/index.d.ts.map +1 -1
  5. package/dist/src/address-manager/index.js +3 -3
  6. package/dist/src/address-manager/index.js.map +1 -1
  7. package/dist/src/components.d.ts +4 -15
  8. package/dist/src/components.d.ts.map +1 -1
  9. package/dist/src/components.js +2 -2
  10. package/dist/src/components.js.map +1 -1
  11. package/dist/src/config/connection-gater.browser.d.ts +1 -1
  12. package/dist/src/config/connection-gater.browser.d.ts.map +1 -1
  13. package/dist/src/config/connection-gater.browser.js.map +1 -1
  14. package/dist/src/config/connection-gater.d.ts +1 -1
  15. package/dist/src/config/connection-gater.d.ts.map +1 -1
  16. package/dist/src/config.d.ts.map +1 -1
  17. package/dist/src/config.js +1 -2
  18. package/dist/src/config.js.map +1 -1
  19. package/dist/src/connection/index.d.ts +4 -6
  20. package/dist/src/connection/index.d.ts.map +1 -1
  21. package/dist/src/connection/index.js +11 -13
  22. package/dist/src/connection/index.js.map +1 -1
  23. package/dist/src/connection-manager/auto-dial.d.ts +3 -6
  24. package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
  25. package/dist/src/connection-manager/auto-dial.js +21 -21
  26. package/dist/src/connection-manager/auto-dial.js.map +1 -1
  27. package/dist/src/connection-manager/connection-pruner.d.ts +3 -5
  28. package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
  29. package/dist/src/connection-manager/connection-pruner.js +8 -8
  30. package/dist/src/connection-manager/connection-pruner.js.map +1 -1
  31. package/dist/src/connection-manager/constants.defaults.d.ts +0 -4
  32. package/dist/src/connection-manager/constants.defaults.d.ts.map +1 -1
  33. package/dist/src/connection-manager/constants.defaults.js +0 -4
  34. package/dist/src/connection-manager/constants.defaults.js.map +1 -1
  35. package/dist/src/connection-manager/dial-queue.d.ts +3 -10
  36. package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
  37. package/dist/src/connection-manager/dial-queue.js +30 -38
  38. package/dist/src/connection-manager/dial-queue.js.map +1 -1
  39. package/dist/src/connection-manager/index.d.ts +3 -18
  40. package/dist/src/connection-manager/index.d.ts.map +1 -1
  41. package/dist/src/connection-manager/index.js +17 -19
  42. package/dist/src/connection-manager/index.js.map +1 -1
  43. package/dist/src/connection-manager/utils.js +1 -1
  44. package/dist/src/connection-manager/utils.js.map +1 -1
  45. package/dist/src/content-routing/index.d.ts +1 -5
  46. package/dist/src/content-routing/index.d.ts.map +1 -1
  47. package/dist/src/content-routing/index.js +2 -2
  48. package/dist/src/content-routing/index.js.map +1 -1
  49. package/dist/src/content-routing/utils.d.ts +1 -2
  50. package/dist/src/content-routing/utils.d.ts.map +1 -1
  51. package/dist/src/content-routing/utils.js +1 -1
  52. package/dist/src/content-routing/utils.js.map +1 -1
  53. package/dist/src/errors.d.ts +0 -2
  54. package/dist/src/errors.d.ts.map +1 -1
  55. package/dist/src/errors.js +0 -2
  56. package/dist/src/errors.js.map +1 -1
  57. package/dist/src/get-peer.d.ts +1 -1
  58. package/dist/src/get-peer.d.ts.map +1 -1
  59. package/dist/src/get-peer.js +1 -5
  60. package/dist/src/get-peer.js.map +1 -1
  61. package/dist/src/index.d.ts +5 -16
  62. package/dist/src/index.d.ts.map +1 -1
  63. package/dist/src/index.js.map +1 -1
  64. package/dist/src/libp2p.d.ts +4 -12
  65. package/dist/src/libp2p.d.ts.map +1 -1
  66. package/dist/src/libp2p.js +30 -65
  67. package/dist/src/libp2p.js.map +1 -1
  68. package/dist/src/peer-routing.d.ts +6 -6
  69. package/dist/src/peer-routing.d.ts.map +1 -1
  70. package/dist/src/peer-routing.js +12 -9
  71. package/dist/src/peer-routing.js.map +1 -1
  72. package/dist/src/registrar.d.ts +5 -7
  73. package/dist/src/registrar.d.ts.map +1 -1
  74. package/dist/src/registrar.js +4 -4
  75. package/dist/src/registrar.js.map +1 -1
  76. package/dist/src/transport-manager.d.ts +5 -9
  77. package/dist/src/transport-manager.d.ts.map +1 -1
  78. package/dist/src/transport-manager.js +12 -13
  79. package/dist/src/transport-manager.js.map +1 -1
  80. package/dist/src/upgrader.d.ts +8 -19
  81. package/dist/src/upgrader.d.ts.map +1 -1
  82. package/dist/src/upgrader.js +75 -38
  83. package/dist/src/upgrader.js.map +1 -1
  84. package/dist/src/version.d.ts +1 -1
  85. package/dist/src/version.d.ts.map +1 -1
  86. package/dist/src/version.js +1 -1
  87. package/dist/src/version.js.map +1 -1
  88. package/package.json +41 -110
  89. package/src/address-manager/index.ts +6 -9
  90. package/src/components.ts +5 -16
  91. package/src/config/connection-gater.browser.ts +1 -1
  92. package/src/config/connection-gater.ts +1 -1
  93. package/src/config.ts +1 -2
  94. package/src/connection/index.ts +12 -17
  95. package/src/connection-manager/auto-dial.ts +23 -26
  96. package/src/connection-manager/connection-pruner.ts +10 -12
  97. package/src/connection-manager/constants.defaults.ts +0 -5
  98. package/src/connection-manager/dial-queue.ts +31 -46
  99. package/src/connection-manager/index.ts +19 -37
  100. package/src/connection-manager/utils.ts +1 -1
  101. package/src/content-routing/index.ts +3 -7
  102. package/src/content-routing/utils.ts +2 -3
  103. package/src/errors.ts +0 -2
  104. package/src/get-peer.ts +2 -7
  105. package/src/index.ts +6 -17
  106. package/src/libp2p.ts +32 -80
  107. package/src/peer-routing.ts +16 -15
  108. package/src/registrar.ts +8 -12
  109. package/src/transport-manager.ts +15 -22
  110. package/src/upgrader.ts +110 -64
  111. package/src/version.ts +1 -1
  112. package/dist/src/autonat/constants.d.ts +0 -18
  113. package/dist/src/autonat/constants.d.ts.map +0 -1
  114. package/dist/src/autonat/constants.js +0 -18
  115. package/dist/src/autonat/constants.js.map +0 -1
  116. package/dist/src/autonat/index.d.ts +0 -62
  117. package/dist/src/autonat/index.d.ts.map +0 -1
  118. package/dist/src/autonat/index.js +0 -447
  119. package/dist/src/autonat/index.js.map +0 -1
  120. package/dist/src/autonat/pb/index.d.ts +0 -57
  121. package/dist/src/autonat/pb/index.d.ts.map +0 -1
  122. package/dist/src/autonat/pb/index.js +0 -250
  123. package/dist/src/autonat/pb/index.js.map +0 -1
  124. package/dist/src/circuit-relay/constants.d.ts +0 -50
  125. package/dist/src/circuit-relay/constants.d.ts.map +0 -1
  126. package/dist/src/circuit-relay/constants.js +0 -56
  127. package/dist/src/circuit-relay/constants.js.map +0 -1
  128. package/dist/src/circuit-relay/index.d.ts +0 -55
  129. package/dist/src/circuit-relay/index.d.ts.map +0 -1
  130. package/dist/src/circuit-relay/index.js +0 -38
  131. package/dist/src/circuit-relay/index.js.map +0 -1
  132. package/dist/src/circuit-relay/pb/index.d.ts +0 -93
  133. package/dist/src/circuit-relay/pb/index.d.ts.map +0 -1
  134. package/dist/src/circuit-relay/pb/index.js +0 -425
  135. package/dist/src/circuit-relay/pb/index.js.map +0 -1
  136. package/dist/src/circuit-relay/server/advert-service.d.ts +0 -43
  137. package/dist/src/circuit-relay/server/advert-service.d.ts.map +0 -1
  138. package/dist/src/circuit-relay/server/advert-service.js +0 -73
  139. package/dist/src/circuit-relay/server/advert-service.js.map +0 -1
  140. package/dist/src/circuit-relay/server/index.d.ts +0 -65
  141. package/dist/src/circuit-relay/server/index.d.ts.map +0 -1
  142. package/dist/src/circuit-relay/server/index.js +0 -312
  143. package/dist/src/circuit-relay/server/index.js.map +0 -1
  144. package/dist/src/circuit-relay/server/reservation-store.d.ts +0 -49
  145. package/dist/src/circuit-relay/server/reservation-store.d.ts.map +0 -1
  146. package/dist/src/circuit-relay/server/reservation-store.js +0 -65
  147. package/dist/src/circuit-relay/server/reservation-store.js.map +0 -1
  148. package/dist/src/circuit-relay/server/reservation-voucher.d.ts +0 -18
  149. package/dist/src/circuit-relay/server/reservation-voucher.d.ts.map +0 -1
  150. package/dist/src/circuit-relay/server/reservation-voucher.js +0 -36
  151. package/dist/src/circuit-relay/server/reservation-voucher.js.map +0 -1
  152. package/dist/src/circuit-relay/transport/discovery.d.ts +0 -45
  153. package/dist/src/circuit-relay/transport/discovery.d.ts.map +0 -1
  154. package/dist/src/circuit-relay/transport/discovery.js +0 -97
  155. package/dist/src/circuit-relay/transport/discovery.js.map +0 -1
  156. package/dist/src/circuit-relay/transport/index.d.ts +0 -57
  157. package/dist/src/circuit-relay/transport/index.d.ts.map +0 -1
  158. package/dist/src/circuit-relay/transport/index.js +0 -276
  159. package/dist/src/circuit-relay/transport/index.js.map +0 -1
  160. package/dist/src/circuit-relay/transport/listener.d.ts +0 -9
  161. package/dist/src/circuit-relay/transport/listener.d.ts.map +0 -1
  162. package/dist/src/circuit-relay/transport/listener.js +0 -66
  163. package/dist/src/circuit-relay/transport/listener.js.map +0 -1
  164. package/dist/src/circuit-relay/transport/reservation-store.d.ts +0 -72
  165. package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +0 -1
  166. package/dist/src/circuit-relay/transport/reservation-store.js +0 -209
  167. package/dist/src/circuit-relay/transport/reservation-store.js.map +0 -1
  168. package/dist/src/circuit-relay/utils.d.ts +0 -13
  169. package/dist/src/circuit-relay/utils.d.ts.map +0 -1
  170. package/dist/src/circuit-relay/utils.js +0 -108
  171. package/dist/src/circuit-relay/utils.js.map +0 -1
  172. package/dist/src/dcutr/dcutr.d.ts +0 -43
  173. package/dist/src/dcutr/dcutr.d.ts.map +0 -1
  174. package/dist/src/dcutr/dcutr.js +0 -313
  175. package/dist/src/dcutr/dcutr.js.map +0 -1
  176. package/dist/src/dcutr/index.d.ts +0 -92
  177. package/dist/src/dcutr/index.d.ts.map +0 -1
  178. package/dist/src/dcutr/index.js +0 -63
  179. package/dist/src/dcutr/index.js.map +0 -1
  180. package/dist/src/dcutr/pb/message.d.ts +0 -20
  181. package/dist/src/dcutr/pb/message.d.ts.map +0 -1
  182. package/dist/src/dcutr/pb/message.js +0 -77
  183. package/dist/src/dcutr/pb/message.js.map +0 -1
  184. package/dist/src/dcutr/utils.d.ts +0 -8
  185. package/dist/src/dcutr/utils.d.ts.map +0 -1
  186. package/dist/src/dcutr/utils.js +0 -27
  187. package/dist/src/dcutr/utils.js.map +0 -1
  188. package/dist/src/fetch/constants.d.ts +0 -3
  189. package/dist/src/fetch/constants.d.ts.map +0 -1
  190. package/dist/src/fetch/constants.js +0 -4
  191. package/dist/src/fetch/constants.js.map +0 -1
  192. package/dist/src/fetch/index.d.ts +0 -61
  193. package/dist/src/fetch/index.d.ts.map +0 -1
  194. package/dist/src/fetch/index.js +0 -205
  195. package/dist/src/fetch/index.js.map +0 -1
  196. package/dist/src/fetch/pb/proto.d.ts +0 -28
  197. package/dist/src/fetch/pb/proto.d.ts.map +0 -1
  198. package/dist/src/fetch/pb/proto.js +0 -120
  199. package/dist/src/fetch/pb/proto.js.map +0 -1
  200. package/dist/src/identify/consts.d.ts +0 -10
  201. package/dist/src/identify/consts.d.ts.map +0 -1
  202. package/dist/src/identify/consts.js +0 -11
  203. package/dist/src/identify/consts.js.map +0 -1
  204. package/dist/src/identify/identify.d.ts +0 -54
  205. package/dist/src/identify/identify.d.ts.map +0 -1
  206. package/dist/src/identify/identify.js +0 -447
  207. package/dist/src/identify/identify.js.map +0 -1
  208. package/dist/src/identify/index.d.ts +0 -72
  209. package/dist/src/identify/index.d.ts.map +0 -1
  210. package/dist/src/identify/index.js +0 -15
  211. package/dist/src/identify/index.js.map +0 -1
  212. package/dist/src/identify/pb/message.d.ts +0 -17
  213. package/dist/src/identify/pb/message.d.ts.map +0 -1
  214. package/dist/src/identify/pb/message.js +0 -98
  215. package/dist/src/identify/pb/message.js.map +0 -1
  216. package/dist/src/insecure/index.d.ts +0 -26
  217. package/dist/src/insecure/index.d.ts.map +0 -1
  218. package/dist/src/insecure/index.js +0 -110
  219. package/dist/src/insecure/index.js.map +0 -1
  220. package/dist/src/insecure/pb/proto.d.ts +0 -30
  221. package/dist/src/insecure/pb/proto.d.ts.map +0 -1
  222. package/dist/src/insecure/pb/proto.js +0 -127
  223. package/dist/src/insecure/pb/proto.js.map +0 -1
  224. package/dist/src/ping/constants.d.ts +0 -9
  225. package/dist/src/ping/constants.d.ts.map +0 -1
  226. package/dist/src/ping/constants.js +0 -15
  227. package/dist/src/ping/constants.js.map +0 -1
  228. package/dist/src/ping/index.d.ts +0 -24
  229. package/dist/src/ping/index.d.ts.map +0 -1
  230. package/dist/src/ping/index.js +0 -115
  231. package/dist/src/ping/index.js.map +0 -1
  232. package/dist/src/pnet/crypto.d.ts +0 -18
  233. package/dist/src/pnet/crypto.d.ts.map +0 -1
  234. package/dist/src/pnet/crypto.js +0 -60
  235. package/dist/src/pnet/crypto.js.map +0 -1
  236. package/dist/src/pnet/errors.d.ts +0 -6
  237. package/dist/src/pnet/errors.d.ts.map +0 -1
  238. package/dist/src/pnet/errors.js +0 -6
  239. package/dist/src/pnet/errors.js.map +0 -1
  240. package/dist/src/pnet/index.d.ts +0 -31
  241. package/dist/src/pnet/index.d.ts.map +0 -1
  242. package/dist/src/pnet/index.js +0 -97
  243. package/dist/src/pnet/index.js.map +0 -1
  244. package/dist/src/pnet/key-generator.d.ts +0 -11
  245. package/dist/src/pnet/key-generator.d.ts.map +0 -1
  246. package/dist/src/pnet/key-generator.js +0 -22
  247. package/dist/src/pnet/key-generator.js.map +0 -1
  248. package/dist/src/upnp-nat/index.d.ts +0 -71
  249. package/dist/src/upnp-nat/index.d.ts.map +0 -1
  250. package/dist/src/upnp-nat/index.js +0 -136
  251. package/dist/src/upnp-nat/index.js.map +0 -1
  252. package/dist/src/utils/peer-job-queue.d.ts +0 -33
  253. package/dist/src/utils/peer-job-queue.d.ts.map +0 -1
  254. package/dist/src/utils/peer-job-queue.js +0 -82
  255. package/dist/src/utils/peer-job-queue.js.map +0 -1
  256. package/dist/typedoc-urls.json +0 -71
  257. package/src/autonat/constants.ts +0 -19
  258. package/src/autonat/index.ts +0 -597
  259. package/src/autonat/pb/index.proto +0 -35
  260. package/src/autonat/pb/index.ts +0 -320
  261. package/src/circuit-relay/constants.ts +0 -72
  262. package/src/circuit-relay/index.ts +0 -59
  263. package/src/circuit-relay/pb/index.proto +0 -67
  264. package/src/circuit-relay/pb/index.ts +0 -539
  265. package/src/circuit-relay/server/advert-service.ts +0 -108
  266. package/src/circuit-relay/server/index.ts +0 -443
  267. package/src/circuit-relay/server/reservation-store.ts +0 -116
  268. package/src/circuit-relay/server/reservation-voucher.ts +0 -51
  269. package/src/circuit-relay/transport/discovery.ts +0 -136
  270. package/src/circuit-relay/transport/index.ts +0 -396
  271. package/src/circuit-relay/transport/listener.ts +0 -97
  272. package/src/circuit-relay/transport/reservation-store.ts +0 -312
  273. package/src/circuit-relay/utils.ts +0 -136
  274. package/src/dcutr/dcutr.ts +0 -378
  275. package/src/dcutr/index.ts +0 -102
  276. package/src/dcutr/pb/message.proto +0 -12
  277. package/src/dcutr/pb/message.ts +0 -96
  278. package/src/dcutr/utils.ts +0 -33
  279. package/src/fetch/README.md +0 -41
  280. package/src/fetch/constants.ts +0 -3
  281. package/src/fetch/index.ts +0 -315
  282. package/src/fetch/pb/proto.proto +0 -15
  283. package/src/fetch/pb/proto.ts +0 -153
  284. package/src/identify/README.md +0 -13
  285. package/src/identify/consts.ts +0 -12
  286. package/src/identify/identify.ts +0 -561
  287. package/src/identify/index.ts +0 -90
  288. package/src/identify/pb/message.proto +0 -30
  289. package/src/identify/pb/message.ts +0 -126
  290. package/src/insecure/index.ts +0 -138
  291. package/src/insecure/pb/proto.proto +0 -18
  292. package/src/insecure/pb/proto.ts +0 -161
  293. package/src/ping/constants.ts +0 -15
  294. package/src/ping/index.ts +0 -170
  295. package/src/pnet/README.md +0 -68
  296. package/src/pnet/crypto.ts +0 -67
  297. package/src/pnet/errors.ts +0 -5
  298. package/src/pnet/index.ts +0 -126
  299. package/src/pnet/key-generator.ts +0 -23
  300. package/src/upnp-nat/index.ts +0 -212
  301. package/src/utils/peer-job-queue.ts +0 -119
@@ -1,4 +0,0 @@
1
- // https://github.com/libp2p/specs/tree/master/fetch#wire-protocol
2
- export const PROTOCOL_VERSION = '0.0.1';
3
- export const PROTOCOL_NAME = 'fetch';
4
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/fetch/constants.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAA;AACvC,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAA"}
@@ -1,61 +0,0 @@
1
- import type { AbortOptions } from '@libp2p/interface';
2
- import type { Stream } from '@libp2p/interface/connection';
3
- import type { PeerId } from '@libp2p/interface/peer-id';
4
- import type { ConnectionManager } from '@libp2p/interface-internal/connection-manager';
5
- import type { Registrar } from '@libp2p/interface-internal/registrar';
6
- export interface FetchServiceInit {
7
- protocolPrefix?: string;
8
- maxInboundStreams?: number;
9
- maxOutboundStreams?: number;
10
- /**
11
- * How long we should wait for a remote peer to send any data
12
- */
13
- timeout?: number;
14
- }
15
- export interface HandleMessageOptions {
16
- stream: Stream;
17
- protocol: string;
18
- }
19
- export interface LookupFunction {
20
- (key: string): Promise<Uint8Array | null>;
21
- }
22
- export interface FetchServiceComponents {
23
- registrar: Registrar;
24
- connectionManager: ConnectionManager;
25
- }
26
- export interface FetchService {
27
- /**
28
- * The protocol name used by this fetch service
29
- */
30
- protocol: string;
31
- /**
32
- * Sends a request to fetch the value associated with the given key from the given peer
33
- */
34
- fetch(peer: PeerId, key: string, options?: AbortOptions): Promise<Uint8Array | null>;
35
- /**
36
- * Registers a new lookup callback that can map keys to values, for a given set of keys that
37
- * share the same prefix
38
- *
39
- * @example
40
- *
41
- * ```js
42
- * // ...
43
- * libp2p.fetchService.registerLookupFunction('/prefix', (key) => { ... })
44
- * ```
45
- */
46
- registerLookupFunction(prefix: string, lookup: LookupFunction): void;
47
- /**
48
- * Registers a new lookup callback that can map keys to values, for a given set of keys that
49
- * share the same prefix.
50
- *
51
- * @example
52
- *
53
- * ```js
54
- * // ...
55
- * libp2p.fetchService.unregisterLookupFunction('/prefix')
56
- * ```
57
- */
58
- unregisterLookupFunction(prefix: string, lookup?: LookupFunction): void;
59
- }
60
- export declare function fetchService(init?: FetchServiceInit): (components: FetchServiceComponents) => FetchService;
61
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fetch/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,EAAsB,SAAS,EAAE,MAAM,sCAAsC,CAAA;AAMzF,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IAEpF;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;IAEpE;;;;;;;;;;OAUG;IACH,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;CACxE;AAqOD,wBAAgB,YAAY,CAAE,IAAI,GAAE,gBAAqB,GAAG,CAAC,UAAU,EAAE,sBAAsB,KAAK,YAAY,CAE/G"}
@@ -1,205 +0,0 @@
1
- import { CodeError } from '@libp2p/interface/errors';
2
- import { setMaxListeners } from '@libp2p/interface/events';
3
- import { logger } from '@libp2p/logger';
4
- import first from 'it-first';
5
- import * as lp from 'it-length-prefixed';
6
- import { pipe } from 'it-pipe';
7
- import { fromString as uint8arrayFromString } from 'uint8arrays/from-string';
8
- import { toString as uint8arrayToString } from 'uint8arrays/to-string';
9
- import { codes } from '../errors.js';
10
- import { PROTOCOL_NAME, PROTOCOL_VERSION } from './constants.js';
11
- import { FetchRequest, FetchResponse } from './pb/proto.js';
12
- const log = logger('libp2p:fetch');
13
- const DEFAULT_TIMEOUT = 10000;
14
- /**
15
- * A simple libp2p protocol for requesting a value corresponding to a key from a peer.
16
- * Developers can register one or more lookup function for retrieving the value corresponding to
17
- * a given key. Each lookup function must act on a distinct part of the overall key space, defined
18
- * by a fixed prefix that all keys that should be routed to that lookup function will start with.
19
- */
20
- class DefaultFetchService {
21
- protocol;
22
- components;
23
- lookupFunctions;
24
- started;
25
- init;
26
- constructor(components, init) {
27
- this.started = false;
28
- this.components = components;
29
- this.protocol = `/${init.protocolPrefix ?? 'libp2p'}/${PROTOCOL_NAME}/${PROTOCOL_VERSION}`;
30
- this.lookupFunctions = new Map(); // Maps key prefix to value lookup function
31
- this.handleMessage = this.handleMessage.bind(this);
32
- this.init = init;
33
- }
34
- async start() {
35
- await this.components.registrar.handle(this.protocol, (data) => {
36
- void this.handleMessage(data)
37
- .then(async () => {
38
- await data.stream.close();
39
- })
40
- .catch(err => {
41
- log.error(err);
42
- });
43
- }, {
44
- maxInboundStreams: this.init.maxInboundStreams,
45
- maxOutboundStreams: this.init.maxOutboundStreams
46
- });
47
- this.started = true;
48
- }
49
- async stop() {
50
- await this.components.registrar.unhandle(this.protocol);
51
- this.started = false;
52
- }
53
- isStarted() {
54
- return this.started;
55
- }
56
- /**
57
- * Sends a request to fetch the value associated with the given key from the given peer
58
- */
59
- async fetch(peer, key, options = {}) {
60
- log('dialing %s to %p', this.protocol, peer);
61
- const connection = await this.components.connectionManager.openConnection(peer, options);
62
- let signal = options.signal;
63
- let stream;
64
- let onAbort = () => { };
65
- // create a timeout if no abort signal passed
66
- if (signal == null) {
67
- log('using default timeout of %d ms', this.init.timeout);
68
- signal = AbortSignal.timeout(this.init.timeout ?? DEFAULT_TIMEOUT);
69
- setMaxListeners(Infinity, signal);
70
- }
71
- try {
72
- stream = await connection.newStream(this.protocol, {
73
- signal
74
- });
75
- onAbort = () => {
76
- stream?.abort(new CodeError('fetch timeout', codes.ERR_TIMEOUT));
77
- };
78
- // make stream abortable
79
- signal.addEventListener('abort', onAbort, { once: true });
80
- log('fetch %s', key);
81
- const result = await pipe([FetchRequest.encode({ identifier: key })], (source) => lp.encode(source), stream, (source) => lp.decode(source), async function (source) {
82
- const buf = await first(source);
83
- if (buf == null) {
84
- throw new CodeError('No data received', codes.ERR_INVALID_MESSAGE);
85
- }
86
- const response = FetchResponse.decode(buf);
87
- switch (response.status) {
88
- case (FetchResponse.StatusCode.OK): {
89
- log('received status for %s ok', key);
90
- return response.data;
91
- }
92
- case (FetchResponse.StatusCode.NOT_FOUND): {
93
- log('received status for %s not found', key);
94
- return null;
95
- }
96
- case (FetchResponse.StatusCode.ERROR): {
97
- log('received status for %s error', key);
98
- const errmsg = uint8arrayToString(response.data);
99
- throw new CodeError('Error in fetch protocol response: ' + errmsg, codes.ERR_INVALID_PARAMETERS);
100
- }
101
- default: {
102
- log('received status for %s unknown', key);
103
- throw new CodeError('Unknown response status', codes.ERR_INVALID_MESSAGE);
104
- }
105
- }
106
- });
107
- return result ?? null;
108
- }
109
- finally {
110
- signal.removeEventListener('abort', onAbort);
111
- if (stream != null) {
112
- await stream.close();
113
- }
114
- }
115
- }
116
- /**
117
- * Invoked when a fetch request is received. Reads the request message off the given stream and
118
- * responds based on looking up the key in the request via the lookup callback that corresponds
119
- * to the key's prefix.
120
- */
121
- async handleMessage(data) {
122
- const { stream } = data;
123
- const self = this;
124
- await pipe(stream, (source) => lp.decode(source), async function* (source) {
125
- const buf = await first(source);
126
- if (buf == null) {
127
- throw new CodeError('No data received', codes.ERR_INVALID_MESSAGE);
128
- }
129
- // for await (const buf of source) {
130
- const request = FetchRequest.decode(buf);
131
- let response;
132
- const lookup = self._getLookupFunction(request.identifier);
133
- if (lookup != null) {
134
- log('look up data with identifier %s', request.identifier);
135
- const data = await lookup(request.identifier);
136
- if (data != null) {
137
- log('sending status for %s ok', request.identifier);
138
- response = { status: FetchResponse.StatusCode.OK, data };
139
- }
140
- else {
141
- log('sending status for %s not found', request.identifier);
142
- response = { status: FetchResponse.StatusCode.NOT_FOUND, data: new Uint8Array(0) };
143
- }
144
- }
145
- else {
146
- log('sending status for %s error', request.identifier);
147
- const errmsg = uint8arrayFromString(`No lookup function registered for key: ${request.identifier}`);
148
- response = { status: FetchResponse.StatusCode.ERROR, data: errmsg };
149
- }
150
- yield FetchResponse.encode(response);
151
- }, (source) => lp.encode(source), stream);
152
- }
153
- /**
154
- * Given a key, finds the appropriate function for looking up its corresponding value, based on
155
- * the key's prefix.
156
- */
157
- _getLookupFunction(key) {
158
- for (const prefix of this.lookupFunctions.keys()) {
159
- if (key.startsWith(prefix)) {
160
- return this.lookupFunctions.get(prefix);
161
- }
162
- }
163
- }
164
- /**
165
- * Registers a new lookup callback that can map keys to values, for a given set of keys that
166
- * share the same prefix
167
- *
168
- * @example
169
- *
170
- * ```js
171
- * // ...
172
- * libp2p.fetchService.registerLookupFunction('/prefix', (key) => { ... })
173
- * ```
174
- */
175
- registerLookupFunction(prefix, lookup) {
176
- if (this.lookupFunctions.has(prefix)) {
177
- throw new CodeError(`Fetch protocol handler for key prefix '${prefix}' already registered`, codes.ERR_KEY_ALREADY_EXISTS);
178
- }
179
- this.lookupFunctions.set(prefix, lookup);
180
- }
181
- /**
182
- * Registers a new lookup callback that can map keys to values, for a given set of keys that
183
- * share the same prefix.
184
- *
185
- * @example
186
- *
187
- * ```js
188
- * // ...
189
- * libp2p.fetchService.unregisterLookupFunction('/prefix')
190
- * ```
191
- */
192
- unregisterLookupFunction(prefix, lookup) {
193
- if (lookup != null) {
194
- const existingLookup = this.lookupFunctions.get(prefix);
195
- if (existingLookup !== lookup) {
196
- return;
197
- }
198
- }
199
- this.lookupFunctions.delete(prefix);
200
- }
201
- }
202
- export function fetchService(init = {}) {
203
- return (components) => new DefaultFetchService(components, init);
204
- }
205
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fetch/index.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import type { Codec } from 'protons-runtime';
2
- import type { Uint8ArrayList } from 'uint8arraylist';
3
- export interface FetchRequest {
4
- identifier: string;
5
- }
6
- export declare namespace FetchRequest {
7
- const codec: () => Codec<FetchRequest>;
8
- const encode: (obj: Partial<FetchRequest>) => Uint8Array;
9
- const decode: (buf: Uint8Array | Uint8ArrayList) => FetchRequest;
10
- }
11
- export interface FetchResponse {
12
- status: FetchResponse.StatusCode;
13
- data: Uint8Array;
14
- }
15
- export declare namespace FetchResponse {
16
- enum StatusCode {
17
- OK = "OK",
18
- NOT_FOUND = "NOT_FOUND",
19
- ERROR = "ERROR"
20
- }
21
- namespace StatusCode {
22
- const codec: () => Codec<StatusCode>;
23
- }
24
- const codec: () => Codec<FetchResponse>;
25
- const encode: (obj: Partial<FetchResponse>) => Uint8Array;
26
- const decode: (buf: Uint8Array | Uint8ArrayList) => FetchResponse;
27
- }
28
- //# sourceMappingURL=proto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proto.d.ts","sourceRoot":"","sources":["../../../../src/fetch/pb/proto.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,yBAAiB,YAAY,CAAC;IAGrB,MAAM,KAAK,QAAO,MAAM,YAAY,CAwC1C,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,YAAY,CAAC,KAAG,UAEnD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,YAEzD,CAAA;CACF;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,aAAa,CAAC,UAAU,CAAA;IAChC,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,yBAAiB,aAAa,CAAC;IAC7B,KAAY,UAAU;QACpB,EAAE,OAAO;QACT,SAAS,cAAc;QACvB,KAAK,UAAU;KAChB;IAQD,UAAiB,UAAU,CAAC;QACnB,MAAM,KAAK,QAAO,MAAM,UAAU,CAExC,CAAA;KACF;IAIM,MAAM,KAAK,QAAO,MAAM,aAAa,CAiD3C,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,aAAa,CAAC,KAAG,UAEpD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,aAEzD,CAAA;CACF"}
@@ -1,120 +0,0 @@
1
- /* eslint-disable import/export */
2
- /* eslint-disable complexity */
3
- /* eslint-disable @typescript-eslint/no-namespace */
4
- /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
5
- /* eslint-disable @typescript-eslint/no-empty-interface */
6
- import { encodeMessage, decodeMessage, message, enumeration } from 'protons-runtime';
7
- export var FetchRequest;
8
- (function (FetchRequest) {
9
- let _codec;
10
- FetchRequest.codec = () => {
11
- if (_codec == null) {
12
- _codec = message((obj, w, opts = {}) => {
13
- if (opts.lengthDelimited !== false) {
14
- w.fork();
15
- }
16
- if ((obj.identifier != null && obj.identifier !== '')) {
17
- w.uint32(10);
18
- w.string(obj.identifier);
19
- }
20
- if (opts.lengthDelimited !== false) {
21
- w.ldelim();
22
- }
23
- }, (reader, length) => {
24
- const obj = {
25
- identifier: ''
26
- };
27
- const end = length == null ? reader.len : reader.pos + length;
28
- while (reader.pos < end) {
29
- const tag = reader.uint32();
30
- switch (tag >>> 3) {
31
- case 1:
32
- obj.identifier = reader.string();
33
- break;
34
- default:
35
- reader.skipType(tag & 7);
36
- break;
37
- }
38
- }
39
- return obj;
40
- });
41
- }
42
- return _codec;
43
- };
44
- FetchRequest.encode = (obj) => {
45
- return encodeMessage(obj, FetchRequest.codec());
46
- };
47
- FetchRequest.decode = (buf) => {
48
- return decodeMessage(buf, FetchRequest.codec());
49
- };
50
- })(FetchRequest || (FetchRequest = {}));
51
- export var FetchResponse;
52
- (function (FetchResponse) {
53
- let StatusCode;
54
- (function (StatusCode) {
55
- StatusCode["OK"] = "OK";
56
- StatusCode["NOT_FOUND"] = "NOT_FOUND";
57
- StatusCode["ERROR"] = "ERROR";
58
- })(StatusCode = FetchResponse.StatusCode || (FetchResponse.StatusCode = {}));
59
- let __StatusCodeValues;
60
- (function (__StatusCodeValues) {
61
- __StatusCodeValues[__StatusCodeValues["OK"] = 0] = "OK";
62
- __StatusCodeValues[__StatusCodeValues["NOT_FOUND"] = 1] = "NOT_FOUND";
63
- __StatusCodeValues[__StatusCodeValues["ERROR"] = 2] = "ERROR";
64
- })(__StatusCodeValues || (__StatusCodeValues = {}));
65
- (function (StatusCode) {
66
- StatusCode.codec = () => {
67
- return enumeration(__StatusCodeValues);
68
- };
69
- })(StatusCode = FetchResponse.StatusCode || (FetchResponse.StatusCode = {}));
70
- let _codec;
71
- FetchResponse.codec = () => {
72
- if (_codec == null) {
73
- _codec = message((obj, w, opts = {}) => {
74
- if (opts.lengthDelimited !== false) {
75
- w.fork();
76
- }
77
- if (obj.status != null && __StatusCodeValues[obj.status] !== 0) {
78
- w.uint32(8);
79
- FetchResponse.StatusCode.codec().encode(obj.status, w);
80
- }
81
- if ((obj.data != null && obj.data.byteLength > 0)) {
82
- w.uint32(18);
83
- w.bytes(obj.data);
84
- }
85
- if (opts.lengthDelimited !== false) {
86
- w.ldelim();
87
- }
88
- }, (reader, length) => {
89
- const obj = {
90
- status: StatusCode.OK,
91
- data: new Uint8Array(0)
92
- };
93
- const end = length == null ? reader.len : reader.pos + length;
94
- while (reader.pos < end) {
95
- const tag = reader.uint32();
96
- switch (tag >>> 3) {
97
- case 1:
98
- obj.status = FetchResponse.StatusCode.codec().decode(reader);
99
- break;
100
- case 2:
101
- obj.data = reader.bytes();
102
- break;
103
- default:
104
- reader.skipType(tag & 7);
105
- break;
106
- }
107
- }
108
- return obj;
109
- });
110
- }
111
- return _codec;
112
- };
113
- FetchResponse.encode = (obj) => {
114
- return encodeMessage(obj, FetchResponse.codec());
115
- };
116
- FetchResponse.decode = (buf) => {
117
- return decodeMessage(buf, FetchResponse.codec());
118
- };
119
- })(FetchResponse || (FetchResponse = {}));
120
- //# sourceMappingURL=proto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proto.js","sourceRoot":"","sources":["../../../../src/fetch/pb/proto.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export declare const PROTOCOL_VERSION = "ipfs/0.1.0";
2
- export declare const AGENT_VERSION = "js-libp2p/0.46.21";
3
- export declare const MULTICODEC_IDENTIFY = "/ipfs/id/1.0.0";
4
- export declare const MULTICODEC_IDENTIFY_PUSH = "/ipfs/id/push/1.0.0";
5
- export declare const IDENTIFY_PROTOCOL_VERSION = "0.1.0";
6
- export declare const MULTICODEC_IDENTIFY_PROTOCOL_NAME = "id";
7
- export declare const MULTICODEC_IDENTIFY_PUSH_PROTOCOL_NAME = "id/push";
8
- export declare const MULTICODEC_IDENTIFY_PROTOCOL_VERSION = "1.0.0";
9
- export declare const MULTICODEC_IDENTIFY_PUSH_PROTOCOL_VERSION = "1.0.0";
10
- //# sourceMappingURL=consts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/identify/consts.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAC5C,eAAO,MAAM,aAAa,sBAAyB,CAAA;AACnD,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AACnD,eAAO,MAAM,wBAAwB,wBAAwB,CAAA;AAE7D,eAAO,MAAM,yBAAyB,UAAU,CAAA;AAChD,eAAO,MAAM,iCAAiC,OAAO,CAAA;AACrD,eAAO,MAAM,sCAAsC,YAAY,CAAA;AAC/D,eAAO,MAAM,oCAAoC,UAAU,CAAA;AAC3D,eAAO,MAAM,yCAAyC,UAAU,CAAA"}
@@ -1,11 +0,0 @@
1
- import { version } from '../version.js';
2
- export const PROTOCOL_VERSION = 'ipfs/0.1.0'; // deprecated
3
- export const AGENT_VERSION = `js-libp2p/${version}`;
4
- export const MULTICODEC_IDENTIFY = '/ipfs/id/1.0.0'; // deprecated
5
- export const MULTICODEC_IDENTIFY_PUSH = '/ipfs/id/push/1.0.0'; // deprecated
6
- export const IDENTIFY_PROTOCOL_VERSION = '0.1.0';
7
- export const MULTICODEC_IDENTIFY_PROTOCOL_NAME = 'id';
8
- export const MULTICODEC_IDENTIFY_PUSH_PROTOCOL_NAME = 'id/push';
9
- export const MULTICODEC_IDENTIFY_PROTOCOL_VERSION = '1.0.0';
10
- export const MULTICODEC_IDENTIFY_PUSH_PROTOCOL_VERSION = '1.0.0';
11
- //# sourceMappingURL=consts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/identify/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAA,CAAC,aAAa;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,OAAO,EAAE,CAAA;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAA,CAAC,aAAa;AACjE,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAA,CAAC,aAAa;AAE3E,MAAM,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAAA;AAChD,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAA;AACrD,MAAM,CAAC,MAAM,sCAAsC,GAAG,SAAS,CAAA;AAC/D,MAAM,CAAC,MAAM,oCAAoC,GAAG,OAAO,CAAA;AAC3D,MAAM,CAAC,MAAM,yCAAyC,GAAG,OAAO,CAAA"}
@@ -1,54 +0,0 @@
1
- import { Identify } from './pb/message.js';
2
- import type { IdentifyService, IdentifyServiceComponents, IdentifyServiceInit } from './index.js';
3
- import type { IdentifyResult, AbortOptions } from '@libp2p/interface';
4
- import type { Connection } from '@libp2p/interface/connection';
5
- import type { Startable } from '@libp2p/interface/startable';
6
- import type { IncomingStreamData } from '@libp2p/interface-internal/registrar';
7
- export declare class DefaultIdentifyService implements Startable, IdentifyService {
8
- #private;
9
- private readonly identifyProtocolStr;
10
- private readonly identifyPushProtocolStr;
11
- readonly host: {
12
- protocolVersion: string;
13
- agentVersion: string;
14
- };
15
- private started;
16
- private readonly timeout;
17
- private readonly peerId;
18
- private readonly peerStore;
19
- private readonly registrar;
20
- private readonly connectionManager;
21
- private readonly addressManager;
22
- private readonly maxInboundStreams;
23
- private readonly maxOutboundStreams;
24
- private readonly maxPushIncomingStreams;
25
- private readonly maxPushOutgoingStreams;
26
- private readonly maxIdentifyMessageSize;
27
- private readonly maxObservedAddresses;
28
- private readonly events;
29
- private readonly runOnTransientConnection;
30
- constructor(components: IdentifyServiceComponents, init: IdentifyServiceInit);
31
- isStarted(): boolean;
32
- start(): Promise<void>;
33
- stop(): Promise<void>;
34
- /**
35
- * Send an Identify Push update to the list of connections
36
- */
37
- pushToConnections(connections: Connection[]): Promise<void>;
38
- /**
39
- * Calls `push` on all peer connections
40
- */
41
- push(): Promise<void>;
42
- _identify(connection: Connection, options?: AbortOptions): Promise<Identify>;
43
- identify(connection: Connection, options?: AbortOptions): Promise<IdentifyResult>;
44
- /**
45
- * Sends the `Identify` response with the Signed Peer Record
46
- * to the requesting peer over the given `connection`
47
- */
48
- _handleIdentify(data: IncomingStreamData): Promise<void>;
49
- /**
50
- * Reads the Identify Push message from the given `connection`
51
- */
52
- _handlePush(data: IncomingStreamData): Promise<void>;
53
- }
54
- //# sourceMappingURL=identify.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identify.d.ts","sourceRoot":"","sources":["../../../src/identify/identify.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACjG,OAAO,KAAK,EAAgB,cAAc,EAAoB,YAAY,EAAU,MAAM,mBAAmB,CAAA;AAC7G,OAAO,KAAK,EAAE,UAAU,EAAU,MAAM,8BAA8B,CAAA;AAItE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAG5D,OAAO,KAAK,EAAE,kBAAkB,EAAa,MAAM,sCAAsC,CAAA;AAoBzF,qBAAa,sBAAuB,YAAW,SAAS,EAAE,eAAe;;IACvE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAQ;IAChD,SAAgB,IAAI,EAAE;QACpB,eAAe,EAAE,MAAM,CAAA;QACvB,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;IAED,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;IAC/C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;IAC/C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;IAC/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAS;gBAGrC,UAAU,EAAE,yBAAyB,EAAE,IAAI,EAAE,mBAAmB;IAkD7E,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAkCvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACG,iBAAiB,CAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDlE;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IA6BtB,SAAS,CAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmCjF,QAAQ,CAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAqC5F;;;OAGG;IACG,eAAe,CAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD/D;;OAEG;IACG,WAAW,CAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAgK5D"}