@teaui/core 1.3.7 → 1.4.8

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 (208) hide show
  1. package/.dist/Buffer.d.ts +9 -4
  2. package/.dist/Buffer.js +19 -16
  3. package/.dist/Buffer.js.map +1 -1
  4. package/.dist/Color.js +8 -12
  5. package/.dist/Color.js.map +1 -1
  6. package/.dist/Container.d.ts +4 -4
  7. package/.dist/Container.js +6 -10
  8. package/.dist/Container.js.map +1 -1
  9. package/.dist/Screen.d.ts +40 -11
  10. package/.dist/Screen.js +134 -97
  11. package/.dist/Screen.js.map +1 -1
  12. package/.dist/StringTerminal.d.ts +21 -0
  13. package/.dist/StringTerminal.js +100 -0
  14. package/.dist/StringTerminal.js.map +1 -0
  15. package/.dist/Style.d.ts +1 -1
  16. package/.dist/Style.js +24 -32
  17. package/.dist/Style.js.map +1 -1
  18. package/.dist/System.d.ts +2 -2
  19. package/.dist/System.js +2 -7
  20. package/.dist/System.js.map +1 -1
  21. package/.dist/TestTerminal.d.ts +100 -0
  22. package/.dist/TestTerminal.js +290 -0
  23. package/.dist/TestTerminal.js.map +1 -0
  24. package/.dist/Theme.d.ts +2 -2
  25. package/.dist/Theme.js +11 -15
  26. package/.dist/Theme.js.map +1 -1
  27. package/.dist/UI.d.ts +1 -1
  28. package/.dist/UI.js +3 -6
  29. package/.dist/UI.js.map +1 -1
  30. package/.dist/View.d.ts +8 -8
  31. package/.dist/View.js +17 -22
  32. package/.dist/View.js.map +1 -1
  33. package/.dist/Viewport.d.ts +6 -6
  34. package/.dist/Viewport.js +26 -30
  35. package/.dist/Viewport.js.map +1 -1
  36. package/.dist/ansi.js +25 -43
  37. package/.dist/ansi.js.map +1 -1
  38. package/.dist/components/Accordion.d.ts +8 -9
  39. package/.dist/components/Accordion.js +32 -40
  40. package/.dist/components/Accordion.js.map +1 -1
  41. package/.dist/components/Box.d.ts +3 -3
  42. package/.dist/components/Box.js +27 -31
  43. package/.dist/components/Box.js.map +1 -1
  44. package/.dist/components/Button.d.ts +8 -8
  45. package/.dist/components/Button.js +18 -22
  46. package/.dist/components/Button.js.map +1 -1
  47. package/.dist/components/Checkbox.d.ts +7 -7
  48. package/.dist/components/Checkbox.js +15 -20
  49. package/.dist/components/Checkbox.js.map +1 -1
  50. package/.dist/components/Collapsible.d.ts +6 -6
  51. package/.dist/components/Collapsible.js +16 -20
  52. package/.dist/components/Collapsible.js.map +1 -1
  53. package/.dist/components/CollapsibleText.d.ts +6 -6
  54. package/.dist/components/CollapsibleText.js +22 -26
  55. package/.dist/components/CollapsibleText.js.map +1 -1
  56. package/.dist/components/Digits.d.ts +5 -5
  57. package/.dist/components/Digits.js +7 -11
  58. package/.dist/components/Digits.js.map +1 -1
  59. package/.dist/components/Drawer.d.ts +7 -7
  60. package/.dist/components/Drawer.js +34 -38
  61. package/.dist/components/Drawer.js.map +1 -1
  62. package/.dist/components/Dropdown.d.ts +6 -6
  63. package/.dist/components/Dropdown.js +21 -25
  64. package/.dist/components/Dropdown.js.map +1 -1
  65. package/.dist/components/Header.d.ts +5 -5
  66. package/.dist/components/Header.js +14 -24
  67. package/.dist/components/Header.js.map +1 -1
  68. package/.dist/components/HotKey.d.ts +4 -4
  69. package/.dist/components/HotKey.js +6 -10
  70. package/.dist/components/HotKey.js.map +1 -1
  71. package/.dist/components/Input.d.ts +7 -7
  72. package/.dist/components/Input.js +38 -42
  73. package/.dist/components/Input.js.map +1 -1
  74. package/.dist/components/Log.d.ts +5 -5
  75. package/.dist/components/Log.js +26 -31
  76. package/.dist/components/Log.js.map +1 -1
  77. package/.dist/components/Progress.d.ts +4 -4
  78. package/.dist/components/Progress.js +11 -15
  79. package/.dist/components/Progress.js.map +1 -1
  80. package/.dist/components/Scrollable.d.ts +4 -4
  81. package/.dist/components/Scrollable.js +21 -25
  82. package/.dist/components/Scrollable.js.map +1 -1
  83. package/.dist/components/ScrollableList.d.ts +5 -5
  84. package/.dist/components/ScrollableList.js +13 -17
  85. package/.dist/components/ScrollableList.js.map +1 -1
  86. package/.dist/components/Separator.d.ts +5 -5
  87. package/.dist/components/Separator.js +6 -10
  88. package/.dist/components/Separator.js.map +1 -1
  89. package/.dist/components/Slider.d.ts +5 -5
  90. package/.dist/components/Slider.js +34 -38
  91. package/.dist/components/Slider.js.map +1 -1
  92. package/.dist/components/Space.d.ts +5 -5
  93. package/.dist/components/Space.js +6 -10
  94. package/.dist/components/Space.js.map +1 -1
  95. package/.dist/components/Spinner.d.ts +4 -4
  96. package/.dist/components/Spinner.js +5 -9
  97. package/.dist/components/Spinner.js.map +1 -1
  98. package/.dist/components/Stack.d.ts +6 -6
  99. package/.dist/components/Stack.js +16 -20
  100. package/.dist/components/Stack.js.map +1 -1
  101. package/.dist/components/Tabs.d.ts +7 -7
  102. package/.dist/components/Tabs.js +30 -34
  103. package/.dist/components/Tabs.js.map +1 -1
  104. package/.dist/components/Text.d.ts +6 -6
  105. package/.dist/components/Text.js +19 -23
  106. package/.dist/components/Text.js.map +1 -1
  107. package/.dist/components/ToggleGroup.d.ts +7 -7
  108. package/.dist/components/ToggleGroup.js +20 -24
  109. package/.dist/components/ToggleGroup.js.map +1 -1
  110. package/.dist/components/Tree.d.ts +4 -4
  111. package/.dist/components/Tree.js +17 -21
  112. package/.dist/components/Tree.js.map +1 -1
  113. package/.dist/components/Window.d.ts +2 -2
  114. package/.dist/components/Window.js +2 -6
  115. package/.dist/components/Window.js.map +1 -1
  116. package/.dist/components/fonts.d.ts +1 -1
  117. package/.dist/components/fonts.js +1 -4
  118. package/.dist/components/fonts.js.map +1 -1
  119. package/.dist/components/index.d.ts +27 -27
  120. package/.dist/components/index.js +27 -47
  121. package/.dist/components/index.js.map +1 -1
  122. package/.dist/components/types.js +1 -4
  123. package/.dist/components/types.js.map +1 -1
  124. package/.dist/components/utility/TrackMouse.d.ts +5 -5
  125. package/.dist/components/utility/TrackMouse.js +14 -18
  126. package/.dist/components/utility/TrackMouse.js.map +1 -1
  127. package/.dist/components/utility/index.d.ts +1 -1
  128. package/.dist/components/utility/index.js +1 -5
  129. package/.dist/components/utility/index.js.map +1 -1
  130. package/.dist/events/index.d.ts +9 -10
  131. package/.dist/events/index.js +3 -19
  132. package/.dist/events/index.js.map +1 -1
  133. package/.dist/events/key.d.ts +17 -3
  134. package/.dist/events/key.js +6 -13
  135. package/.dist/events/key.js.map +1 -1
  136. package/.dist/events/mouse.d.ts +3 -3
  137. package/.dist/events/mouse.js +12 -24
  138. package/.dist/events/mouse.js.map +1 -1
  139. package/.dist/events/translate.d.ts +4 -0
  140. package/.dist/events/translate.js +84 -0
  141. package/.dist/events/translate.js.map +1 -0
  142. package/.dist/events/window.js +1 -2
  143. package/.dist/geometry.js +4 -11
  144. package/.dist/geometry.js.map +1 -1
  145. package/.dist/iTerm2.d.ts +8 -4
  146. package/.dist/iTerm2.js +5 -9
  147. package/.dist/iTerm2.js.map +1 -1
  148. package/.dist/index.d.ts +23 -19
  149. package/.dist/index.js +21 -37
  150. package/.dist/index.js.map +1 -1
  151. package/.dist/inspect.js +23 -28
  152. package/.dist/inspect.js.map +1 -1
  153. package/.dist/log.js +9 -17
  154. package/.dist/log.js.map +1 -1
  155. package/.dist/managers/FocusManager.d.ts +2 -2
  156. package/.dist/managers/FocusManager.js +3 -7
  157. package/.dist/managers/FocusManager.js.map +1 -1
  158. package/.dist/managers/ModalManager.d.ts +4 -4
  159. package/.dist/managers/ModalManager.js +5 -9
  160. package/.dist/managers/ModalManager.js.map +1 -1
  161. package/.dist/managers/MouseManager.d.ts +4 -4
  162. package/.dist/managers/MouseManager.js +11 -14
  163. package/.dist/managers/MouseManager.js.map +1 -1
  164. package/.dist/managers/TickManager.d.ts +1 -1
  165. package/.dist/managers/TickManager.js +1 -5
  166. package/.dist/managers/TickManager.js.map +1 -1
  167. package/.dist/renderToAnsi.d.ts +12 -0
  168. package/.dist/renderToAnsi.js +43 -0
  169. package/.dist/renderToAnsi.js.map +1 -0
  170. package/.dist/terminal.d.ts +8 -3
  171. package/.dist/terminal.js +1 -2
  172. package/.dist/testing.d.ts +44 -0
  173. package/.dist/testing.js +164 -0
  174. package/.dist/testing.js.map +1 -0
  175. package/.dist/util.js +17 -25
  176. package/.dist/util.js.map +1 -1
  177. package/LICENSE +0 -3
  178. package/package.json +9 -31
  179. package/.dist/sys/alias.d.ts +0 -470
  180. package/.dist/sys/alias.js +0 -487
  181. package/.dist/sys/alias.js.map +0 -1
  182. package/.dist/sys/colors.d.ts +0 -10
  183. package/.dist/sys/colors.js +0 -285
  184. package/.dist/sys/colors.js.map +0 -1
  185. package/.dist/sys/gpmclient.d.ts +0 -11
  186. package/.dist/sys/gpmclient.js +0 -193
  187. package/.dist/sys/gpmclient.js.map +0 -1
  188. package/.dist/sys/index.d.ts +0 -4
  189. package/.dist/sys/index.js +0 -41
  190. package/.dist/sys/index.js.map +0 -1
  191. package/.dist/sys/keys.d.ts +0 -4
  192. package/.dist/sys/keys.js +0 -531
  193. package/.dist/sys/keys.js.map +0 -1
  194. package/.dist/sys/program.d.ts +0 -356
  195. package/.dist/sys/program.js +0 -3739
  196. package/.dist/sys/program.js.map +0 -1
  197. package/.dist/sys/tput.d.ts +0 -297
  198. package/.dist/sys/tput.js +0 -2708
  199. package/.dist/sys/tput.js.map +0 -1
  200. package/.dist/sys/unicode.d.ts +0 -25
  201. package/.dist/sys/unicode.js +0 -593
  202. package/.dist/sys/unicode.js.map +0 -1
  203. package/.dist/sys/usr/linux +0 -0
  204. package/.dist/sys/usr/windows-ansi +0 -0
  205. package/.dist/sys/usr/xterm +0 -0
  206. package/.dist/sys/usr/xterm-256color +0 -0
  207. package/.dist/sys/usr/xterm.termcap +0 -243
  208. package/.dist/sys/usr/xterm.terminfo +0 -1977
package/.dist/sys/keys.js DELETED
@@ -1,531 +0,0 @@
1
- "use strict";
2
- /**
3
- * keys.js - emit key presses
4
- * Copyright (c) 2010-2015, Joyent, Inc. and other contributors (MIT License)
5
- * https://github.com/chjj/blessed
6
- */
7
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
- if (k2 === undefined) k2 = k;
9
- var desc = Object.getOwnPropertyDescriptor(m, k);
10
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
- desc = { enumerable: true, get: function() { return m[k]; } };
12
- }
13
- Object.defineProperty(o, k2, desc);
14
- }) : (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- o[k2] = m[k];
17
- }));
18
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
- Object.defineProperty(o, "default", { enumerable: true, value: v });
20
- }) : function(o, v) {
21
- o["default"] = v;
22
- });
23
- var __importStar = (this && this.__importStar) || function (mod) {
24
- if (mod && mod.__esModule) return mod;
25
- var result = {};
26
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
27
- __setModuleDefault(result, mod);
28
- return result;
29
- };
30
- Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.emitKeypressEvents = emitKeypressEvents;
32
- // Originally taken from the node.js tree:
33
- //
34
- // Copyright Joyent, Inc. and other Node contributors. All rights reserved.
35
- // Permission is hereby granted, free of charge, to any person obtaining a copy
36
- // of this software and associated documentation files (the "Software"), to
37
- // deal in the Software without restriction, including without limitation the
38
- // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
39
- // sell copies of the Software, and to permit persons to whom the Software is
40
- // furnished to do so, subject to the following conditions:
41
- // The above copyright notice and this permission notice shall be included in
42
- // all copies or substantial portions of the Software.
43
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
44
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
45
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
46
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
47
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
48
- // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
49
- // IN THE SOFTWARE.
50
- const node_events_1 = require("node:events");
51
- const node_string_decoder_1 = require("node:string_decoder");
52
- const unicode = __importStar(require("./unicode"));
53
- // NOTE: node <=v0.8.x has no EventEmitter.listenerCount
54
- function listenerCount(stream, event) {
55
- return node_events_1.EventEmitter.listenerCount
56
- ? node_events_1.EventEmitter.listenerCount(stream, event)
57
- : stream.listeners(event).length;
58
- }
59
- /**
60
- * accepts a readable Stream instance and makes it emit "keypress" events
61
- */
62
- function emitKeypressEvents(stream) {
63
- if (stream._keypressDecoder)
64
- return;
65
- stream._keypressDecoder = new node_string_decoder_1.StringDecoder('utf8');
66
- function onData(b) {
67
- if (listenerCount(stream, 'keypress') > 0) {
68
- var r = stream._keypressDecoder.write(b);
69
- if (r)
70
- emitKeys(stream, r);
71
- }
72
- else {
73
- // Nobody's watching anyway
74
- stream.removeListener('data', onData);
75
- stream.on('newListener', onNewListener);
76
- }
77
- }
78
- function onNewListener(event) {
79
- if (event === 'keypress') {
80
- stream.on('data', onData);
81
- stream.removeListener('newListener', onNewListener);
82
- }
83
- }
84
- if (listenerCount(stream, 'keypress') > 0) {
85
- stream.on('data', onData);
86
- }
87
- else {
88
- stream.on('newListener', onNewListener);
89
- }
90
- }
91
- /*
92
- Some patterns seen in terminal key escape codes, derived from combos seen
93
- at http://www.midnight-commander.org/browser/lib/tty/key.c
94
-
95
- ESC letter
96
- ESC [ letter
97
- ESC [ modifier letter
98
- ESC [ 1 ; modifier letter
99
- ESC [ num char
100
- ESC [ num ; modifier char
101
- ESC O letter
102
- ESC O modifier letter
103
- ESC O 1 ; modifier letter
104
- ESC N letter
105
- ESC [ [ num ; modifier char
106
- ESC [ [ 1 ; modifier letter
107
- ESC ESC [ num char
108
- ESC ESC O letter
109
-
110
- - char is usually ~ but $ and ^ also happen with rxvt
111
- - modifier is 1 +
112
- (shift * 1) +
113
- (left_alt * 2) +
114
- (ctrl * 4) +
115
- (right_alt * 8)
116
- - two leading ESCs apparently mean the same as one leading ESC
117
- */
118
- // Regexes used for ansi escape code splitting
119
- var metaKeyCodeReAnywhere = /(?:\x1b)([a-zA-Z0-9])/;
120
- var metaKeyCodeRe = new RegExp('^' + metaKeyCodeReAnywhere.source + '$');
121
- var functionKeyCodeReAnywhere = new RegExp('(?:\x1b+)(O|N|\\[|\\[\\[)(?:' +
122
- [
123
- '(\\d+)(?:;(\\d+))?([~^$])',
124
- '(?:M([@ #!a`])(.)(.))', // mouse
125
- '(?:1;)?(\\d+)?([a-zA-Z])',
126
- ].join('|') +
127
- ')');
128
- var functionKeyCodeRe = new RegExp('^' + functionKeyCodeReAnywhere.source);
129
- var escapeCodeReAnywhere = new RegExp([
130
- functionKeyCodeReAnywhere.source,
131
- metaKeyCodeReAnywhere.source,
132
- /\x1b./.source,
133
- ].join('|'));
134
- function emitKeys(stream, s) {
135
- if (Buffer.isBuffer(s)) {
136
- if (s[0] > 127 && s[1] === undefined) {
137
- s[0] -= 128;
138
- s = '\x1b' + s.toString(stream.encoding || 'utf-8');
139
- }
140
- else {
141
- s = s.toString(stream.encoding || 'utf-8');
142
- }
143
- }
144
- if (isMouse(s))
145
- return;
146
- var buffer = [];
147
- var match;
148
- while ((match = escapeCodeReAnywhere.exec(s))) {
149
- buffer = buffer.concat(s.slice(0, match.index).split(''));
150
- buffer.push(match[0]);
151
- s = s.slice(match.index + match[0].length);
152
- }
153
- buffer = buffer.concat(s.split(''));
154
- buffer.forEach(function (s) {
155
- var ch, key = {
156
- char: s,
157
- name: undefined,
158
- ctrl: false,
159
- meta: false,
160
- shift: false,
161
- }, parts;
162
- if (s === '\r') {
163
- key.name = 'enter';
164
- }
165
- else if (s === '\n') {
166
- key.name = 'return';
167
- }
168
- else if (s === '\t') {
169
- key.name = 'tab';
170
- }
171
- else if (s === '\b' ||
172
- s === '\x7f' ||
173
- s === '\x1b\x7f' ||
174
- s === '\x1b\b') {
175
- key.name = 'backspace';
176
- key.meta = s.charAt(0) === '\x1b';
177
- }
178
- else if (s === '\x1b' || s === '\x1b\x1b') {
179
- key.name = 'escape';
180
- key.meta = s.length === 2;
181
- }
182
- else if (s === ' ' || s === '\x1b ') {
183
- key.name = 'space';
184
- key.meta = s.length === 2;
185
- }
186
- else if (s.length === 1 && s <= '\x1a') {
187
- // ctrl+letter
188
- key.name = String.fromCharCode(s.charCodeAt(0) + 'a'.charCodeAt(0) - 1);
189
- key.ctrl = true;
190
- }
191
- else if (s.length === 1 && s >= 'a' && s <= 'z') {
192
- // lowercase letter
193
- key.name = s;
194
- }
195
- else if (s.length === 1 && s >= 'A' && s <= 'Z') {
196
- // shift+letter
197
- key.name = s.toLowerCase();
198
- key.shift = true;
199
- }
200
- else if ((parts = metaKeyCodeRe.exec(s))) {
201
- // meta+character key
202
- key.name = parts[1].toLowerCase();
203
- key.meta = true;
204
- key.shift = /^[A-Z]$/.test(parts[1]);
205
- }
206
- else if ((parts = functionKeyCodeRe.exec(s))) {
207
- // ansi escape sequence
208
- // reassemble the key code leaving out leading \x1b's,
209
- // the modifier key bitflag and any meaningless "1;" sequence
210
- var code = (parts[1] || '') +
211
- (parts[2] || '') +
212
- (parts[4] || '') +
213
- (parts[9] || ''), modifier = (parts[3] || parts[8] || 1) - 1;
214
- // Parse the key modifier
215
- key.ctrl = !!(modifier & 4);
216
- key.meta = !!(modifier & 10);
217
- key.shift = !!(modifier & 1);
218
- key.code = code;
219
- // Parse the key itself
220
- switch (code) {
221
- /* xterm/gnome ESC O letter */
222
- case 'OP':
223
- key.name = 'f1';
224
- break;
225
- case 'OQ':
226
- key.name = 'f2';
227
- break;
228
- case 'OR':
229
- key.name = 'f3';
230
- break;
231
- case 'OS':
232
- key.name = 'f4';
233
- break;
234
- /* xterm/rxvt ESC [ number ~ */
235
- case '[11~':
236
- key.name = 'f1';
237
- break;
238
- case '[12~':
239
- key.name = 'f2';
240
- break;
241
- case '[13~':
242
- key.name = 'f3';
243
- break;
244
- case '[14~':
245
- key.name = 'f4';
246
- break;
247
- /* from Cygwin and used in libuv */
248
- case '[[A':
249
- key.name = 'f1';
250
- break;
251
- case '[[B':
252
- key.name = 'f2';
253
- break;
254
- case '[[C':
255
- key.name = 'f3';
256
- break;
257
- case '[[D':
258
- key.name = 'f4';
259
- break;
260
- case '[[E':
261
- key.name = 'f5';
262
- break;
263
- /* common */
264
- case '[15~':
265
- key.name = 'f5';
266
- break;
267
- case '[17~':
268
- key.name = 'f6';
269
- break;
270
- case '[18~':
271
- key.name = 'f7';
272
- break;
273
- case '[19~':
274
- key.name = 'f8';
275
- break;
276
- case '[20~':
277
- key.name = 'f9';
278
- break;
279
- case '[21~':
280
- key.name = 'f10';
281
- break;
282
- case '[23~':
283
- key.name = 'f11';
284
- break;
285
- case '[24~':
286
- key.name = 'f12';
287
- break;
288
- /* xterm ESC [ letter */
289
- case '[A':
290
- key.name = 'up';
291
- break;
292
- case '[B':
293
- key.name = 'down';
294
- break;
295
- case '[C':
296
- key.name = 'right';
297
- break;
298
- case '[D':
299
- key.name = 'left';
300
- break;
301
- case '[E':
302
- key.name = 'clear';
303
- break;
304
- case '[F':
305
- key.name = 'end';
306
- break;
307
- case '[H':
308
- key.name = 'home';
309
- break;
310
- /* xterm/gnome ESC O letter */
311
- case 'OA':
312
- key.name = 'up';
313
- break;
314
- case 'OB':
315
- key.name = 'down';
316
- break;
317
- case 'OC':
318
- key.name = 'right';
319
- break;
320
- case 'OD':
321
- key.name = 'left';
322
- break;
323
- case 'OE':
324
- key.name = 'clear';
325
- break;
326
- case 'OF':
327
- key.name = 'end';
328
- break;
329
- case 'OH':
330
- key.name = 'home';
331
- break;
332
- /* xterm/rxvt ESC [ number ~ */
333
- case '[1~':
334
- key.name = 'home';
335
- break;
336
- case '[2~':
337
- key.name = 'insert';
338
- break;
339
- case '[3~':
340
- key.name = 'delete';
341
- break;
342
- case '[4~':
343
- key.name = 'end';
344
- break;
345
- case '[5~':
346
- key.name = 'pageup';
347
- break;
348
- case '[6~':
349
- key.name = 'pagedown';
350
- break;
351
- /* putty */
352
- case '[[5~':
353
- key.name = 'pageup';
354
- break;
355
- case '[[6~':
356
- key.name = 'pagedown';
357
- break;
358
- /* rxvt */
359
- case '[7~':
360
- key.name = 'home';
361
- break;
362
- case '[8~':
363
- key.name = 'end';
364
- break;
365
- /* rxvt keys with modifiers */
366
- case '[a':
367
- key.name = 'up';
368
- key.shift = true;
369
- break;
370
- case '[b':
371
- key.name = 'down';
372
- key.shift = true;
373
- break;
374
- case '[c':
375
- key.name = 'right';
376
- key.shift = true;
377
- break;
378
- case '[d':
379
- key.name = 'left';
380
- key.shift = true;
381
- break;
382
- case '[e':
383
- key.name = 'clear';
384
- key.shift = true;
385
- break;
386
- case '[2$':
387
- key.name = 'insert';
388
- key.shift = true;
389
- break;
390
- case '[3$':
391
- key.name = 'delete';
392
- key.shift = true;
393
- break;
394
- case '[5$':
395
- key.name = 'pageup';
396
- key.shift = true;
397
- break;
398
- case '[6$':
399
- key.name = 'pagedown';
400
- key.shift = true;
401
- break;
402
- case '[7$':
403
- key.name = 'home';
404
- key.shift = true;
405
- break;
406
- case '[8$':
407
- key.name = 'end';
408
- key.shift = true;
409
- break;
410
- case 'Oa':
411
- key.name = 'up';
412
- key.ctrl = true;
413
- break;
414
- case 'Ob':
415
- key.name = 'down';
416
- key.ctrl = true;
417
- break;
418
- case 'Oc':
419
- key.name = 'right';
420
- key.ctrl = true;
421
- break;
422
- case 'Od':
423
- key.name = 'left';
424
- key.ctrl = true;
425
- break;
426
- case 'Oe':
427
- key.name = 'clear';
428
- key.ctrl = true;
429
- break;
430
- case '[2^':
431
- key.name = 'insert';
432
- key.ctrl = true;
433
- break;
434
- case '[3^':
435
- key.name = 'delete';
436
- key.ctrl = true;
437
- break;
438
- case '[5^':
439
- key.name = 'pageup';
440
- key.ctrl = true;
441
- break;
442
- case '[6^':
443
- key.name = 'pagedown';
444
- key.ctrl = true;
445
- break;
446
- case '[7^':
447
- key.name = 'home';
448
- key.ctrl = true;
449
- break;
450
- case '[8^':
451
- key.name = 'end';
452
- key.ctrl = true;
453
- break;
454
- /* misc. */
455
- case '[Z':
456
- key.name = 'tab';
457
- key.shift = true;
458
- break;
459
- default:
460
- key.name = 'undefined';
461
- break;
462
- }
463
- }
464
- // Don't emit a key if no name was found
465
- // We use this to match unicode/emoji characters
466
- if (key.name === undefined) {
467
- key = undefined;
468
- }
469
- if (s.length === 1) {
470
- ch = s;
471
- }
472
- if (key || ch) {
473
- throttleUnicode(key, ch, (key, ch) => {
474
- stream.emit('keypress', ch, key);
475
- });
476
- }
477
- });
478
- }
479
- let buffer = '';
480
- let timer = null;
481
- /**
482
- * Unicode characters come in quickly, but not at the same time, and are not
483
- * associated with a 'key' event. In this case, subsequent 'ch' characters are
484
- * concatenated and split into unicode characters before sending to the program.
485
- */
486
- function throttleUnicode(key, ch, fn) {
487
- if (timer) {
488
- clearTimeout(timer);
489
- }
490
- if (key) {
491
- // if a 'key' event comes in, clear the buffer (which only includes 'key-less'
492
- // events) before sending the new event.
493
- const chars = unicode.printableChars(buffer);
494
- chars.forEach(ch => fn({
495
- char: ch,
496
- name: ch,
497
- ctrl: false,
498
- meta: false,
499
- shift: false,
500
- }, ch));
501
- fn(key, ch);
502
- buffer = '';
503
- return;
504
- }
505
- buffer += ch;
506
- // if no 'key' event, buffer the 'ch' until no more characters arrive
507
- // the buffer is split before sending, even though it will usually only
508
- // include one character
509
- timer = setTimeout(() => {
510
- const chars = unicode.printableChars(buffer);
511
- chars.forEach(ch => fn({
512
- char: ch,
513
- name: ch,
514
- ctrl: false,
515
- meta: false,
516
- shift: false,
517
- }, ch));
518
- buffer = '';
519
- timer = null;
520
- }, 0);
521
- }
522
- function isMouse(s) {
523
- return (/\x1b\[M/.test(s) ||
524
- /\x1b\[M([\x00\u0020-\uffff]{3})/.test(s) ||
525
- /\x1b\[(\d+;\d+;\d+)M/.test(s) ||
526
- /\x1b\[<(\d+;\d+;\d+)([mM])/.test(s) ||
527
- /\x1b\[<(\d+;\d+;\d+;\d+)&w/.test(s) ||
528
- /\x1b\[24([0135])~\[(\d+),(\d+)\]\r/.test(s) ||
529
- /\x1b\[(O|I)/.test(s));
530
- }
531
- //# sourceMappingURL=keys.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../lib/sys/keys.js"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;AAuCH,gDA2BC;AAhED,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,+EAA+E;AAC/E,2EAA2E;AAC3E,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAC7E,2DAA2D;AAE3D,6EAA6E;AAC7E,sDAAsD;AAEtD,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,0EAA0E;AAC1E,+EAA+E;AAC/E,mBAAmB;AAEnB,6CAAwC;AACxC,6DAAiD;AAEjD,mDAAoC;AAEpC,wDAAwD;AACxD,SAAS,aAAa,CAAC,MAAM,EAAE,KAAK;IAClC,OAAO,0BAAY,CAAC,aAAa;QAC/B,CAAC,CAAC,0BAAY,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC;QAC3C,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA;AACpC,CAAC;AAED;;GAEG;AAEH,SAAgB,kBAAkB,CAAC,MAAM;IACvC,IAAI,MAAM,CAAC,gBAAgB;QAAE,OAAM;IACnC,MAAM,CAAC,gBAAgB,GAAG,IAAI,mCAAa,CAAC,MAAM,CAAC,CAAA;IAEnD,SAAS,MAAM,CAAC,CAAC;QACf,IAAI,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACxC,IAAI,CAAC;gBAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,2BAA2B;YAC3B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACrC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAED,SAAS,aAAa,CAAC,KAAK;QAC1B,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACzB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACzB,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;IACzC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BE;AAEF,8CAA8C;AAC9C,IAAI,qBAAqB,GAAG,uBAAuB,CAAA;AACnD,IAAI,aAAa,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,qBAAqB,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;AACxE,IAAI,yBAAyB,GAAG,IAAI,MAAM,CACxC,8BAA8B;IAC5B;QACE,2BAA2B;QAC3B,uBAAuB,EAAE,QAAQ;QACjC,0BAA0B;KAC3B,CAAC,IAAI,CAAC,GAAG,CAAC;IACX,GAAG,CACN,CAAA;AACD,IAAI,iBAAiB,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;AAC1E,IAAI,oBAAoB,GAAG,IAAI,MAAM,CACnC;IACE,yBAAyB,CAAC,MAAM;IAChC,qBAAqB,CAAC,MAAM;IAC5B,OAAO,CAAC,MAAM;CACf,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAA;AAED,SAAS,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACrC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;YACX,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,CAAC,CAAC;QAAE,OAAM;IAEtB,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,KAAK,CAAA;IACT,OAAO,CAAC,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QACzD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACrB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;IACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IAEnC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;QACxB,IAAI,EAAE,EACJ,GAAG,GAAG;YACJ,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;SACb,EACD,KAAK,CAAA;QAEP,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,GAAG,OAAO,CAAA;QACpB,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;QACrB,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,GAAG,KAAK,CAAA;QAClB,CAAC;aAAM,IACL,CAAC,KAAK,IAAI;YACV,CAAC,KAAK,MAAM;YACZ,CAAC,KAAK,UAAU;YAChB,CAAC,KAAK,QAAQ,EACd,CAAC;YACD,GAAG,CAAC,IAAI,GAAG,WAAW,CAAA;YACtB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAA;QACnC,CAAC;aAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;YACnB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;QAC3B,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAA;YAClB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;QAC3B,CAAC;aAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YACzC,cAAc;YACd,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACvE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;QACjB,CAAC;aAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YAClD,mBAAmB;YACnB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAA;QACd,CAAC;aAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YAClD,eAAe;YACf,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YAC1B,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;QAClB,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,qBAAqB;YACrB,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YACjC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;YACf,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,uBAAuB;YAEvB,sDAAsD;YACtD,6DAA6D;YAC7D,IAAI,IAAI,GACJ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAClB,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YAE5C,yBAAyB;YACzB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;YAC3B,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAA;YAC5B,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;YAC5B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;YAEf,uBAAuB;YACvB,QAAQ,IAAI,EAAE,CAAC;gBACb,8BAA8B;gBAC9B,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBAEP,+BAA+B;gBAC/B,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBAEP,mCAAmC;gBACnC,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBAEP,YAAY;gBACZ,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,KAAK,CAAA;oBAChB,MAAK;gBACP,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,KAAK,CAAA;oBAChB,MAAK;gBACP,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,KAAK,CAAA;oBAChB,MAAK;gBAEP,wBAAwB;gBACxB,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,OAAO,CAAA;oBAClB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,OAAO,CAAA;oBAClB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,KAAK,CAAA;oBAChB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,MAAK;gBAEP,8BAA8B;gBAC9B,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,OAAO,CAAA;oBAClB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,OAAO,CAAA;oBAClB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,KAAK,CAAA;oBAChB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,MAAK;gBAEP,+BAA+B;gBAC/B,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;oBACnB,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;oBACnB,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,KAAK,CAAA;oBAChB,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;oBACnB,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,UAAU,CAAA;oBACrB,MAAK;gBAEP,WAAW;gBACX,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;oBACnB,MAAK;gBACP,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,GAAG,UAAU,CAAA;oBACrB,MAAK;gBAEP,UAAU;gBACV,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,KAAK,CAAA;oBAChB,MAAK;gBAEP,8BAA8B;gBAC9B,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;oBAChB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;oBAChB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,OAAO,CAAA;oBAClB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;oBAChB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;oBAChB,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,OAAO,CAAA;oBAClB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;oBAChB,MAAK;gBAEP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;oBACnB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;oBAChB,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;oBACnB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;oBAChB,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;oBACnB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;oBAChB,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,UAAU,CAAA;oBACrB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;oBAChB,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;oBAChB,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,KAAK,CAAA;oBAChB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;oBAChB,MAAK;gBAEP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,OAAO,CAAA;oBAClB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,OAAO,CAAA;oBAClB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBAEP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;oBACnB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;oBACnB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;oBACnB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,UAAU,CAAA;oBACrB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,MAAM,CAAA;oBACjB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBACP,KAAK,KAAK;oBACR,GAAG,CAAC,IAAI,GAAG,KAAK,CAAA;oBAChB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;oBACf,MAAK;gBAEP,WAAW;gBACX,KAAK,IAAI;oBACP,GAAG,CAAC,IAAI,GAAG,KAAK,CAAA;oBAChB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;oBAChB,MAAK;gBACP;oBACE,GAAG,CAAC,IAAI,GAAG,WAAW,CAAA;oBACtB,MAAK;YACT,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,gDAAgD;QAChD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,GAAG,GAAG,SAAS,CAAA;QACjB,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,EAAE,GAAG,CAAC,CAAA;QACR,CAAC;QAED,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;YACd,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBACnC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;YAClC,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,IAAI,MAAM,GAAG,EAAE,CAAA;AACf,IAAI,KAAK,GAAG,IAAI,CAAA;AAChB;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;IAClC,IAAI,KAAK,EAAE,CAAC;QACV,YAAY,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACR,8EAA8E;QAC9E,wCAAwC;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QAC5C,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CACjB,EAAE,CACA;YACE,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;SACb,EACD,EAAE,CACH,CACF,CAAA;QACD,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACX,MAAM,GAAG,EAAE,CAAA;QACX,OAAM;IACR,CAAC;IAED,MAAM,IAAI,EAAE,CAAA;IACZ,qEAAqE;IACrE,uEAAuE;IACvE,wBAAwB;IACxB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QAC5C,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CACjB,EAAE,CACA;YACE,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;SACb,EACD,EAAE,CACH,CACF,CAAA;QACD,MAAM,GAAG,EAAE,CAAA;QACX,KAAK,GAAG,IAAI,CAAA;IACd,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC;AAED,SAAS,OAAO,CAAC,CAAC;IAChB,OAAO,CACL,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB,iCAAiC,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,oCAAoC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CACtB,CAAA;AACH,CAAC"}