@the-convocation/twitter-scraper 0.0.9 → 0.1.1

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/dist/search.js CHANGED
@@ -1,84 +1,91 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { addApiParams, requestApi } from './api';
11
- import { parseTweets, parseUsers, } from './timeline';
12
- import { getTweetTimeline, getUserTimeline } from './timeline-async';
13
- /**
14
- * The categories that can be used in Twitter searches.
15
- */
16
- export var SearchMode;
17
- (function (SearchMode) {
18
- SearchMode[SearchMode["Top"] = 0] = "Top";
19
- SearchMode[SearchMode["Latest"] = 1] = "Latest";
20
- SearchMode[SearchMode["Photos"] = 2] = "Photos";
21
- SearchMode[SearchMode["Videos"] = 3] = "Videos";
22
- SearchMode[SearchMode["Users"] = 4] = "Users";
23
- })(SearchMode || (SearchMode = {}));
24
- export function searchTweets(query, maxTweets, includeReplies, searchMode, auth) {
25
- return getTweetTimeline(query, maxTweets, (q, mt, c) => {
26
- return fetchSearchTweets(q, mt, includeReplies, searchMode, auth, c);
27
- });
28
- }
29
- export function searchProfiles(query, maxProfiles, auth) {
30
- return getUserTimeline(query, maxProfiles, (q, mt, c) => {
31
- return fetchSearchProfiles(q, mt, auth, c);
32
- });
33
- }
34
- export function fetchSearchTweets(query, maxTweets, includeReplies, searchMode, auth, cursor) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- const timeline = yield getSearchTimeline(query, maxTweets, includeReplies, searchMode, auth, cursor);
37
- return parseTweets(timeline);
38
- });
39
- }
40
- export function fetchSearchProfiles(query, maxProfiles, auth, cursor) {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- const timeline = yield getSearchTimeline(query, maxProfiles, false, SearchMode.Users, auth, cursor);
43
- return parseUsers(timeline);
44
- });
45
- }
46
- function getSearchTimeline(query, maxItems, includeReplies, searchMode, auth, cursor) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- if (maxItems > 50) {
49
- maxItems = 50;
50
- }
51
- const params = new URLSearchParams();
52
- addApiParams(params, includeReplies);
53
- params.set('q', query);
54
- params.set('count', `${maxItems}`);
55
- params.set('query_source', 'typed_query');
56
- params.set('pc', '1');
57
- params.set('spelling_corrections', '1');
58
- if (cursor != null && cursor != '') {
59
- params.set('cursor', cursor);
60
- }
61
- switch (searchMode) {
62
- case SearchMode.Latest:
63
- params.set('tweet_search_mode', 'live');
64
- break;
65
- case SearchMode.Photos:
66
- params.set('result_filter', 'image');
67
- break;
68
- case SearchMode.Videos:
69
- params.set('result_filter', 'video');
70
- break;
71
- case SearchMode.Users:
72
- params.set('result_filter', 'user');
73
- break;
74
- default:
75
- break;
76
- }
77
- const res = yield requestApi(`https://twitter.com/i/api/2/search/adaptive.json?${params.toString()}`, auth);
78
- if (!res.success) {
79
- throw res.err;
80
- }
81
- return res.value;
82
- });
83
- }
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.fetchSearchProfiles = exports.fetchSearchTweets = exports.searchProfiles = exports.searchTweets = exports.SearchMode = void 0;
13
+ const api_1 = require("./api");
14
+ const timeline_1 = require("./timeline");
15
+ const timeline_async_1 = require("./timeline-async");
16
+ /**
17
+ * The categories that can be used in Twitter searches.
18
+ */
19
+ var SearchMode;
20
+ (function (SearchMode) {
21
+ SearchMode[SearchMode["Top"] = 0] = "Top";
22
+ SearchMode[SearchMode["Latest"] = 1] = "Latest";
23
+ SearchMode[SearchMode["Photos"] = 2] = "Photos";
24
+ SearchMode[SearchMode["Videos"] = 3] = "Videos";
25
+ SearchMode[SearchMode["Users"] = 4] = "Users";
26
+ })(SearchMode = exports.SearchMode || (exports.SearchMode = {}));
27
+ function searchTweets(query, maxTweets, includeReplies, searchMode, auth) {
28
+ return (0, timeline_async_1.getTweetTimeline)(query, maxTweets, (q, mt, c) => {
29
+ return fetchSearchTweets(q, mt, includeReplies, searchMode, auth, c);
30
+ });
31
+ }
32
+ exports.searchTweets = searchTweets;
33
+ function searchProfiles(query, maxProfiles, auth) {
34
+ return (0, timeline_async_1.getUserTimeline)(query, maxProfiles, (q, mt, c) => {
35
+ return fetchSearchProfiles(q, mt, auth, c);
36
+ });
37
+ }
38
+ exports.searchProfiles = searchProfiles;
39
+ function fetchSearchTweets(query, maxTweets, includeReplies, searchMode, auth, cursor) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const timeline = yield getSearchTimeline(query, maxTweets, includeReplies, searchMode, auth, cursor);
42
+ return (0, timeline_1.parseTweets)(timeline);
43
+ });
44
+ }
45
+ exports.fetchSearchTweets = fetchSearchTweets;
46
+ function fetchSearchProfiles(query, maxProfiles, auth, cursor) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const timeline = yield getSearchTimeline(query, maxProfiles, false, SearchMode.Users, auth, cursor);
49
+ return (0, timeline_1.parseUsers)(timeline);
50
+ });
51
+ }
52
+ exports.fetchSearchProfiles = fetchSearchProfiles;
53
+ function getSearchTimeline(query, maxItems, includeReplies, searchMode, auth, cursor) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ if (maxItems > 50) {
56
+ maxItems = 50;
57
+ }
58
+ const params = new URLSearchParams();
59
+ (0, api_1.addApiParams)(params, includeReplies);
60
+ params.set('q', query);
61
+ params.set('count', `${maxItems}`);
62
+ params.set('query_source', 'typed_query');
63
+ params.set('pc', '1');
64
+ params.set('spelling_corrections', '1');
65
+ if (cursor != null && cursor != '') {
66
+ params.set('cursor', cursor);
67
+ }
68
+ switch (searchMode) {
69
+ case SearchMode.Latest:
70
+ params.set('tweet_search_mode', 'live');
71
+ break;
72
+ case SearchMode.Photos:
73
+ params.set('result_filter', 'image');
74
+ break;
75
+ case SearchMode.Videos:
76
+ params.set('result_filter', 'video');
77
+ break;
78
+ case SearchMode.Users:
79
+ params.set('result_filter', 'user');
80
+ break;
81
+ default:
82
+ break;
83
+ }
84
+ const res = yield (0, api_1.requestApi)(`https://twitter.com/i/api/2/search/adaptive.json?${params.toString()}`, auth);
85
+ if (!res.success) {
86
+ throw res.err;
87
+ }
88
+ return res.value;
89
+ });
90
+ }
84
91
  //# sourceMappingURL=search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,EACL,WAAW,EACX,UAAU,GAIX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,yCAAG,CAAA;IACH,+CAAM,CAAA;IACN,+CAAM,CAAA;IACN,+CAAM,CAAA;IACN,6CAAK,CAAA;AACP,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAED,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,SAAiB,EACjB,cAAuB,EACvB,UAAsB,EACtB,IAAsB;IAEtB,OAAO,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;QACrD,OAAO,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,WAAmB,EACnB,IAAsB;IAEtB,OAAO,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;QACtD,OAAO,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAgB,iBAAiB,CACrC,KAAa,EACb,SAAiB,EACjB,cAAuB,EACvB,UAAsB,EACtB,IAAsB,EACtB,MAAe;;QAEf,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CACtC,KAAK,EACL,SAAS,EACT,cAAc,EACd,UAAU,EACV,IAAI,EACJ,MAAM,CACP,CAAC;QAEF,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;CAAA;AAED,MAAM,UAAgB,mBAAmB,CACvC,KAAa,EACb,WAAmB,EACnB,IAAsB,EACtB,MAAe;;QAEf,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CACtC,KAAK,EACL,WAAW,EACX,KAAK,EACL,UAAU,CAAC,KAAK,EAChB,IAAI,EACJ,MAAM,CACP,CAAC;QAEF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;CAAA;AAED,SAAe,iBAAiB,CAC9B,KAAa,EACb,QAAgB,EAChB,cAAuB,EACvB,UAAsB,EACtB,IAAsB,EACtB,MAAe;;QAEf,IAAI,QAAQ,GAAG,EAAE,EAAE;YACjB,QAAQ,GAAG,EAAE,CAAC;SACf;QAED,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAErC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACxC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,EAAE,EAAE;YAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC9B;QAED,QAAQ,UAAU,EAAE;YAClB,KAAK,UAAU,CAAC,MAAM;gBACpB,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,UAAU,CAAC,MAAM;gBACpB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,UAAU,CAAC,MAAM;gBACpB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,UAAU,CAAC,KAAK;gBACnB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBACpC,MAAM;YACR;gBACE,MAAM;SACT;QAED,MAAM,GAAG,GAAG,MAAM,UAAU,CAC1B,oDAAoD,MAAM,CAAC,QAAQ,EAAE,EAAE,EACvE,IAAI,CACL,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,MAAM,GAAG,CAAC,GAAG,CAAC;SACf;QAED,OAAO,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;CAAA"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
@@ -1,59 +1,64 @@
1
- var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
2
- var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
3
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
4
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
5
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
6
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
7
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
8
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
9
- function fulfill(value) { resume("next", value); }
10
- function reject(value) { resume("throw", value); }
11
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
12
- };
13
- export function getUserTimeline(query, maxProfiles, fetchFunc) {
14
- return __asyncGenerator(this, arguments, function* getUserTimeline_1() {
15
- let nProfiles = 0;
16
- let cursor = undefined;
17
- while (nProfiles < maxProfiles) {
18
- const batch = yield __await(fetchFunc(query, maxProfiles, cursor));
19
- const { profiles, next } = batch;
20
- if (profiles.length === 0) {
21
- break;
22
- }
23
- for (const profile of profiles) {
24
- if (nProfiles < maxProfiles) {
25
- cursor = next;
26
- yield yield __await(profile);
27
- }
28
- else {
29
- break;
30
- }
31
- nProfiles++;
32
- }
33
- }
34
- });
35
- }
36
- export function getTweetTimeline(query, maxTweets, fetchFunc) {
37
- return __asyncGenerator(this, arguments, function* getTweetTimeline_1() {
38
- let nTweets = 0;
39
- let cursor = undefined;
40
- while (nTweets < maxTweets) {
41
- const batch = yield __await(fetchFunc(query, maxTweets, cursor));
42
- const { tweets, next } = batch;
43
- if (tweets.length === 0) {
44
- break;
45
- }
46
- for (const tweet of tweets) {
47
- if (nTweets < maxTweets) {
48
- cursor = next;
49
- yield yield __await(tweet);
50
- }
51
- else {
52
- break;
53
- }
54
- nTweets++;
55
- }
56
- }
57
- });
58
- }
1
+ "use strict";
2
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
3
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
4
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
5
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
6
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
7
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
8
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
9
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
10
+ function fulfill(value) { resume("next", value); }
11
+ function reject(value) { resume("throw", value); }
12
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.getTweetTimeline = exports.getUserTimeline = void 0;
16
+ function getUserTimeline(query, maxProfiles, fetchFunc) {
17
+ return __asyncGenerator(this, arguments, function* getUserTimeline_1() {
18
+ let nProfiles = 0;
19
+ let cursor = undefined;
20
+ while (nProfiles < maxProfiles) {
21
+ const batch = yield __await(fetchFunc(query, maxProfiles, cursor));
22
+ const { profiles, next } = batch;
23
+ if (profiles.length === 0) {
24
+ break;
25
+ }
26
+ for (const profile of profiles) {
27
+ if (nProfiles < maxProfiles) {
28
+ cursor = next;
29
+ yield yield __await(profile);
30
+ }
31
+ else {
32
+ break;
33
+ }
34
+ nProfiles++;
35
+ }
36
+ }
37
+ });
38
+ }
39
+ exports.getUserTimeline = getUserTimeline;
40
+ function getTweetTimeline(query, maxTweets, fetchFunc) {
41
+ return __asyncGenerator(this, arguments, function* getTweetTimeline_1() {
42
+ let nTweets = 0;
43
+ let cursor = undefined;
44
+ while (nTweets < maxTweets) {
45
+ const batch = yield __await(fetchFunc(query, maxTweets, cursor));
46
+ const { tweets, next } = batch;
47
+ if (tweets.length === 0) {
48
+ break;
49
+ }
50
+ for (const tweet of tweets) {
51
+ if (nTweets < maxTweets) {
52
+ cursor = next;
53
+ yield yield __await(tweet);
54
+ }
55
+ else {
56
+ break;
57
+ }
58
+ nTweets++;
59
+ }
60
+ }
61
+ });
62
+ }
63
+ exports.getTweetTimeline = getTweetTimeline;
59
64
  //# sourceMappingURL=timeline-async.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeline-async.js","sourceRoot":"","sources":["../src/timeline-async.ts"],"names":[],"mappings":";;;;;;;;;;;;AAyBA,MAAM,UAAiB,eAAe,CACpC,KAAa,EACb,WAAmB,EACnB,SAAwB;;QAExB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,MAAM,GAAuB,SAAS,CAAC;QAC3C,OAAO,SAAS,GAAG,WAAW,EAAE;YAC9B,MAAM,KAAK,GAA0B,cAAM,SAAS,CAClD,KAAK,EACL,WAAW,EACX,MAAM,CACP,CAAA,CAAC;YAEF,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;YAEjC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzB,MAAM;aACP;YAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,IAAI,SAAS,GAAG,WAAW,EAAE;oBAC3B,MAAM,GAAG,IAAI,CAAC;oBACd,oBAAM,OAAO,CAAA,CAAC;iBACf;qBAAM;oBACL,MAAM;iBACP;gBAED,SAAS,EAAE,CAAC;aACb;SACF;IACH,CAAC;CAAA;AAED,MAAM,UAAiB,gBAAgB,CACrC,KAAa,EACb,SAAiB,EACjB,SAAsB;;QAEtB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,MAAM,GAAuB,SAAS,CAAC;QAC3C,OAAO,OAAO,GAAG,SAAS,EAAE;YAC1B,MAAM,KAAK,GAAwB,cAAM,SAAS,CAChD,KAAK,EACL,SAAS,EACT,MAAM,CACP,CAAA,CAAC;YAEF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;YAE/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,MAAM;aACP;YAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,IAAI,OAAO,GAAG,SAAS,EAAE;oBACvB,MAAM,GAAG,IAAI,CAAC;oBACd,oBAAM,KAAK,CAAA,CAAC;iBACb;qBAAM;oBACL,MAAM;iBACP;gBAED,OAAO,EAAE,CAAC;aACX;SACF;IACH,CAAC;CAAA"}
1
+ {"version":3,"file":"timeline-async.js","sourceRoot":"","sources":["../src/timeline-async.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAyBA,SAAuB,eAAe,CACpC,KAAa,EACb,WAAmB,EACnB,SAAwB;;QAExB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,MAAM,GAAuB,SAAS,CAAC;QAC3C,OAAO,SAAS,GAAG,WAAW,EAAE;YAC9B,MAAM,KAAK,GAA0B,cAAM,SAAS,CAClD,KAAK,EACL,WAAW,EACX,MAAM,CACP,CAAA,CAAC;YAEF,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;YAEjC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzB,MAAM;aACP;YAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,IAAI,SAAS,GAAG,WAAW,EAAE;oBAC3B,MAAM,GAAG,IAAI,CAAC;oBACd,oBAAM,OAAO,CAAA,CAAC;iBACf;qBAAM;oBACL,MAAM;iBACP;gBAED,SAAS,EAAE,CAAC;aACb;SACF;IACH,CAAC;CAAA;AA/BD,0CA+BC;AAED,SAAuB,gBAAgB,CACrC,KAAa,EACb,SAAiB,EACjB,SAAsB;;QAEtB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,MAAM,GAAuB,SAAS,CAAC;QAC3C,OAAO,OAAO,GAAG,SAAS,EAAE;YAC1B,MAAM,KAAK,GAAwB,cAAM,SAAS,CAChD,KAAK,EACL,SAAS,EACT,MAAM,CACP,CAAA,CAAC;YAEF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;YAE/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,MAAM;aACP;YAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,IAAI,OAAO,GAAG,SAAS,EAAE;oBACvB,MAAM,GAAG,IAAI,CAAC;oBACd,oBAAM,KAAK,CAAA,CAAC;iBACb;qBAAM;oBACL,MAAM;iBACP;gBAED,OAAO,EAAE,CAAC;aACX;SACF;IACH,CAAC;CAAA;AA/BD,4CA+BC"}