@wdio/protocols 8.20.4 → 8.23.0
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.
- package/build/commands/appium.d.ts +25 -1
- package/build/commands/appium.d.ts.map +1 -1
- package/build/commands/jsonwp.d.ts +51 -0
- package/build/commands/jsonwp.d.ts.map +1 -1
- package/build/commands/mjsonwp.d.ts +0 -25
- package/build/commands/mjsonwp.d.ts.map +1 -1
- package/build/commands/saucelabs.d.ts +3 -3
- package/build/commands/saucelabs.d.ts.map +1 -1
- package/build/protocols/appium.d.ts +34 -0
- package/build/protocols/appium.d.ts.map +1 -1
- package/build/protocols/appium.js +36 -0
- package/build/protocols/jsonwp.d.ts +57 -0
- package/build/protocols/jsonwp.d.ts.map +1 -1
- package/build/protocols/jsonwp.js +69 -2
- package/build/protocols/mjsonwp.d.ts +0 -34
- package/build/protocols/mjsonwp.d.ts.map +1 -1
- package/build/protocols/mjsonwp.js +0 -36
- package/build/protocols/saucelabs.js +3 -3
- package/build/protocols/webdriverBidi.d.ts +492 -334
- package/build/protocols/webdriverBidi.d.ts.map +1 -1
- package/build/protocols/webdriverBidi.js +208 -27
- package/build/types.d.ts +0 -3
- package/build/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,40 @@
|
|
|
1
1
|
export default {
|
|
2
|
+
'/session/:sessionId/context': {
|
|
3
|
+
GET: {
|
|
4
|
+
command: 'getContext',
|
|
5
|
+
ref: 'https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md#webviews-and-other-contexts',
|
|
6
|
+
parameters: [],
|
|
7
|
+
returns: {
|
|
8
|
+
type: 'Context',
|
|
9
|
+
name: 'context',
|
|
10
|
+
description: "a string representing the current context or null representing 'no context'",
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
POST: {
|
|
14
|
+
command: 'switchContext',
|
|
15
|
+
ref: 'https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md#webviews-and-other-contexts',
|
|
16
|
+
parameters: [
|
|
17
|
+
{
|
|
18
|
+
name: 'name',
|
|
19
|
+
type: 'string',
|
|
20
|
+
description: 'a string representing an available context',
|
|
21
|
+
required: true,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
'/session/:sessionId/contexts': {
|
|
27
|
+
GET: {
|
|
28
|
+
command: 'getContexts',
|
|
29
|
+
ref: 'https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md#webviews-and-other-contexts',
|
|
30
|
+
parameters: [],
|
|
31
|
+
returns: {
|
|
32
|
+
type: 'Context[]',
|
|
33
|
+
name: 'contexts',
|
|
34
|
+
description: "an array of strings representing available contexts, e.g. 'WEBVIEW', or 'NATIVE'",
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
},
|
|
2
38
|
'/session/:sessionId/appium/device/shake': {
|
|
3
39
|
POST: {
|
|
4
40
|
command: 'shake',
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* All commands are depreacted and likely not supported by any browser.
|
|
3
|
+
* A deprecation notice is attached to all commands that only exist in the JSONWireProtocol.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated
|
|
6
|
+
*/
|
|
1
7
|
declare const _default: {
|
|
2
8
|
'/status': {
|
|
3
9
|
GET: {
|
|
@@ -38,6 +44,7 @@ declare const _default: {
|
|
|
38
44
|
'/sessions': {
|
|
39
45
|
GET: {
|
|
40
46
|
command: string;
|
|
47
|
+
deprecated: string;
|
|
41
48
|
description: string;
|
|
42
49
|
ref: string;
|
|
43
50
|
parameters: never[];
|
|
@@ -51,6 +58,7 @@ declare const _default: {
|
|
|
51
58
|
'/session/:sessionId': {
|
|
52
59
|
GET: {
|
|
53
60
|
command: string;
|
|
61
|
+
deprecated: string;
|
|
54
62
|
description: string;
|
|
55
63
|
ref: string;
|
|
56
64
|
parameters: never[];
|
|
@@ -88,6 +96,7 @@ declare const _default: {
|
|
|
88
96
|
'/session/:sessionId/timeouts/async_script': {
|
|
89
97
|
POST: {
|
|
90
98
|
command: string;
|
|
99
|
+
deprecated: string;
|
|
91
100
|
description: string;
|
|
92
101
|
ref: string;
|
|
93
102
|
parameters: {
|
|
@@ -101,6 +110,7 @@ declare const _default: {
|
|
|
101
110
|
'/session/:sessionId/timeouts/implicit_wait': {
|
|
102
111
|
POST: {
|
|
103
112
|
command: string;
|
|
113
|
+
deprecated: string;
|
|
104
114
|
description: string;
|
|
105
115
|
ref: string;
|
|
106
116
|
parameters: {
|
|
@@ -241,6 +251,7 @@ declare const _default: {
|
|
|
241
251
|
'/session/:sessionId/window/current/position': {
|
|
242
252
|
GET: {
|
|
243
253
|
command: string;
|
|
254
|
+
deprecated: string;
|
|
244
255
|
description: string;
|
|
245
256
|
ref: string;
|
|
246
257
|
parameters: never[];
|
|
@@ -252,6 +263,7 @@ declare const _default: {
|
|
|
252
263
|
};
|
|
253
264
|
POST: {
|
|
254
265
|
command: string;
|
|
266
|
+
deprecated: string;
|
|
255
267
|
description: string;
|
|
256
268
|
ref: string;
|
|
257
269
|
parameters: {
|
|
@@ -270,6 +282,7 @@ declare const _default: {
|
|
|
270
282
|
'/session/:sessionId/window/current/size': {
|
|
271
283
|
GET: {
|
|
272
284
|
command: string;
|
|
285
|
+
deprecated: string;
|
|
273
286
|
description: string;
|
|
274
287
|
ref: string;
|
|
275
288
|
parameters: never[];
|
|
@@ -281,6 +294,7 @@ declare const _default: {
|
|
|
281
294
|
};
|
|
282
295
|
POST: {
|
|
283
296
|
command: string;
|
|
297
|
+
deprecated: string;
|
|
284
298
|
description: string;
|
|
285
299
|
ref: string;
|
|
286
300
|
parameters: {
|
|
@@ -497,6 +511,7 @@ declare const _default: {
|
|
|
497
511
|
'/session/:sessionId/element/:elementId/location': {
|
|
498
512
|
GET: {
|
|
499
513
|
command: string;
|
|
514
|
+
deprecated: string;
|
|
500
515
|
description: string;
|
|
501
516
|
ref: string;
|
|
502
517
|
variables: {
|
|
@@ -514,6 +529,7 @@ declare const _default: {
|
|
|
514
529
|
'/session/:sessionId/element/:elementId/location_in_view': {
|
|
515
530
|
GET: {
|
|
516
531
|
command: string;
|
|
532
|
+
deprecated: string;
|
|
517
533
|
description: string;
|
|
518
534
|
ref: string;
|
|
519
535
|
variables: {
|
|
@@ -533,6 +549,7 @@ declare const _default: {
|
|
|
533
549
|
command: string;
|
|
534
550
|
description: string;
|
|
535
551
|
ref: string;
|
|
552
|
+
deprecated: string;
|
|
536
553
|
variables: {
|
|
537
554
|
name: string;
|
|
538
555
|
description: string;
|
|
@@ -579,6 +596,7 @@ declare const _default: {
|
|
|
579
596
|
command: string;
|
|
580
597
|
description: string;
|
|
581
598
|
ref: string;
|
|
599
|
+
deprecated: string;
|
|
582
600
|
variables: {
|
|
583
601
|
name: string;
|
|
584
602
|
description: string;
|
|
@@ -596,6 +614,7 @@ declare const _default: {
|
|
|
596
614
|
command: string;
|
|
597
615
|
description: string;
|
|
598
616
|
ref: string;
|
|
617
|
+
deprecated: string;
|
|
599
618
|
variables: {
|
|
600
619
|
name: string;
|
|
601
620
|
description: string;
|
|
@@ -635,6 +654,7 @@ declare const _default: {
|
|
|
635
654
|
'/session/:sessionId/keys': {
|
|
636
655
|
POST: {
|
|
637
656
|
command: string;
|
|
657
|
+
deprecated: string;
|
|
638
658
|
description: string;
|
|
639
659
|
ref: string;
|
|
640
660
|
parameters: {
|
|
@@ -793,6 +813,7 @@ declare const _default: {
|
|
|
793
813
|
GET: {
|
|
794
814
|
command: string;
|
|
795
815
|
description: string;
|
|
816
|
+
deprecated: string;
|
|
796
817
|
ref: string;
|
|
797
818
|
parameters: never[];
|
|
798
819
|
returns: {
|
|
@@ -806,6 +827,7 @@ declare const _default: {
|
|
|
806
827
|
GET: {
|
|
807
828
|
command: string;
|
|
808
829
|
description: string;
|
|
830
|
+
deprecated: string;
|
|
809
831
|
ref: string;
|
|
810
832
|
parameters: never[];
|
|
811
833
|
returns: {
|
|
@@ -818,6 +840,7 @@ declare const _default: {
|
|
|
818
840
|
'/session/:sessionId/ime/activated': {
|
|
819
841
|
GET: {
|
|
820
842
|
command: string;
|
|
843
|
+
deprecated: string;
|
|
821
844
|
description: string;
|
|
822
845
|
ref: string;
|
|
823
846
|
parameters: never[];
|
|
@@ -833,6 +856,7 @@ declare const _default: {
|
|
|
833
856
|
command: string;
|
|
834
857
|
description: string;
|
|
835
858
|
ref: string;
|
|
859
|
+
deprecated: string;
|
|
836
860
|
parameters: never[];
|
|
837
861
|
};
|
|
838
862
|
};
|
|
@@ -840,6 +864,7 @@ declare const _default: {
|
|
|
840
864
|
POST: {
|
|
841
865
|
command: string;
|
|
842
866
|
description: string;
|
|
867
|
+
deprecated: string;
|
|
843
868
|
ref: string;
|
|
844
869
|
parameters: {
|
|
845
870
|
name: string;
|
|
@@ -855,6 +880,7 @@ declare const _default: {
|
|
|
855
880
|
description: string;
|
|
856
881
|
ref: string;
|
|
857
882
|
parameters: never[];
|
|
883
|
+
deprecated: string;
|
|
858
884
|
returns: {
|
|
859
885
|
type: string;
|
|
860
886
|
name: string;
|
|
@@ -864,6 +890,7 @@ declare const _default: {
|
|
|
864
890
|
POST: {
|
|
865
891
|
command: string;
|
|
866
892
|
description: string;
|
|
893
|
+
deprecated: string;
|
|
867
894
|
ref: string;
|
|
868
895
|
parameters: {
|
|
869
896
|
name: string;
|
|
@@ -878,6 +905,7 @@ declare const _default: {
|
|
|
878
905
|
command: string;
|
|
879
906
|
description: string;
|
|
880
907
|
ref: string;
|
|
908
|
+
deprecated: string;
|
|
881
909
|
parameters: {
|
|
882
910
|
name: string;
|
|
883
911
|
type: string;
|
|
@@ -891,6 +919,7 @@ declare const _default: {
|
|
|
891
919
|
command: string;
|
|
892
920
|
description: string;
|
|
893
921
|
ref: string;
|
|
922
|
+
deprecated: string;
|
|
894
923
|
parameters: {
|
|
895
924
|
name: string;
|
|
896
925
|
type: string;
|
|
@@ -904,6 +933,7 @@ declare const _default: {
|
|
|
904
933
|
command: string;
|
|
905
934
|
description: string;
|
|
906
935
|
ref: string;
|
|
936
|
+
deprecated: string;
|
|
907
937
|
parameters: {
|
|
908
938
|
name: string;
|
|
909
939
|
type: string;
|
|
@@ -917,6 +947,7 @@ declare const _default: {
|
|
|
917
947
|
command: string;
|
|
918
948
|
description: string;
|
|
919
949
|
ref: string;
|
|
950
|
+
deprecated: string;
|
|
920
951
|
parameters: {
|
|
921
952
|
name: string;
|
|
922
953
|
type: string;
|
|
@@ -928,6 +959,7 @@ declare const _default: {
|
|
|
928
959
|
'/session/:sessionId/doubleclick': {
|
|
929
960
|
POST: {
|
|
930
961
|
command: string;
|
|
962
|
+
deprecated: string;
|
|
931
963
|
description: string;
|
|
932
964
|
ref: string;
|
|
933
965
|
parameters: never[];
|
|
@@ -938,6 +970,7 @@ declare const _default: {
|
|
|
938
970
|
command: string;
|
|
939
971
|
description: string;
|
|
940
972
|
ref: string;
|
|
973
|
+
deprecated: string;
|
|
941
974
|
parameters: {
|
|
942
975
|
name: string;
|
|
943
976
|
type: string;
|
|
@@ -951,6 +984,7 @@ declare const _default: {
|
|
|
951
984
|
command: string;
|
|
952
985
|
description: string;
|
|
953
986
|
ref: string;
|
|
987
|
+
deprecated: string;
|
|
954
988
|
parameters: {
|
|
955
989
|
name: string;
|
|
956
990
|
type: string;
|
|
@@ -964,6 +998,7 @@ declare const _default: {
|
|
|
964
998
|
command: string;
|
|
965
999
|
description: string;
|
|
966
1000
|
ref: string;
|
|
1001
|
+
deprecated: string;
|
|
967
1002
|
parameters: {
|
|
968
1003
|
name: string;
|
|
969
1004
|
type: string;
|
|
@@ -977,6 +1012,7 @@ declare const _default: {
|
|
|
977
1012
|
command: string;
|
|
978
1013
|
description: string;
|
|
979
1014
|
ref: string;
|
|
1015
|
+
deprecated: string;
|
|
980
1016
|
parameters: {
|
|
981
1017
|
name: string;
|
|
982
1018
|
type: string;
|
|
@@ -990,6 +1026,7 @@ declare const _default: {
|
|
|
990
1026
|
command: string;
|
|
991
1027
|
description: string;
|
|
992
1028
|
ref: string;
|
|
1029
|
+
deprecated: string;
|
|
993
1030
|
parameters: {
|
|
994
1031
|
name: string;
|
|
995
1032
|
type: string;
|
|
@@ -1003,6 +1040,7 @@ declare const _default: {
|
|
|
1003
1040
|
command: string;
|
|
1004
1041
|
description: string;
|
|
1005
1042
|
ref: string;
|
|
1043
|
+
deprecated: string;
|
|
1006
1044
|
parameters: {
|
|
1007
1045
|
name: string;
|
|
1008
1046
|
type: string;
|
|
@@ -1016,6 +1054,7 @@ declare const _default: {
|
|
|
1016
1054
|
command: string;
|
|
1017
1055
|
description: string;
|
|
1018
1056
|
ref: string;
|
|
1057
|
+
deprecated: string;
|
|
1019
1058
|
parameters: {
|
|
1020
1059
|
name: string;
|
|
1021
1060
|
type: string;
|
|
@@ -1029,6 +1068,7 @@ declare const _default: {
|
|
|
1029
1068
|
command: string;
|
|
1030
1069
|
description: string;
|
|
1031
1070
|
ref: string;
|
|
1071
|
+
deprecated: string;
|
|
1032
1072
|
parameters: {
|
|
1033
1073
|
name: string;
|
|
1034
1074
|
type: string;
|
|
@@ -1041,6 +1081,7 @@ declare const _default: {
|
|
|
1041
1081
|
GET: {
|
|
1042
1082
|
command: string;
|
|
1043
1083
|
description: string;
|
|
1084
|
+
deprecated: string;
|
|
1044
1085
|
ref: string;
|
|
1045
1086
|
parameters: never[];
|
|
1046
1087
|
returns: {
|
|
@@ -1052,6 +1093,7 @@ declare const _default: {
|
|
|
1052
1093
|
POST: {
|
|
1053
1094
|
command: string;
|
|
1054
1095
|
description: string;
|
|
1096
|
+
deprecated: string;
|
|
1055
1097
|
ref: string;
|
|
1056
1098
|
parameters: {
|
|
1057
1099
|
name: string;
|
|
@@ -1065,6 +1107,7 @@ declare const _default: {
|
|
|
1065
1107
|
GET: {
|
|
1066
1108
|
command: string;
|
|
1067
1109
|
description: string;
|
|
1110
|
+
deprecated: string;
|
|
1068
1111
|
ref: string;
|
|
1069
1112
|
parameters: never[];
|
|
1070
1113
|
returns: {
|
|
@@ -1076,6 +1119,7 @@ declare const _default: {
|
|
|
1076
1119
|
POST: {
|
|
1077
1120
|
command: string;
|
|
1078
1121
|
description: string;
|
|
1122
|
+
deprecated: string;
|
|
1079
1123
|
ref: string;
|
|
1080
1124
|
parameters: {
|
|
1081
1125
|
name: string;
|
|
@@ -1088,6 +1132,7 @@ declare const _default: {
|
|
|
1088
1132
|
command: string;
|
|
1089
1133
|
description: string;
|
|
1090
1134
|
ref: string;
|
|
1135
|
+
deprecated: string;
|
|
1091
1136
|
parameters: never[];
|
|
1092
1137
|
};
|
|
1093
1138
|
};
|
|
@@ -1095,6 +1140,7 @@ declare const _default: {
|
|
|
1095
1140
|
GET: {
|
|
1096
1141
|
command: string;
|
|
1097
1142
|
description: string;
|
|
1143
|
+
deprecated: string;
|
|
1098
1144
|
ref: string;
|
|
1099
1145
|
variables: {
|
|
1100
1146
|
name: string;
|
|
@@ -1110,6 +1156,7 @@ declare const _default: {
|
|
|
1110
1156
|
DELETE: {
|
|
1111
1157
|
command: string;
|
|
1112
1158
|
description: string;
|
|
1159
|
+
deprecated: string;
|
|
1113
1160
|
ref: string;
|
|
1114
1161
|
variables: {
|
|
1115
1162
|
name: string;
|
|
@@ -1122,6 +1169,7 @@ declare const _default: {
|
|
|
1122
1169
|
GET: {
|
|
1123
1170
|
command: string;
|
|
1124
1171
|
description: string;
|
|
1172
|
+
deprecated: string;
|
|
1125
1173
|
ref: string;
|
|
1126
1174
|
parameters: never[];
|
|
1127
1175
|
returns: {
|
|
@@ -1135,6 +1183,7 @@ declare const _default: {
|
|
|
1135
1183
|
GET: {
|
|
1136
1184
|
command: string;
|
|
1137
1185
|
description: string;
|
|
1186
|
+
deprecated: string;
|
|
1138
1187
|
ref: string;
|
|
1139
1188
|
parameters: never[];
|
|
1140
1189
|
returns: {
|
|
@@ -1146,6 +1195,7 @@ declare const _default: {
|
|
|
1146
1195
|
POST: {
|
|
1147
1196
|
command: string;
|
|
1148
1197
|
description: string;
|
|
1198
|
+
deprecated: string;
|
|
1149
1199
|
ref: string;
|
|
1150
1200
|
parameters: {
|
|
1151
1201
|
name: string;
|
|
@@ -1157,6 +1207,7 @@ declare const _default: {
|
|
|
1157
1207
|
DELETE: {
|
|
1158
1208
|
command: string;
|
|
1159
1209
|
description: string;
|
|
1210
|
+
deprecated: string;
|
|
1160
1211
|
ref: string;
|
|
1161
1212
|
parameters: never[];
|
|
1162
1213
|
};
|
|
@@ -1165,6 +1216,7 @@ declare const _default: {
|
|
|
1165
1216
|
GET: {
|
|
1166
1217
|
command: string;
|
|
1167
1218
|
description: string;
|
|
1219
|
+
deprecated: string;
|
|
1168
1220
|
ref: string;
|
|
1169
1221
|
variables: {
|
|
1170
1222
|
name: string;
|
|
@@ -1180,6 +1232,7 @@ declare const _default: {
|
|
|
1180
1232
|
DELETE: {
|
|
1181
1233
|
command: string;
|
|
1182
1234
|
description: string;
|
|
1235
|
+
deprecated: string;
|
|
1183
1236
|
ref: string;
|
|
1184
1237
|
variables: {
|
|
1185
1238
|
name: string;
|
|
@@ -1193,6 +1246,7 @@ declare const _default: {
|
|
|
1193
1246
|
command: string;
|
|
1194
1247
|
description: string;
|
|
1195
1248
|
ref: string;
|
|
1249
|
+
deprecated: string;
|
|
1196
1250
|
parameters: never[];
|
|
1197
1251
|
returns: {
|
|
1198
1252
|
type: string;
|
|
@@ -1206,6 +1260,7 @@ declare const _default: {
|
|
|
1206
1260
|
command: string;
|
|
1207
1261
|
description: string;
|
|
1208
1262
|
ref: string;
|
|
1263
|
+
deprecated: string;
|
|
1209
1264
|
parameters: {
|
|
1210
1265
|
name: string;
|
|
1211
1266
|
type: string;
|
|
@@ -1224,6 +1279,7 @@ declare const _default: {
|
|
|
1224
1279
|
command: string;
|
|
1225
1280
|
description: string;
|
|
1226
1281
|
ref: string;
|
|
1282
|
+
deprecated: string;
|
|
1227
1283
|
parameters: never[];
|
|
1228
1284
|
returns: {
|
|
1229
1285
|
type: string;
|
|
@@ -1238,6 +1294,7 @@ declare const _default: {
|
|
|
1238
1294
|
description: string;
|
|
1239
1295
|
ref: string;
|
|
1240
1296
|
parameters: never[];
|
|
1297
|
+
deprecated: string;
|
|
1241
1298
|
returns: {
|
|
1242
1299
|
type: string;
|
|
1243
1300
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonwp.d.ts","sourceRoot":"","sources":["../../src/protocols/jsonwp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jsonwp.d.ts","sourceRoot":"","sources":["../../src/protocols/jsonwp.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACH,wBA+lDC"}
|