@social.dev/server-sdk 0.0.1-alpha.21 → 0.0.1-alpha.22
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/bootstrap.d.ts +2 -1
- package/dist/bootstrap.js.map +1 -1
- package/dist/configs/configs.service.d.ts +7 -2
- package/dist/configs/configs.service.js.map +1 -1
- package/dist/media/media.acl.js +1 -1
- package/dist/media/media.acl.js.map +1 -1
- package/dist/network/entities/network.entity.js +1 -4
- package/dist/network/entities/network.entity.js.map +1 -1
- package/dist/network/network.middleware.js +1 -2
- package/dist/network/network.middleware.js.map +1 -1
- package/dist/network/network.module.js +2 -1
- package/dist/network/network.module.js.map +1 -1
- package/dist/network/network.service.d.ts +5 -2
- package/dist/network/network.service.js +23 -6
- package/dist/network/network.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/bootstrap.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Configs } from './configs/configs.service';
|
|
2
|
+
export declare function bootstrap(configs: Configs): Promise<void>;
|
package/dist/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";;;;;AAMA,8BAgCC;AAtCD,uCAA2C;AAC3C,6CAAiE;AACjE,6CAAyC;AACzC,kEAAyC;AACzC,+
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";;;;;AAMA,8BAgCC;AAtCD,uCAA2C;AAC3C,6CAAiE;AACjE,6CAAyC;AACzC,kEAAyC;AACzC,+DAAoE;AAE7D,KAAK,UAAU,SAAS,CAAC,OAAgB;IAE9C,gCAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE7B,OAAO,CAAC,GAAG,CACT,6CAA6C,EAC7C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CACnC,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;IAEhD,GAAG,CAAC,UAAU,EAAE,CAAC;IAEjB,MAAM,MAAM,GAAG,IAAI,yBAAe,EAAE;SACjC,QAAQ,CAAC,YAAY,CAAC;SACtB,cAAc,CAAC,oBAAoB,CAAC;SACpC,UAAU,CAAC,KAAK,CAAC;SACjB,MAAM,CAAC,QAAQ,CAAC;SAChB,aAAa,EAAE;SACf,KAAK,EAAE,CAAC;IACX,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxE,uBAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE;QAClD,SAAS,EAAE,uCAAuC;KACnD,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,IAAA,uBAAY,GAAE,CAAC,CAAC;IAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,MAAM,CAAC,CAAC;IACpE,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CACT,0DAA0D,IAAI,SAAS,CACxE,CAAC;AACJ,CAAC"}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { AuthMethodEnum } from '~/auth/enums/auth-method.enum';
|
|
2
2
|
import { OidcProvider } from '~/auth/oidc/oidc.service';
|
|
3
|
-
|
|
3
|
+
import { Network } from '~/network/entities/network.entity';
|
|
4
|
+
export type Configs = {
|
|
4
5
|
auth?: {
|
|
5
6
|
methods: AuthMethodEnum[];
|
|
6
7
|
oidc?: {
|
|
7
8
|
providers: OidcProvider[];
|
|
8
9
|
};
|
|
9
10
|
};
|
|
11
|
+
network?: {
|
|
12
|
+
domainAliasMap: {
|
|
13
|
+
[domain: string]: Network['id'];
|
|
14
|
+
};
|
|
15
|
+
};
|
|
10
16
|
};
|
|
11
17
|
export declare class ConfigsService {
|
|
12
18
|
private static configs;
|
|
@@ -14,4 +20,3 @@ export declare class ConfigsService {
|
|
|
14
20
|
set(key: string, value: any): this;
|
|
15
21
|
get<T extends keyof Configs>(key: T): Configs[T];
|
|
16
22
|
}
|
|
17
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configs.service.js","sourceRoot":"","sources":["../../src/configs/configs.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA4C;
|
|
1
|
+
{"version":3,"file":"configs.service.js","sourceRoot":"","sources":["../../src/configs/configs.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA4C;AAmBrC,IAAM,cAAc,GAApB,MAAM,cAAc;;IACjB,MAAM,CAAC,OAAO,GAAY,EAAE,CAAC;IAMrC,MAAM,CAAC,IAAI,CAAC,OAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAKD,GAAG,CAAC,GAAW,EAAE,KAAU;QACzB,gBAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,GAAG,CAA0B,GAAM;QACjC,OAAO,gBAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;;AAxBU,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;GACA,cAAc,CAyB1B"}
|
package/dist/media/media.acl.js
CHANGED
|
@@ -7,7 +7,7 @@ const MediaAcl = [
|
|
|
7
7
|
return getAbility().can(acl_factory_1.Action.Read, audio.post);
|
|
8
8
|
}),
|
|
9
9
|
({ can, user }) => can(acl_factory_1.Action.Read, audio_entity_1.Audio, (audio) => {
|
|
10
|
-
return audio.owner.id === user
|
|
10
|
+
return audio.owner.id === user?.id;
|
|
11
11
|
}),
|
|
12
12
|
];
|
|
13
13
|
exports.default = MediaAcl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.acl.js","sourceRoot":"","sources":["../../src/media/media.acl.ts"],"names":[],"mappings":";;AAAA,yDAAgD;AAChD,0DAAgD;AAEhD,MAAM,QAAQ,GAAG;IAEf,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CACtB,GAAG,CAAC,oBAAM,CAAC,IAAI,EAAE,oBAAK,EAAE,CAAC,KAAY,EAAE,EAAE;QACvC,OAAO,UAAU,EAAE,CAAC,GAAG,CAAC,oBAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC;IAEJ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAChB,GAAG,CAAC,oBAAM,CAAC,IAAI,EAAE,oBAAK,EAAE,CAAC,KAAY,EAAE,EAAE;QACvC,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"media.acl.js","sourceRoot":"","sources":["../../src/media/media.acl.ts"],"names":[],"mappings":";;AAAA,yDAAgD;AAChD,0DAAgD;AAEhD,MAAM,QAAQ,GAAG;IAEf,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CACtB,GAAG,CAAC,oBAAM,CAAC,IAAI,EAAE,oBAAK,EAAE,CAAC,KAAY,EAAE,EAAE;QACvC,OAAO,UAAU,EAAE,CAAC,GAAG,CAAC,oBAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC;IAEJ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAChB,GAAG,CAAC,oBAAM,CAAC,IAAI,EAAE,oBAAK,EAAE,CAAC,KAAY,EAAE,EAAE;QACvC,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;IACrC,CAAC,CAAC;CACL,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|
|
@@ -12,15 +12,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.Network = void 0;
|
|
13
13
|
const openapi = require("@nestjs/swagger");
|
|
14
14
|
const typeorm_1 = require("typeorm");
|
|
15
|
-
const injection_tokens_1 = require("../../common/injection-tokens");
|
|
16
|
-
const context_1 = require("../../core/context/context");
|
|
17
15
|
let Network = class Network {
|
|
18
16
|
id;
|
|
19
17
|
name;
|
|
20
18
|
fqdn;
|
|
21
19
|
getBaseUrl() {
|
|
22
|
-
|
|
23
|
-
return `https://${host}/`;
|
|
20
|
+
return `https://${this.fqdn}/`;
|
|
24
21
|
}
|
|
25
22
|
static _OPENAPI_METADATA_FACTORY() {
|
|
26
23
|
return { id: { required: true, type: () => Number }, name: { required: true, type: () => String }, fqdn: { required: true, type: () => String } };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.entity.js","sourceRoot":"","sources":["../../../src/network/entities/network.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAA6E;
|
|
1
|
+
{"version":3,"file":"network.entity.js","sourceRoot":"","sources":["../../../src/network/entities/network.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAA6E;AAGtE,IAAM,OAAO,GAAb,MAAM,OAAO;IAElB,EAAE,CAAS;IAMX,IAAI,CAAS;IAMb,IAAI,CAAS;IAKb,UAAU;QACR,OAAO,WAAW,IAAI,CAAC,IAAI,GAAG,CAAC;IACjC,CAAC;;;;CACF,CAAA;AAtBY,0BAAO;AAElB;IADC,IAAA,gCAAsB,GAAE;;mCACd;AAMX;IADC,IAAA,gBAAM,GAAE;;qCACI;AAMb;IADC,IAAA,gBAAM,GAAE;;qCACI;kBAdF,OAAO;IADnB,IAAA,gBAAM,GAAE;GACI,OAAO,CAsBnB"}
|
|
@@ -22,11 +22,10 @@ let NetworkContextMiddleware = class NetworkContextMiddleware {
|
|
|
22
22
|
this.contextService = contextService;
|
|
23
23
|
}
|
|
24
24
|
async use(req, res, next) {
|
|
25
|
-
const network = await this.service.
|
|
25
|
+
const network = await this.service.findByDomainAlias(req.host);
|
|
26
26
|
if (!network) {
|
|
27
27
|
throw new common_1.NotFoundException('The network could not be found.');
|
|
28
28
|
}
|
|
29
|
-
console.log(req.headers);
|
|
30
29
|
this.contextService.set(injection_tokens_1.NETWORK, network);
|
|
31
30
|
this.contextService.set(injection_tokens_1.HOST, network.fqdn === '*'
|
|
32
31
|
? req.headers['x-forwarded-host'] || req.header['host']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.middleware.js","sourceRoot":"","sources":["../../src/network/network.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAKwB;AAExB,uDAAmD;AACnD,qEAAgE;AAChE,iEAA0D;AAOnD,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAEzB;IACA;IAFV,YACU,OAAuB,EACvB,cAA8B;QAD9B,YAAO,GAAP,OAAO,CAAgB;QACvB,mBAAc,GAAd,cAAc,CAAgB;IACrC,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"network.middleware.js","sourceRoot":"","sources":["../../src/network/network.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAKwB;AAExB,uDAAmD;AACnD,qEAAgE;AAChE,iEAA0D;AAOnD,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAEzB;IACA;IAFV,YACU,OAAuB,EACvB,cAA8B;QAD9B,YAAO,GAAP,OAAO,CAAgB;QACvB,mBAAc,GAAd,cAAc,CAAgB;IACrC,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,0BAAiB,CAAC,iCAAiC,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,0BAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,GAAG,CACrB,uBAAI,EACJ,OAAO,CAAC,IAAI,KAAK,GAAG;YAClB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YACvD,CAAC,CAAC,OAAO,CAAC,IAAI,CACjB,CAAC;QAEF,GAAG,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;QACzB,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAxBY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;qCAGQ,gCAAc;QACP,gCAAc;GAH7B,wBAAwB,CAwBpC"}
|
|
@@ -11,12 +11,13 @@ const common_1 = require("@nestjs/common");
|
|
|
11
11
|
const network_service_1 = require("./network.service");
|
|
12
12
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
13
13
|
const network_entity_1 = require("./entities/network.entity");
|
|
14
|
+
const configs_module_1 = require("../configs/configs.module");
|
|
14
15
|
let NetworkModule = class NetworkModule {
|
|
15
16
|
};
|
|
16
17
|
exports.NetworkModule = NetworkModule;
|
|
17
18
|
exports.NetworkModule = NetworkModule = __decorate([
|
|
18
19
|
(0, common_1.Module)({
|
|
19
|
-
imports: [typeorm_1.TypeOrmModule.forFeature([network_entity_1.Network])],
|
|
20
|
+
imports: [typeorm_1.TypeOrmModule.forFeature([network_entity_1.Network]), configs_module_1.ConfigsModule],
|
|
20
21
|
providers: [network_service_1.NetworkService],
|
|
21
22
|
exports: [network_service_1.NetworkService],
|
|
22
23
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.module.js","sourceRoot":"","sources":["../../src/network/network.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uDAAmD;AACnD,6CAAgD;AAChD,8DAAoD;
|
|
1
|
+
{"version":3,"file":"network.module.js","sourceRoot":"","sources":["../../src/network/network.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uDAAmD;AACnD,6CAAgD;AAChD,8DAAoD;AACpD,8DAAyD;AAOlD,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IALzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,wBAAO,CAAC,CAAC,EAAE,8BAAa,CAAC;QAC7D,SAAS,EAAE,CAAC,gCAAc,CAAC;QAC3B,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAAG"}
|
|
@@ -2,12 +2,15 @@ import { CreateNetworkDto } from './dto/create-network.dto';
|
|
|
2
2
|
import { UpdateNetworkDto } from './dto/update-network.dto';
|
|
3
3
|
import { Network } from './entities/network.entity';
|
|
4
4
|
import { Repository } from 'typeorm';
|
|
5
|
+
import { ConfigsService } from '~/configs/configs.service';
|
|
5
6
|
export declare class NetworkService {
|
|
6
7
|
private readonly networkRepository;
|
|
7
|
-
|
|
8
|
+
private readonly configs;
|
|
9
|
+
constructor(networkRepository: Repository<Network>, configs: ConfigsService);
|
|
8
10
|
create(createNetworkDto: CreateNetworkDto): string;
|
|
9
11
|
findAll(): string;
|
|
10
|
-
|
|
12
|
+
findBy(id: number): Promise<Network | null>;
|
|
13
|
+
findByDomainAlias(alias: string): Promise<Network | null>;
|
|
11
14
|
findByFqdn(fqdn: string): Promise<Network | null>;
|
|
12
15
|
update(id: number, updateNetworkDto: UpdateNetworkDto): string;
|
|
13
16
|
remove(id: number): string;
|
|
@@ -17,10 +17,13 @@ const common_1 = require("@nestjs/common");
|
|
|
17
17
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
18
18
|
const network_entity_1 = require("./entities/network.entity");
|
|
19
19
|
const typeorm_2 = require("typeorm");
|
|
20
|
+
const configs_service_1 = require("../configs/configs.service");
|
|
20
21
|
let NetworkService = class NetworkService {
|
|
21
22
|
networkRepository;
|
|
22
|
-
|
|
23
|
+
configs;
|
|
24
|
+
constructor(networkRepository, configs) {
|
|
23
25
|
this.networkRepository = networkRepository;
|
|
26
|
+
this.configs = configs;
|
|
24
27
|
}
|
|
25
28
|
create(createNetworkDto) {
|
|
26
29
|
return 'This action adds a new network';
|
|
@@ -28,11 +31,24 @@ let NetworkService = class NetworkService {
|
|
|
28
31
|
findAll() {
|
|
29
32
|
return `This action returns all network`;
|
|
30
33
|
}
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
async findBy(id) {
|
|
35
|
+
const network = await this.networkRepository.findOneBy({
|
|
36
|
+
id,
|
|
37
|
+
});
|
|
38
|
+
return network;
|
|
33
39
|
}
|
|
34
|
-
|
|
35
|
-
|
|
40
|
+
async findByDomainAlias(alias) {
|
|
41
|
+
const networkId = this.configs.get('network')?.domainAliasMap[alias];
|
|
42
|
+
if (!networkId) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
return this.findBy(networkId);
|
|
46
|
+
}
|
|
47
|
+
async findByFqdn(fqdn) {
|
|
48
|
+
const network = await this.networkRepository.findOneBy({
|
|
49
|
+
fqdn: (0, typeorm_2.In)([fqdn, '*']),
|
|
50
|
+
});
|
|
51
|
+
return network;
|
|
36
52
|
}
|
|
37
53
|
update(id, updateNetworkDto) {
|
|
38
54
|
return `This action updates a #${id} network`;
|
|
@@ -45,6 +61,7 @@ exports.NetworkService = NetworkService;
|
|
|
45
61
|
exports.NetworkService = NetworkService = __decorate([
|
|
46
62
|
(0, common_1.Injectable)(),
|
|
47
63
|
__param(0, (0, typeorm_1.InjectRepository)(network_entity_1.Network)),
|
|
48
|
-
__metadata("design:paramtypes", [typeorm_2.Repository
|
|
64
|
+
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
65
|
+
configs_service_1.ConfigsService])
|
|
49
66
|
], NetworkService);
|
|
50
67
|
//# sourceMappingURL=network.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.service.js","sourceRoot":"","sources":["../../src/network/network.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAG5C,6CAAmD;AACnD,8DAAoD;AACpD,qCAAyC;
|
|
1
|
+
{"version":3,"file":"network.service.js","sourceRoot":"","sources":["../../src/network/network.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAG5C,6CAAmD;AACnD,8DAAoD;AACpD,qCAAyC;AACzC,gEAA2D;AAGpD,IAAM,cAAc,GAApB,MAAM,cAAc;IAGN;IACA;IAHnB,YAEmB,iBAAsC,EACtC,OAAuB;QADvB,sBAAiB,GAAjB,iBAAiB,CAAqB;QACtC,YAAO,GAAP,OAAO,CAAgB;IACvC,CAAC;IACJ,MAAM,CAAC,gBAAkC;QACvC,OAAO,gCAAgC,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACrD,EAAE;SACH,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAMD,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAKD,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACrD,IAAI,EAAE,IAAA,YAAE,EAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SACtB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,gBAAkC;QACnD,OAAO,0BAA0B,EAAE,UAAU,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,EAAU;QACf,OAAO,0BAA0B,EAAE,UAAU,CAAC;IAChD,CAAC;CACF,CAAA;AAlDY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,wBAAO,CAAC,CAAA;qCACU,oBAAU;QACpB,gCAAc;GAJ/B,cAAc,CAkD1B"}
|