claude-flow-novice 1.6.2 → 1.6.3
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/.claude/settings.json +4 -3
- package/.claude-flow-novice/dist/src/api/auth-service.js +84 -38
- package/.claude-flow-novice/dist/src/api/auth-service.js.map +1 -1
- package/.claude-flow-novice/dist/src/monitoring/apm/apm-integration.js +719 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/apm-integration.js.map +1 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/datadog-collector.js +363 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/datadog-collector.js.map +1 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/index.js +97 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/newrelic-collector.js +384 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/newrelic-collector.js.map +1 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/performance-optimizer.js +612 -0
- package/.claude-flow-novice/dist/src/monitoring/apm/performance-optimizer.js.map +1 -0
- package/.claude-flow-novice/dist/src/monitoring/metrics-collector.js +282 -0
- package/.claude-flow-novice/dist/src/monitoring/metrics-collector.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/api/apm-routes.js +355 -0
- package/.claude-flow-novice/dist/src/web/api/apm-routes.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/frontend/src/utils/security.js +425 -0
- package/.claude-flow-novice/dist/src/web/frontend/src/utils/security.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/security/security-middleware.js +379 -0
- package/.claude-flow-novice/dist/src/web/security/security-middleware.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/websocket/apm-websocket-handler.js +441 -0
- package/.claude-flow-novice/dist/src/web/websocket/apm-websocket-handler.js.map +1 -0
- package/.claude-flow-novice/dist/src/web/websocket/websocket-manager.js +255 -1
- package/.claude-flow-novice/dist/src/web/websocket/websocket-manager.js.map +1 -1
- package/AGENT_PERFORMANCE_GUIDELINES.md +88 -0
- package/CLAUDE.md +31 -3
- package/MEMORY_LEAK_ROOT_CAUSE.md +149 -0
- package/package.json +4 -2
- package/scripts/monitor-loop.sh +65 -0
- package/scripts/monitor-memory.sh +47 -0
- package/scripts/monitor.py +43 -0
package/.claude/settings.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"CLAUDE_FLOW_HOOKS_ENABLED": "true",
|
|
6
6
|
"CLAUDE_FLOW_TELEMETRY_ENABLED": "true",
|
|
7
7
|
"CLAUDE_FLOW_REMOTE_EXECUTION": "true",
|
|
8
|
-
"CLAUDE_FLOW_CHECKPOINTS_ENABLED": "true"
|
|
8
|
+
"CLAUDE_FLOW_CHECKPOINTS_ENABLED": "true",
|
|
9
|
+
"ANTHROPIC_SUBSCRIPTION_LIMIT": "100"
|
|
9
10
|
},
|
|
10
11
|
"permissions": {
|
|
11
12
|
"allow": [
|
|
@@ -42,7 +43,7 @@
|
|
|
42
43
|
"hooks": [
|
|
43
44
|
{
|
|
44
45
|
"type": "command",
|
|
45
|
-
"command": "bash -c 'CMD=$(cat | jq -r \".tool_input.command // empty\"); case \"$CMD\" in *\"npx claude-flow-novice\"*|*\"hooks pre-command\"*|*\"hooks post-command\"*) echo \"[Hook] Skipping recursion: $CMD\" >&2;; *) echo \"$CMD\" | tr \"\\n\" \"\\0\" | xargs -0 -I {} npx claude-flow-novice hooks pre-command --command \"{}\" --validate-safety true --prepare-resources true;; esac'"
|
|
46
|
+
"command": "bash -c 'CMD=$(cat | jq -r \".tool_input.command // empty\"); if echo \"$CMD\" | grep -q \"find /mnt/c\"; then echo \"🔴 BLOCKED: find on /mnt/c paths forbidden (causes memory leak - use Glob tool instead)\" >&2; exit 1; fi; case \"$CMD\" in *\"npx claude-flow-novice\"*|*\"hooks pre-command\"*|*\"hooks post-command\"*) echo \"[Hook] Skipping recursion: $CMD\" >&2;; *) echo \"$CMD\" | tr \"\\n\" \"\\0\" | xargs -0 -I {} npx claude-flow-novice hooks pre-command --command \"{}\" --validate-safety true --prepare-resources true;; esac'"
|
|
46
47
|
}
|
|
47
48
|
]
|
|
48
49
|
},
|
|
@@ -114,6 +115,6 @@
|
|
|
114
115
|
"n8n-mcp"
|
|
115
116
|
],
|
|
116
117
|
"tieredRouting": {
|
|
117
|
-
"enabled":
|
|
118
|
+
"enabled": false
|
|
118
119
|
}
|
|
119
120
|
}
|
|
@@ -67,7 +67,12 @@ const ROLE_PERMISSIONS = {
|
|
|
67
67
|
constructor(config, logger){
|
|
68
68
|
this.config = config;
|
|
69
69
|
this.logger = logger;
|
|
70
|
-
|
|
70
|
+
// Initialize asynchronously to avoid blocking constructor
|
|
71
|
+
this.initializeDefaultUsers().catch((error)=>{
|
|
72
|
+
this.logger.error('Failed to initialize default users', {
|
|
73
|
+
error
|
|
74
|
+
});
|
|
75
|
+
});
|
|
71
76
|
}
|
|
72
77
|
/**
|
|
73
78
|
* Authenticate user with email and password
|
|
@@ -328,6 +333,33 @@ const ROLE_PERMISSIONS = {
|
|
|
328
333
|
*/ listUsers() {
|
|
329
334
|
return Array.from(this.users.values());
|
|
330
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* Check if first-time admin setup is required
|
|
338
|
+
*/ isFirstTimeSetupRequired() {
|
|
339
|
+
const adminUsers = Array.from(this.users.values()).filter((u)=>u.role === 'admin' && u.isActive);
|
|
340
|
+
return adminUsers.length === 0;
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Complete first-time setup by creating initial admin user
|
|
344
|
+
*/ async completeFirstTimeSetup(userData) {
|
|
345
|
+
if (!this.isFirstTimeSetupRequired()) {
|
|
346
|
+
throw new AuthenticationError('First-time setup already completed');
|
|
347
|
+
}
|
|
348
|
+
const adminUser = await this.createUser({
|
|
349
|
+
email: userData.email,
|
|
350
|
+
password: userData.password,
|
|
351
|
+
role: 'admin',
|
|
352
|
+
isActive: true
|
|
353
|
+
});
|
|
354
|
+
this.logger.info('First-time setup completed', {
|
|
355
|
+
adminEmail: adminUser.email,
|
|
356
|
+
adminId: adminUser.id
|
|
357
|
+
});
|
|
358
|
+
return {
|
|
359
|
+
user: adminUser,
|
|
360
|
+
needsSetup: false
|
|
361
|
+
};
|
|
362
|
+
}
|
|
331
363
|
// Private helper methods
|
|
332
364
|
async checkRateLimit(email) {
|
|
333
365
|
const attempts = this.loginAttempts.get(email);
|
|
@@ -431,43 +463,57 @@ const ROLE_PERMISSIONS = {
|
|
|
431
463
|
const bufferB = Buffer.from(b, 'hex');
|
|
432
464
|
return timingSafeEqual(bufferA, bufferB);
|
|
433
465
|
}
|
|
434
|
-
initializeDefaultUsers() {
|
|
435
|
-
//
|
|
436
|
-
const
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
466
|
+
async initializeDefaultUsers() {
|
|
467
|
+
// Check if first-time setup is needed
|
|
468
|
+
const adminUser = Array.from(this.users.values()).find((u)=>u.role === 'admin');
|
|
469
|
+
if (!adminUser) {
|
|
470
|
+
// Check for environment-based admin configuration
|
|
471
|
+
const adminEmail = process.env.ADMIN_EMAIL;
|
|
472
|
+
const adminPassword = process.env.ADMIN_PASSWORD;
|
|
473
|
+
if (adminEmail && adminPassword) {
|
|
474
|
+
// Create admin from environment variables
|
|
475
|
+
const adminId = 'admin_env';
|
|
476
|
+
const passwordHash = createHash('sha256').update(adminPassword + 'salt').digest('hex');
|
|
477
|
+
const envAdminUser = {
|
|
478
|
+
id: adminId,
|
|
479
|
+
email: adminEmail,
|
|
480
|
+
passwordHash,
|
|
481
|
+
role: 'admin',
|
|
482
|
+
permissions: ROLE_PERMISSIONS.admin,
|
|
483
|
+
apiKeys: [],
|
|
484
|
+
isActive: true,
|
|
485
|
+
loginAttempts: 0,
|
|
486
|
+
mfaEnabled: false,
|
|
487
|
+
createdAt: new Date(),
|
|
488
|
+
updatedAt: new Date()
|
|
489
|
+
};
|
|
490
|
+
this.users.set(adminId, envAdminUser);
|
|
491
|
+
this.logger.info('Admin user created from environment', {
|
|
492
|
+
email: adminEmail
|
|
493
|
+
});
|
|
494
|
+
} else {
|
|
495
|
+
// Create temporary service user only
|
|
496
|
+
const serviceId = 'service_default';
|
|
497
|
+
const serviceUser = {
|
|
498
|
+
id: serviceId,
|
|
499
|
+
email: 'service@claude-flow.local',
|
|
500
|
+
passwordHash: createHash('sha256').update('service123' + 'salt').digest('hex'),
|
|
501
|
+
role: 'service',
|
|
502
|
+
permissions: ROLE_PERMISSIONS.service,
|
|
503
|
+
apiKeys: [],
|
|
504
|
+
isActive: true,
|
|
505
|
+
loginAttempts: 0,
|
|
506
|
+
mfaEnabled: false,
|
|
507
|
+
createdAt: new Date(),
|
|
508
|
+
updatedAt: new Date()
|
|
509
|
+
};
|
|
510
|
+
this.users.set(serviceId, serviceUser);
|
|
511
|
+
this.logger.warn('No admin user configured. First-time setup required.', {
|
|
512
|
+
setupRequired: true,
|
|
513
|
+
serviceAccount: serviceUser.email
|
|
514
|
+
});
|
|
515
|
+
}
|
|
516
|
+
}
|
|
471
517
|
}
|
|
472
518
|
}
|
|
473
519
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/auth-service.ts"],"names":["AuthenticationError","nanoid","createHash","createHmac","timingSafeEqual","ROLE_PERMISSIONS","admin","operator","developer","viewer","service","AuthService","users","Map","sessions","apiKeys","loginAttempts","config","logger","initializeDefaultUsers","authenticateUser","email","password","clientInfo","checkRateLimit","user","Array","from","values","find","u","recordFailedLogin","lockedUntil","Date","isActive","isValid","verifyPassword","passwordHash","delete","undefined","lastLogin","session","createSession","id","token","generateJWT","info","userId","sessionId","error","Error","message","authenticateApiKey","apiKey","keyHash","hashApiKey","storedKey","k","constantTimeCompare","expiresAt","lastUsed","some","keyId","keyName","name","key","verifyJWT","payload","decodeJWT","get","updatedAt","hasPermission","userOrPermissions","requiredPermission","permissions","isArray","includes","createUser","userData","existingUser","now","hashPassword","role","mfaEnabled","createdAt","set","createApiKey","keyData","generateApiKey","substring","push","revokeApiKey","filter","invalidateSession","cleanupSessions","cleaned","count","getUser","listUsers","attempts","maxAttempts","maxLoginAttempts","lockoutDuration","timeSinceLastAttempt","lastAttempt","getTime","sessionTimeout","iat","Math","floor","exp","header","alg","typ","encodedHeader","Buffer","JSON","stringify","toString","encodedPayload","signature","jwtSecret","update","digest","parts","split","length","expectedSignature","parse","apiKeyLength","hash","a","b","bufferA","bufferB","adminId","adminUser","serviceId","serviceUser"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/api/auth-service.ts"],"names":["AuthenticationError","nanoid","createHash","createHmac","timingSafeEqual","ROLE_PERMISSIONS","admin","operator","developer","viewer","service","AuthService","users","Map","sessions","apiKeys","loginAttempts","config","logger","initializeDefaultUsers","catch","error","authenticateUser","email","password","clientInfo","checkRateLimit","user","Array","from","values","find","u","recordFailedLogin","lockedUntil","Date","isActive","isValid","verifyPassword","passwordHash","delete","undefined","lastLogin","session","createSession","id","token","generateJWT","info","userId","sessionId","Error","message","authenticateApiKey","apiKey","keyHash","hashApiKey","storedKey","k","constantTimeCompare","expiresAt","lastUsed","some","keyId","keyName","name","key","verifyJWT","payload","decodeJWT","get","updatedAt","hasPermission","userOrPermissions","requiredPermission","permissions","isArray","includes","createUser","userData","existingUser","now","hashPassword","role","mfaEnabled","createdAt","set","createApiKey","keyData","generateApiKey","substring","push","revokeApiKey","filter","invalidateSession","cleanupSessions","cleaned","count","getUser","listUsers","isFirstTimeSetupRequired","adminUsers","length","completeFirstTimeSetup","adminUser","adminEmail","adminId","needsSetup","attempts","maxAttempts","maxLoginAttempts","lockoutDuration","timeSinceLastAttempt","lastAttempt","getTime","sessionTimeout","iat","Math","floor","exp","header","alg","typ","encodedHeader","Buffer","JSON","stringify","toString","encodedPayload","signature","jwtSecret","update","digest","parts","split","expectedSignature","parse","apiKeyLength","hash","a","b","bufferA","bufferB","process","env","ADMIN_EMAIL","adminPassword","ADMIN_PASSWORD","envAdminUser","serviceId","serviceUser","warn","setupRequired","serviceAccount"],"mappings":"AAAA;;;CAGC,GAGD,SAASA,mBAAmB,QAA4B,qBAAqB;AAC7E,SAASC,MAAM,QAAQ,SAAS;AAChC,SAASC,UAAU,EAAEC,UAAU,EAAEC,eAAe,QAAQ,SAAS;AA0FjE,MAAMC,mBAAmD;IACvDC,OAAO;QACL;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACDC,UAAU;QACR;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACDC,WAAW;QACT;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACDC,QAAQ;QAAC;QAAc;QAAc;QAAa;QAAgB;KAAa;IAC/EC,SAAS;QAAC;KAAa;AACzB;AAEA;;CAEC,GACD,OAAO,MAAMC;;;IACHC,QAAQ,IAAIC,MAAoB;IAChCC,WAAW,IAAID,MAA2B;IAC1CE,UAAU,IAAIF,MAAsB;IACpCG,gBAAgB,IAAIH,MAAoD;IAEhF,YACE,AAAQI,MAAkB,EAC1B,AAAQC,MAAe,CACvB;aAFQD,SAAAA;aACAC,SAAAA;QAER,0DAA0D;QAC1D,IAAI,CAACC,sBAAsB,GAAGC,KAAK,CAACC,CAAAA;YAClC,IAAI,CAACH,MAAM,CAACG,KAAK,CAAC,sCAAsC;gBAAEA;YAAM;QAClE;IACF;IAEA;;GAEC,GACD,MAAMC,iBACJC,KAAa,EACbC,QAAgB,EAChBC,UAIC,EAC6D;QAC9D,IAAI;YACF,0BAA0B;YAC1B,MAAM,IAAI,CAACC,cAAc,CAACH;YAE1B,YAAY;YACZ,MAAMI,OAAOC,MAAMC,IAAI,CAAC,IAAI,CAACjB,KAAK,CAACkB,MAAM,IAAIC,IAAI,CAAC,CAACC,IAAMA,EAAET,KAAK,KAAKA;YACrE,IAAI,CAACI,MAAM;gBACT,MAAM,IAAI,CAACM,iBAAiB,CAACV;gBAC7B,MAAM,IAAIvB,oBAAoB;YAChC;YAEA,6BAA6B;YAC7B,IAAI2B,KAAKO,WAAW,IAAIP,KAAKO,WAAW,GAAG,IAAIC,QAAQ;gBACrD,MAAM,IAAInC,oBAAoB;YAChC;YAEA,6BAA6B;YAC7B,IAAI,CAAC2B,KAAKS,QAAQ,EAAE;gBAClB,MAAM,IAAIpC,oBAAoB;YAChC;YAEA,kBAAkB;YAClB,MAAMqC,UAAU,MAAM,IAAI,CAACC,cAAc,CAACd,UAAUG,KAAKY,YAAY;YACrE,IAAI,CAACF,SAAS;gBACZ,MAAM,IAAI,CAACJ,iBAAiB,CAACV;gBAC7B,MAAM,IAAIvB,oBAAoB;YAChC;YAEA,oDAAoD;YACpD,IAAI,CAACgB,aAAa,CAACwB,MAAM,CAACjB;YAC1BI,KAAKX,aAAa,GAAG;YACrBW,KAAKO,WAAW,GAAGO;YACnBd,KAAKe,SAAS,GAAG,IAAIP;YAErB,iBAAiB;YACjB,MAAMQ,UAAU,MAAM,IAAI,CAACC,aAAa,CAACjB,KAAKkB,EAAE,EAAEpB;YAElD,qBAAqB;YACrB,MAAMqB,QAAQ,MAAM,IAAI,CAACC,WAAW,CAACpB,MAAMgB,QAAQE,EAAE;YAErD,IAAI,CAAC3B,MAAM,CAAC8B,IAAI,CAAC,mCAAmC;gBAClDC,QAAQtB,KAAKkB,EAAE;gBACftB,OAAOI,KAAKJ,KAAK;gBACjB2B,WAAWP,QAAQE,EAAE;YACvB;YAEA,OAAO;gBAAElB;gBAAMmB;gBAAOH;YAAQ;QAChC,EAAE,OAAOtB,OAAO;YACd,IAAI,CAACH,MAAM,CAACG,KAAK,CAAC,yBAAyB;gBACzCE;gBACAF,OAAOA,iBAAiB8B,QAAQ9B,MAAM+B,OAAO,GAAG;YAClD;YACA,MAAM/B;QACR;IACF;IAEA;;GAEC,GACD,MAAMgC,mBAAmBC,MAAc,EAAyC;QAC9E,IAAI;YACF,oDAAoD;YACpD,MAAMC,UAAU,IAAI,CAACC,UAAU,CAACF;YAEhC,wBAAwB;YACxB,MAAMG,YAAY7B,MAAMC,IAAI,CAAC,IAAI,CAACd,OAAO,CAACe,MAAM,IAAIC,IAAI,CAAC,CAAC2B,IACxD,IAAI,CAACC,mBAAmB,CAACD,EAAEH,OAAO,EAAEA;YAGtC,IAAI,CAACE,WAAW;gBACd,MAAM,IAAIzD,oBAAoB;YAChC;YAEA,yBAAyB;YACzB,IAAI,CAACyD,UAAUrB,QAAQ,EAAE;gBACvB,MAAM,IAAIpC,oBAAoB;YAChC;YAEA,0BAA0B;YAC1B,IAAIyD,UAAUG,SAAS,IAAIH,UAAUG,SAAS,GAAG,IAAIzB,QAAQ;gBAC3D,MAAM,IAAInC,oBAAoB;YAChC;YAEA,6BAA6B;YAC7ByD,UAAUI,QAAQ,GAAG,IAAI1B;YAEzB,gCAAgC;YAChC,MAAMR,OAAOC,MAAMC,IAAI,CAAC,IAAI,CAACjB,KAAK,CAACkB,MAAM,IAAIC,IAAI,CAAC,CAACC,IACjDA,EAAEjB,OAAO,CAAC+C,IAAI,CAAC,CAACJ,IAAMA,EAAEb,EAAE,KAAKY,UAAUZ,EAAE;YAG7C,IAAI,CAAC3B,MAAM,CAAC8B,IAAI,CAAC,sCAAsC;gBACrDe,OAAON,UAAUZ,EAAE;gBACnBmB,SAASP,UAAUQ,IAAI;gBACvBhB,QAAQtB,MAAMkB;YAChB;YAEA,OAAO;gBAAEqB,KAAKT;gBAAW9B;YAAK;QAChC,EAAE,OAAON,OAAO;YACd,IAAI,CAACH,MAAM,CAACG,KAAK,CAAC,iCAAiC;gBACjDA,OAAOA,iBAAiB8B,QAAQ9B,MAAM+B,OAAO,GAAG;YAClD;YACA,MAAM/B;QACR;IACF;IAEA;;GAEC,GACD,MAAM8C,UAAUrB,KAAa,EAAiD;QAC5E,IAAI;YACF,MAAMsB,UAAU,IAAI,CAACC,SAAS,CAACvB;YAE/B,IAAI,CAACsB,QAAQnB,MAAM,IAAI,CAACmB,QAAQlB,SAAS,EAAE;gBACzC,MAAM,IAAIlD,oBAAoB;YAChC;YAEA,wCAAwC;YACxC,MAAM2C,UAAU,IAAI,CAAC7B,QAAQ,CAACwD,GAAG,CAACF,QAAQlB,SAAS;YACnD,IAAI,CAACP,WAAW,CAACA,QAAQP,QAAQ,EAAE;gBACjC,MAAM,IAAIpC,oBAAoB;YAChC;YAEA,8BAA8B;YAC9B,IAAI2C,QAAQiB,SAAS,GAAG,IAAIzB,QAAQ;gBAClCQ,QAAQP,QAAQ,GAAG;gBACnB,MAAM,IAAIpC,oBAAoB;YAChC;YAEA,WAAW;YACX,MAAM2B,OAAO,IAAI,CAACf,KAAK,CAAC0D,GAAG,CAACF,QAAQnB,MAAM;YAC1C,IAAI,CAACtB,QAAQ,CAACA,KAAKS,QAAQ,EAAE;gBAC3B,MAAM,IAAIpC,oBAAoB;YAChC;YAEA,0BAA0B;YAC1B2C,QAAQ4B,SAAS,GAAG,IAAIpC;YAExB,OAAO;gBAAER;gBAAMgB;YAAQ;QACzB,EAAE,OAAOtB,OAAO;YACd,IAAI,CAACH,MAAM,CAACG,KAAK,CAAC,2BAA2B;gBAC3CA,OAAOA,iBAAiB8B,QAAQ9B,MAAM+B,OAAO,GAAG;YAClD;YACA,MAAM/B;QACR;IACF;IAEA;;GAEC,GACDmD,cAAcC,iBAAsC,EAAEC,kBAA8B,EAAW;QAC7F,MAAMC,cAAc/C,MAAMgD,OAAO,CAACH,qBAC9BA,oBACAA,kBAAkBE,WAAW;QAEjC,OAAOA,YAAYE,QAAQ,CAACH,uBAAuBC,YAAYE,QAAQ,CAAC;IAC1E;IAEA;;GAEC,GACD,MAAMC,WAAWC,QAKhB,EAAiB;QAChB,gCAAgC;QAChC,MAAMC,eAAepD,MAAMC,IAAI,CAAC,IAAI,CAACjB,KAAK,CAACkB,MAAM,IAAIC,IAAI,CAAC,CAACC,IAAMA,EAAET,KAAK,KAAKwD,SAASxD,KAAK;QAC3F,IAAIyD,cAAc;YAChB,MAAM,IAAIhF,oBAAoB;QAChC;QAEA,MAAMiD,SAAS,CAAC,KAAK,EAAEd,KAAK8C,GAAG,GAAG,CAAC,EAAEhF,OAAO,IAAI;QAChD,MAAMsC,eAAe,MAAM,IAAI,CAAC2C,YAAY,CAACH,SAASvD,QAAQ;QAC9D,MAAMmD,cAActE,gBAAgB,CAAC0E,SAASI,IAAI,CAAC,IAAI,EAAE;QAEzD,MAAMxD,OAAa;YACjBkB,IAAII;YACJ1B,OAAOwD,SAASxD,KAAK;YACrBgB;YACA4C,MAAMJ,SAASI,IAAI;YACnBR;YACA5D,SAAS,EAAE;YACXqB,UAAU2C,SAAS3C,QAAQ,IAAI;YAC/BpB,eAAe;YACfoE,YAAY;YACZC,WAAW,IAAIlD;YACfoC,WAAW,IAAIpC;QACjB;QAEA,IAAI,CAACvB,KAAK,CAAC0E,GAAG,CAACrC,QAAQtB;QAEvB,IAAI,CAACT,MAAM,CAAC8B,IAAI,CAAC,gBAAgB;YAC/BC;YACA1B,OAAOwD,SAASxD,KAAK;YACrB4D,MAAMJ,SAASI,IAAI;QACrB;QAEA,OAAOxD;IACT;IAEA;;GAEC,GACD,MAAM4D,aACJtC,MAAc,EACduC,OAIC,EACyC;QAC1C,MAAM7D,OAAO,IAAI,CAACf,KAAK,CAAC0D,GAAG,CAACrB;QAC5B,IAAI,CAACtB,MAAM;YACT,MAAM,IAAI3B,oBAAoB;QAChC;QAEA,MAAMkE,MAAM,IAAI,CAACuB,cAAc;QAC/B,MAAMlC,UAAU,IAAI,CAACC,UAAU,CAACU;QAChC,MAAMH,QAAQ,CAAC,IAAI,EAAE5B,KAAK8C,GAAG,GAAG,CAAC,EAAEhF,OAAO,IAAI;QAE9C,MAAM0E,cAAca,QAAQb,WAAW,IAAIhD,KAAKgD,WAAW;QAE3D,MAAMrB,SAAiB;YACrBT,IAAIkB;YACJG,KAAKA,IAAIwB,SAAS,CAAC,GAAG,KAAK;YAC3BnC;YACAU,MAAMuB,QAAQvB,IAAI;YAClBU;YACAf,WAAW4B,QAAQ5B,SAAS;YAC5BxB,UAAU;YACViD,WAAW,IAAIlD;QACjB;QAEA,yBAAyB;QACzBR,KAAKZ,OAAO,CAAC4E,IAAI,CAACrC;QAElB,+BAA+B;QAC/B,IAAI,CAACvC,OAAO,CAACuE,GAAG,CAACvB,OAAOT;QAExB,IAAI,CAACpC,MAAM,CAAC8B,IAAI,CAAC,mBAAmB;YAClCC;YACAc;YACAC,SAASwB,QAAQvB,IAAI;QACvB;QAEA,OAAO;YAAEX;YAAQY;QAAI;IACvB;IAEA;;GAEC,GACD,MAAM0B,aAAa7B,KAAa,EAAiB;QAC/C,MAAMT,SAAS,IAAI,CAACvC,OAAO,CAACuD,GAAG,CAACP;QAChC,IAAI,CAACT,QAAQ;YACX,MAAM,IAAItD,oBAAoB;QAChC;QAEAsD,OAAOlB,QAAQ,GAAG;QAElB,0BAA0B;QAC1B,MAAMT,OAAOC,MAAMC,IAAI,CAAC,IAAI,CAACjB,KAAK,CAACkB,MAAM,IAAIC,IAAI,CAAC,CAACC,IAAMA,EAAEjB,OAAO,CAAC+C,IAAI,CAAC,CAACJ,IAAMA,EAAEb,EAAE,KAAKkB;QACxF,IAAIpC,MAAM;YACRA,KAAKZ,OAAO,GAAGY,KAAKZ,OAAO,CAAC8E,MAAM,CAAC,CAACnC,IAAMA,EAAEb,EAAE,KAAKkB;QACrD;QAEA,IAAI,CAAC7C,MAAM,CAAC8B,IAAI,CAAC,mBAAmB;YAClCe;YACAC,SAASV,OAAOW,IAAI;YACpBhB,QAAQtB,MAAMkB;QAChB;IACF;IAEA;;GAEC,GACD,MAAMiD,kBAAkB5C,SAAiB,EAAiB;QACxD,MAAMP,UAAU,IAAI,CAAC7B,QAAQ,CAACwD,GAAG,CAACpB;QAClC,IAAIP,SAAS;YACXA,QAAQP,QAAQ,GAAG;YACnB,IAAI,CAAClB,MAAM,CAAC8B,IAAI,CAAC,uBAAuB;gBACtCE;gBACAD,QAAQN,QAAQM,MAAM;YACxB;QACF;IACF;IAEA;;GAEC,GACD,MAAM8C,kBAAiC;QACrC,MAAMd,MAAM,IAAI9C;QAChB,IAAI6D,UAAU;QAEd,KAAK,MAAM,CAAC9C,WAAWP,QAAQ,IAAI,IAAI,CAAC7B,QAAQ,CAAE;YAChD,IAAI,CAAC6B,QAAQP,QAAQ,IAAIO,QAAQiB,SAAS,GAAGqB,KAAK;gBAChD,IAAI,CAACnE,QAAQ,CAAC0B,MAAM,CAACU;gBACrB8C;YACF;QACF;QAEA,IAAIA,UAAU,GAAG;YACf,IAAI,CAAC9E,MAAM,CAAC8B,IAAI,CAAC,+BAA+B;gBAAEiD,OAAOD;YAAQ;QACnE;IACF;IAEA;;GAEC,GACDE,QAAQjD,MAAc,EAAoB;QACxC,OAAO,IAAI,CAACrC,KAAK,CAAC0D,GAAG,CAACrB;IACxB;IAEA;;GAEC,GACDkD,YAAoB;QAClB,OAAOvE,MAAMC,IAAI,CAAC,IAAI,CAACjB,KAAK,CAACkB,MAAM;IACrC;IAEA;;GAEC,GACDsE,2BAAoC;QAClC,MAAMC,aAAazE,MAAMC,IAAI,CAAC,IAAI,CAACjB,KAAK,CAACkB,MAAM,IAAI+D,MAAM,CAAC7D,CAAAA,IAAKA,EAAEmD,IAAI,KAAK,WAAWnD,EAAEI,QAAQ;QAC/F,OAAOiE,WAAWC,MAAM,KAAK;IAC/B;IAEA;;GAEC,GACD,MAAMC,uBAAuBxB,QAI5B,EAAgD;QAC/C,IAAI,CAAC,IAAI,CAACqB,wBAAwB,IAAI;YACpC,MAAM,IAAIpG,oBAAoB;QAChC;QAEA,MAAMwG,YAAY,MAAM,IAAI,CAAC1B,UAAU,CAAC;YACtCvD,OAAOwD,SAASxD,KAAK;YACrBC,UAAUuD,SAASvD,QAAQ;YAC3B2D,MAAM;YACN/C,UAAU;QACZ;QAEA,IAAI,CAAClB,MAAM,CAAC8B,IAAI,CAAC,8BAA8B;YAC7CyD,YAAYD,UAAUjF,KAAK;YAC3BmF,SAASF,UAAU3D,EAAE;QACvB;QAEA,OAAO;YAAElB,MAAM6E;YAAWG,YAAY;QAAM;IAC9C;IAEA,yBAAyB;IACzB,MAAcjF,eAAeH,KAAa,EAAiB;QACzD,MAAMqF,WAAW,IAAI,CAAC5F,aAAa,CAACsD,GAAG,CAAC/C;QACxC,MAAMsF,cAAc,IAAI,CAAC5F,MAAM,CAAC6F,gBAAgB,IAAI;QACpD,MAAMC,kBAAkB,IAAI,CAAC9F,MAAM,CAAC8F,eAAe,IAAI,QAAQ,aAAa;QAE5E,IAAIH,YAAYA,SAASX,KAAK,IAAIY,aAAa;YAC7C,MAAMG,uBAAuB7E,KAAK8C,GAAG,KAAK2B,SAASK,WAAW,CAACC,OAAO;YACtE,IAAIF,uBAAuBD,iBAAiB;gBAC1C,MAAM,IAAI/G,oBAAoB;YAChC,OAAO;gBACL,sCAAsC;gBACtC,IAAI,CAACgB,aAAa,CAACwB,MAAM,CAACjB;YAC5B;QACF;IACF;IAEA,MAAcU,kBAAkBV,KAAa,EAAiB;QAC5D,MAAMqF,WAAW,IAAI,CAAC5F,aAAa,CAACsD,GAAG,CAAC/C,UAAU;YAAE0E,OAAO;YAAGgB,aAAa,IAAI9E;QAAO;QACtFyE,SAASX,KAAK;QACdW,SAASK,WAAW,GAAG,IAAI9E;QAC3B,IAAI,CAACnB,aAAa,CAACsE,GAAG,CAAC/D,OAAOqF;IAChC;IAEA,MAAchE,cACZK,MAAc,EACdxB,UAIC,EACqB;QACtB,MAAMyB,YAAY,CAAC,QAAQ,EAAEf,KAAK8C,GAAG,GAAG,CAAC,EAAEhF,OAAO,KAAK;QACvD,MAAMkH,iBAAiB,IAAI,CAAClG,MAAM,CAACkG,cAAc,IAAI,SAAS,SAAS;QACvE,MAAMvD,YAAY,IAAIzB,KAAKA,KAAK8C,GAAG,KAAKkC;QAExC,MAAMxE,UAAuB;YAC3BE,IAAIK;YACJD;YACAH,OAAO7C,OAAO;YACdwB;YACAW,UAAU;YACVwB;YACAyB,WAAW,IAAIlD;YACfoC,WAAW,IAAIpC;QACjB;QAEA,IAAI,CAACrB,QAAQ,CAACwE,GAAG,CAACpC,WAAWP;QAC7B,OAAOA;IACT;IAEA,MAAcI,YAAYpB,IAAU,EAAEuB,SAAiB,EAAmB;QACxE,MAAMkB,UAAU;YACdnB,QAAQtB,KAAKkB,EAAE;YACftB,OAAOI,KAAKJ,KAAK;YACjB4D,MAAMxD,KAAKwD,IAAI;YACfR,aAAahD,KAAKgD,WAAW;YAC7BzB;YACAkE,KAAKC,KAAKC,KAAK,CAACnF,KAAK8C,GAAG,KAAK;YAC7BsC,KAAKF,KAAKC,KAAK,CAACnF,KAAK8C,GAAG,KAAK,QAAQ,KAAK,KAAK;QACjD;QAEA,MAAMuC,SAAS;YACbC,KAAK;YACLC,KAAK;QACP;QAEA,MAAMC,gBAAgBC,OAAO/F,IAAI,CAACgG,KAAKC,SAAS,CAACN,SAASO,QAAQ,CAAC;QACnE,MAAMC,iBAAiBJ,OAAO/F,IAAI,CAACgG,KAAKC,SAAS,CAAC1D,UAAU2D,QAAQ,CAAC;QAErE,MAAME,YAAY9H,WAAW,UAAU,IAAI,CAACc,MAAM,CAACiH,SAAS,EACzDC,MAAM,CAAC,GAAGR,cAAc,CAAC,EAAEK,gBAAgB,EAC3CI,MAAM,CAAC;QAEV,OAAO,GAAGT,cAAc,CAAC,EAAEK,eAAe,CAAC,EAAEC,WAAW;IAC1D;IAEQ5D,UAAUvB,KAAa,EAAO;QACpC,MAAMuF,QAAQvF,MAAMwF,KAAK,CAAC;QAC1B,IAAID,MAAM/B,MAAM,KAAK,GAAG;YACtB,MAAM,IAAItG,oBAAoB;QAChC;QAEA,MAAM,CAAC2H,eAAeK,gBAAgBC,UAAU,GAAGI;QAEnD,mBAAmB;QACnB,MAAME,oBAAoBpI,WAAW,UAAU,IAAI,CAACc,MAAM,CAACiH,SAAS,EACjEC,MAAM,CAAC,GAAGR,cAAc,CAAC,EAAEK,gBAAgB,EAC3CI,MAAM,CAAC;QAEV,IAAI,CAAC,IAAI,CAACzE,mBAAmB,CAACsE,WAAWM,oBAAoB;YAC3D,MAAM,IAAIvI,oBAAoB;QAChC;QAEA,iBAAiB;QACjB,MAAMoE,UAAUyD,KAAKW,KAAK,CAACZ,OAAO/F,IAAI,CAACmG,gBAAgB,aAAaD,QAAQ;QAE5E,mBAAmB;QACnB,IAAI3D,QAAQmD,GAAG,IAAInD,QAAQmD,GAAG,GAAGF,KAAKC,KAAK,CAACnF,KAAK8C,GAAG,KAAK,OAAO;YAC9D,MAAM,IAAIjF,oBAAoB;QAChC;QAEA,OAAOoE;IACT;IAEQqB,iBAAyB;QAC/B,MAAMa,SAAS,IAAI,CAACrF,MAAM,CAACwH,YAAY,IAAI;QAC3C,OAAOxI,OAAOqG;IAChB;IAEQ9C,WAAWU,GAAW,EAAU;QACtC,OAAOhE,WAAW,UAAUiI,MAAM,CAACjE,KAAKkE,MAAM,CAAC;IACjD;IAEA,MAAclD,aAAa1D,QAAgB,EAAmB;QAC5D,uCAAuC;QACvC,OAAOtB,WAAW,UACfiI,MAAM,CAAC3G,WAAW,QAClB4G,MAAM,CAAC;IACZ;IAEA,MAAc9F,eAAed,QAAgB,EAAEkH,IAAY,EAAoB;QAC7E,+CAA+C;QAC/C,MAAMnG,eAAerC,WAAW,UAC7BiI,MAAM,CAAC3G,WAAW,QAClB4G,MAAM,CAAC;QACV,OAAO,IAAI,CAACzE,mBAAmB,CAACpB,cAAcmG;IAChD;IAEQ/E,oBAAoBgF,CAAS,EAAEC,CAAS,EAAW;QACzD,IAAID,EAAErC,MAAM,KAAKsC,EAAEtC,MAAM,EAAE;YACzB,OAAO;QACT;QAEA,MAAMuC,UAAUjB,OAAO/F,IAAI,CAAC8G,GAAG;QAC/B,MAAMG,UAAUlB,OAAO/F,IAAI,CAAC+G,GAAG;QAE/B,OAAOxI,gBAAgByI,SAASC;IAClC;IAEA,MAAc3H,yBAAwC;QACpD,sCAAsC;QACtC,MAAMqF,YAAY5E,MAAMC,IAAI,CAAC,IAAI,CAACjB,KAAK,CAACkB,MAAM,IAAIC,IAAI,CAACC,CAAAA,IAAKA,EAAEmD,IAAI,KAAK;QAEvE,IAAI,CAACqB,WAAW;YACd,kDAAkD;YAClD,MAAMC,aAAasC,QAAQC,GAAG,CAACC,WAAW;YAC1C,MAAMC,gBAAgBH,QAAQC,GAAG,CAACG,cAAc;YAEhD,IAAI1C,cAAcyC,eAAe;gBAC/B,0CAA0C;gBAC1C,MAAMxC,UAAU;gBAChB,MAAMnE,eAAerC,WAAW,UAC7BiI,MAAM,CAACe,gBAAgB,QACvBd,MAAM,CAAC;gBAEV,MAAMgB,eAAqB;oBACzBvG,IAAI6D;oBACJnF,OAAOkF;oBACPlE;oBACA4C,MAAM;oBACNR,aAAatE,iBAAiBC,KAAK;oBACnCS,SAAS,EAAE;oBACXqB,UAAU;oBACVpB,eAAe;oBACfoE,YAAY;oBACZC,WAAW,IAAIlD;oBACfoC,WAAW,IAAIpC;gBACjB;gBAEA,IAAI,CAACvB,KAAK,CAAC0E,GAAG,CAACoB,SAAS0C;gBACxB,IAAI,CAAClI,MAAM,CAAC8B,IAAI,CAAC,uCAAuC;oBACtDzB,OAAOkF;gBACT;YACF,OAAO;gBACL,qCAAqC;gBACrC,MAAM4C,YAAY;gBAClB,MAAMC,cAAoB;oBACxBzG,IAAIwG;oBACJ9H,OAAO;oBACPgB,cAAcrC,WAAW,UACtBiI,MAAM,CAAC,eAAe,QACtBC,MAAM,CAAC;oBACVjD,MAAM;oBACNR,aAAatE,iBAAiBK,OAAO;oBACrCK,SAAS,EAAE;oBACXqB,UAAU;oBACVpB,eAAe;oBACfoE,YAAY;oBACZC,WAAW,IAAIlD;oBACfoC,WAAW,IAAIpC;gBACjB;gBAEA,IAAI,CAACvB,KAAK,CAAC0E,GAAG,CAAC+D,WAAWC;gBAC1B,IAAI,CAACpI,MAAM,CAACqI,IAAI,CAAC,wDAAwD;oBACvEC,eAAe;oBACfC,gBAAgBH,YAAY/H,KAAK;gBACnC;YACF;QACF;IACF;AACF"}
|