@microbit/microbit-connection 0.0.0-alpha.32 → 0.0.0-alpha.33

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 (221) hide show
  1. package/README.md +89 -6
  2. package/build/cjs/accelerometer-service.js +106 -0
  3. package/build/cjs/accelerometer-service.js.map +1 -0
  4. package/build/cjs/accelerometer.js +16 -0
  5. package/build/cjs/accelerometer.js.map +1 -0
  6. package/build/cjs/async-util.js +27 -0
  7. package/build/cjs/async-util.js.map +1 -0
  8. package/build/cjs/bluetooth-device-wrapper.js +467 -0
  9. package/build/cjs/bluetooth-device-wrapper.js.map +1 -0
  10. package/build/cjs/bluetooth-profile.js +86 -0
  11. package/build/cjs/bluetooth-profile.js.map +1 -0
  12. package/build/{bluetooth.d.ts → cjs/bluetooth.d.ts} +1 -2
  13. package/build/cjs/bluetooth.js +268 -0
  14. package/build/cjs/bluetooth.js.map +1 -0
  15. package/build/cjs/board-id.js +81 -0
  16. package/build/cjs/board-id.js.map +1 -0
  17. package/build/cjs/board-serial-info.js +51 -0
  18. package/build/cjs/board-serial-info.js.map +1 -0
  19. package/build/cjs/button-service.js +80 -0
  20. package/build/cjs/button-service.js.map +1 -0
  21. package/build/cjs/buttons.js +22 -0
  22. package/build/cjs/buttons.js.map +1 -0
  23. package/build/cjs/constants.js +73 -0
  24. package/build/cjs/constants.js.map +1 -0
  25. package/build/cjs/device.js +199 -0
  26. package/build/cjs/device.js.map +1 -0
  27. package/build/cjs/events.js +109 -0
  28. package/build/cjs/events.js.map +1 -0
  29. package/build/cjs/hex-flash-data-source.js +26 -0
  30. package/build/cjs/hex-flash-data-source.js.map +1 -0
  31. package/build/cjs/index.d.ts +16 -0
  32. package/build/cjs/index.js +33 -0
  33. package/build/cjs/index.js.map +1 -0
  34. package/build/cjs/led-service.js +120 -0
  35. package/build/{led-service.js.map → cjs/led-service.js.map} +1 -1
  36. package/build/cjs/led.js +3 -0
  37. package/build/cjs/led.js.map +1 -0
  38. package/build/{logging.d.ts → cjs/logging.d.ts} +3 -3
  39. package/build/cjs/logging.js +16 -0
  40. package/build/cjs/logging.js.map +1 -0
  41. package/build/cjs/magnetometer-service.js +129 -0
  42. package/build/cjs/magnetometer-service.js.map +1 -0
  43. package/build/cjs/magnetometer.js +16 -0
  44. package/build/cjs/magnetometer.js.map +1 -0
  45. package/build/cjs/package.json +1 -0
  46. package/build/cjs/promise-queue.js +78 -0
  47. package/build/cjs/promise-queue.js.map +1 -0
  48. package/build/cjs/service-events.js +39 -0
  49. package/build/cjs/service-events.js.map +1 -0
  50. package/build/cjs/setupTests.js.map +1 -0
  51. package/build/cjs/uart-service.js +76 -0
  52. package/build/cjs/uart-service.js.map +1 -0
  53. package/build/cjs/uart.js +16 -0
  54. package/build/cjs/uart.js.map +1 -0
  55. package/build/{usb-device-wrapper.d.ts → cjs/usb-device-wrapper.d.ts} +1 -6
  56. package/build/cjs/usb-device-wrapper.js +412 -0
  57. package/build/cjs/usb-device-wrapper.js.map +1 -0
  58. package/build/cjs/usb-partial-flashing-utils.js +133 -0
  59. package/build/cjs/usb-partial-flashing-utils.js.map +1 -0
  60. package/build/{usb-partial-flashing.d.ts → cjs/usb-partial-flashing.d.ts} +3 -3
  61. package/build/cjs/usb-partial-flashing.js +341 -0
  62. package/build/cjs/usb-partial-flashing.js.map +1 -0
  63. package/build/cjs/usb-radio-bridge.js +509 -0
  64. package/build/cjs/usb-radio-bridge.js.map +1 -0
  65. package/build/cjs/usb-serial-protocol.js +183 -0
  66. package/build/cjs/usb-serial-protocol.js.map +1 -0
  67. package/build/cjs/usb.js +520 -0
  68. package/build/cjs/usb.js.map +1 -0
  69. package/build/esm/accelerometer-service.d.ts +18 -0
  70. package/build/esm/accelerometer-service.js.map +1 -0
  71. package/build/esm/accelerometer.d.ts +9 -0
  72. package/build/esm/accelerometer.js.map +1 -0
  73. package/build/esm/async-util.d.ts +13 -0
  74. package/build/esm/async-util.js.map +1 -0
  75. package/build/esm/bluetooth-device-wrapper.d.ts +63 -0
  76. package/build/esm/bluetooth-device-wrapper.js.map +1 -0
  77. package/build/esm/bluetooth-profile.d.ts +139 -0
  78. package/build/esm/bluetooth-profile.js.map +1 -0
  79. package/build/esm/bluetooth.d.ts +60 -0
  80. package/build/esm/bluetooth.js.map +1 -0
  81. package/build/esm/board-id.d.ts +36 -0
  82. package/build/esm/board-id.js.map +1 -0
  83. package/build/esm/board-serial-info.d.ts +14 -0
  84. package/build/esm/board-serial-info.js.map +1 -0
  85. package/build/esm/button-service.d.ts +13 -0
  86. package/build/esm/button-service.js.map +1 -0
  87. package/build/esm/buttons.d.ts +10 -0
  88. package/build/esm/buttons.js.map +1 -0
  89. package/build/esm/constants.d.ts +48 -0
  90. package/build/esm/constants.js.map +1 -0
  91. package/build/esm/device.d.ts +208 -0
  92. package/build/esm/device.js.map +1 -0
  93. package/build/esm/events.d.ts +111 -0
  94. package/build/esm/events.js.map +1 -0
  95. package/build/esm/hex-flash-data-source.d.ts +7 -0
  96. package/build/esm/hex-flash-data-source.js.map +1 -0
  97. package/build/esm/index.d.ts +16 -0
  98. package/build/esm/index.js +11 -0
  99. package/build/esm/index.js.map +1 -0
  100. package/build/esm/led-service.d.ts +20 -0
  101. package/build/esm/led-service.js.map +1 -0
  102. package/build/esm/led.d.ts +6 -0
  103. package/build/esm/led.js.map +1 -0
  104. package/build/esm/logging.d.ts +21 -0
  105. package/build/esm/logging.js.map +1 -0
  106. package/build/esm/magnetometer-service.d.ts +22 -0
  107. package/build/esm/magnetometer-service.js.map +1 -0
  108. package/build/esm/magnetometer.d.ts +9 -0
  109. package/build/esm/magnetometer.js.map +1 -0
  110. package/build/esm/package.json +1 -0
  111. package/build/esm/promise-queue.d.ts +27 -0
  112. package/build/esm/promise-queue.js.map +1 -0
  113. package/build/esm/service-events.d.ts +17 -0
  114. package/build/esm/service-events.js.map +1 -0
  115. package/build/esm/setupTests.d.ts +6 -0
  116. package/build/{setupTests.js.map → esm/setupTests.js.map} +1 -1
  117. package/build/esm/uart-service.d.ts +13 -0
  118. package/build/esm/uart-service.js.map +1 -0
  119. package/build/esm/uart.d.ts +4 -0
  120. package/build/esm/uart.js.map +1 -0
  121. package/build/esm/usb-device-wrapper.d.ts +47 -0
  122. package/build/{usb-device-wrapper.js → esm/usb-device-wrapper.js} +10 -9
  123. package/build/esm/usb-device-wrapper.js.map +1 -0
  124. package/build/esm/usb-partial-flashing-utils.d.ts +17 -0
  125. package/build/esm/usb-partial-flashing-utils.js.map +1 -0
  126. package/build/esm/usb-partial-flashing.d.ts +69 -0
  127. package/build/{usb-partial-flashing.js → esm/usb-partial-flashing.js} +8 -10
  128. package/build/esm/usb-partial-flashing.js.map +1 -0
  129. package/build/esm/usb-radio-bridge.d.ts +41 -0
  130. package/build/esm/usb-radio-bridge.js.map +1 -0
  131. package/build/esm/usb-serial-protocol.d.ts +66 -0
  132. package/build/esm/usb-serial-protocol.js.map +1 -0
  133. package/build/esm/usb.d.ts +58 -0
  134. package/build/esm/usb.js.map +1 -0
  135. package/package.json +19 -6
  136. package/typedoc.json +13 -0
  137. package/build/accelerometer-service.js.map +0 -1
  138. package/build/accelerometer.js.map +0 -1
  139. package/build/async-util.js.map +0 -1
  140. package/build/bluetooth-device-wrapper.js.map +0 -1
  141. package/build/bluetooth-profile.js.map +0 -1
  142. package/build/bluetooth.js.map +0 -1
  143. package/build/board-id.js.map +0 -1
  144. package/build/board-serial-info.js.map +0 -1
  145. package/build/button-service.js.map +0 -1
  146. package/build/buttons.js.map +0 -1
  147. package/build/constants.js.map +0 -1
  148. package/build/device.js.map +0 -1
  149. package/build/events.js.map +0 -1
  150. package/build/hex-flash-data-source.js.map +0 -1
  151. package/build/index.d.ts +0 -13
  152. package/build/index.js +0 -10
  153. package/build/index.js.map +0 -1
  154. package/build/led.js.map +0 -1
  155. package/build/logging.js.map +0 -1
  156. package/build/magnetometer-service.js.map +0 -1
  157. package/build/magnetometer.js.map +0 -1
  158. package/build/promise-queue.js.map +0 -1
  159. package/build/service-events.js.map +0 -1
  160. package/build/uart-service.js.map +0 -1
  161. package/build/uart.js.map +0 -1
  162. package/build/usb-device-wrapper.js.map +0 -1
  163. package/build/usb-partial-flashing-utils.js.map +0 -1
  164. package/build/usb-partial-flashing.js.map +0 -1
  165. package/build/usb-radio-bridge.js.map +0 -1
  166. package/build/usb-serial-protocol.js.map +0 -1
  167. package/build/usb.js.map +0 -1
  168. package/vite.config.ts +0 -34
  169. /package/build/{accelerometer-service.d.ts → cjs/accelerometer-service.d.ts} +0 -0
  170. /package/build/{accelerometer.d.ts → cjs/accelerometer.d.ts} +0 -0
  171. /package/build/{async-util.d.ts → cjs/async-util.d.ts} +0 -0
  172. /package/build/{bluetooth-device-wrapper.d.ts → cjs/bluetooth-device-wrapper.d.ts} +0 -0
  173. /package/build/{bluetooth-profile.d.ts → cjs/bluetooth-profile.d.ts} +0 -0
  174. /package/build/{board-id.d.ts → cjs/board-id.d.ts} +0 -0
  175. /package/build/{board-serial-info.d.ts → cjs/board-serial-info.d.ts} +0 -0
  176. /package/build/{button-service.d.ts → cjs/button-service.d.ts} +0 -0
  177. /package/build/{buttons.d.ts → cjs/buttons.d.ts} +0 -0
  178. /package/build/{constants.d.ts → cjs/constants.d.ts} +0 -0
  179. /package/build/{device.d.ts → cjs/device.d.ts} +0 -0
  180. /package/build/{events.d.ts → cjs/events.d.ts} +0 -0
  181. /package/build/{hex-flash-data-source.d.ts → cjs/hex-flash-data-source.d.ts} +0 -0
  182. /package/build/{led-service.d.ts → cjs/led-service.d.ts} +0 -0
  183. /package/build/{led.d.ts → cjs/led.d.ts} +0 -0
  184. /package/build/{magnetometer-service.d.ts → cjs/magnetometer-service.d.ts} +0 -0
  185. /package/build/{magnetometer.d.ts → cjs/magnetometer.d.ts} +0 -0
  186. /package/build/{promise-queue.d.ts → cjs/promise-queue.d.ts} +0 -0
  187. /package/build/{service-events.d.ts → cjs/service-events.d.ts} +0 -0
  188. /package/build/{setupTests.d.ts → cjs/setupTests.d.ts} +0 -0
  189. /package/build/{uart-service.d.ts → cjs/uart-service.d.ts} +0 -0
  190. /package/build/{uart.d.ts → cjs/uart.d.ts} +0 -0
  191. /package/build/{usb-partial-flashing-utils.d.ts → cjs/usb-partial-flashing-utils.d.ts} +0 -0
  192. /package/build/{usb-radio-bridge.d.ts → cjs/usb-radio-bridge.d.ts} +0 -0
  193. /package/build/{usb-serial-protocol.d.ts → cjs/usb-serial-protocol.d.ts} +0 -0
  194. /package/build/{usb.d.ts → cjs/usb.d.ts} +0 -0
  195. /package/build/{accelerometer-service.js → esm/accelerometer-service.js} +0 -0
  196. /package/build/{accelerometer.js → esm/accelerometer.js} +0 -0
  197. /package/build/{async-util.js → esm/async-util.js} +0 -0
  198. /package/build/{bluetooth-device-wrapper.js → esm/bluetooth-device-wrapper.js} +0 -0
  199. /package/build/{bluetooth-profile.js → esm/bluetooth-profile.js} +0 -0
  200. /package/build/{bluetooth.js → esm/bluetooth.js} +0 -0
  201. /package/build/{board-id.js → esm/board-id.js} +0 -0
  202. /package/build/{board-serial-info.js → esm/board-serial-info.js} +0 -0
  203. /package/build/{button-service.js → esm/button-service.js} +0 -0
  204. /package/build/{buttons.js → esm/buttons.js} +0 -0
  205. /package/build/{constants.js → esm/constants.js} +0 -0
  206. /package/build/{device.js → esm/device.js} +0 -0
  207. /package/build/{events.js → esm/events.js} +0 -0
  208. /package/build/{hex-flash-data-source.js → esm/hex-flash-data-source.js} +0 -0
  209. /package/build/{led-service.js → esm/led-service.js} +0 -0
  210. /package/build/{led.js → esm/led.js} +0 -0
  211. /package/build/{logging.js → esm/logging.js} +0 -0
  212. /package/build/{magnetometer-service.js → esm/magnetometer-service.js} +0 -0
  213. /package/build/{magnetometer.js → esm/magnetometer.js} +0 -0
  214. /package/build/{promise-queue.js → esm/promise-queue.js} +0 -0
  215. /package/build/{service-events.js → esm/service-events.js} +0 -0
  216. /package/build/{uart-service.js → esm/uart-service.js} +0 -0
  217. /package/build/{uart.js → esm/uart.js} +0 -0
  218. /package/build/{usb-partial-flashing-utils.js → esm/usb-partial-flashing-utils.js} +0 -0
  219. /package/build/{usb-radio-bridge.js → esm/usb-radio-bridge.js} +0 -0
  220. /package/build/{usb-serial-protocol.js → esm/usb-serial-protocol.js} +0 -0
  221. /package/build/{usb.js → esm/usb.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bluetooth-device-wrapper.js","sourceRoot":"","sources":["../../lib/bluetooth-device-wrapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ export declare const profile: {
2
+ uart: {
3
+ id: string;
4
+ characteristics: {
5
+ tx: {
6
+ id: string;
7
+ };
8
+ rx: {
9
+ id: string;
10
+ };
11
+ };
12
+ };
13
+ accelerometer: {
14
+ id: string;
15
+ characteristics: {
16
+ data: {
17
+ id: string;
18
+ };
19
+ period: {
20
+ id: string;
21
+ };
22
+ };
23
+ };
24
+ deviceInformation: {
25
+ id: string;
26
+ characteristics: {
27
+ modelNumber: {
28
+ id: string;
29
+ };
30
+ serialNumber: {
31
+ id: string;
32
+ };
33
+ firmwareRevision: {
34
+ id: string;
35
+ };
36
+ hardwareRevision: {
37
+ id: string;
38
+ };
39
+ manufacturer: {
40
+ id: string;
41
+ };
42
+ };
43
+ };
44
+ dfuControl: {
45
+ id: string;
46
+ characteristics: {
47
+ control: {
48
+ id: string;
49
+ };
50
+ };
51
+ };
52
+ led: {
53
+ id: string;
54
+ characteristics: {
55
+ matrixState: {
56
+ id: string;
57
+ };
58
+ text: {
59
+ id: string;
60
+ };
61
+ scrollingDelay: {
62
+ id: string;
63
+ };
64
+ };
65
+ };
66
+ ioPin: {
67
+ id: string;
68
+ characteristics: {
69
+ pinData: {
70
+ id: string;
71
+ };
72
+ pinAdConfiguration: {
73
+ id: string;
74
+ };
75
+ pinIoConfiguration: {
76
+ id: string;
77
+ };
78
+ pwmControl: {
79
+ id: string;
80
+ };
81
+ };
82
+ };
83
+ button: {
84
+ id: string;
85
+ characteristics: {
86
+ a: {
87
+ id: string;
88
+ };
89
+ b: {
90
+ id: string;
91
+ };
92
+ };
93
+ };
94
+ event: {
95
+ id: string;
96
+ characteristics: {
97
+ microBitRequirements: {
98
+ id: string;
99
+ };
100
+ microBitEvent: {
101
+ id: string;
102
+ };
103
+ clientRequirements: {
104
+ id: string;
105
+ };
106
+ clientEvent: {
107
+ id: string;
108
+ };
109
+ };
110
+ };
111
+ magnetometer: {
112
+ id: string;
113
+ characteristics: {
114
+ data: {
115
+ id: string;
116
+ };
117
+ period: {
118
+ id: string;
119
+ };
120
+ bearing: {
121
+ id: string;
122
+ };
123
+ calibration: {
124
+ id: string;
125
+ };
126
+ };
127
+ };
128
+ temperature: {
129
+ id: string;
130
+ characteristics: {
131
+ data: {
132
+ id: string;
133
+ };
134
+ period: {
135
+ id: string;
136
+ };
137
+ };
138
+ };
139
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bluetooth-profile.js","sourceRoot":"","sources":["../../lib/bluetooth-profile.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE;QACJ,EAAE,EAAE,sCAAsC;QAC1C,eAAe,EAAE;YACf,EAAE,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YAClD,EAAE,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;SACnD;KACF;IACD,aAAa,EAAE;QACb,EAAE,EAAE,sCAAsC;QAC1C,eAAe,EAAE;YACf,IAAI,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YACpD,MAAM,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;SACvD;KACF;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,sCAAsC;QAC1C,eAAe,EAAE;YACf,WAAW,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YAC3D,YAAY,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YAC5D,gBAAgB,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YAChE,gBAAgB,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YAChE,YAAY,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;SAC7D;KACF;IACD,UAAU,EAAE;QACV,EAAE,EAAE,sCAAsC;QAC1C,eAAe,EAAE;YACf,OAAO,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;SACxD;KACF;IACD,GAAG,EAAE;QACH,EAAE,EAAE,sCAAsC;QAC1C,eAAe,EAAE;YACf,WAAW,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YAC3D,IAAI,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YACpD,cAAc,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;SAC/D;KACF;IACD,KAAK,EAAE;QACL,EAAE,EAAE,sCAAsC;QAC1C,eAAe,EAAE;YACf,OAAO,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YACvD,kBAAkB,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YAClE,kBAAkB,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YAClE,UAAU,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;SAC3D;KACF;IACD,MAAM,EAAE;QACN,EAAE,EAAE,sCAAsC;QAC1C,eAAe,EAAE;YACf,CAAC,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YACjD,CAAC,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;SAClD;KACF;IACD,KAAK,EAAE;QACL,EAAE,EAAE,sCAAsC;QAC1C,eAAe,EAAE;YACf,oBAAoB,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YACpE,aAAa,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YAC7D,kBAAkB,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YAClE,WAAW,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;SAC5D;KACF;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,sCAAsC;QAC1C,eAAe,EAAE;YACf,IAAI,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YACpD,MAAM,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YACtD,OAAO,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YACvD,WAAW,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;SAC5D;KACF;IACD,WAAW,EAAE;QACX,EAAE,EAAE,sCAAsC;QAC1C,eAAe,EAAE;YACf,IAAI,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;YACpD,MAAM,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;SACvD;KACF;CACF,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * (c) 2021, Micro:bit Educational Foundation and contributors
3
+ *
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { AccelerometerData } from "./accelerometer.js";
7
+ import { BoardVersion, ConnectionStatus, DeviceConnection, DeviceConnectionEventMap } from "./device.js";
8
+ import { TypedEventTarget } from "./events.js";
9
+ import { LedMatrix } from "./led.js";
10
+ import { Logging } from "./logging.js";
11
+ import { MagnetometerData } from "./magnetometer.js";
12
+ import { ServiceConnectionEventMap } from "./service-events.js";
13
+ export interface MicrobitWebBluetoothConnectionOptions {
14
+ logging?: Logging;
15
+ }
16
+ /**
17
+ * A Bluetooth connection to a micro:bit device.
18
+ */
19
+ export declare class MicrobitWebBluetoothConnection extends TypedEventTarget<DeviceConnectionEventMap & ServiceConnectionEventMap> implements DeviceConnection {
20
+ status: ConnectionStatus;
21
+ /**
22
+ * The USB device we last connected to.
23
+ * Cleared if it is disconnected.
24
+ */
25
+ private device;
26
+ private logging;
27
+ private connection;
28
+ private availabilityListener;
29
+ private availability;
30
+ private nameFilter;
31
+ constructor(options?: MicrobitWebBluetoothConnectionOptions);
32
+ protected eventActivated(type: string): void;
33
+ protected eventDeactivated(type: string): void;
34
+ private log;
35
+ initialize(): Promise<void>;
36
+ dispose(): void;
37
+ connect(): Promise<ConnectionStatus>;
38
+ getBoardVersion(): BoardVersion | undefined;
39
+ disconnect(): Promise<void>;
40
+ private setStatus;
41
+ serialWrite(data: string): Promise<void>;
42
+ clearDevice(): Promise<void>;
43
+ private connectInternal;
44
+ setNameFilter(name: string): void;
45
+ private chooseDevice;
46
+ getAccelerometerData(): Promise<AccelerometerData | undefined>;
47
+ getAccelerometerPeriod(): Promise<number | undefined>;
48
+ setAccelerometerPeriod(value: number): Promise<void>;
49
+ setLedText(text: string): Promise<void>;
50
+ getLedScrollingDelay(): Promise<number | undefined>;
51
+ setLedScrollingDelay(delayInMillis: number): Promise<void>;
52
+ getLedMatrix(): Promise<LedMatrix | undefined>;
53
+ setLedMatrix(matrix: LedMatrix): Promise<void>;
54
+ getMagnetometerData(): Promise<MagnetometerData | undefined>;
55
+ getMagnetometerPeriod(): Promise<number | undefined>;
56
+ setMagnetometerPeriod(value: number): Promise<void>;
57
+ getMagnetometerBearing(): Promise<number | undefined>;
58
+ triggerMagnetometerCalibration(): Promise<void>;
59
+ writeUART(data: Uint8Array): Promise<void>;
60
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bluetooth.js","sourceRoot":"","sources":["../../lib/bluetooth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * (c) 2021, Micro:bit Educational Foundation and contributors
3
+ *
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { BoardVersion } from "./device.js";
7
+ /**
8
+ * Validates micro:bit board IDs.
9
+ */
10
+ export declare class BoardId {
11
+ id: number;
12
+ private static v1Normalized;
13
+ private static v2Normalized;
14
+ constructor(id: number);
15
+ toBoardVersion(): BoardVersion;
16
+ isV1(): boolean;
17
+ isV2(): boolean;
18
+ /**
19
+ * Return the board ID using the default ID for the board type.
20
+ * Used to integrate with MicropythonFsHex.
21
+ */
22
+ normalize(): BoardId;
23
+ /**
24
+ * toString matches the input to parse.
25
+ *
26
+ * @returns the ID as a string.
27
+ */
28
+ toString(): string;
29
+ /**
30
+ * @param value The ID as a hex string with no 0x prefix (e.g. 9900).
31
+ * @returns the valid board ID
32
+ * @throws if the ID isn't known.
33
+ */
34
+ static parse(value: string): BoardId;
35
+ static forVersion(boardVersion: BoardVersion): BoardId;
36
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board-id.js","sourceRoot":"","sources":["../../lib/board-id.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,OAAO,OAAO;IAIlB,YAAmB,EAAU;QAAjB;;;;mBAAO,EAAE;WAAQ;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;IAClD,CAAC;IAED,IAAI;QACF,OAAO,CACL,IAAI,CAAC,EAAE,KAAK,MAAM;YAClB,IAAI,CAAC,EAAE,KAAK,MAAM;YAClB,IAAI,CAAC,EAAE,KAAK,MAAM;YAClB,IAAI,CAAC,EAAE,KAAK,MAAM,CACnB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,KAAa;QACxB,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,YAA0B;QAC1C,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,YAAY,CAAC;YAC3B,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;IACH,CAAC;;AA3Dc;;;;WAAe,IAAI,OAAO,CAAC,MAAM,CAAC;EAAtB,CAAuB;AACnC;;;;WAAe,IAAI,OAAO,CAAC,MAAM,CAAC;EAAtB,CAAuB"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * (c) 2021, Micro:bit Educational Foundation and contributors
3
+ *
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { BoardId } from "./board-id.js";
7
+ export declare class BoardSerialInfo {
8
+ id: BoardId;
9
+ familyId: string;
10
+ hic: string;
11
+ constructor(id: BoardId, familyId: string, hic: string);
12
+ static parse(device: USBDevice, log: (msg: string) => void): BoardSerialInfo;
13
+ eq(other: BoardSerialInfo): boolean;
14
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board-serial-info.js","sourceRoot":"","sources":["../../lib/board-serial-info.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,OAAO,eAAe;IAC1B,YACS,EAAW,EACX,QAAgB,EAChB,GAAW;QAFlB;;;;mBAAO,EAAE;WAAS;QAClB;;;;mBAAO,QAAQ;WAAQ;QACvB;;;;mBAAO,GAAG;WAAQ;IACjB,CAAC;IACJ,MAAM,CAAC,KAAK,CAAC,MAAiB,EAAE,GAA0B;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACzB,GAAG,CAAC,wCAAwC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,EAAE,CAAC,KAAsB;QACvB,OAAO,CACL,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;YACpB,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAChC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CACvB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import { Service } from "./bluetooth-device-wrapper.js";
2
+ import { TypedServiceEvent, TypedServiceEventDispatcher } from "./service-events.js";
3
+ export declare class ButtonService implements Service {
4
+ private buttonACharacteristic;
5
+ private buttonBCharacteristic;
6
+ private dispatchTypedEvent;
7
+ constructor(buttonACharacteristic: BluetoothRemoteGATTCharacteristic, buttonBCharacteristic: BluetoothRemoteGATTCharacteristic, dispatchTypedEvent: TypedServiceEventDispatcher);
8
+ static createService(gattServer: BluetoothRemoteGATTServer, dispatcher: TypedServiceEventDispatcher, queueGattOperation: <R>(action: () => Promise<R>) => Promise<R>, listenerInit: boolean): Promise<ButtonService | undefined>;
9
+ private dataViewToButtonState;
10
+ startNotifications(type: TypedServiceEvent): Promise<void>;
11
+ stopNotifications(type: TypedServiceEvent): Promise<void>;
12
+ private characteristicForEvent;
13
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-service.js","sourceRoot":"","sources":["../../lib/button-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare enum ButtonState {
2
+ NotPressed = 0,
3
+ ShortPress = 1,
4
+ LongPress = 2
5
+ }
6
+ export type ButtonEventType = "buttonachanged" | "buttonbchanged";
7
+ export declare class ButtonEvent extends Event {
8
+ readonly state: ButtonState;
9
+ constructor(type: ButtonEventType, state: ButtonState);
10
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../lib/buttons.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,yDAAc,CAAA;IACd,yDAAc,CAAA;IACd,uDAAa,CAAA;AACf,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAID,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YACE,IAAqB,EACL,KAAkB;QAElC,KAAK,CAAC,IAAI,CAAC,CAAC;QAFZ;;;;mBAAgB,KAAK;WAAa;IAGpC,CAAC;CACF"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * (c) 2021, Micro:bit Educational Foundation and contributors
3
+ *
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export declare const FICR: {
7
+ CODEPAGESIZE: number;
8
+ CODESIZE: number;
9
+ DEVICE_ID_1: number;
10
+ };
11
+ export declare const DapCmd: {
12
+ DAP_INFO: number;
13
+ DAP_CONNECT: number;
14
+ DAP_DISCONNECT: number;
15
+ DAP_TRANSFER: number;
16
+ DAP_TRANSFER_BLOCK: number;
17
+ };
18
+ export declare const Csw: {
19
+ CSW_SIZE: number;
20
+ CSW_SIZE32: number;
21
+ CSW_ADDRINC: number;
22
+ CSW_SADDRINC: number;
23
+ CSW_DBGSTAT: number;
24
+ CSW_HPROT: number;
25
+ CSW_MSTRDBG: number;
26
+ CSW_RESERVED: number;
27
+ CSW_VALUE: number;
28
+ };
29
+ export declare const DapVal: {
30
+ AP_ACC: number;
31
+ READ: number;
32
+ WRITE: number;
33
+ };
34
+ export declare const ApReg: {
35
+ CSW: number;
36
+ TAR: number;
37
+ DRW: number;
38
+ };
39
+ export declare const CortexSpecialReg: {
40
+ DEMCR: number;
41
+ DEMCR_VC_CORERESET: number;
42
+ CPUID: number;
43
+ DHCSR: number;
44
+ S_RESET_ST: number;
45
+ NVIC_AIRCR: number;
46
+ NVIC_AIRCR_VECTKEY: number;
47
+ NVIC_AIRCR_SYSRESETREQ: number;
48
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,sGAAsG;AACtG,yGAAyG;AAEzG,sGAAsG;AACtG,kEAAkE;AAClE,0EAA0E;AAE1E,iBAAiB;AACjB,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,YAAY,EAAE,UAAU,GAAG,IAAI;IAC/B,QAAQ,EAAE,UAAU,GAAG,IAAI;IAE3B,WAAW,EAAE,UAAU,GAAG,IAAI;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,kBAAkB,EAAE,IAAI;IACxB,aAAa;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,UAAU;IACvB,YAAY,EAAE,UAAU;IACxB,WAAW,EAAE,UAAU;IACvB,SAAS,EAAE,UAAU;IACrB,WAAW,EAAE,UAAU;IACvB,YAAY,EAAE,UAAU;IACxB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY;IAC3B,aAAa;CACd,CAAC;AACF,GAAG,CAAC,SAAS;IACX,GAAG,CAAC,YAAY;QAChB,GAAG,CAAC,WAAW;QACf,GAAG,CAAC,SAAS;QACb,GAAG,CAAC,WAAW;QACf,GAAG,CAAC,YAAY,CAAC;AAEnB,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM,EAAE,CAAC,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,IAAI,CAAC;IACZ,KAAK,EAAE,CAAC,IAAI,CAAC;IACb,QAAQ;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,QAAQ;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,+CAA+C;IAC/C,KAAK,EAAE,UAAU;IACjB,gDAAgD;IAChD,kBAAkB,EAAE,CAAC,IAAI,CAAC;IAE1B,iBAAiB;IACjB,KAAK,EAAE,UAAU;IAEjB,4CAA4C;IAC5C,KAAK,EAAE,UAAU;IACjB,UAAU,EAAE,CAAC,IAAI,EAAE;IAEnB,UAAU,EAAE,UAAU;IACtB,kBAAkB,EAAE,KAAK,IAAI,EAAE;IAC/B,sBAAsB,EAAE,CAAC,IAAI,CAAC;IAE9B,aAAa;CACd,CAAC"}
@@ -0,0 +1,208 @@
1
+ /**
2
+ * (c) 2021, Micro:bit Educational Foundation and contributors
3
+ *
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { TypedEventTarget } from "./events.js";
7
+ import { UARTDataEvent } from "./uart.js";
8
+ /**
9
+ * Specific identified error types.
10
+ *
11
+ * New members may be added over time.
12
+ */
13
+ export type DeviceErrorCode =
14
+ /**
15
+ * Device not selected, e.g. because the user cancelled the dialog.
16
+ */
17
+ "no-device-selected"
18
+ /**
19
+ * Device not found, perhaps because it doesn't have new enough firmware (for V1).
20
+ */
21
+ | "update-req"
22
+ /**
23
+ * Unable to claim the interface, usually because it's in use in another tab/window.
24
+ */
25
+ | "clear-connect"
26
+ /**
27
+ * The device was found to be disconnected.
28
+ */
29
+ | "device-disconnected"
30
+ /**
31
+ * A communication timeout occurred.
32
+ */
33
+ | "timeout-error"
34
+ /**
35
+ * This is the fallback error case suggesting that the user reconnects their device.
36
+ */
37
+ | "reconnect-microbit"
38
+ /**
39
+ * Error occured during serial or bluetooth communication.
40
+ */
41
+ | "background-comms-error"
42
+ /**
43
+ * Bluetooth service is missing on device.
44
+ */
45
+ | "service-missing";
46
+ /**
47
+ * Error type used for all interactions with this module.
48
+ *
49
+ * The code indicates the error type and may be suitable for providing
50
+ * translated error messages.
51
+ *
52
+ * The message is the underlying message text and will usually be in
53
+ * English.
54
+ */
55
+ export declare class DeviceError extends Error {
56
+ code: DeviceErrorCode;
57
+ constructor({ code, message }: {
58
+ code: DeviceErrorCode;
59
+ message?: string;
60
+ });
61
+ }
62
+ /**
63
+ * Tracks connection status,
64
+ */
65
+ export declare enum ConnectionStatus {
66
+ /**
67
+ * Determining whether the connection type is supported requires
68
+ * initialize() to complete.
69
+ */
70
+ SUPPORT_NOT_KNOWN = "SUPPORT_NOT_KNOWN",
71
+ /**
72
+ * Not supported.
73
+ */
74
+ NOT_SUPPORTED = "NOT_SUPPORTED",
75
+ /**
76
+ * Supported but no device available.
77
+ *
78
+ * This will be the case even when a device is physically connected
79
+ * but has not been connected via the browser security UI.
80
+ */
81
+ NO_AUTHORIZED_DEVICE = "NO_AUTHORIZED_DEVICE",
82
+ /**
83
+ * Authorized device available but we haven't connected to it.
84
+ */
85
+ DISCONNECTED = "DISCONNECTED",
86
+ /**
87
+ * Connected.
88
+ */
89
+ CONNECTED = "CONNECTED",
90
+ /**
91
+ * Connecting.
92
+ */
93
+ CONNECTING = "CONNECTING",
94
+ /**
95
+ * Reconnecting. When there is unexpected disruption in the connection,
96
+ * a reconnection is attempted.
97
+ */
98
+ RECONNECTING = "RECONNECTING"
99
+ }
100
+ export interface FlashOptions {
101
+ /**
102
+ * True to use a partial flash where possible, false to force a full flash.
103
+ */
104
+ partial: boolean;
105
+ /**
106
+ * A progress callback. Called with undefined when the process is complete or has failed.
107
+ *
108
+ * Requesting a partial flash doesn't guarantee one is performed. Partial flashes are avoided
109
+ * if too many blocks have changed and failed partial flashes are retried as full flashes.
110
+ * The partial parameter reports the flash type currently in progress.
111
+ */
112
+ progress: (percentage: number | undefined, partial: boolean) => void;
113
+ /**
114
+ * Smallest possible progress increment to limit callback rate.
115
+ */
116
+ minimumProgressIncrement?: number;
117
+ }
118
+ export declare class FlashDataError extends Error {
119
+ }
120
+ export type FlashDataSource = (boardVersion: BoardVersion) => Promise<string | Uint8Array>;
121
+ export type BoardVersion = "V1" | "V2";
122
+ export declare class ConnectionStatusEvent extends Event {
123
+ readonly status: ConnectionStatus;
124
+ constructor(status: ConnectionStatus);
125
+ }
126
+ export declare class SerialDataEvent extends Event {
127
+ readonly data: string;
128
+ constructor(data: string);
129
+ }
130
+ export declare class SerialResetEvent extends Event {
131
+ constructor();
132
+ }
133
+ export declare class SerialErrorEvent extends Event {
134
+ readonly error: unknown;
135
+ constructor(error: unknown);
136
+ }
137
+ export declare class FlashEvent extends Event {
138
+ constructor();
139
+ }
140
+ export declare class BeforeRequestDevice extends Event {
141
+ constructor();
142
+ }
143
+ export declare class AfterRequestDevice extends Event {
144
+ constructor();
145
+ }
146
+ export declare class BackgroundErrorEvent extends Event {
147
+ readonly errorMessage: string;
148
+ constructor(errorMessage: string);
149
+ }
150
+ export declare class DeviceConnectionEventMap {
151
+ "status": ConnectionStatusEvent;
152
+ "serialdata": SerialDataEvent;
153
+ "serialreset": Event;
154
+ "serialerror": SerialErrorEvent;
155
+ "uartdata": UARTDataEvent;
156
+ "flash": Event;
157
+ "beforerequestdevice": Event;
158
+ "afterrequestdevice": Event;
159
+ "backgrounderror": BackgroundErrorEvent;
160
+ }
161
+ export interface DeviceConnection extends TypedEventTarget<DeviceConnectionEventMap> {
162
+ status: ConnectionStatus;
163
+ /**
164
+ * Initializes the device.
165
+ */
166
+ initialize(): Promise<void>;
167
+ /**
168
+ * Removes all listeners.
169
+ */
170
+ dispose(): void;
171
+ /**
172
+ * Connects to a currently paired device or requests pairing.
173
+ * Throws on error.
174
+ *
175
+ * @returns the final connection status.
176
+ */
177
+ connect(): Promise<ConnectionStatus>;
178
+ /**
179
+ * Get the board version.
180
+ *
181
+ * @returns the board version or null if there is no connection.
182
+ */
183
+ getBoardVersion(): BoardVersion | undefined;
184
+ /**
185
+ * Flash the micro:bit.
186
+ *
187
+ * @param dataSource The data to use.
188
+ * @param options Flash options and progress callback.
189
+ */
190
+ flash?(dataSource: FlashDataSource, options: {}): Promise<void>;
191
+ /**
192
+ * Disconnect from the device.
193
+ */
194
+ disconnect(): Promise<void>;
195
+ /**
196
+ * Write serial data to the device.
197
+ *
198
+ * Does nothting if there is no connection.
199
+ *
200
+ * @param data The data to write.
201
+ * @returns A promise that resolves when the write is complete.
202
+ */
203
+ serialWrite(data: string): Promise<void>;
204
+ /**
205
+ * Clear device to enable chooseDevice.
206
+ */
207
+ clearDevice(): void;
208
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../lib/device.ts"],"names":[],"mappings":"AA+CA;;;;;;;;GAQG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAEpC,YAAY,EAAE,IAAI,EAAE,OAAO,EAA+C;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;QAFjB;;;;;WAAsB;QAGpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,gBAkCX;AAlCD,WAAY,gBAAgB;IAC1B;;;OAGG;IACH,2DAAuC,CAAA;IACvC;;OAEG;IACH,mDAA+B,CAAA;IAC/B;;;;;OAKG;IACH,iEAA6C,CAAA;IAC7C;;OAEG;IACH,iDAA6B,CAAA;IAC7B;;OAEG;IACH,2CAAuB,CAAA;IACvB;;OAEG;IACH,6CAAyB,CAAA;IACzB;;;OAGG;IACH,iDAA6B,CAAA;AAC/B,CAAC,EAlCW,gBAAgB,KAAhB,gBAAgB,QAkC3B;AAqBD,MAAM,OAAO,cAAe,SAAQ,KAAK;CAAG;AAQ5C,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAA4B,MAAwB;QAClD,KAAK,CAAC,QAAQ,CAAC,CAAC;QADN;;;;mBAAgB,MAAM;WAAkB;IAEpD,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAA4B,IAAY;QACtC,KAAK,CAAC,YAAY,CAAC,CAAC;QADV;;;;mBAAgB,IAAI;WAAQ;IAExC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC;QACE,KAAK,CAAC,aAAa,CAAC,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAA4B,KAAc;QACxC,KAAK,CAAC,aAAa,CAAC,CAAC;QADX;;;;mBAAgB,KAAK;WAAS;IAE1C,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC;QACE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAA4B,YAAoB;QAC9C,KAAK,CAAC,iBAAiB,CAAC,CAAC;QADf;;;;mBAAgB,YAAY;WAAQ;IAEhD,CAAC;CACF;AAED,MAAM,OAAO,wBAAwB;IAArC;QACE,4BAAA,QAAQ;;;;;WAAwB;QAChC,4BAAA,YAAY;;;;;WAAkB;QAC9B,4BAAA,aAAa;;;;;WAAQ;QACrB,4BAAA,aAAa;;;;;WAAmB;QAChC,4BAAA,UAAU;;;;;WAAgB;QAC1B,4BAAA,OAAO;;;;;WAAQ;QACf,4BAAA,qBAAqB;;;;;WAAQ;QAC7B,4BAAA,oBAAoB;;;;;WAAQ;QAC5B,4BAAA,iBAAiB;;;;;WAAuB;IAC1C,CAAC;CAAA"}