appium 2.0.0-beta.5 → 2.0.0-beta.53

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 (199) hide show
  1. package/README.md +156 -63
  2. package/build/lib/appium.d.ts +226 -0
  3. package/build/lib/appium.d.ts.map +1 -0
  4. package/build/lib/appium.js +694 -439
  5. package/build/lib/appium.js.map +1 -0
  6. package/build/lib/cli/args.d.ts +17 -0
  7. package/build/lib/cli/args.d.ts.map +1 -0
  8. package/build/lib/cli/args.js +253 -319
  9. package/build/lib/cli/args.js.map +1 -0
  10. package/build/lib/cli/driver-command.d.ts +102 -0
  11. package/build/lib/cli/driver-command.d.ts.map +1 -0
  12. package/build/lib/cli/driver-command.js +126 -81
  13. package/build/lib/cli/driver-command.js.map +1 -0
  14. package/build/lib/cli/extension-command.d.ts +385 -0
  15. package/build/lib/cli/extension-command.d.ts.map +1 -0
  16. package/build/lib/cli/extension-command.js +731 -383
  17. package/build/lib/cli/extension-command.js.map +1 -0
  18. package/build/lib/cli/extension.d.ts +23 -0
  19. package/build/lib/cli/extension.d.ts.map +1 -0
  20. package/build/lib/cli/extension.js +71 -54
  21. package/build/lib/cli/extension.js.map +1 -0
  22. package/build/lib/cli/parser.d.ts +84 -0
  23. package/build/lib/cli/parser.d.ts.map +1 -0
  24. package/build/lib/cli/parser.js +240 -128
  25. package/build/lib/cli/parser.js.map +1 -0
  26. package/build/lib/cli/plugin-command.d.ts +99 -0
  27. package/build/lib/cli/plugin-command.d.ts.map +1 -0
  28. package/build/lib/cli/plugin-command.js +120 -81
  29. package/build/lib/cli/plugin-command.js.map +1 -0
  30. package/build/lib/cli/utils.d.ts +29 -0
  31. package/build/lib/cli/utils.d.ts.map +1 -0
  32. package/build/lib/cli/utils.js +72 -51
  33. package/build/lib/cli/utils.js.map +1 -0
  34. package/build/lib/config-file.d.ts +100 -0
  35. package/build/lib/config-file.d.ts.map +1 -0
  36. package/build/lib/config-file.js +207 -0
  37. package/build/lib/config-file.js.map +1 -0
  38. package/build/lib/config.d.ts +49 -0
  39. package/build/lib/config.d.ts.map +1 -0
  40. package/build/lib/config.js +265 -201
  41. package/build/lib/config.js.map +1 -0
  42. package/build/lib/constants.d.ts +49 -0
  43. package/build/lib/constants.d.ts.map +1 -0
  44. package/build/lib/constants.js +66 -0
  45. package/build/lib/constants.js.map +1 -0
  46. package/build/lib/extension/driver-config.d.ts +82 -0
  47. package/build/lib/extension/driver-config.d.ts.map +1 -0
  48. package/build/lib/extension/driver-config.js +212 -0
  49. package/build/lib/extension/driver-config.js.map +1 -0
  50. package/build/lib/extension/extension-config.d.ts +249 -0
  51. package/build/lib/extension/extension-config.d.ts.map +1 -0
  52. package/build/lib/extension/extension-config.js +581 -0
  53. package/build/lib/extension/extension-config.js.map +1 -0
  54. package/build/lib/extension/index.d.ts +48 -0
  55. package/build/lib/extension/index.d.ts.map +1 -0
  56. package/build/lib/extension/index.js +105 -0
  57. package/build/lib/extension/index.js.map +1 -0
  58. package/build/lib/extension/manifest-migrations.d.ts +27 -0
  59. package/build/lib/extension/manifest-migrations.d.ts.map +1 -0
  60. package/build/lib/extension/manifest-migrations.js +118 -0
  61. package/build/lib/extension/manifest-migrations.js.map +1 -0
  62. package/build/lib/extension/manifest.d.ts +145 -0
  63. package/build/lib/extension/manifest.d.ts.map +1 -0
  64. package/build/lib/extension/manifest.js +521 -0
  65. package/build/lib/extension/manifest.js.map +1 -0
  66. package/build/lib/extension/package-changed.d.ts +11 -0
  67. package/build/lib/extension/package-changed.d.ts.map +1 -0
  68. package/build/lib/extension/package-changed.js +62 -0
  69. package/build/lib/extension/package-changed.js.map +1 -0
  70. package/build/lib/extension/plugin-config.d.ts +56 -0
  71. package/build/lib/extension/plugin-config.d.ts.map +1 -0
  72. package/build/lib/extension/plugin-config.js +102 -0
  73. package/build/lib/extension/plugin-config.js.map +1 -0
  74. package/build/lib/grid-register.d.ts +10 -0
  75. package/build/lib/grid-register.d.ts.map +1 -0
  76. package/build/lib/grid-register.js +122 -144
  77. package/build/lib/grid-register.js.map +1 -0
  78. package/build/lib/logger.d.ts +3 -0
  79. package/build/lib/logger.d.ts.map +1 -0
  80. package/build/lib/logger.js +5 -17
  81. package/build/lib/logger.js.map +1 -0
  82. package/build/lib/logsink.d.ts +4 -0
  83. package/build/lib/logsink.d.ts.map +1 -0
  84. package/build/lib/logsink.js +190 -187
  85. package/build/lib/logsink.js.map +1 -0
  86. package/build/lib/main.d.ts +62 -0
  87. package/build/lib/main.d.ts.map +1 -0
  88. package/build/lib/main.js +348 -228
  89. package/build/lib/main.js.map +1 -0
  90. package/build/lib/schema/arg-spec.d.ts +143 -0
  91. package/build/lib/schema/arg-spec.d.ts.map +1 -0
  92. package/build/lib/schema/arg-spec.js +164 -0
  93. package/build/lib/schema/arg-spec.js.map +1 -0
  94. package/build/lib/schema/cli-args.d.ts +19 -0
  95. package/build/lib/schema/cli-args.d.ts.map +1 -0
  96. package/build/lib/schema/cli-args.js +217 -0
  97. package/build/lib/schema/cli-args.js.map +1 -0
  98. package/build/lib/schema/cli-transformers.d.ts +5 -0
  99. package/build/lib/schema/cli-transformers.d.ts.map +1 -0
  100. package/build/lib/schema/cli-transformers.js +124 -0
  101. package/build/lib/schema/cli-transformers.js.map +1 -0
  102. package/build/lib/schema/index.d.ts +3 -0
  103. package/build/lib/schema/index.d.ts.map +1 -0
  104. package/build/lib/schema/index.js +19 -0
  105. package/build/lib/schema/index.js.map +1 -0
  106. package/build/lib/schema/keywords.d.ts +24 -0
  107. package/build/lib/schema/keywords.d.ts.map +1 -0
  108. package/build/lib/schema/keywords.js +128 -0
  109. package/build/lib/schema/keywords.js.map +1 -0
  110. package/build/lib/schema/schema.d.ts +259 -0
  111. package/build/lib/schema/schema.d.ts.map +1 -0
  112. package/build/lib/schema/schema.js +615 -0
  113. package/build/lib/schema/schema.js.map +1 -0
  114. package/build/lib/utils.d.ts +121 -0
  115. package/build/lib/utils.d.ts.map +1 -0
  116. package/build/lib/utils.js +351 -273
  117. package/build/lib/utils.js.map +1 -0
  118. package/build/tsconfig.tsbuildinfo +1 -0
  119. package/build/types/cli.d.ts +134 -0
  120. package/build/types/cli.d.ts.map +1 -0
  121. package/build/types/cli.js +3 -0
  122. package/build/types/cli.js.map +1 -0
  123. package/build/types/index.d.ts +15 -0
  124. package/build/types/index.d.ts.map +1 -0
  125. package/build/types/index.js +19 -0
  126. package/build/types/index.js.map +1 -0
  127. package/build/types/manifest/base.d.ts +135 -0
  128. package/build/types/manifest/base.d.ts.map +1 -0
  129. package/build/types/manifest/base.js +3 -0
  130. package/build/types/manifest/base.js.map +1 -0
  131. package/build/types/manifest/index.d.ts +19 -0
  132. package/build/types/manifest/index.d.ts.map +1 -0
  133. package/build/types/manifest/index.js +40 -0
  134. package/build/types/manifest/index.js.map +1 -0
  135. package/build/types/manifest/v3.d.ts +139 -0
  136. package/build/types/manifest/v3.d.ts.map +1 -0
  137. package/build/types/manifest/v3.js +3 -0
  138. package/build/types/manifest/v3.js.map +1 -0
  139. package/driver.d.ts +1 -0
  140. package/driver.js +14 -0
  141. package/index.js +11 -0
  142. package/lib/appium.js +535 -186
  143. package/lib/cli/args.js +267 -422
  144. package/lib/cli/driver-command.js +126 -23
  145. package/lib/cli/extension-command.js +679 -271
  146. package/lib/cli/extension.js +48 -17
  147. package/lib/cli/parser.js +263 -83
  148. package/lib/cli/plugin-command.js +115 -20
  149. package/lib/cli/utils.js +24 -10
  150. package/lib/config-file.js +220 -0
  151. package/lib/config.js +244 -110
  152. package/lib/constants.js +71 -0
  153. package/lib/extension/driver-config.js +250 -0
  154. package/lib/extension/extension-config.js +682 -0
  155. package/lib/extension/index.js +116 -0
  156. package/lib/extension/manifest-migrations.js +120 -0
  157. package/lib/extension/manifest.js +573 -0
  158. package/lib/extension/package-changed.js +64 -0
  159. package/lib/extension/plugin-config.js +112 -0
  160. package/lib/grid-register.js +49 -35
  161. package/lib/logger.js +1 -2
  162. package/lib/logsink.js +64 -38
  163. package/lib/main.js +321 -101
  164. package/lib/schema/arg-spec.js +229 -0
  165. package/lib/schema/cli-args.js +238 -0
  166. package/lib/schema/cli-transformers.js +119 -0
  167. package/lib/schema/index.js +2 -0
  168. package/lib/schema/keywords.js +136 -0
  169. package/lib/schema/schema.js +722 -0
  170. package/lib/utils.js +291 -167
  171. package/package.json +83 -84
  172. package/plugin.d.ts +1 -0
  173. package/plugin.js +13 -0
  174. package/scripts/autoinstall-extensions.js +237 -0
  175. package/support.d.ts +1 -0
  176. package/support.js +13 -0
  177. package/tsconfig.json +25 -0
  178. package/types/cli.ts +193 -0
  179. package/types/index.ts +20 -0
  180. package/types/manifest/README.md +30 -0
  181. package/types/manifest/base.ts +158 -0
  182. package/types/manifest/index.ts +27 -0
  183. package/types/manifest/v3.ts +161 -0
  184. package/CHANGELOG.md +0 -3515
  185. package/bin/ios-webkit-debug-proxy-launcher.js +0 -71
  186. package/build/lib/cli/npm.js +0 -208
  187. package/build/lib/cli/parser-helpers.js +0 -82
  188. package/build/lib/driver-config.js +0 -77
  189. package/build/lib/drivers.js +0 -96
  190. package/build/lib/extension-config.js +0 -253
  191. package/build/lib/plugin-config.js +0 -59
  192. package/build/lib/plugins.js +0 -14
  193. package/lib/cli/npm.js +0 -184
  194. package/lib/cli/parser-helpers.js +0 -79
  195. package/lib/driver-config.js +0 -46
  196. package/lib/drivers.js +0 -81
  197. package/lib/extension-config.js +0 -209
  198. package/lib/plugin-config.js +0 -34
  199. package/lib/plugins.js +0 -10
@@ -0,0 +1,121 @@
1
+ /**
2
+ * @template {CliCommand} [Cmd=ServerCommand]
3
+ * @template {CliExtensionSubcommand|void} [SubCmd=void]
4
+ * @param {Args<Cmd, SubCmd>} args
5
+ * @returns {args is Args<ServerCommand>}
6
+ */
7
+ export function isServerCommandArgs<Cmd extends import("appium/types").CliCommand = "server", SubCmd extends void | import("appium/types").CliExtensionSubcommand = void>(args: import("appium/types").Args<Cmd, SubCmd>): args is import("type-fest").Simplify<import("type-fest").Except<import("appium/types").CommonArgs<"server", void>, "driver" | "plugin" | "address" | "nodeconfig" | "port" | "webhook" | "allowCors" | "allowInsecure" | "basePath" | "callbackAddress" | "callbackPort" | "debugLogSpacing" | "defaultCapabilities" | "denyInsecure" | "keepAliveTimeout" | "localTimezone" | "logFile" | "logFilters" | "loglevel" | "logNoColors" | "logTimestamp" | "longStacktrace" | "noPermsCheck" | "relaxedSecurityEnabled" | "sessionOverride" | "strictCaps" | "tmpDir" | "traceDir" | "useDrivers" | "usePlugins"> & Partial<Pick<import("appium/types").CommonArgs<"server", void>, "driver" | "plugin" | "address" | "nodeconfig" | "port" | "webhook" | "allowCors" | "allowInsecure" | "basePath" | "callbackAddress" | "callbackPort" | "debugLogSpacing" | "defaultCapabilities" | "denyInsecure" | "keepAliveTimeout" | "localTimezone" | "logFile" | "logFilters" | "loglevel" | "logNoColors" | "logTimestamp" | "longStacktrace" | "noPermsCheck" | "relaxedSecurityEnabled" | "sessionOverride" | "strictCaps" | "tmpDir" | "traceDir" | "useDrivers" | "usePlugins">>>;
8
+ /**
9
+ * @template {CliCommand} [Cmd=ServerCommand]
10
+ * @template {CliExtensionSubcommand|void} [SubCmd=void]
11
+ * @param {Args<Cmd, SubCmd>} args
12
+ * @returns {args is Args<CliExtensionCommand, SubCmd>}
13
+ */
14
+ export function isExtensionCommandArgs<Cmd extends import("appium/types").CliCommand = "server", SubCmd extends void | import("appium/types").CliExtensionSubcommand = void>(args: import("appium/types").Args<Cmd, SubCmd>): args is import("appium/types").ParsedArgs<"driver", SubCmd> | import("appium/types").ParsedArgs<"plugin", SubCmd>;
15
+ /**
16
+ * @template {CliCommand} Cmd
17
+ * @template {CliExtensionSubcommand} SubCmd
18
+ * @param {Args<Cmd, SubCmd>} args
19
+ * @returns {args is Args<DriverCommand, SubCmd>}
20
+ */
21
+ export function isDriverCommandArgs<Cmd extends import("appium/types").CliCommand, SubCmd extends import("appium/types").CliExtensionSubcommand>(args: import("appium/types").Args<Cmd, SubCmd>): args is import("appium/types").ParsedArgs<"driver", SubCmd>;
22
+ /**
23
+ * @template {CliCommand} Cmd
24
+ * @template {CliExtensionSubcommand} SubCmd
25
+ * @param {Args<Cmd, SubCmd>} args
26
+ * @returns {args is Args<PluginCommand, SubCmd>}
27
+ */
28
+ export function isPluginCommandArgs<Cmd extends import("appium/types").CliCommand, SubCmd extends import("appium/types").CliExtensionSubcommand>(args: import("appium/types").Args<Cmd, SubCmd>): args is import("appium/types").ParsedArgs<"plugin", SubCmd>;
29
+ export type StringRecord = import('@appium/types').StringRecord;
30
+ export type BaseDriverCapConstraints = import('@appium/types').BaseDriverCapConstraints;
31
+ export type ParsedDriverCaps<C extends Readonly<Record<string, import("@appium/types").Constraint>> = typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS, J = any> = {
32
+ desiredCaps: Capabilities<C>;
33
+ protocol: string;
34
+ processedJsonwpCapabilities?: J | undefined;
35
+ processedW3CCapabilities?: W3CCapabilities<C, void> | undefined;
36
+ };
37
+ export type InvalidCaps<C extends Readonly<Record<string, import("@appium/types").Constraint>> = typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS, J = any> = {
38
+ error: Error;
39
+ protocol: string;
40
+ desiredCaps?: Partial<import("@appium/types").ConstraintsToCaps<C> & void> | undefined;
41
+ processedJsonwpCapabilities?: J | undefined;
42
+ processedW3CCapabilities?: W3CCapabilities<C, void> | undefined;
43
+ };
44
+ export type Capabilities<C extends Readonly<Record<string, import("@appium/types").Constraint>> = typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS, Extra extends void | import("@appium/types").StringRecord = void> = import('@appium/types').Capabilities<C, Extra>;
45
+ export type W3CCapabilities<C extends Readonly<Record<string, import("@appium/types").Constraint>> = typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS, Extra extends void | import("@appium/types").StringRecord = void> = import('@appium/types').W3CCapabilities<C, Extra>;
46
+ export type NSCapabilities<C extends Readonly<Record<string, import("@appium/types").Constraint>> = typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS, Extra extends void | import("@appium/types").StringRecord = void> = import('@appium/types').NSCapabilities<C, Extra>;
47
+ export type ConstraintsToCaps<C extends Readonly<Record<string, import("@appium/types").Constraint>>> = import('@appium/types').ConstraintsToCaps<C>;
48
+ export type StringKeyOf<T> = import('type-fest').StringKeyOf<T>;
49
+ export type Constraints = import('@appium/types').Constraints;
50
+ export type CliCommand = import('appium/types').CliCommand;
51
+ export type CliExtensionSubcommand = import('appium/types').CliExtensionSubcommand;
52
+ export type CliExtensionCommand = import('appium/types').CliExtensionCommand;
53
+ export type ServerCommand = import('appium/types').CliCommandServer;
54
+ export type DriverCommand = import('appium/types').CliCommandDriver;
55
+ export type PluginCommand = import('appium/types').CliCommandPlugin;
56
+ export type Args<Cmd extends import("appium/types").CliCommand = "server", SubCmd extends void | import("appium/types").CliExtensionSubcommand = void> = import('appium/types').Args<Cmd, SubCmd>;
57
+ export type ParsedArgs<Cmd extends import("appium/types").CliCommand = "server", SubCmd extends void | import("appium/types").CliExtensionSubcommand = void> = import('appium/types').ParsedArgs<Cmd, SubCmd>;
58
+ /**
59
+ * Dumps to value to the console using `info` logger.
60
+ *
61
+ * @todo May want to force color to be `false` if {@link isStdoutTTY} is `false`.
62
+ */
63
+ export const inspect: (t1: any) => void;
64
+ /**
65
+ * Takes the caps that were provided in the request and translates them
66
+ * into caps that can be used by the inner drivers.
67
+ *
68
+ * @template {Constraints} C
69
+ * @template [J=any]
70
+ * @param {J} jsonwpCapabilities
71
+ * @param {W3CCapabilities<C>} w3cCapabilities
72
+ * @param {C} constraints
73
+ * @param {NSCapabilities<C>} [defaultCapabilities]
74
+ * @returns {ParsedDriverCaps<C,J>|InvalidCaps<C,J>}
75
+ */
76
+ export function parseCapsForInnerDriver<C extends Readonly<Record<string, import("@appium/types").Constraint>>, J = any>(jsonwpCapabilities: J, w3cCapabilities: W3CCapabilities<C, void>, constraints?: C, defaultCapabilities?: Partial<import("@appium/types").CapsToNSCaps<import("@appium/types").ConstraintsToCaps<C> & void, "appium">> | undefined): ParsedDriverCaps<C, J> | InvalidCaps<C, J>;
77
+ /**
78
+ * Takes a capabilities objects and prefixes capabilities with `appium:`
79
+ * @template {Constraints} [C={}]
80
+ * @param {Capabilities<C>} caps - Desired capabilities object
81
+ * @returns {NSCapabilities<C>}
82
+ */
83
+ export function insertAppiumPrefixes<C extends Readonly<Record<string, import("@appium/types").Constraint>> = {}>(caps: Partial<import("@appium/types").ConstraintsToCaps<C> & void>): Partial<import("@appium/types").CapsToNSCaps<import("@appium/types").ConstraintsToCaps<C> & void, "appium">>;
84
+ /**
85
+ *
86
+ * @param {string} pkgName
87
+ * @returns {string|undefined}
88
+ */
89
+ export function getPackageVersion(pkgName: string): string | undefined;
90
+ /**
91
+ * Pulls the initial values of Appium settings from the given capabilities argument.
92
+ * Each setting item must satisfy the following format:
93
+ * `setting[setting_name]: setting_value`
94
+ * The capabilities argument itself gets mutated, so it does not contain parsed
95
+ * settings anymore to avoid further parsing issues.
96
+ * Check
97
+ * https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/settings.md
98
+ * for more details on the available settings.
99
+ *
100
+ * @param {?Object} caps - Capabilities dictionary. It is mutated if
101
+ * one or more settings have been pulled from it
102
+ * @return {Object} - An empty dictionary if the given caps contains no
103
+ * setting items or a dictionary containing parsed Appium setting names along with
104
+ * their values.
105
+ */
106
+ export function pullSettings(caps: any | null): any;
107
+ /**
108
+ * @template {Constraints} [C={}]
109
+ * @param {NSCapabilities<C>} caps
110
+ * @returns {Capabilities<C>}
111
+ */
112
+ export function removeAppiumPrefixes<C extends Readonly<Record<string, import("@appium/types").Constraint>> = {}>(caps: Partial<import("@appium/types").CapsToNSCaps<import("@appium/types").ConstraintsToCaps<C> & void, "appium">>): Partial<import("@appium/types").ConstraintsToCaps<C> & void>;
113
+ /**
114
+ * Adjusts NODE_PATH environment variable,
115
+ * so drivers and plugins could load their peer dependencies.
116
+ * Read https://nodejs.org/api/modules.html#loading-from-the-global-folders
117
+ * for more details.
118
+ * @returns {void}
119
+ */
120
+ export function adjustNodePath(): void;
121
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"AAoSA;;;;;GAKG;AACH,00CAEC;AAED;;;;;GAKG;AACH,gVAEC;AAED;;;;;GAKG;AACH,8PAEC;AAED;;;;;GAKG;AACH,8PAEC;2BAaY,OAAO,eAAe,EAAE,YAAY;uCACpC,OAAO,eAAe,EAAE,wBAAwB;;iBAO/C,aAAa,CAAC,CAAC;cACf,MAAM;;;;;WAUN,KAAK;cACL,MAAM;;;;;mOASP,OAAO,eAAe,EAAE,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;sOAM9C,OAAO,eAAe,EAAE,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC;qOAMjD,OAAO,eAAe,EAAE,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC;wGAKhD,OAAO,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC;6BAK5C,OAAO,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;0BAIlC,OAAO,eAAe,EAAE,WAAW;yBAInC,OAAO,cAAc,EAAE,UAAU;qCACjC,OAAO,cAAc,EAAE,sBAAsB;kCAC7C,OAAO,cAAc,EAAE,mBAAmB;4BAC1C,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,cAAc,EAAE,gBAAgB;yJAMvC,OAAO,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;+JAMxC,OAAO,cAAc,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;AA/Y3D;;;;GAIG;AACH,wCAQE;AAEF;;;;;;;;;;;GAWG;AACH,wYAgHC;AAED;;;;;GAKG;AACH,oSAQC;AAoBD;;;;GAIG;AACH,2CAHW,MAAM,GACJ,MAAM,GAAC,SAAS,CAK5B;AAuDD;;;;;;;;;;;;;;;GAeG;AACH,oDAgBC;AAjHD;;;;GAIG;AACH,oSAEC;AAqBD;;;;;;GAMG;AACH,kCAFa,IAAI,CA8ChB"}