@xxmachina/components 19.9.0 → 19.12.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/extras/flow/index.d.ts +1 -0
- package/extras/flow/index.d.ts.map +1 -0
- package/features/command/index.d.ts +1 -0
- package/features/command/index.d.ts.map +1 -0
- package/features/query/index.d.ts +1 -0
- package/features/query/index.d.ts.map +1 -0
- package/fesm2022/xxmachina-components-extras-flow.mjs +151 -154
- package/fesm2022/xxmachina-components-extras-flow.mjs.map +1 -1
- package/fesm2022/xxmachina-components-features-command.mjs +43 -47
- package/fesm2022/xxmachina-components-features-command.mjs.map +1 -1
- package/fesm2022/xxmachina-components-features-query.mjs +60 -66
- package/fesm2022/xxmachina-components-features-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components-groups-command-form.mjs +8 -11
- package/fesm2022/xxmachina-components-groups-command-form.mjs.map +1 -1
- package/fesm2022/xxmachina-components-groups-query-form.mjs +85 -89
- package/fesm2022/xxmachina-components-groups-query-form.mjs.map +1 -1
- package/fesm2022/xxmachina-components-molecules-calendar-paginator.mjs +5 -7
- package/fesm2022/xxmachina-components-molecules-calendar-paginator.mjs.map +1 -1
- package/fesm2022/xxmachina-components-molecules-daily-cell.mjs +16 -16
- package/fesm2022/xxmachina-components-molecules-daily-cell.mjs.map +1 -1
- package/fesm2022/xxmachina-components-molecules-weekly-header.mjs +4 -4
- package/fesm2022/xxmachina-components-molecules-weekly-header.mjs.map +1 -1
- package/fesm2022/xxmachina-components-organisms-calendar-section.mjs +15 -16
- package/fesm2022/xxmachina-components-organisms-calendar-section.mjs.map +1 -1
- package/fesm2022/xxmachina-components-organisms-event-input-section.mjs +35 -38
- package/fesm2022/xxmachina-components-organisms-event-input-section.mjs.map +1 -1
- package/fesm2022/xxmachina-components-organisms-terminal-input-section.mjs +17 -17
- package/fesm2022/xxmachina-components-organisms-terminal-input-section.mjs.map +1 -1
- package/fesm2022/xxmachina-components-organisms-video-trimmer-section.mjs +31 -36
- package/fesm2022/xxmachina-components-organisms-video-trimmer-section.mjs.map +1 -1
- package/fesm2022/xxmachina-components-organisms-xterm.mjs +111 -7
- package/fesm2022/xxmachina-components-organisms-xterm.mjs.map +1 -1
- package/fesm2022/xxmachina-components-pages-command.mjs +40 -44
- package/fesm2022/xxmachina-components-pages-command.mjs.map +1 -1
- package/fesm2022/xxmachina-components-pages-query-v2.mjs +67 -70
- package/fesm2022/xxmachina-components-pages-query-v2.mjs.map +1 -1
- package/fesm2022/xxmachina-components-pages-query.mjs +433 -369
- package/fesm2022/xxmachina-components-pages-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components-pages-thread.mjs +28 -31
- package/fesm2022/xxmachina-components-pages-thread.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-commands.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-pages.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-preloading.mjs +2 -2
- package/fesm2022/xxmachina-components-routes-preloading.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-queries.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-resources-resource.routes-C5KpB3KM.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-resources.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-transformer.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-transformers.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-app.mjs +6 -9
- package/fesm2022/xxmachina-components-services-app.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-assistant.mjs +3 -5
- package/fesm2022/xxmachina-components-services-assistant.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-calendar.mjs +3 -5
- package/fesm2022/xxmachina-components-services-calendar.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-command.mjs +18 -18
- package/fesm2022/xxmachina-components-services-command.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-context.mjs +4 -5
- package/fesm2022/xxmachina-components-services-context.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-contract.mjs +3 -5
- package/fesm2022/xxmachina-components-services-contract.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-debug.mjs +4 -4
- package/fesm2022/xxmachina-components-services-debug.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-forms-query.mjs +3 -5
- package/fesm2022/xxmachina-components-services-forms-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-forms-schedule.mjs +3 -5
- package/fesm2022/xxmachina-components-services-forms-schedule.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-forms-variables.mjs +3 -5
- package/fesm2022/xxmachina-components-services-forms-variables.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-graphql.mjs +3 -2
- package/fesm2022/xxmachina-components-services-graphql.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-invoice.mjs +4 -6
- package/fesm2022/xxmachina-components-services-invoice.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-json-schema.mjs +4 -3
- package/fesm2022/xxmachina-components-services-json-schema.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-link.mjs +3 -5
- package/fesm2022/xxmachina-components-services-link.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-message.mjs +11 -13
- package/fesm2022/xxmachina-components-services-message.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-openai.mjs +10 -15
- package/fesm2022/xxmachina-components-services-openai.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-openapi.mjs +4 -6
- package/fesm2022/xxmachina-components-services-openapi.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-order.mjs +3 -5
- package/fesm2022/xxmachina-components-services-order.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-partner.mjs +3 -5
- package/fesm2022/xxmachina-components-services-partner.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-query.mjs +10 -12
- package/fesm2022/xxmachina-components-services-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-recording.mjs +16 -16
- package/fesm2022/xxmachina-components-services-recording.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-schedule.mjs +3 -5
- package/fesm2022/xxmachina-components-services-schedule.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-thread.mjs +3 -5
- package/fesm2022/xxmachina-components-services-thread.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-transformer.mjs +3 -5
- package/fesm2022/xxmachina-components-services-transformer.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-youtube.mjs +2 -2
- package/fesm2022/xxmachina-components-services-youtube.mjs.map +1 -1
- package/fesm2022/xxmachina-components-templates-agent.mjs +30 -25
- package/fesm2022/xxmachina-components-templates-agent.mjs.map +1 -1
- package/fesm2022/xxmachina-components-templates-background.mjs +148 -148
- package/fesm2022/xxmachina-components-templates-background.mjs.map +1 -1
- package/fesm2022/xxmachina-components-templates-invoice-iframe.mjs +6 -8
- package/fesm2022/xxmachina-components-templates-invoice-iframe.mjs.map +1 -1
- package/fesm2022/xxmachina-components-templates-scheduler.mjs +12 -13
- package/fesm2022/xxmachina-components-templates-scheduler.mjs.map +1 -1
- package/fesm2022/xxmachina-components-templates-video.mjs +22 -27
- package/fesm2022/xxmachina-components-templates-video.mjs.map +1 -1
- package/fesm2022/xxmachina-components-validators-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components.mjs +23 -32
- package/fesm2022/xxmachina-components.mjs.map +1 -1
- package/groups/command-form/index.d.ts +1 -0
- package/groups/command-form/index.d.ts.map +1 -0
- package/groups/query-form/index.d.ts +1 -0
- package/groups/query-form/index.d.ts.map +1 -0
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -0
- package/molecules/calendar-paginator/index.d.ts +1 -0
- package/molecules/calendar-paginator/index.d.ts.map +1 -0
- package/molecules/daily-cell/index.d.ts +1 -0
- package/molecules/daily-cell/index.d.ts.map +1 -0
- package/molecules/weekly-header/index.d.ts +1 -0
- package/molecules/weekly-header/index.d.ts.map +1 -0
- package/organisms/calendar-section/index.d.ts +1 -0
- package/organisms/calendar-section/index.d.ts.map +1 -0
- package/organisms/event-input-section/index.d.ts +1 -0
- package/organisms/event-input-section/index.d.ts.map +1 -0
- package/organisms/terminal-input-section/index.d.ts +1 -0
- package/organisms/terminal-input-section/index.d.ts.map +1 -0
- package/organisms/video-trimmer-section/index.d.ts +1 -0
- package/organisms/video-trimmer-section/index.d.ts.map +1 -0
- package/organisms/xterm/index.d.ts +28 -3
- package/organisms/xterm/index.d.ts.map +1 -0
- package/package.json +5 -5
- package/pages/command/index.d.ts +1 -0
- package/pages/command/index.d.ts.map +1 -0
- package/pages/query/index.d.ts +35 -11
- package/pages/query/index.d.ts.map +1 -0
- package/pages/query-v2/index.d.ts +1 -0
- package/pages/query-v2/index.d.ts.map +1 -0
- package/pages/thread/index.d.ts +1 -0
- package/pages/thread/index.d.ts.map +1 -0
- package/routes/commands/index.d.ts +1 -0
- package/routes/commands/index.d.ts.map +1 -0
- package/routes/index.d.ts +1 -0
- package/routes/index.d.ts.map +1 -0
- package/routes/pages/index.d.ts +1 -0
- package/routes/pages/index.d.ts.map +1 -0
- package/routes/preloading/index.d.ts +1 -0
- package/routes/preloading/index.d.ts.map +1 -0
- package/routes/queries/index.d.ts +1 -0
- package/routes/queries/index.d.ts.map +1 -0
- package/routes/query/index.d.ts +1 -0
- package/routes/query/index.d.ts.map +1 -0
- package/routes/resources/index.d.ts +1 -0
- package/routes/resources/index.d.ts.map +1 -0
- package/routes/side/chat/index.d.ts +1 -0
- package/routes/side/chat/index.d.ts.map +1 -0
- package/routes/side/index.d.ts +1 -0
- package/routes/side/index.d.ts.map +1 -0
- package/routes/transformer/index.d.ts +1 -0
- package/routes/transformer/index.d.ts.map +1 -0
- package/routes/transformers/index.d.ts +1 -0
- package/routes/transformers/index.d.ts.map +1 -0
- package/services/app/index.d.ts +1 -0
- package/services/app/index.d.ts.map +1 -0
- package/services/assistant/index.d.ts +1 -0
- package/services/assistant/index.d.ts.map +1 -0
- package/services/calendar/index.d.ts +1 -0
- package/services/calendar/index.d.ts.map +1 -0
- package/services/command/index.d.ts +1 -0
- package/services/command/index.d.ts.map +1 -0
- package/services/context/index.d.ts +1 -0
- package/services/context/index.d.ts.map +1 -0
- package/services/contract/index.d.ts +1 -0
- package/services/contract/index.d.ts.map +1 -0
- package/services/debug/index.d.ts +1 -0
- package/services/debug/index.d.ts.map +1 -0
- package/services/forms/query/index.d.ts +1 -0
- package/services/forms/query/index.d.ts.map +1 -0
- package/services/forms/schedule/index.d.ts +1 -0
- package/services/forms/schedule/index.d.ts.map +1 -0
- package/services/forms/variables/index.d.ts +1 -0
- package/services/forms/variables/index.d.ts.map +1 -0
- package/services/graphql/index.d.ts +1 -0
- package/services/graphql/index.d.ts.map +1 -0
- package/services/invoice/index.d.ts +1 -0
- package/services/invoice/index.d.ts.map +1 -0
- package/services/json-schema/index.d.ts +1 -0
- package/services/json-schema/index.d.ts.map +1 -0
- package/services/link/index.d.ts +1 -0
- package/services/link/index.d.ts.map +1 -0
- package/services/message/index.d.ts +1 -0
- package/services/message/index.d.ts.map +1 -0
- package/services/openai/index.d.ts +1 -0
- package/services/openai/index.d.ts.map +1 -0
- package/services/openapi/index.d.ts +1 -0
- package/services/openapi/index.d.ts.map +1 -0
- package/services/order/index.d.ts +1 -0
- package/services/order/index.d.ts.map +1 -0
- package/services/partner/index.d.ts +1 -0
- package/services/partner/index.d.ts.map +1 -0
- package/services/query/index.d.ts +1 -0
- package/services/query/index.d.ts.map +1 -0
- package/services/recording/index.d.ts +1 -0
- package/services/recording/index.d.ts.map +1 -0
- package/services/schedule/index.d.ts +1 -0
- package/services/schedule/index.d.ts.map +1 -0
- package/services/thread/index.d.ts +1 -0
- package/services/thread/index.d.ts.map +1 -0
- package/services/transformer/index.d.ts +1 -0
- package/services/transformer/index.d.ts.map +1 -0
- package/services/youtube/index.d.ts +1 -0
- package/services/youtube/index.d.ts.map +1 -0
- package/templates/agent/index.d.ts +2 -0
- package/templates/agent/index.d.ts.map +1 -0
- package/templates/background/index.d.ts +1 -0
- package/templates/background/index.d.ts.map +1 -0
- package/templates/invoice-iframe/index.d.ts +1 -0
- package/templates/invoice-iframe/index.d.ts.map +1 -0
- package/templates/scheduler/index.d.ts +1 -0
- package/templates/scheduler/index.d.ts.map +1 -0
- package/templates/video/index.d.ts +1 -0
- package/templates/video/index.d.ts.map +1 -0
- package/validators/query/index.d.ts +1 -0
- package/validators/query/index.d.ts.map +1 -0
|
@@ -4,101 +4,36 @@ import { input, signal, afterNextRender, ElementRef, Component } from '@angular/
|
|
|
4
4
|
import { BackgroundTemplateStore } from '@ng-atomic/components/templates/background';
|
|
5
5
|
|
|
6
6
|
class BackgroundTemplate {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
`
|
|
7
|
+
title = input('');
|
|
8
|
+
canvas = signal(null);
|
|
9
|
+
ctx = signal(null);
|
|
10
|
+
particles = [];
|
|
11
|
+
window = window;
|
|
12
|
+
hue = 180;
|
|
13
|
+
frame = 0;
|
|
14
|
+
messages = [
|
|
15
|
+
'(x_x) PROTOCOL.7 (x_x)',
|
|
16
|
+
'[MACHINA:01] INITIALIZING...',
|
|
17
|
+
'(>_<) SYSTEM OVERLOAD (>_<)',
|
|
18
|
+
'▓▓▒▒░░W I R E D░░▒▒▓▓',
|
|
19
|
+
'【=◈︿◈=】LAYER:13【=◈︿◈=】',
|
|
20
|
+
'[▀▄▀▄▀▄] NAV¡GATOR [▄▀▄▀▄▀]',
|
|
21
|
+
'(╥﹏╥) ERROR_404 (╥﹏╥)',
|
|
22
|
+
`
|
|
24
23
|
╔═══════════════╗
|
|
25
24
|
║ PRESENT TIME. ║
|
|
26
25
|
╚═══════════════╝
|
|
27
26
|
`,
|
|
28
|
-
|
|
27
|
+
`
|
|
29
28
|
/\\_/\\ PROTOCOL
|
|
30
29
|
((@v@)) BREACH
|
|
31
30
|
()::() DETECTED
|
|
32
31
|
VV-VV
|
|
33
32
|
`,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const canvas = this.canvas()?.nativeElement;
|
|
39
|
-
const ctx = this.ctx();
|
|
40
|
-
if (!canvas || !ctx)
|
|
41
|
-
return;
|
|
42
|
-
this.frame++;
|
|
43
|
-
ctx.fillStyle = 'rgba(0,0,0,0.1)';
|
|
44
|
-
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
45
|
-
if (this.frame % 30 === 0) {
|
|
46
|
-
ctx.strokeStyle = 'rgba(0, 255, 255, 0.1)';
|
|
47
|
-
ctx.lineWidth = 0.5;
|
|
48
|
-
for (let i = 0; i < canvas.width; i += 50) {
|
|
49
|
-
ctx.beginPath();
|
|
50
|
-
ctx.moveTo(i, 0);
|
|
51
|
-
ctx.lineTo(i, canvas.height);
|
|
52
|
-
ctx.stroke();
|
|
53
|
-
}
|
|
54
|
-
for (let i = 0; i < canvas.height; i += 50) {
|
|
55
|
-
ctx.beginPath();
|
|
56
|
-
ctx.moveTo(0, i);
|
|
57
|
-
ctx.lineTo(canvas.width, i);
|
|
58
|
-
ctx.stroke();
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
this.particles.forEach(p => {
|
|
62
|
-
p.x += p.dx;
|
|
63
|
-
p.y += p.dy;
|
|
64
|
-
if (p.x < 0 || p.x > canvas.width) {
|
|
65
|
-
p.dx = -p.dx * 0.95;
|
|
66
|
-
p.dy += (Math.random() - 0.5) * 0.2;
|
|
67
|
-
}
|
|
68
|
-
if (p.y < 0 || p.y > canvas.height) {
|
|
69
|
-
p.dy = -p.dy * 0.95;
|
|
70
|
-
p.dx += (Math.random() - 0.5) * 0.2;
|
|
71
|
-
}
|
|
72
|
-
if (Math.random() < 0.98) {
|
|
73
|
-
ctx.shadowBlur = 10;
|
|
74
|
-
ctx.shadowColor = p.color;
|
|
75
|
-
ctx.fillStyle = p.color;
|
|
76
|
-
ctx.beginPath();
|
|
77
|
-
ctx.arc(p.x + (p.glitchOffset || 0), p.y, p.size, 0, Math.PI * 2);
|
|
78
|
-
ctx.fill();
|
|
79
|
-
ctx.shadowBlur = 0;
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
for (let i = 0; i < this.particles.length; i++) {
|
|
83
|
-
for (let j = i + 1; j < this.particles.length; j++) {
|
|
84
|
-
const dx = this.particles[i].x - this.particles[j].x;
|
|
85
|
-
const dy = this.particles[i].y - this.particles[j].y;
|
|
86
|
-
const d = Math.sqrt(dx * dx + dy * dy);
|
|
87
|
-
if (d < 100) {
|
|
88
|
-
const alpha = (1 - d / 100) * 0.3;
|
|
89
|
-
ctx.beginPath();
|
|
90
|
-
ctx.strokeStyle = `hsla(${this.hue}, 100%, 70%, ${alpha})`;
|
|
91
|
-
ctx.lineWidth = 1;
|
|
92
|
-
ctx.moveTo(this.particles[i].x, this.particles[i].y);
|
|
93
|
-
ctx.lineTo(this.particles[j].x, this.particles[j].y);
|
|
94
|
-
ctx.stroke();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
this.drawText(ctx, canvas);
|
|
99
|
-
this.hue = 180 + Math.sin(this.frame * 0.01) * 30;
|
|
100
|
-
requestAnimationFrame(this.animate);
|
|
101
|
-
};
|
|
33
|
+
'▌│█║▌║▌║ CONNECTING... ║▌║▌║█│▌'
|
|
34
|
+
];
|
|
35
|
+
currentMessage = 0;
|
|
36
|
+
constructor() {
|
|
102
37
|
afterNextRender(() => {
|
|
103
38
|
const canvasElement = document.querySelector('canvas');
|
|
104
39
|
this.canvas.set(new ElementRef(canvasElement));
|
|
@@ -161,8 +96,73 @@ class BackgroundTemplate {
|
|
|
161
96
|
ctx.fillText(`[Y]: ${Math.floor(Math.random() * 1000)}`, canvas.width - 120, 40);
|
|
162
97
|
ctx.fillText(`(>_<) SYNC: ${Math.floor(Math.random() * 100)}%`, canvas.width - 160, 60);
|
|
163
98
|
}
|
|
164
|
-
|
|
165
|
-
|
|
99
|
+
animate = () => {
|
|
100
|
+
const canvas = this.canvas()?.nativeElement;
|
|
101
|
+
const ctx = this.ctx();
|
|
102
|
+
if (!canvas || !ctx)
|
|
103
|
+
return;
|
|
104
|
+
this.frame++;
|
|
105
|
+
ctx.fillStyle = 'rgba(0,0,0,0.1)';
|
|
106
|
+
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
107
|
+
if (this.frame % 30 === 0) {
|
|
108
|
+
ctx.strokeStyle = 'rgba(0, 255, 255, 0.1)';
|
|
109
|
+
ctx.lineWidth = 0.5;
|
|
110
|
+
for (let i = 0; i < canvas.width; i += 50) {
|
|
111
|
+
ctx.beginPath();
|
|
112
|
+
ctx.moveTo(i, 0);
|
|
113
|
+
ctx.lineTo(i, canvas.height);
|
|
114
|
+
ctx.stroke();
|
|
115
|
+
}
|
|
116
|
+
for (let i = 0; i < canvas.height; i += 50) {
|
|
117
|
+
ctx.beginPath();
|
|
118
|
+
ctx.moveTo(0, i);
|
|
119
|
+
ctx.lineTo(canvas.width, i);
|
|
120
|
+
ctx.stroke();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
this.particles.forEach(p => {
|
|
124
|
+
p.x += p.dx;
|
|
125
|
+
p.y += p.dy;
|
|
126
|
+
if (p.x < 0 || p.x > canvas.width) {
|
|
127
|
+
p.dx = -p.dx * 0.95;
|
|
128
|
+
p.dy += (Math.random() - 0.5) * 0.2;
|
|
129
|
+
}
|
|
130
|
+
if (p.y < 0 || p.y > canvas.height) {
|
|
131
|
+
p.dy = -p.dy * 0.95;
|
|
132
|
+
p.dx += (Math.random() - 0.5) * 0.2;
|
|
133
|
+
}
|
|
134
|
+
if (Math.random() < 0.98) {
|
|
135
|
+
ctx.shadowBlur = 10;
|
|
136
|
+
ctx.shadowColor = p.color;
|
|
137
|
+
ctx.fillStyle = p.color;
|
|
138
|
+
ctx.beginPath();
|
|
139
|
+
ctx.arc(p.x + (p.glitchOffset || 0), p.y, p.size, 0, Math.PI * 2);
|
|
140
|
+
ctx.fill();
|
|
141
|
+
ctx.shadowBlur = 0;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
for (let i = 0; i < this.particles.length; i++) {
|
|
145
|
+
for (let j = i + 1; j < this.particles.length; j++) {
|
|
146
|
+
const dx = this.particles[i].x - this.particles[j].x;
|
|
147
|
+
const dy = this.particles[i].y - this.particles[j].y;
|
|
148
|
+
const d = Math.sqrt(dx * dx + dy * dy);
|
|
149
|
+
if (d < 100) {
|
|
150
|
+
const alpha = (1 - d / 100) * 0.3;
|
|
151
|
+
ctx.beginPath();
|
|
152
|
+
ctx.strokeStyle = `hsla(${this.hue}, 100%, 70%, ${alpha})`;
|
|
153
|
+
ctx.lineWidth = 1;
|
|
154
|
+
ctx.moveTo(this.particles[i].x, this.particles[i].y);
|
|
155
|
+
ctx.lineTo(this.particles[j].x, this.particles[j].y);
|
|
156
|
+
ctx.stroke();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
this.drawText(ctx, canvas);
|
|
161
|
+
this.hue = 180 + Math.sin(this.frame * 0.01) * 30;
|
|
162
|
+
requestAnimationFrame(this.animate);
|
|
163
|
+
};
|
|
164
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: BackgroundTemplate, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
165
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.5", type: BackgroundTemplate, isStandalone: true, selector: "app-background-template", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
166
166
|
<canvas #canvas
|
|
167
167
|
[width]="window.innerWidth"
|
|
168
168
|
[height]="window.innerHeight"
|
|
@@ -173,7 +173,7 @@ class BackgroundTemplate {
|
|
|
173
173
|
}
|
|
174
174
|
<ng-content></ng-content>
|
|
175
175
|
</div>
|
|
176
|
-
`, isInline: true, styles: [":host{position:fixed;width:100%;height:100vh;color:#fff;z-index:-1}:host canvas{position:fixed;top:0;left:0;z-index:-1}:host .content{position:relative;z-index:1;padding:2rem}:host .title{font-size:2rem;margin-bottom:1rem;font-family:Courier New,monospace;text-shadow:0 0 10px rgba(0,255,255,.5)}\n"] });
|
|
176
|
+
`, isInline: true, styles: [":host{position:fixed;width:100%;height:100vh;color:#fff;z-index:-1}:host canvas{position:fixed;top:0;left:0;z-index:-1}:host .content{position:relative;z-index:1;padding:2rem}:host .title{font-size:2rem;margin-bottom:1rem;font-family:Courier New,monospace;text-shadow:0 0 10px rgba(0,255,255,.5)}\n"] });
|
|
177
177
|
}
|
|
178
178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: BackgroundTemplate, decorators: [{
|
|
179
179
|
type: Component,
|
|
@@ -192,63 +192,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImpor
|
|
|
192
192
|
}], ctorParameters: () => [] });
|
|
193
193
|
|
|
194
194
|
class MachinaBackgroundTemplate {
|
|
195
|
+
canvas = signal(null);
|
|
196
|
+
ctx = signal(null);
|
|
197
|
+
particles = [];
|
|
198
|
+
window = window;
|
|
199
|
+
hue = 0;
|
|
195
200
|
constructor() {
|
|
196
|
-
this.canvas = signal(null);
|
|
197
|
-
this.ctx = signal(null);
|
|
198
|
-
this.particles = [];
|
|
199
|
-
this.window = window;
|
|
200
|
-
this.hue = 0;
|
|
201
|
-
this.animate = () => {
|
|
202
|
-
const canvas = this.canvas()?.nativeElement;
|
|
203
|
-
const ctx = this.ctx();
|
|
204
|
-
if (!canvas || !ctx)
|
|
205
|
-
return;
|
|
206
|
-
// Clear with fade effect
|
|
207
|
-
ctx.fillStyle = 'rgba(0,0,0,0.05)';
|
|
208
|
-
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
209
|
-
// Update and draw particles
|
|
210
|
-
this.particles.forEach(p => {
|
|
211
|
-
p.x += p.dx;
|
|
212
|
-
p.y += p.dy;
|
|
213
|
-
// Bounce off walls with slight randomization
|
|
214
|
-
if (p.x < 0 || p.x > canvas.width) {
|
|
215
|
-
p.dx = -p.dx * 0.99;
|
|
216
|
-
p.dy += (Math.random() - 0.5) * 0.2;
|
|
217
|
-
}
|
|
218
|
-
if (p.y < 0 || p.y > canvas.height) {
|
|
219
|
-
p.dy = -p.dy * 0.99;
|
|
220
|
-
p.dx += (Math.random() - 0.5) * 0.2;
|
|
221
|
-
}
|
|
222
|
-
// Draw particle with glow effect
|
|
223
|
-
ctx.shadowBlur = 15;
|
|
224
|
-
ctx.shadowColor = p.color;
|
|
225
|
-
ctx.fillStyle = p.color;
|
|
226
|
-
ctx.beginPath();
|
|
227
|
-
ctx.arc(p.x, p.y, p.size, 0, Math.PI * 2);
|
|
228
|
-
ctx.fill();
|
|
229
|
-
ctx.shadowBlur = 0;
|
|
230
|
-
});
|
|
231
|
-
// Draw connections with gradient effect
|
|
232
|
-
for (let i = 0; i < this.particles.length; i++) {
|
|
233
|
-
for (let j = i + 1; j < this.particles.length; j++) {
|
|
234
|
-
const dx = this.particles[i].x - this.particles[j].x;
|
|
235
|
-
const dy = this.particles[i].y - this.particles[j].y;
|
|
236
|
-
const d = Math.sqrt(dx * dx + dy * dy);
|
|
237
|
-
if (d < 120) {
|
|
238
|
-
const alpha = (1 - d / 120) * 0.5;
|
|
239
|
-
ctx.beginPath();
|
|
240
|
-
ctx.strokeStyle = `hsla(${this.hue}, 70%, 70%, ${alpha})`;
|
|
241
|
-
ctx.lineWidth = 2 * (1 - d / 120);
|
|
242
|
-
ctx.moveTo(this.particles[i].x, this.particles[i].y);
|
|
243
|
-
ctx.lineTo(this.particles[j].x, this.particles[j].y);
|
|
244
|
-
ctx.stroke();
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
// Slowly change hue for dynamic color effect
|
|
249
|
-
this.hue = (this.hue + 0.5) % 360;
|
|
250
|
-
requestAnimationFrame(this.animate);
|
|
251
|
-
};
|
|
252
201
|
afterNextRender(() => {
|
|
253
202
|
const canvasElement = document.querySelector('canvas');
|
|
254
203
|
this.canvas.set(new ElementRef(canvasElement));
|
|
@@ -270,14 +219,65 @@ class MachinaBackgroundTemplate {
|
|
|
270
219
|
color: `hsl(${Math.random() * 360}, 50%, 50%)`
|
|
271
220
|
}));
|
|
272
221
|
}
|
|
273
|
-
|
|
274
|
-
|
|
222
|
+
animate = () => {
|
|
223
|
+
const canvas = this.canvas()?.nativeElement;
|
|
224
|
+
const ctx = this.ctx();
|
|
225
|
+
if (!canvas || !ctx)
|
|
226
|
+
return;
|
|
227
|
+
// Clear with fade effect
|
|
228
|
+
ctx.fillStyle = 'rgba(0,0,0,0.05)';
|
|
229
|
+
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
230
|
+
// Update and draw particles
|
|
231
|
+
this.particles.forEach(p => {
|
|
232
|
+
p.x += p.dx;
|
|
233
|
+
p.y += p.dy;
|
|
234
|
+
// Bounce off walls with slight randomization
|
|
235
|
+
if (p.x < 0 || p.x > canvas.width) {
|
|
236
|
+
p.dx = -p.dx * 0.99;
|
|
237
|
+
p.dy += (Math.random() - 0.5) * 0.2;
|
|
238
|
+
}
|
|
239
|
+
if (p.y < 0 || p.y > canvas.height) {
|
|
240
|
+
p.dy = -p.dy * 0.99;
|
|
241
|
+
p.dx += (Math.random() - 0.5) * 0.2;
|
|
242
|
+
}
|
|
243
|
+
// Draw particle with glow effect
|
|
244
|
+
ctx.shadowBlur = 15;
|
|
245
|
+
ctx.shadowColor = p.color;
|
|
246
|
+
ctx.fillStyle = p.color;
|
|
247
|
+
ctx.beginPath();
|
|
248
|
+
ctx.arc(p.x, p.y, p.size, 0, Math.PI * 2);
|
|
249
|
+
ctx.fill();
|
|
250
|
+
ctx.shadowBlur = 0;
|
|
251
|
+
});
|
|
252
|
+
// Draw connections with gradient effect
|
|
253
|
+
for (let i = 0; i < this.particles.length; i++) {
|
|
254
|
+
for (let j = i + 1; j < this.particles.length; j++) {
|
|
255
|
+
const dx = this.particles[i].x - this.particles[j].x;
|
|
256
|
+
const dy = this.particles[i].y - this.particles[j].y;
|
|
257
|
+
const d = Math.sqrt(dx * dx + dy * dy);
|
|
258
|
+
if (d < 120) {
|
|
259
|
+
const alpha = (1 - d / 120) * 0.5;
|
|
260
|
+
ctx.beginPath();
|
|
261
|
+
ctx.strokeStyle = `hsla(${this.hue}, 70%, 70%, ${alpha})`;
|
|
262
|
+
ctx.lineWidth = 2 * (1 - d / 120);
|
|
263
|
+
ctx.moveTo(this.particles[i].x, this.particles[i].y);
|
|
264
|
+
ctx.lineTo(this.particles[j].x, this.particles[j].y);
|
|
265
|
+
ctx.stroke();
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
// Slowly change hue for dynamic color effect
|
|
270
|
+
this.hue = (this.hue + 0.5) % 360;
|
|
271
|
+
requestAnimationFrame(this.animate);
|
|
272
|
+
};
|
|
273
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: MachinaBackgroundTemplate, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
274
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.5", type: MachinaBackgroundTemplate, isStandalone: true, selector: "machina-templates-background", ngImport: i0, template: `
|
|
275
275
|
<canvas #canvas
|
|
276
276
|
[width]="window.innerWidth"
|
|
277
277
|
[height]="window.innerHeight"
|
|
278
278
|
style="position: fixed; top: 0; left: 0; z-index: -1;">
|
|
279
279
|
</canvas>
|
|
280
|
-
`, isInline: true });
|
|
280
|
+
`, isInline: true });
|
|
281
281
|
}
|
|
282
282
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: MachinaBackgroundTemplate, decorators: [{
|
|
283
283
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-components-templates-background.mjs","sources":["../tmp-esm2022/templates/background/lain-background.template.js","../tmp-esm2022/templates/background/background.template.js","../tmp-esm2022/templates/background/index.js","../tmp-esm2022/templates/background/xxmachina-components-templates-background.js"],"sourcesContent":["import { Component, input, ElementRef, afterNextRender, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BackgroundTemplate {\n constructor() {\n this.title = input('');\n this.canvas = signal(null);\n this.ctx = signal(null);\n this.particles = [];\n this.window = window;\n this.hue = 180;\n this.frame = 0;\n this.messages = [\n '(x_x) PROTOCOL.7 (x_x)',\n '[MACHINA:01] INITIALIZING...',\n '(>_<) SYSTEM OVERLOAD (>_<)',\n '▓▓▒▒░░W I R E D░░▒▒▓▓',\n '【=◈︿◈=】LAYER:13【=◈︿◈=】',\n '[▀▄▀▄▀▄] NAV¡GATOR [▄▀▄▀▄▀]',\n '(╥﹏╥) ERROR_404 (╥﹏╥)',\n `\n ╔═══════════════╗\n ║ PRESENT TIME. ║\n ╚═══════════════╝\n `,\n `\n /\\\\_/\\\\ PROTOCOL\n ((@v@)) BREACH\n ()::() DETECTED\n VV-VV\n `,\n '▌│█║▌║▌║ CONNECTING... ║▌║▌║█│▌'\n ];\n this.currentMessage = 0;\n this.animate = () => {\n const canvas = this.canvas()?.nativeElement;\n const ctx = this.ctx();\n if (!canvas || !ctx)\n return;\n this.frame++;\n ctx.fillStyle = 'rgba(0,0,0,0.1)';\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n if (this.frame % 30 === 0) {\n ctx.strokeStyle = 'rgba(0, 255, 255, 0.1)';\n ctx.lineWidth = 0.5;\n for (let i = 0; i < canvas.width; i += 50) {\n ctx.beginPath();\n ctx.moveTo(i, 0);\n ctx.lineTo(i, canvas.height);\n ctx.stroke();\n }\n for (let i = 0; i < canvas.height; i += 50) {\n ctx.beginPath();\n ctx.moveTo(0, i);\n ctx.lineTo(canvas.width, i);\n ctx.stroke();\n }\n }\n this.particles.forEach(p => {\n p.x += p.dx;\n p.y += p.dy;\n if (p.x < 0 || p.x > canvas.width) {\n p.dx = -p.dx * 0.95;\n p.dy += (Math.random() - 0.5) * 0.2;\n }\n if (p.y < 0 || p.y > canvas.height) {\n p.dy = -p.dy * 0.95;\n p.dx += (Math.random() - 0.5) * 0.2;\n }\n if (Math.random() < 0.98) {\n ctx.shadowBlur = 10;\n ctx.shadowColor = p.color;\n ctx.fillStyle = p.color;\n ctx.beginPath();\n ctx.arc(p.x + (p.glitchOffset || 0), p.y, p.size, 0, Math.PI * 2);\n ctx.fill();\n ctx.shadowBlur = 0;\n }\n });\n for (let i = 0; i < this.particles.length; i++) {\n for (let j = i + 1; j < this.particles.length; j++) {\n const dx = this.particles[i].x - this.particles[j].x;\n const dy = this.particles[i].y - this.particles[j].y;\n const d = Math.sqrt(dx * dx + dy * dy);\n if (d < 100) {\n const alpha = (1 - d / 100) * 0.3;\n ctx.beginPath();\n ctx.strokeStyle = `hsla(${this.hue}, 100%, 70%, ${alpha})`;\n ctx.lineWidth = 1;\n ctx.moveTo(this.particles[i].x, this.particles[i].y);\n ctx.lineTo(this.particles[j].x, this.particles[j].y);\n ctx.stroke();\n }\n }\n }\n this.drawText(ctx, canvas);\n this.hue = 180 + Math.sin(this.frame * 0.01) * 30;\n requestAnimationFrame(this.animate);\n };\n afterNextRender(() => {\n const canvasElement = document.querySelector('canvas');\n this.canvas.set(new ElementRef(canvasElement));\n this.ctx.set(canvasElement.getContext('2d'));\n this.initializeParticles();\n this.animate();\n setInterval(() => this.glitchEffect(), 5000);\n });\n }\n initializeParticles() {\n const canvas = this.canvas()?.nativeElement;\n if (!canvas)\n return;\n this.particles = Array.from({ length: 200 }, () => ({\n x: Math.random() * canvas.width,\n y: Math.random() * canvas.height,\n dx: (Math.random() - 0.5) * 1,\n dy: (Math.random() - 0.5) * 1,\n size: Math.random() * 1.5 + 0.5,\n color: `hsl(${180 + Math.random() * 60}, ${70 + Math.random() * 30}%, ${40 + Math.random() * 60}%)`,\n glitchOffset: Math.random() * 5\n }));\n }\n glitchEffect() {\n const canvas = this.canvas()?.nativeElement;\n if (!canvas)\n return;\n this.particles.forEach(p => {\n if (Math.random() < 0.3) {\n p.x = Math.random() * canvas.width;\n p.y = Math.random() * canvas.height;\n p.glitchOffset = Math.random() * 10;\n }\n });\n this.currentMessage = (this.currentMessage + 1) % this.messages.length;\n }\n drawText(ctx, canvas) {\n const message = this.messages[this.currentMessage];\n ctx.font = '16px \"Courier New\", monospace';\n ctx.textAlign = 'left';\n ctx.textBaseline = 'top';\n const glitchAmount = Math.random() * 5;\n // メインテキスト\n ctx.fillStyle = 'rgba(0, 255, 255, 0.8)';\n const lines = message.split('\\n');\n lines.forEach((line, index) => {\n ctx.fillText(line, 20 + glitchAmount, 20 + (index * 20));\n });\n // グリッチエフェクト\n if (Math.random() < 0.3) {\n ctx.fillStyle = 'rgba(255, 0, 255, 0.5)';\n lines.forEach((line, index) => {\n ctx.fillText(line, 20 - glitchAmount, 20 + (index * 20));\n });\n }\n // 座標表示\n ctx.font = '12px \"Courier New\", monospace';\n ctx.fillStyle = 'rgba(0, 255, 255, 0.4)';\n ctx.fillText(`[X]: ${Math.floor(Math.random() * 1000)}`, canvas.width - 120, 20);\n ctx.fillText(`[Y]: ${Math.floor(Math.random() * 1000)}`, canvas.width - 120, 40);\n ctx.fillText(`(>_<) SYNC: ${Math.floor(Math.random() * 100)}%`, canvas.width - 160, 60);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: BackgroundTemplate, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: BackgroundTemplate, isStandalone: true, selector: \"app-background-template\", inputs: { title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `\n <canvas #canvas \n [width]=\"window.innerWidth\" \n [height]=\"window.innerHeight\"\n ></canvas>\n <div class=\"content\">\n @if (title()) {\n <h1 class=\"title\">{{ title() }}</h1>\n }\n <ng-content></ng-content>\n </div>\n `, isInline: true, styles: [\":host{position:fixed;width:100%;height:100vh;color:#fff;z-index:-1}:host canvas{position:fixed;top:0;left:0;z-index:-1}:host .content{position:relative;z-index:1;padding:2rem}:host .title{font-size:2rem;margin-bottom:1rem;font-family:Courier New,monospace;text-shadow:0 0 10px rgba(0,255,255,.5)}\\n\"] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: BackgroundTemplate, decorators: [{\n type: Component,\n args: [{ selector: 'app-background-template', standalone: true, template: `\n <canvas #canvas \n [width]=\"window.innerWidth\" \n [height]=\"window.innerHeight\"\n ></canvas>\n <div class=\"content\">\n @if (title()) {\n <h1 class=\"title\">{{ title() }}</h1>\n }\n <ng-content></ng-content>\n </div>\n `, styles: [\":host{position:fixed;width:100%;height:100vh;color:#fff;z-index:-1}:host canvas{position:fixed;top:0;left:0;z-index:-1}:host .content{position:relative;z-index:1;padding:2rem}:host .title{font-size:2rem;margin-bottom:1rem;font-family:Courier New,monospace;text-shadow:0 0 10px rgba(0,255,255,.5)}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFpbi1iYWNrZ3JvdW5kLnRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvdGVtcGxhdGVzL2JhY2tncm91bmQvbGFpbi1iYWNrZ3JvdW5kLnRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXdEdEYsTUFBTSxPQUFPLGtCQUFrQjtJQStCN0I7UUE5QkEsVUFBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNsQixXQUFNLEdBQUcsTUFBTSxDQUF1QyxJQUFJLENBQUMsQ0FBQztRQUM1RCxRQUFHLEdBQUcsTUFBTSxDQUFrQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxjQUFTLEdBQWUsRUFBRSxDQUFDO1FBQ3pCLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDbEIsUUFBRyxHQUFHLEdBQUcsQ0FBQztRQUNWLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixhQUFRLEdBQUc7WUFDakIsd0JBQXdCO1lBQ3hCLDhCQUE4QjtZQUM5Qiw2QkFBNkI7WUFDN0IsdUJBQXVCO1lBQ3ZCLHdCQUF3QjtZQUN4Qiw2QkFBNkI7WUFDN0IsdUJBQXVCO1lBQ3ZCOzs7O0tBSUM7WUFDRDs7Ozs7S0FLQztZQUNELGlDQUFpQztTQUNsQyxDQUFDO1FBQ00sbUJBQWMsR0FBRyxDQUFDLENBQUM7UUE0RW5CLFlBQU8sR0FBRyxHQUFHLEVBQUU7WUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLGFBQWEsQ0FBQztZQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEdBQUc7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LGtCQUFrQix1TkF6Q25COzs7Ozs7Ozs7OztHQVdUOzsyRkE4QlUsa0JBQWtCO2tCQTVDOUIsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxZQUNOOzs7Ozs7Ozs7OztHQVdUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgRWxlbWVudFJlZiwgYWZ0ZXJOZXh0UmVuZGVyLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW50ZXJmYWNlIFBhcnRpY2xlIHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIGR4OiBudW1iZXI7XG4gIGR5OiBudW1iZXI7XG4gIHNpemU6IG51bWJlcjtcbiAgY29sb3I6IHN0cmluZztcbiAgZ2xpdGNoT2Zmc2V0PzogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYmFja2dyb3VuZC10ZW1wbGF0ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGNhbnZhcyAjY2FudmFzIFxuICAgICAgW3dpZHRoXT1cIndpbmRvdy5pbm5lcldpZHRoXCIgXG4gICAgICBbaGVpZ2h0XT1cIndpbmRvdy5pbm5lckhlaWdodFwiXG4gICAgPjwvY2FudmFzPlxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICBAaWYgKHRpdGxlKCkpIHtcbiAgICAgICAgPGgxIGNsYXNzPVwidGl0bGVcIj57eyB0aXRsZSgpIH19PC9oMT5cbiAgICAgIH1cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBgXG4gICAgOmhvc3Qge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgY2FudmFzIHtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgfVxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAyNTUsIDI1NSwgMC41KTtcbiAgICAgICAgfVxuICAgIH1cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBCYWNrZ3JvdW5kVGVtcGxhdGUge1xuICB0aXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBwcml2YXRlIGNhbnZhcyA9IHNpZ25hbDxFbGVtZW50UmVmPEhUTUxDYW52YXNFbGVtZW50PiB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIGN0eCA9IHNpZ25hbDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSBwYXJ0aWNsZXM6IFBhcnRpY2xlW10gPSBbXTtcbiAgcHJvdGVjdGVkIHdpbmRvdyA9IHdpbmRvdztcbiAgcHJpdmF0ZSBodWUgPSAxODA7XG4gIHByaXZhdGUgZnJhbWUgPSAwO1xuICBwcml2YXRlIG1lc3NhZ2VzID0gW1xuICAgICcoeF94KSBQUk9UT0NPTC43ICh4X3gpJyxcbiAgICAnW01BQ0hJTkE6MDFdIElOSVRJQUxJWklORy4uLicsXG4gICAgJyg+XzwpIFNZU1RFTSBPVkVSTE9BRCAoPl88KScsXG4gICAgJ+KWk+KWk+KWkuKWkuKWkeKWkVcgSSBSIEUgROKWkeKWkeKWkuKWkuKWk+KWkycsXG4gICAgJ+OAkD3il4jvuL/il4g944CRTEFZRVI6MTPjgJA94peI77i/4peIPeOAkScsXG4gICAgJ1viloDiloTiloDiloTiloDiloRdIE5BVsKhR0FUT1IgW+KWhOKWgOKWhOKWgOKWhOKWgF0nLFxuICAgICco4pWl77mP4pWlKSBFUlJPUl80MDQgKOKVpe+5j+KVpSknLFxuICAgIGBcbiAgICAg4pWU4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWXXG4gICAgIOKVkSBQUkVTRU5UIFRJTUUuIOKVkVxuICAgICDilZrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZ1cbiAgICBgLFxuICAgIGBcbiAgICAgL1xcXFxfL1xcXFwgIFBST1RPQ09MXG4gICAgKChAdkApKSAgIEJSRUFDSFxuICAgICAoKTo6KCkgIERFVEVDVEVEXG4gICAgIFZWLVZWXG4gICAgYCxcbiAgICAn4paM4pSC4paI4pWR4paM4pWR4paM4pWRIENPTk5FQ1RJTkcuLi4g4pWR4paM4pWR4paM4pWR4paI4pSC4paMJ1xuICBdO1xuICBwcml2YXRlIGN1cnJlbnRNZXNzYWdlID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgY29uc3QgY2FudmFzRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2NhbnZhcycpIGFzIEhUTUxDYW52YXNFbGVtZW50O1xuICAgICAgdGhpcy5jYW52YXMuc2V0KG5ldyBFbGVtZW50UmVmKGNhbnZhc0VsZW1lbnQpKTtcbiAgICAgIHRoaXMuY3R4LnNldChjYW52YXNFbGVtZW50LmdldENvbnRleHQoJzJkJykpO1xuICAgICAgXG4gICAgICB0aGlzLmluaXRpYWxpemVQYXJ0aWNsZXMoKTtcbiAgICAgIHRoaXMuYW5pbWF0ZSgpO1xuXG4gICAgICBzZXRJbnRlcnZhbCgoKSA9PiB0aGlzLmdsaXRjaEVmZmVjdCgpLCA1MDAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVBhcnRpY2xlcygpIHtcbiAgICBjb25zdCBjYW52YXMgPSB0aGlzLmNhbnZhcygpPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmICghY2FudmFzKSByZXR1cm47XG5cbiAgICB0aGlzLnBhcnRpY2xlcyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDIwMCB9LCAoKSA9PiAoe1xuICAgICAgeDogTWF0aC5yYW5kb20oKSAqIGNhbnZhcy53aWR0aCxcbiAgICAgIHk6IE1hdGgucmFuZG9tKCkgKiBjYW52YXMuaGVpZ2h0LFxuICAgICAgZHg6IChNYXRoLnJhbmRvbSgpIC0gMC41KSAqIDEsXG4gICAgICBkeTogKE1hdGgucmFuZG9tKCkgLSAwLjUpICogMSxcbiAgICAgIHNpemU6IE1hdGgucmFuZG9tKCkgKiAxLjUgKyAwLjUsXG4gICAgICBjb2xvcjogYGhzbCgkezE4MCArIE1hdGgucmFuZG9tKCkgKiA2MH0sICR7NzAgKyBNYXRoLnJhbmRvbSgpICogMzB9JSwgJHs0MCArIE1hdGgucmFuZG9tKCkgKiA2MH0lKWAsXG4gICAgICBnbGl0Y2hPZmZzZXQ6IE1hdGgucmFuZG9tKCkgKiA1XG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnbGl0Y2hFZmZlY3QoKSB7XG4gICAgY29uc3QgY2FudmFzID0gdGhpcy5jYW52YXMoKT8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIWNhbnZhcykgcmV0dXJuO1xuXG4gICAgdGhpcy5wYXJ0aWNsZXMuZm9yRWFjaChwID0+IHtcbiAgICAgIGlmIChNYXRoLnJhbmRvbSgpIDwgMC4zKSB7XG4gICAgICAgIHAueCA9IE1hdGgucmFuZG9tKCkgKiBjYW52YXMud2lkdGg7XG4gICAgICAgIHAueSA9IE1hdGgucmFuZG9tKCkgKiBjYW52YXMuaGVpZ2h0O1xuICAgICAgICBwLmdsaXRjaE9mZnNldCA9IE1hdGgucmFuZG9tKCkgKiAxMDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuY3VycmVudE1lc3NhZ2UgPSAodGhpcy5jdXJyZW50TWVzc2FnZSArIDEpICUgdGhpcy5tZXNzYWdlcy5sZW5ndGg7XG4gIH1cblxuICBwcml2YXRlIGRyYXdUZXh0KGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELCBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50KSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMubWVzc2FnZXNbdGhpcy5jdXJyZW50TWVzc2FnZV07XG4gICAgY3R4LmZvbnQgPSAnMTZweCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSc7XG4gICAgY3R4LnRleHRBbGlnbiA9ICdsZWZ0JztcbiAgICBjdHgudGV4dEJhc2VsaW5lID0gJ3RvcCc7XG4gICAgXG4gICAgY29uc3QgZ2xpdGNoQW1vdW50ID0gTWF0aC5yYW5kb20oKSAqIDU7XG4gICAgXG4gICAgLy8g44Oh44Kk44Oz44OG44Kt44K544OIXG4gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjgpJztcbiAgICBjb25zdCBsaW5lcyA9IG1lc3NhZ2Uuc3BsaXQoJ1xcbicpO1xuICAgIGxpbmVzLmZvckVhY2goKGxpbmUsIGluZGV4KSA9PiB7XG4gICAgICBjdHguZmlsbFRleHQobGluZSwgMjAgKyBnbGl0Y2hBbW91bnQsIDIwICsgKGluZGV4ICogMjApKTtcbiAgICB9KTtcbiAgICBcbiAgICAvLyDjgrDjg6rjg4Pjg4Hjgqjjg5Xjgqfjgq/jg4hcbiAgICBpZiAoTWF0aC5yYW5kb20oKSA8IDAuMykge1xuICAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwgMCwgMjU1LCAwLjUpJztcbiAgICAgIGxpbmVzLmZvckVhY2goKGxpbmUsIGluZGV4KSA9PiB7XG4gICAgICAgIGN0eC5maWxsVGV4dChsaW5lLCAyMCAtIGdsaXRjaEFtb3VudCwgMjAgKyAoaW5kZXggKiAyMCkpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8g5bqn5qiZ6KGo56S6XG4gICAgY3R4LmZvbnQgPSAnMTJweCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSc7XG4gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMjU1LCAwLjQpJztcbiAgICBjdHguZmlsbFRleHQoYFtYXTogJHtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwKX1gLCBjYW52YXMud2lkdGggLSAxMjAsIDIwKTtcbiAgICBjdHguZmlsbFRleHQoYFtZXTogJHtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwKX1gLCBjYW52YXMud2lkdGggLSAxMjAsIDQwKTtcbiAgICBjdHguZmlsbFRleHQoYCg+XzwpIFNZTkM6ICR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwKX0lYCwgY2FudmFzLndpZHRoIC0gMTYwLCA2MCk7XG4gIH1cblxuICBwcml2YXRlIGFuaW1hdGUgPSAoKSA9PiB7XG4gICAgY29uc3QgY2FudmFzID0gdGhpcy5jYW52YXMoKT8ubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBjdHggPSB0aGlzLmN0eCgpO1xuICAgIGlmICghY2FudmFzIHx8ICFjdHgpIHJldHVybjtcbiAgICBcbiAgICB0aGlzLmZyYW1lKys7XG4gICAgXG4gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsMCwwLDAuMSknO1xuICAgIGN0eC5maWxsUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpO1xuXG4gICAgaWYgKHRoaXMuZnJhbWUgJSAzMCA9PT0gMCkge1xuICAgICAgY3R4LnN0cm9rZVN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuMSknO1xuICAgICAgY3R4LmxpbmVXaWR0aCA9IDAuNTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2FudmFzLndpZHRoOyBpICs9IDUwKSB7XG4gICAgICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICAgICAgY3R4Lm1vdmVUbyhpLCAwKTtcbiAgICAgICAgY3R4LmxpbmVUbyhpLCBjYW52YXMuaGVpZ2h0KTtcbiAgICAgICAgY3R4LnN0cm9rZSgpO1xuICAgICAgfVxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYW52YXMuaGVpZ2h0OyBpICs9IDUwKSB7XG4gICAgICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICAgICAgY3R4Lm1vdmVUbygwLCBpKTtcbiAgICAgICAgY3R4LmxpbmVUbyhjYW52YXMud2lkdGgsIGkpO1xuICAgICAgICBjdHguc3Ryb2tlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5wYXJ0aWNsZXMuZm9yRWFjaChwID0+IHtcbiAgICAgIHAueCArPSBwLmR4O1xuICAgICAgcC55ICs9IHAuZHk7XG5cbiAgICAgIGlmIChwLnggPCAwIHx8IHAueCA+IGNhbnZhcy53aWR0aCkge1xuICAgICAgICBwLmR4ID0gLXAuZHggKiAwLjk1O1xuICAgICAgICBwLmR5ICs9IChNYXRoLnJhbmRvbSgpIC0gMC41KSAqIDAuMjtcbiAgICAgIH1cbiAgICAgIGlmIChwLnkgPCAwIHx8IHAueSA+IGNhbnZhcy5oZWlnaHQpIHtcbiAgICAgICAgcC5keSA9IC1wLmR5ICogMC45NTtcbiAgICAgICAgcC5keCArPSAoTWF0aC5yYW5kb20oKSAtIDAuNSkgKiAwLjI7XG4gICAgICB9XG5cbiAgICAgIGlmIChNYXRoLnJhbmRvbSgpIDwgMC45OCkge1xuICAgICAgICBjdHguc2hhZG93Qmx1ciA9IDEwO1xuICAgICAgICBjdHguc2hhZG93Q29sb3IgPSBwLmNvbG9yO1xuICAgICAgICBjdHguZmlsbFN0eWxlID0gcC5jb2xvcjtcbiAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICBjdHguYXJjKHAueCArIChwLmdsaXRjaE9mZnNldCB8fCAwKSwgcC55LCBwLnNpemUsIDAsIE1hdGguUEkgKiAyKTtcbiAgICAgICAgY3R4LmZpbGwoKTtcbiAgICAgICAgY3R4LnNoYWRvd0JsdXIgPSAwO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnBhcnRpY2xlcy5sZW5ndGg7IGkrKykge1xuICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgdGhpcy5wYXJ0aWNsZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgY29uc3QgZHggPSB0aGlzLnBhcnRpY2xlc1tpXS54IC0gdGhpcy5wYXJ0aWNsZXNbal0ueDtcbiAgICAgICAgY29uc3QgZHkgPSB0aGlzLnBhcnRpY2xlc1tpXS55IC0gdGhpcy5wYXJ0aWNsZXNbal0ueTtcbiAgICAgICAgY29uc3QgZCA9IE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7XG4gICAgICAgIFxuICAgICAgICBpZiAoZCA8IDEwMCkge1xuICAgICAgICAgIGNvbnN0IGFscGhhID0gKDEgLSBkLzEwMCkgKiAwLjM7XG4gICAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICAgIGN0eC5zdHJva2VTdHlsZSA9IGBoc2xhKCR7dGhpcy5odWV9LCAxMDAlLCA3MCUsICR7YWxwaGF9KWA7XG4gICAgICAgICAgY3R4LmxpbmVXaWR0aCA9IDE7XG4gICAgICAgICAgY3R4Lm1vdmVUbyh0aGlzLnBhcnRpY2xlc1tpXS54LCB0aGlzLnBhcnRpY2xlc1tpXS55KTtcbiAgICAgICAgICBjdHgubGluZVRvKHRoaXMucGFydGljbGVzW2pdLngsIHRoaXMucGFydGljbGVzW2pdLnkpO1xuICAgICAgICAgIGN0eC5zdHJva2UoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZHJhd1RleHQoY3R4LCBjYW52YXMpO1xuXG4gICAgdGhpcy5odWUgPSAxODAgKyBNYXRoLnNpbih0aGlzLmZyYW1lICogMC4wMSkgKiAzMDtcblxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLmFuaW1hdGUpO1xuICB9XG59XG4iXX0=","import { Component, ElementRef, afterNextRender, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class MachinaBackgroundTemplate {\n constructor() {\n this.canvas = signal(null);\n this.ctx = signal(null);\n this.particles = [];\n this.window = window;\n this.hue = 0;\n this.animate = () => {\n const canvas = this.canvas()?.nativeElement;\n const ctx = this.ctx();\n if (!canvas || !ctx)\n return;\n // Clear with fade effect\n ctx.fillStyle = 'rgba(0,0,0,0.05)';\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n // Update and draw particles\n this.particles.forEach(p => {\n p.x += p.dx;\n p.y += p.dy;\n // Bounce off walls with slight randomization\n if (p.x < 0 || p.x > canvas.width) {\n p.dx = -p.dx * 0.99;\n p.dy += (Math.random() - 0.5) * 0.2;\n }\n if (p.y < 0 || p.y > canvas.height) {\n p.dy = -p.dy * 0.99;\n p.dx += (Math.random() - 0.5) * 0.2;\n }\n // Draw particle with glow effect\n ctx.shadowBlur = 15;\n ctx.shadowColor = p.color;\n ctx.fillStyle = p.color;\n ctx.beginPath();\n ctx.arc(p.x, p.y, p.size, 0, Math.PI * 2);\n ctx.fill();\n ctx.shadowBlur = 0;\n });\n // Draw connections with gradient effect\n for (let i = 0; i < this.particles.length; i++) {\n for (let j = i + 1; j < this.particles.length; j++) {\n const dx = this.particles[i].x - this.particles[j].x;\n const dy = this.particles[i].y - this.particles[j].y;\n const d = Math.sqrt(dx * dx + dy * dy);\n if (d < 120) {\n const alpha = (1 - d / 120) * 0.5;\n ctx.beginPath();\n ctx.strokeStyle = `hsla(${this.hue}, 70%, 70%, ${alpha})`;\n ctx.lineWidth = 2 * (1 - d / 120);\n ctx.moveTo(this.particles[i].x, this.particles[i].y);\n ctx.lineTo(this.particles[j].x, this.particles[j].y);\n ctx.stroke();\n }\n }\n }\n // Slowly change hue for dynamic color effect\n this.hue = (this.hue + 0.5) % 360;\n requestAnimationFrame(this.animate);\n };\n afterNextRender(() => {\n const canvasElement = document.querySelector('canvas');\n this.canvas.set(new ElementRef(canvasElement));\n this.ctx.set(canvasElement.getContext('2d'));\n this.initializeParticles();\n this.animate();\n });\n }\n initializeParticles() {\n const canvas = this.canvas()?.nativeElement;\n if (!canvas)\n return;\n this.particles = Array.from({ length: 150 }, () => ({\n x: Math.random() * canvas.width,\n y: Math.random() * canvas.height,\n dx: (Math.random() - 0.5) * 1.5,\n dy: (Math.random() - 0.5) * 1.5,\n size: Math.random() * 2 + 1,\n color: `hsl(${Math.random() * 360}, 50%, 50%)`\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: MachinaBackgroundTemplate, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: MachinaBackgroundTemplate, isStandalone: true, selector: \"machina-templates-background\", ngImport: i0, template: `\n <canvas #canvas \n [width]=\"window.innerWidth\" \n [height]=\"window.innerHeight\"\n style=\"position: fixed; top: 0; left: 0; z-index: -1;\">\n </canvas>\n `, isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: MachinaBackgroundTemplate, decorators: [{\n type: Component,\n args: [{\n selector: 'machina-templates-background',\n standalone: true,\n template: `\n <canvas #canvas \n [width]=\"window.innerWidth\" \n [height]=\"window.innerHeight\"\n style=\"position: fixed; top: 0; left: 0; z-index: -1;\">\n </canvas>\n `\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC50ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL3RlbXBsYXRlcy9iYWNrZ3JvdW5kL2JhY2tncm91bmQudGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFzQi9FLE1BQU0sT0FBTyx5QkFBeUI7SUFPcEM7UUFOUSxXQUFNLEdBQUcsTUFBTSxDQUF1QyxJQUFJLENBQUMsQ0FBQztRQUM1RCxRQUFHLEdBQUcsTUFBTSxDQUFrQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxjQUFTLEdBQWUsRUFBRSxDQUFDO1FBQ3pCLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDbEIsUUFBRyxHQUFHLENBQUMsQ0FBQztRQTJCUixZQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFhLENBQUM7WUFDNUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFFNUIseUJBQXlCO1lBQ3pCLEdBQUcsQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUM7WUFDbkMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWhELDRCQUE0QjtZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDekIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNaLENB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QUcsRUFBRSxDQUFDLENBQUM7WUFDbEQsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSztZQUMvQixDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNO1lBQ2hDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHO1lBQy9CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHO1lBQy9CLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDM0IsS0FBSyxFQUFFLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsYUFBYTtTQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7OEdBOUJVLHlCQUF5QjtrR0FBekIseUJBQXlCLHdGQVIxQjs7Ozs7O0dBTVQ7OzJGQUVVLHlCQUF5QjtrQkFYckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7R0FNVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgYWZ0ZXJOZXh0UmVuZGVyLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW50ZXJmYWNlIFBhcnRpY2xlIHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIGR4OiBudW1iZXI7XG4gIGR5OiBudW1iZXI7XG4gIHNpemU6IG51bWJlcjtcbiAgY29sb3I6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFjaGluYS10ZW1wbGF0ZXMtYmFja2dyb3VuZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGNhbnZhcyAjY2FudmFzIFxuICAgICAgW3dpZHRoXT1cIndpbmRvdy5pbm5lcldpZHRoXCIgXG4gICAgICBbaGVpZ2h0XT1cIndpbmRvdy5pbm5lckhlaWdodFwiXG4gICAgICBzdHlsZT1cInBvc2l0aW9uOiBmaXhlZDsgdG9wOiAwOyBsZWZ0OiAwOyB6LWluZGV4OiAtMTtcIj5cbiAgICA8L2NhbnZhcz5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBNYWNoaW5hQmFja2dyb3VuZFRlbXBsYXRlIHtcbiAgcHJpdmF0ZSBjYW52YXMgPSBzaWduYWw8RWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD4gfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSBjdHggPSBzaWduYWw8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcGFydGljbGVzOiBQYXJ0aWNsZVtdID0gW107XG4gIHByb3RlY3RlZCB3aW5kb3cgPSB3aW5kb3c7XG4gIHByaXZhdGUgaHVlID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgY29uc3QgY2FudmFzRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2NhbnZhcycpIGFzIEhUTUxDYW52YXNFbGVtZW50O1xuICAgICAgdGhpcy5jYW52YXMuc2V0KG5ldyBFbGVtZW50UmVmKGNhbnZhc0VsZW1lbnQpKTtcbiAgICAgIHRoaXMuY3R4LnNldChjYW52YXNFbGVtZW50LmdldENvbnRleHQoJzJkJykpO1xuICAgICAgXG4gICAgICB0aGlzLmluaXRpYWxpemVQYXJ0aWNsZXMoKTtcbiAgICAgIHRoaXMuYW5pbWF0ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUGFydGljbGVzKCkge1xuICAgIGNvbnN0IGNhbnZhcyA9IHRoaXMuY2FudmFzKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFjYW52YXMpIHJldHVybjtcblxuICAgIHRoaXMucGFydGljbGVzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMTUwIH0sICgpID0+ICh7XG4gICAgICB4OiBNYXRoLnJhbmRvbSgpICogY2FudmFzLndpZHRoLFxuICAgICAgeTogTWF0aC5yYW5kb20oKSAqIGNhbnZhcy5oZWlnaHQsXG4gICAgICBkeDogKE1hdGgucmFuZG9tKCkgLSAwLjUpICogMS41LFxuICAgICAgZHk6IChNYXRoLnJhbmRvbSgpIC0gMC41KSAqIDEuNSxcbiAgICAgIHNpemU6IE1hdGgucmFuZG9tKCkgKiAyICsgMSxcbiAgICAgIGNvbG9yOiBgaHNsKCR7TWF0aC5yYW5kb20oKSAqIDM2MH0sIDUwJSwgNTAlKWBcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGFuaW1hdGUgPSAoKSA9PiB7XG4gICAgY29uc3QgY2FudmFzID0gdGhpcy5jYW52YXMoKT8ubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBjdHggPSB0aGlzLmN0eCgpO1xuICAgIGlmICghY2FudmFzIHx8ICFjdHgpIHJldHVybjtcbiAgICBcbiAgICAvLyBDbGVhciB3aXRoIGZhZGUgZWZmZWN0XG4gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsMCwwLDAuMDUpJztcbiAgICBjdHguZmlsbFJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcblxuICAgIC8vIFVwZGF0ZSBhbmQgZHJhdyBwYXJ0aWNsZXNcbiAgICB0aGlzLnBhcnRpY2xlcy5mb3JFYWNoKHAgPT4ge1xuICAgICAgcC54ICs9IHAuZHg7XG4gICAgICBwLnkgKz0gcC5keTtcblxuICAgICAgLy8gQm91bmNlIG9mZiB3YWxscyB3aXRoIHNsaWdodCByYW5kb21pemF0aW9uXG4gICAgICBpZiAocC54IDwgMCB8fCBwLnggPiBjYW52YXMud2lkdGgpIHtcbiAgICAgICAgcC5keCA9IC1wLmR4ICogMC45OTtcbiAgICAgICAgcC5keSArPSAoTWF0aC5yYW5kb20oKSAtIDAuNSkgKiAwLjI7XG4gICAgICB9XG4gICAgICBpZiAocC55IDwgMCB8fCBwLnkgPiBjYW52YXMuaGVpZ2h0KSB7XG4gICAgICAgIHAuZHkgPSAtcC5keSAqIDAuOTk7XG4gICAgICAgIHAuZHggKz0gKE1hdGgucmFuZG9tKCkgLSAwLjUpICogMC4yO1xuICAgICAgfVxuXG4gICAgICAvLyBEcmF3IHBhcnRpY2xlIHdpdGggZ2xvdyBlZmZlY3RcbiAgICAgIGN0eC5zaGFkb3dCbHVyID0gMTU7XG4gICAgICBjdHguc2hhZG93Q29sb3IgPSBwLmNvbG9yO1xuICAgICAgY3R4LmZpbGxTdHlsZSA9IHAuY29sb3I7XG4gICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICBjdHguYXJjKHAueCwgcC55LCBwLnNpemUsIDAsIE1hdGguUEkgKiAyKTtcbiAgICAgIGN0eC5maWxsKCk7XG4gICAgICBjdHguc2hhZG93Qmx1ciA9IDA7XG4gICAgfSk7XG5cbiAgICAvLyBEcmF3IGNvbm5lY3Rpb25zIHdpdGggZ3JhZGllbnQgZWZmZWN0XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnBhcnRpY2xlcy5sZW5ndGg7IGkrKykge1xuICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgdGhpcy5wYXJ0aWNsZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgY29uc3QgZHggPSB0aGlzLnBhcnRpY2xlc1tpXS54IC0gdGhpcy5wYXJ0aWNsZXNbal0ueDtcbiAgICAgICAgY29uc3QgZHkgPSB0aGlzLnBhcnRpY2xlc1tpXS55IC0gdGhpcy5wYXJ0aWNsZXNbal0ueTtcbiAgICAgICAgY29uc3QgZCA9IE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7XG4gICAgICAgIFxuICAgICAgICBpZiAoZCA8IDEyMCkge1xuICAgICAgICAgIGNvbnN0IGFscGhhID0gKDEgLSBkLzEyMCkgKiAwLjU7XG4gICAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICAgIGN0eC5zdHJva2VTdHlsZSA9IGBoc2xhKCR7dGhpcy5odWV9LCA3MCUsIDcwJSwgJHthbHBoYX0pYDtcbiAgICAgICAgICBjdHgubGluZVdpZHRoID0gMiAqICgxIC0gZC8xMjApO1xuICAgICAgICAgIGN0eC5tb3ZlVG8odGhpcy5wYXJ0aWNsZXNbaV0ueCwgdGhpcy5wYXJ0aWNsZXNbaV0ueSk7XG4gICAgICAgICAgY3R4LmxpbmVUbyh0aGlzLnBhcnRpY2xlc1tqXS54LCB0aGlzLnBhcnRpY2xlc1tqXS55KTtcbiAgICAgICAgICBjdHguc3Ryb2tlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTbG93bHkgY2hhbmdlIGh1ZSBmb3IgZHluYW1pYyBjb2xvciBlZmZlY3RcbiAgICB0aGlzLmh1ZSA9ICh0aGlzLmh1ZSArIDAuNSkgJSAzNjA7XG5cbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5hbmltYXRlKTtcbiAgfVxufSJdfQ==","import { provideComponent } from '@ng-atomic/core';\nimport { BackgroundTemplate as LainBapBackgroundTemplate } from './lain-background.template';\nimport { BackgroundTemplateStore } from '@ng-atomic/components/templates/background';\nimport { MachinaBackgroundTemplate } from './background.template';\nexport * from './background.template';\nexport function provideMachinaBackgroundTemplate() {\n return provideComponent(BackgroundTemplateStore, () => MachinaBackgroundTemplate);\n}\nexport function provideLainBackgroundTemplate() {\n return provideComponent(BackgroundTemplateStore, () => LainBapBackgroundTemplate);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi90ZW1wbGF0ZXMvYmFja2dyb3VuZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLElBQUkseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLE1BQU0sVUFBVSxnQ0FBZ0M7SUFDOUMsT0FBTyxnQkFBZ0IsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3BGLENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLE9BQU8sZ0JBQWdCLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUNwRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvdmlkZUNvbXBvbmVudCB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kVGVtcGxhdGUgYXMgTGFpbkJhcEJhY2tncm91bmRUZW1wbGF0ZSB9IGZyb20gJy4vbGFpbi1iYWNrZ3JvdW5kLnRlbXBsYXRlJztcbmltcG9ydCB7IEJhY2tncm91bmRUZW1wbGF0ZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9iYWNrZ3JvdW5kJztcbmltcG9ydCB7IE1hY2hpbmFCYWNrZ3JvdW5kVGVtcGxhdGUgfSBmcm9tICcuL2JhY2tncm91bmQudGVtcGxhdGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2JhY2tncm91bmQudGVtcGxhdGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU1hY2hpbmFCYWNrZ3JvdW5kVGVtcGxhdGUoKSB7XG4gIHJldHVybiBwcm92aWRlQ29tcG9uZW50KEJhY2tncm91bmRUZW1wbGF0ZVN0b3JlLCAoKSA9PiBNYWNoaW5hQmFja2dyb3VuZFRlbXBsYXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVMYWluQmFja2dyb3VuZFRlbXBsYXRlKCkge1xuICByZXR1cm4gcHJvdmlkZUNvbXBvbmVudChCYWNrZ3JvdW5kVGVtcGxhdGVTdG9yZSwgKCkgPT4gTGFpbkJhcEJhY2tncm91bmRUZW1wbGF0ZSk7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtdGVtcGxhdGVzLWJhY2tncm91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi90ZW1wbGF0ZXMvYmFja2dyb3VuZC94eG1hY2hpbmEtY29tcG9uZW50cy10ZW1wbGF0ZXMtYmFja2dyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["LainBapBackgroundTemplate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xxmachina-components-templates-background.mjs","sources":["../tmp-esm2022/templates/background/lain-background.template.js","../tmp-esm2022/templates/background/background.template.js","../tmp-esm2022/templates/background/index.js","../tmp-esm2022/templates/background/xxmachina-components-templates-background.js"],"sourcesContent":["import { Component, input, ElementRef, afterNextRender, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BackgroundTemplate {\n title = input('');\n canvas = signal(null);\n ctx = signal(null);\n particles = [];\n window = window;\n hue = 180;\n frame = 0;\n messages = [\n '(x_x) PROTOCOL.7 (x_x)',\n '[MACHINA:01] INITIALIZING...',\n '(>_<) SYSTEM OVERLOAD (>_<)',\n '▓▓▒▒░░W I R E D░░▒▒▓▓',\n '【=◈︿◈=】LAYER:13【=◈︿◈=】',\n '[▀▄▀▄▀▄] NAV¡GATOR [▄▀▄▀▄▀]',\n '(╥﹏╥) ERROR_404 (╥﹏╥)',\n `\n ╔═══════════════╗\n ║ PRESENT TIME. ║\n ╚═══════════════╝\n `,\n `\n /\\\\_/\\\\ PROTOCOL\n ((@v@)) BREACH\n ()::() DETECTED\n VV-VV\n `,\n '▌│█║▌║▌║ CONNECTING... ║▌║▌║█│▌'\n ];\n currentMessage = 0;\n constructor() {\n afterNextRender(() => {\n const canvasElement = document.querySelector('canvas');\n this.canvas.set(new ElementRef(canvasElement));\n this.ctx.set(canvasElement.getContext('2d'));\n this.initializeParticles();\n this.animate();\n setInterval(() => this.glitchEffect(), 5000);\n });\n }\n initializeParticles() {\n const canvas = this.canvas()?.nativeElement;\n if (!canvas)\n return;\n this.particles = Array.from({ length: 200 }, () => ({\n x: Math.random() * canvas.width,\n y: Math.random() * canvas.height,\n dx: (Math.random() - 0.5) * 1,\n dy: (Math.random() - 0.5) * 1,\n size: Math.random() * 1.5 + 0.5,\n color: `hsl(${180 + Math.random() * 60}, ${70 + Math.random() * 30}%, ${40 + Math.random() * 60}%)`,\n glitchOffset: Math.random() * 5\n }));\n }\n glitchEffect() {\n const canvas = this.canvas()?.nativeElement;\n if (!canvas)\n return;\n this.particles.forEach(p => {\n if (Math.random() < 0.3) {\n p.x = Math.random() * canvas.width;\n p.y = Math.random() * canvas.height;\n p.glitchOffset = Math.random() * 10;\n }\n });\n this.currentMessage = (this.currentMessage + 1) % this.messages.length;\n }\n drawText(ctx, canvas) {\n const message = this.messages[this.currentMessage];\n ctx.font = '16px \"Courier New\", monospace';\n ctx.textAlign = 'left';\n ctx.textBaseline = 'top';\n const glitchAmount = Math.random() * 5;\n // メインテキスト\n ctx.fillStyle = 'rgba(0, 255, 255, 0.8)';\n const lines = message.split('\\n');\n lines.forEach((line, index) => {\n ctx.fillText(line, 20 + glitchAmount, 20 + (index * 20));\n });\n // グリッチエフェクト\n if (Math.random() < 0.3) {\n ctx.fillStyle = 'rgba(255, 0, 255, 0.5)';\n lines.forEach((line, index) => {\n ctx.fillText(line, 20 - glitchAmount, 20 + (index * 20));\n });\n }\n // 座標表示\n ctx.font = '12px \"Courier New\", monospace';\n ctx.fillStyle = 'rgba(0, 255, 255, 0.4)';\n ctx.fillText(`[X]: ${Math.floor(Math.random() * 1000)}`, canvas.width - 120, 20);\n ctx.fillText(`[Y]: ${Math.floor(Math.random() * 1000)}`, canvas.width - 120, 40);\n ctx.fillText(`(>_<) SYNC: ${Math.floor(Math.random() * 100)}%`, canvas.width - 160, 60);\n }\n animate = () => {\n const canvas = this.canvas()?.nativeElement;\n const ctx = this.ctx();\n if (!canvas || !ctx)\n return;\n this.frame++;\n ctx.fillStyle = 'rgba(0,0,0,0.1)';\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n if (this.frame % 30 === 0) {\n ctx.strokeStyle = 'rgba(0, 255, 255, 0.1)';\n ctx.lineWidth = 0.5;\n for (let i = 0; i < canvas.width; i += 50) {\n ctx.beginPath();\n ctx.moveTo(i, 0);\n ctx.lineTo(i, canvas.height);\n ctx.stroke();\n }\n for (let i = 0; i < canvas.height; i += 50) {\n ctx.beginPath();\n ctx.moveTo(0, i);\n ctx.lineTo(canvas.width, i);\n ctx.stroke();\n }\n }\n this.particles.forEach(p => {\n p.x += p.dx;\n p.y += p.dy;\n if (p.x < 0 || p.x > canvas.width) {\n p.dx = -p.dx * 0.95;\n p.dy += (Math.random() - 0.5) * 0.2;\n }\n if (p.y < 0 || p.y > canvas.height) {\n p.dy = -p.dy * 0.95;\n p.dx += (Math.random() - 0.5) * 0.2;\n }\n if (Math.random() < 0.98) {\n ctx.shadowBlur = 10;\n ctx.shadowColor = p.color;\n ctx.fillStyle = p.color;\n ctx.beginPath();\n ctx.arc(p.x + (p.glitchOffset || 0), p.y, p.size, 0, Math.PI * 2);\n ctx.fill();\n ctx.shadowBlur = 0;\n }\n });\n for (let i = 0; i < this.particles.length; i++) {\n for (let j = i + 1; j < this.particles.length; j++) {\n const dx = this.particles[i].x - this.particles[j].x;\n const dy = this.particles[i].y - this.particles[j].y;\n const d = Math.sqrt(dx * dx + dy * dy);\n if (d < 100) {\n const alpha = (1 - d / 100) * 0.3;\n ctx.beginPath();\n ctx.strokeStyle = `hsla(${this.hue}, 100%, 70%, ${alpha})`;\n ctx.lineWidth = 1;\n ctx.moveTo(this.particles[i].x, this.particles[i].y);\n ctx.lineTo(this.particles[j].x, this.particles[j].y);\n ctx.stroke();\n }\n }\n }\n this.drawText(ctx, canvas);\n this.hue = 180 + Math.sin(this.frame * 0.01) * 30;\n requestAnimationFrame(this.animate);\n };\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: BackgroundTemplate, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: BackgroundTemplate, isStandalone: true, selector: \"app-background-template\", inputs: { title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `\n <canvas #canvas \n [width]=\"window.innerWidth\" \n [height]=\"window.innerHeight\"\n ></canvas>\n <div class=\"content\">\n @if (title()) {\n <h1 class=\"title\">{{ title() }}</h1>\n }\n <ng-content></ng-content>\n </div>\n `, isInline: true, styles: [\":host{position:fixed;width:100%;height:100vh;color:#fff;z-index:-1}:host canvas{position:fixed;top:0;left:0;z-index:-1}:host .content{position:relative;z-index:1;padding:2rem}:host .title{font-size:2rem;margin-bottom:1rem;font-family:Courier New,monospace;text-shadow:0 0 10px rgba(0,255,255,.5)}\\n\"] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: BackgroundTemplate, decorators: [{\n type: Component,\n args: [{ selector: 'app-background-template', standalone: true, template: `\n <canvas #canvas \n [width]=\"window.innerWidth\" \n [height]=\"window.innerHeight\"\n ></canvas>\n <div class=\"content\">\n @if (title()) {\n <h1 class=\"title\">{{ title() }}</h1>\n }\n <ng-content></ng-content>\n </div>\n `, styles: [\":host{position:fixed;width:100%;height:100vh;color:#fff;z-index:-1}:host canvas{position:fixed;top:0;left:0;z-index:-1}:host .content{position:relative;z-index:1;padding:2rem}:host .title{font-size:2rem;margin-bottom:1rem;font-family:Courier New,monospace;text-shadow:0 0 10px rgba(0,255,255,.5)}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFpbi1iYWNrZ3JvdW5kLnRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvdGVtcGxhdGVzL2JhY2tncm91bmQvbGFpbi1iYWNrZ3JvdW5kLnRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXdEdEYsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixLQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2xCLE1BQU0sR0FBRyxNQUFNLENBQXVDLElBQUksQ0FBQyxDQUFDO0lBQzVELEdBQUcsR0FBRyxNQUFNLENBQWtDLElBQUksQ0FBQyxDQUFDO0lBQ3BELFNBQVMsR0FBZSxFQUFFLENBQUM7SUFDekIsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUNsQixHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ1YsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLFFBQVEsR0FBRztRQUNqQix3QkFBd0I7UUFDeEIsOEJBQThCO1FBQzlCLDZCQUE2QjtRQUM3Qix1QkFBdUI7UUFDdkIsd0JBQXdCO1FBQ3hCLDZCQUE2QjtRQUM3Qix1QkFBdUI7UUFDdkI7Ozs7S0FJQztRQUNEOzs7OztLQUtDO1FBQ0QsaUNBQWlDO0tBQ2xDLENBQUM7SUFDTSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBRTNCO1FBQ0UsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUNuQixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBc0IsQ0FBQztZQUM1RSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUU3QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFZixXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsYUFBYSxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUVwQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNsRCxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxLQUFLO1lBQy9CLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU07WUFDaEMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDN0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRztZQUMvQixLQUFLLEVBQUUsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtZQUNuRyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7U0FDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsYUFBYSxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUVwQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDbkMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3RDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ3pFLENBQUM7SUFFTyxRQUFRLENBQUMsR0FBNkIsRUFBRSxNQUF5QjtRQUN2RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuRCxHQUFHLENBQUMsSUFBSSxHQUFHLCtCQUErQixDQUFDO1FBQzNDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLEdBQUcsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXpCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFdkMsVUFBVTtRQUNWLEdBQUcsQ0FBQyxTQUFTLEdBQUcsd0JBQXdCLENBQUM7UUFDekMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzVCLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxZQUFZLEVBQUUsRUFBRSxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7UUFFSCxZQUFZO1FBQ1osSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsR0FBRyxDQUFDLFNBQVMsR0FBRyx3QkFBd0IsQ0FBQztZQUN6QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUM1QixHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsWUFBWSxFQUFFLEVBQUUsR0FBRyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU87UUFDUCxHQUFHLENBQUMsSUFBSSxHQUFHLCtCQUErQixDQUFDO1FBQzNDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsd0JBQXdCLENBQUM7UUFDekMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakYsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakYsR0FBRyxDQUFDLFFBQVEsQ0FBQyxlQUFlLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVPLE9BQU8sR0FBRyxHQUFHLEVBQUU7UUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLGFBQWEsQ0FBQztRQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBRTVCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUViLEdBQUcsQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFDbEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhELElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDMUIsR0FBRyxDQUFDLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQztZQUMzQyxHQUFHLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztZQUNwQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQzFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDaEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDN0IsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2YsQ0FBQztZQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDM0MsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNoQixHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDakIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNaLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUVaLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDdEMsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDdEMsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO2dCQUN6QixHQUFHLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztnQkFDcEIsR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUMxQixHQUFHLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDaEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDWCxHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMvQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ25ELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFFdkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7b0JBQ1osTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztvQkFDaEMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUNoQixHQUFHLENBQUMsV0FBVyxHQUFHLFFBQVEsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLEtBQUssR0FBRyxDQUFDO29CQUMzRCxHQUFHLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztvQkFDbEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNyRCxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3JELEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDZixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRWxELHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUE7dUdBbkxVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLHVOQXpDbkI7Ozs7Ozs7Ozs7O0dBV1Q7OzJGQThCVSxrQkFBa0I7a0JBNUM5QixTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFlBQ047Ozs7Ozs7Ozs7O0dBV1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBFbGVtZW50UmVmLCBhZnRlck5leHRSZW5kZXIsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbnRlcmZhY2UgUGFydGljbGUge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgZHg6IG51bWJlcjtcbiAgZHk6IG51bWJlcjtcbiAgc2l6ZTogbnVtYmVyO1xuICBjb2xvcjogc3RyaW5nO1xuICBnbGl0Y2hPZmZzZXQ/OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iYWNrZ3JvdW5kLXRlbXBsYXRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8Y2FudmFzICNjYW52YXMgXG4gICAgICBbd2lkdGhdPVwid2luZG93LmlubmVyV2lkdGhcIiBcbiAgICAgIFtoZWlnaHRdPVwid2luZG93LmlubmVySGVpZ2h0XCJcbiAgICA+PC9jYW52YXM+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgIEBpZiAodGl0bGUoKSkge1xuICAgICAgICA8aDEgY2xhc3M9XCJ0aXRsZVwiPnt7IHRpdGxlKCkgfX08L2gxPlxuICAgICAgfVxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IGBcbiAgICA6aG9zdCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICBjYW52YXMge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICB9XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICB9XG4gICAgfVxuICBgXG59KVxuZXhwb3J0IGNsYXNzIEJhY2tncm91bmRUZW1wbGF0ZSB7XG4gIHRpdGxlID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHByaXZhdGUgY2FudmFzID0gc2lnbmFsPEVsZW1lbnRSZWY8SFRNTENhbnZhc0VsZW1lbnQ+IHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgY3R4ID0gc2lnbmFsPENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHBhcnRpY2xlczogUGFydGljbGVbXSA9IFtdO1xuICBwcm90ZWN0ZWQgd2luZG93ID0gd2luZG93O1xuICBwcml2YXRlIGh1ZSA9IDE4MDtcbiAgcHJpdmF0ZSBmcmFtZSA9IDA7XG4gIHByaXZhdGUgbWVzc2FnZXMgPSBbXG4gICAgJyh4X3gpIFBST1RPQ09MLjcgKHhfeCknLFxuICAgICdbTUFDSElOQTowMV0gSU5JVElBTElaSU5HLi4uJyxcbiAgICAnKD5fPCkgU1lTVEVNIE9WRVJMT0FEICg+XzwpJyxcbiAgICAn4paT4paT4paS4paS4paR4paRVyBJIFIgRSBE4paR4paR4paS4paS4paT4paTJyxcbiAgICAn44CQPeKXiO+4v+KXiD3jgJFMQVlFUjoxM+OAkD3il4jvuL/il4g944CRJyxcbiAgICAnW+KWgOKWhOKWgOKWhOKWgOKWhF0gTkFWwqFHQVRPUiBb4paE4paA4paE4paA4paE4paAXScsXG4gICAgJyjilaXvuY/ilaUpIEVSUk9SXzQwNCAo4pWl77mP4pWlKScsXG4gICAgYFxuICAgICDilZTilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZdcbiAgICAg4pWRIFBSRVNFTlQgVElNRS4g4pWRXG4gICAgIOKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuICAgIGAsXG4gICAgYFxuICAgICAvXFxcXF8vXFxcXCAgUFJPVE9DT0xcbiAgICAoKEB2QCkpICAgQlJFQUNIXG4gICAgICgpOjooKSAgREVURUNURURcbiAgICAgVlYtVlZcbiAgICBgLFxuICAgICfilozilILilojilZHilozilZHilozilZEgQ09OTkVDVElORy4uLiDilZHilozilZHilozilZHilojilILilownXG4gIF07XG4gIHByaXZhdGUgY3VycmVudE1lc3NhZ2UgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICBjb25zdCBjYW52YXNFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignY2FudmFzJykgYXMgSFRNTENhbnZhc0VsZW1lbnQ7XG4gICAgICB0aGlzLmNhbnZhcy5zZXQobmV3IEVsZW1lbnRSZWYoY2FudmFzRWxlbWVudCkpO1xuICAgICAgdGhpcy5jdHguc2V0KGNhbnZhc0VsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKSk7XG4gICAgICBcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVBhcnRpY2xlcygpO1xuICAgICAgdGhpcy5hbmltYXRlKCk7XG5cbiAgICAgIHNldEludGVydmFsKCgpID0+IHRoaXMuZ2xpdGNoRWZmZWN0KCksIDUwMDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUGFydGljbGVzKCkge1xuICAgIGNvbnN0IGNhbnZhcyA9IHRoaXMuY2FudmFzKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFjYW52YXMpIHJldHVybjtcblxuICAgIHRoaXMucGFydGljbGVzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMjAwIH0sICgpID0+ICh7XG4gICAgICB4OiBNYXRoLnJhbmRvbSgpICogY2FudmFzLndpZHRoLFxuICAgICAgeTogTWF0aC5yYW5kb20oKSAqIGNhbnZhcy5oZWlnaHQsXG4gICAgICBkeDogKE1hdGgucmFuZG9tKCkgLSAwLjUpICogMSxcbiAgICAgIGR5OiAoTWF0aC5yYW5kb20oKSAtIDAuNSkgKiAxLFxuICAgICAgc2l6ZTogTWF0aC5yYW5kb20oKSAqIDEuNSArIDAuNSxcbiAgICAgIGNvbG9yOiBgaHNsKCR7MTgwICsgTWF0aC5yYW5kb20oKSAqIDYwfSwgJHs3MCArIE1hdGgucmFuZG9tKCkgKiAzMH0lLCAkezQwICsgTWF0aC5yYW5kb20oKSAqIDYwfSUpYCxcbiAgICAgIGdsaXRjaE9mZnNldDogTWF0aC5yYW5kb20oKSAqIDVcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGdsaXRjaEVmZmVjdCgpIHtcbiAgICBjb25zdCBjYW52YXMgPSB0aGlzLmNhbnZhcygpPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmICghY2FudmFzKSByZXR1cm47XG5cbiAgICB0aGlzLnBhcnRpY2xlcy5mb3JFYWNoKHAgPT4ge1xuICAgICAgaWYgKE1hdGgucmFuZG9tKCkgPCAwLjMpIHtcbiAgICAgICAgcC54ID0gTWF0aC5yYW5kb20oKSAqIGNhbnZhcy53aWR0aDtcbiAgICAgICAgcC55ID0gTWF0aC5yYW5kb20oKSAqIGNhbnZhcy5oZWlnaHQ7XG4gICAgICAgIHAuZ2xpdGNoT2Zmc2V0ID0gTWF0aC5yYW5kb20oKSAqIDEwO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5jdXJyZW50TWVzc2FnZSA9ICh0aGlzLmN1cnJlbnRNZXNzYWdlICsgMSkgJSB0aGlzLm1lc3NhZ2VzLmxlbmd0aDtcbiAgfVxuXG4gIHByaXZhdGUgZHJhd1RleHQoY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQpIHtcbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5tZXNzYWdlc1t0aGlzLmN1cnJlbnRNZXNzYWdlXTtcbiAgICBjdHguZm9udCA9ICcxNnB4IFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlJztcbiAgICBjdHgudGV4dEFsaWduID0gJ2xlZnQnO1xuICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAndG9wJztcbiAgICBcbiAgICBjb25zdCBnbGl0Y2hBbW91bnQgPSBNYXRoLnJhbmRvbSgpICogNTtcbiAgICBcbiAgICAvLyDjg6HjgqTjg7Pjg4bjgq3jgrnjg4hcbiAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuOCknO1xuICAgIGNvbnN0IGxpbmVzID0gbWVzc2FnZS5zcGxpdCgnXFxuJyk7XG4gICAgbGluZXMuZm9yRWFjaCgobGluZSwgaW5kZXgpID0+IHtcbiAgICAgIGN0eC5maWxsVGV4dChsaW5lLCAyMCArIGdsaXRjaEFtb3VudCwgMjAgKyAoaW5kZXggKiAyMCkpO1xuICAgIH0pO1xuICAgIFxuICAgIC8vIOOCsOODquODg+ODgeOCqOODleOCp+OCr+ODiFxuICAgIGlmIChNYXRoLnJhbmRvbSgpIDwgMC4zKSB7XG4gICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMjU1LCAwLCAyNTUsIDAuNSknO1xuICAgICAgbGluZXMuZm9yRWFjaCgobGluZSwgaW5kZXgpID0+IHtcbiAgICAgICAgY3R4LmZpbGxUZXh0KGxpbmUsIDIwIC0gZ2xpdGNoQW1vdW50LCAyMCArIChpbmRleCAqIDIwKSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyDluqfmqJnooajnpLpcbiAgICBjdHguZm9udCA9ICcxMnB4IFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlJztcbiAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAyNTUsIDAuNCknO1xuICAgIGN0eC5maWxsVGV4dChgW1hdOiAke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDApfWAsIGNhbnZhcy53aWR0aCAtIDEyMCwgMjApO1xuICAgIGN0eC5maWxsVGV4dChgW1ldOiAke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDApfWAsIGNhbnZhcy53aWR0aCAtIDEyMCwgNDApO1xuICAgIGN0eC5maWxsVGV4dChgKD5fPCkgU1lOQzogJHtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDApfSVgLCBjYW52YXMud2lkdGggLSAxNjAsIDYwKTtcbiAgfVxuXG4gIHByaXZhdGUgYW5pbWF0ZSA9ICgpID0+IHtcbiAgICBjb25zdCBjYW52YXMgPSB0aGlzLmNhbnZhcygpPy5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGN0eCA9IHRoaXMuY3R4KCk7XG4gICAgaWYgKCFjYW52YXMgfHwgIWN0eCkgcmV0dXJuO1xuICAgIFxuICAgIHRoaXMuZnJhbWUrKztcbiAgICBcbiAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwwLDAsMC4xKSc7XG4gICAgY3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG5cbiAgICBpZiAodGhpcy5mcmFtZSAlIDMwID09PSAwKSB7XG4gICAgICBjdHguc3Ryb2tlU3R5bGUgPSAncmdiYSgwLCAyNTUsIDI1NSwgMC4xKSc7XG4gICAgICBjdHgubGluZVdpZHRoID0gMC41O1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYW52YXMud2lkdGg7IGkgKz0gNTApIHtcbiAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICBjdHgubW92ZVRvKGksIDApO1xuICAgICAgICBjdHgubGluZVRvKGksIGNhbnZhcy5oZWlnaHQpO1xuICAgICAgICBjdHguc3Ryb2tlKCk7XG4gICAgICB9XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhbnZhcy5oZWlnaHQ7IGkgKz0gNTApIHtcbiAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICBjdHgubW92ZVRvKDAsIGkpO1xuICAgICAgICBjdHgubGluZVRvKGNhbnZhcy53aWR0aCwgaSk7XG4gICAgICAgIGN0eC5zdHJva2UoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnBhcnRpY2xlcy5mb3JFYWNoKHAgPT4ge1xuICAgICAgcC54ICs9IHAuZHg7XG4gICAgICBwLnkgKz0gcC5keTtcblxuICAgICAgaWYgKHAueCA8IDAgfHwgcC54ID4gY2FudmFzLndpZHRoKSB7XG4gICAgICAgIHAuZHggPSAtcC5keCAqIDAuOTU7XG4gICAgICAgIHAuZHkgKz0gKE1hdGgucmFuZG9tKCkgLSAwLjUpICogMC4yO1xuICAgICAgfVxuICAgICAgaWYgKHAueSA8IDAgfHwgcC55ID4gY2FudmFzLmhlaWdodCkge1xuICAgICAgICBwLmR5ID0gLXAuZHkgKiAwLjk1O1xuICAgICAgICBwLmR4ICs9IChNYXRoLnJhbmRvbSgpIC0gMC41KSAqIDAuMjtcbiAgICAgIH1cblxuICAgICAgaWYgKE1hdGgucmFuZG9tKCkgPCAwLjk4KSB7XG4gICAgICAgIGN0eC5zaGFkb3dCbHVyID0gMTA7XG4gICAgICAgIGN0eC5zaGFkb3dDb2xvciA9IHAuY29sb3I7XG4gICAgICAgIGN0eC5maWxsU3R5bGUgPSBwLmNvbG9yO1xuICAgICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICAgIGN0eC5hcmMocC54ICsgKHAuZ2xpdGNoT2Zmc2V0IHx8IDApLCBwLnksIHAuc2l6ZSwgMCwgTWF0aC5QSSAqIDIpO1xuICAgICAgICBjdHguZmlsbCgpO1xuICAgICAgICBjdHguc2hhZG93Qmx1ciA9IDA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucGFydGljbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCB0aGlzLnBhcnRpY2xlcy5sZW5ndGg7IGorKykge1xuICAgICAgICBjb25zdCBkeCA9IHRoaXMucGFydGljbGVzW2ldLnggLSB0aGlzLnBhcnRpY2xlc1tqXS54O1xuICAgICAgICBjb25zdCBkeSA9IHRoaXMucGFydGljbGVzW2ldLnkgLSB0aGlzLnBhcnRpY2xlc1tqXS55O1xuICAgICAgICBjb25zdCBkID0gTWF0aC5zcXJ0KGR4ICogZHggKyBkeSAqIGR5KTtcbiAgICAgICAgXG4gICAgICAgIGlmIChkIDwgMTAwKSB7XG4gICAgICAgICAgY29uc3QgYWxwaGEgPSAoMSAtIGQvMTAwKSAqIDAuMztcbiAgICAgICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICAgICAgY3R4LnN0cm9rZVN0eWxlID0gYGhzbGEoJHt0aGlzLmh1ZX0sIDEwMCUsIDcwJSwgJHthbHBoYX0pYDtcbiAgICAgICAgICBjdHgubGluZVdpZHRoID0gMTtcbiAgICAgICAgICBjdHgubW92ZVRvKHRoaXMucGFydGljbGVzW2ldLngsIHRoaXMucGFydGljbGVzW2ldLnkpO1xuICAgICAgICAgIGN0eC5saW5lVG8odGhpcy5wYXJ0aWNsZXNbal0ueCwgdGhpcy5wYXJ0aWNsZXNbal0ueSk7XG4gICAgICAgICAgY3R4LnN0cm9rZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5kcmF3VGV4dChjdHgsIGNhbnZhcyk7XG5cbiAgICB0aGlzLmh1ZSA9IDE4MCArIE1hdGguc2luKHRoaXMuZnJhbWUgKiAwLjAxKSAqIDMwO1xuXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuYW5pbWF0ZSk7XG4gIH1cbn1cbiJdfQ==","import { Component, ElementRef, afterNextRender, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class MachinaBackgroundTemplate {\n canvas = signal(null);\n ctx = signal(null);\n particles = [];\n window = window;\n hue = 0;\n constructor() {\n afterNextRender(() => {\n const canvasElement = document.querySelector('canvas');\n this.canvas.set(new ElementRef(canvasElement));\n this.ctx.set(canvasElement.getContext('2d'));\n this.initializeParticles();\n this.animate();\n });\n }\n initializeParticles() {\n const canvas = this.canvas()?.nativeElement;\n if (!canvas)\n return;\n this.particles = Array.from({ length: 150 }, () => ({\n x: Math.random() * canvas.width,\n y: Math.random() * canvas.height,\n dx: (Math.random() - 0.5) * 1.5,\n dy: (Math.random() - 0.5) * 1.5,\n size: Math.random() * 2 + 1,\n color: `hsl(${Math.random() * 360}, 50%, 50%)`\n }));\n }\n animate = () => {\n const canvas = this.canvas()?.nativeElement;\n const ctx = this.ctx();\n if (!canvas || !ctx)\n return;\n // Clear with fade effect\n ctx.fillStyle = 'rgba(0,0,0,0.05)';\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n // Update and draw particles\n this.particles.forEach(p => {\n p.x += p.dx;\n p.y += p.dy;\n // Bounce off walls with slight randomization\n if (p.x < 0 || p.x > canvas.width) {\n p.dx = -p.dx * 0.99;\n p.dy += (Math.random() - 0.5) * 0.2;\n }\n if (p.y < 0 || p.y > canvas.height) {\n p.dy = -p.dy * 0.99;\n p.dx += (Math.random() - 0.5) * 0.2;\n }\n // Draw particle with glow effect\n ctx.shadowBlur = 15;\n ctx.shadowColor = p.color;\n ctx.fillStyle = p.color;\n ctx.beginPath();\n ctx.arc(p.x, p.y, p.size, 0, Math.PI * 2);\n ctx.fill();\n ctx.shadowBlur = 0;\n });\n // Draw connections with gradient effect\n for (let i = 0; i < this.particles.length; i++) {\n for (let j = i + 1; j < this.particles.length; j++) {\n const dx = this.particles[i].x - this.particles[j].x;\n const dy = this.particles[i].y - this.particles[j].y;\n const d = Math.sqrt(dx * dx + dy * dy);\n if (d < 120) {\n const alpha = (1 - d / 120) * 0.5;\n ctx.beginPath();\n ctx.strokeStyle = `hsla(${this.hue}, 70%, 70%, ${alpha})`;\n ctx.lineWidth = 2 * (1 - d / 120);\n ctx.moveTo(this.particles[i].x, this.particles[i].y);\n ctx.lineTo(this.particles[j].x, this.particles[j].y);\n ctx.stroke();\n }\n }\n }\n // Slowly change hue for dynamic color effect\n this.hue = (this.hue + 0.5) % 360;\n requestAnimationFrame(this.animate);\n };\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: MachinaBackgroundTemplate, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: MachinaBackgroundTemplate, isStandalone: true, selector: \"machina-templates-background\", ngImport: i0, template: `\n <canvas #canvas \n [width]=\"window.innerWidth\" \n [height]=\"window.innerHeight\"\n style=\"position: fixed; top: 0; left: 0; z-index: -1;\">\n </canvas>\n `, isInline: true });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: MachinaBackgroundTemplate, decorators: [{\n type: Component,\n args: [{\n selector: 'machina-templates-background',\n standalone: true,\n template: `\n <canvas #canvas \n [width]=\"window.innerWidth\" \n [height]=\"window.innerHeight\"\n style=\"position: fixed; top: 0; left: 0; z-index: -1;\">\n </canvas>\n `\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC50ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL3RlbXBsYXRlcy9iYWNrZ3JvdW5kL2JhY2tncm91bmQudGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFzQi9FLE1BQU0sT0FBTyx5QkFBeUI7SUFDNUIsTUFBTSxHQUFHLE1BQU0sQ0FBdUMsSUFBSSxDQUFDLENBQUM7SUFDNUQsR0FBRyxHQUFHLE1BQU0sQ0FBa0MsSUFBSSxDQUFDLENBQUM7SUFDcEQsU0FBUyxHQUFlLEVBQUUsQ0FBQztJQUN6QixNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ2xCLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFaEI7UUFDRSxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ25CLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFzQixDQUFDO1lBQzVFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRTdDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLGFBQWEsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFFcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDbEQsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSztZQUMvQixDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNO1lBQ2hDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHO1lBQy9CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHO1lBQy9CLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDM0IsS0FBSyxFQUFFLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsYUFBYTtTQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTyxPQUFPLEdBQUcsR0FBRyxFQUFFO1FBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFhLENBQUM7UUFDNUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUU1Qix5QkFBeUI7UUFDekIsR0FBRyxDQUFDLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQztRQUNuQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEQsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNaLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUVaLDZDQUE2QztZQUM3QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNsQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ3RDLENBQUM7WUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNuQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ3RDLENBQUM7WUFFRCxpQ0FBaUM7WUFDakMsR0FBRyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7WUFDcEIsR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzFCLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUN4QixHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDaEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWCxHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUVILHdDQUF3QztRQUN4QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMvQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ25ELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFFdkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7b0JBQ1osTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztvQkFDaEMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUNoQixHQUFHLENBQUMsV0FBVyxHQUFHLFFBQVEsSUFBSSxDQUFDLEdBQUcsZUFBZSxLQUFLLEdBQUcsQ0FBQztvQkFDMUQsR0FBRyxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNoQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3JELEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckQsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNmLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELDZDQUE2QztRQUM3QyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7UUFFbEMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQTt1R0F6RlUseUJBQXlCOzJGQUF6Qix5QkFBeUIsd0ZBUjFCOzs7Ozs7R0FNVDs7MkZBRVUseUJBQXlCO2tCQVhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7OztHQU1UO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBhZnRlck5leHRSZW5kZXIsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbnRlcmZhY2UgUGFydGljbGUge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgZHg6IG51bWJlcjtcbiAgZHk6IG51bWJlcjtcbiAgc2l6ZTogbnVtYmVyO1xuICBjb2xvcjogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWNoaW5hLXRlbXBsYXRlcy1iYWNrZ3JvdW5kJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8Y2FudmFzICNjYW52YXMgXG4gICAgICBbd2lkdGhdPVwid2luZG93LmlubmVyV2lkdGhcIiBcbiAgICAgIFtoZWlnaHRdPVwid2luZG93LmlubmVySGVpZ2h0XCJcbiAgICAgIHN0eWxlPVwicG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IGxlZnQ6IDA7IHotaW5kZXg6IC0xO1wiPlxuICAgIDwvY2FudmFzPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIE1hY2hpbmFCYWNrZ3JvdW5kVGVtcGxhdGUge1xuICBwcml2YXRlIGNhbnZhcyA9IHNpZ25hbDxFbGVtZW50UmVmPEhUTUxDYW52YXNFbGVtZW50PiB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIGN0eCA9IHNpZ25hbDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSBwYXJ0aWNsZXM6IFBhcnRpY2xlW10gPSBbXTtcbiAgcHJvdGVjdGVkIHdpbmRvdyA9IHdpbmRvdztcbiAgcHJpdmF0ZSBodWUgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICBjb25zdCBjYW52YXNFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignY2FudmFzJykgYXMgSFRNTENhbnZhc0VsZW1lbnQ7XG4gICAgICB0aGlzLmNhbnZhcy5zZXQobmV3IEVsZW1lbnRSZWYoY2FudmFzRWxlbWVudCkpO1xuICAgICAgdGhpcy5jdHguc2V0KGNhbnZhc0VsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKSk7XG4gICAgICBcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVBhcnRpY2xlcygpO1xuICAgICAgdGhpcy5hbmltYXRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVQYXJ0aWNsZXMoKSB7XG4gICAgY29uc3QgY2FudmFzID0gdGhpcy5jYW52YXMoKT8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIWNhbnZhcykgcmV0dXJuO1xuXG4gICAgdGhpcy5wYXJ0aWNsZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxNTAgfSwgKCkgPT4gKHtcbiAgICAgIHg6IE1hdGgucmFuZG9tKCkgKiBjYW52YXMud2lkdGgsXG4gICAgICB5OiBNYXRoLnJhbmRvbSgpICogY2FudmFzLmhlaWdodCxcbiAgICAgIGR4OiAoTWF0aC5yYW5kb20oKSAtIDAuNSkgKiAxLjUsXG4gICAgICBkeTogKE1hdGgucmFuZG9tKCkgLSAwLjUpICogMS41LFxuICAgICAgc2l6ZTogTWF0aC5yYW5kb20oKSAqIDIgKyAxLFxuICAgICAgY29sb3I6IGBoc2woJHtNYXRoLnJhbmRvbSgpICogMzYwfSwgNTAlLCA1MCUpYFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgYW5pbWF0ZSA9ICgpID0+IHtcbiAgICBjb25zdCBjYW52YXMgPSB0aGlzLmNhbnZhcygpPy5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGN0eCA9IHRoaXMuY3R4KCk7XG4gICAgaWYgKCFjYW52YXMgfHwgIWN0eCkgcmV0dXJuO1xuICAgIFxuICAgIC8vIENsZWFyIHdpdGggZmFkZSBlZmZlY3RcbiAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwwLDAsMC4wNSknO1xuICAgIGN0eC5maWxsUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpO1xuXG4gICAgLy8gVXBkYXRlIGFuZCBkcmF3IHBhcnRpY2xlc1xuICAgIHRoaXMucGFydGljbGVzLmZvckVhY2gocCA9PiB7XG4gICAgICBwLnggKz0gcC5keDtcbiAgICAgIHAueSArPSBwLmR5O1xuXG4gICAgICAvLyBCb3VuY2Ugb2ZmIHdhbGxzIHdpdGggc2xpZ2h0IHJhbmRvbWl6YXRpb25cbiAgICAgIGlmIChwLnggPCAwIHx8IHAueCA+IGNhbnZhcy53aWR0aCkge1xuICAgICAgICBwLmR4ID0gLXAuZHggKiAwLjk5O1xuICAgICAgICBwLmR5ICs9IChNYXRoLnJhbmRvbSgpIC0gMC41KSAqIDAuMjtcbiAgICAgIH1cbiAgICAgIGlmIChwLnkgPCAwIHx8IHAueSA+IGNhbnZhcy5oZWlnaHQpIHtcbiAgICAgICAgcC5keSA9IC1wLmR5ICogMC45OTtcbiAgICAgICAgcC5keCArPSAoTWF0aC5yYW5kb20oKSAtIDAuNSkgKiAwLjI7XG4gICAgICB9XG5cbiAgICAgIC8vIERyYXcgcGFydGljbGUgd2l0aCBnbG93IGVmZmVjdFxuICAgICAgY3R4LnNoYWRvd0JsdXIgPSAxNTtcbiAgICAgIGN0eC5zaGFkb3dDb2xvciA9IHAuY29sb3I7XG4gICAgICBjdHguZmlsbFN0eWxlID0gcC5jb2xvcjtcbiAgICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICAgIGN0eC5hcmMocC54LCBwLnksIHAuc2l6ZSwgMCwgTWF0aC5QSSAqIDIpO1xuICAgICAgY3R4LmZpbGwoKTtcbiAgICAgIGN0eC5zaGFkb3dCbHVyID0gMDtcbiAgICB9KTtcblxuICAgIC8vIERyYXcgY29ubmVjdGlvbnMgd2l0aCBncmFkaWVudCBlZmZlY3RcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucGFydGljbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCB0aGlzLnBhcnRpY2xlcy5sZW5ndGg7IGorKykge1xuICAgICAgICBjb25zdCBkeCA9IHRoaXMucGFydGljbGVzW2ldLnggLSB0aGlzLnBhcnRpY2xlc1tqXS54O1xuICAgICAgICBjb25zdCBkeSA9IHRoaXMucGFydGljbGVzW2ldLnkgLSB0aGlzLnBhcnRpY2xlc1tqXS55O1xuICAgICAgICBjb25zdCBkID0gTWF0aC5zcXJ0KGR4ICogZHggKyBkeSAqIGR5KTtcbiAgICAgICAgXG4gICAgICAgIGlmIChkIDwgMTIwKSB7XG4gICAgICAgICAgY29uc3QgYWxwaGEgPSAoMSAtIGQvMTIwKSAqIDAuNTtcbiAgICAgICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICAgICAgY3R4LnN0cm9rZVN0eWxlID0gYGhzbGEoJHt0aGlzLmh1ZX0sIDcwJSwgNzAlLCAke2FscGhhfSlgO1xuICAgICAgICAgIGN0eC5saW5lV2lkdGggPSAyICogKDEgLSBkLzEyMCk7XG4gICAgICAgICAgY3R4Lm1vdmVUbyh0aGlzLnBhcnRpY2xlc1tpXS54LCB0aGlzLnBhcnRpY2xlc1tpXS55KTtcbiAgICAgICAgICBjdHgubGluZVRvKHRoaXMucGFydGljbGVzW2pdLngsIHRoaXMucGFydGljbGVzW2pdLnkpO1xuICAgICAgICAgIGN0eC5zdHJva2UoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNsb3dseSBjaGFuZ2UgaHVlIGZvciBkeW5hbWljIGNvbG9yIGVmZmVjdFxuICAgIHRoaXMuaHVlID0gKHRoaXMuaHVlICsgMC41KSAlIDM2MDtcblxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLmFuaW1hdGUpO1xuICB9XG59Il19","import { provideComponent } from '@ng-atomic/core';\nimport { BackgroundTemplate as LainBapBackgroundTemplate } from './lain-background.template';\nimport { BackgroundTemplateStore } from '@ng-atomic/components/templates/background';\nimport { MachinaBackgroundTemplate } from './background.template';\nexport * from './background.template';\nexport function provideMachinaBackgroundTemplate() {\n return provideComponent(BackgroundTemplateStore, () => MachinaBackgroundTemplate);\n}\nexport function provideLainBackgroundTemplate() {\n return provideComponent(BackgroundTemplateStore, () => LainBapBackgroundTemplate);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi90ZW1wbGF0ZXMvYmFja2dyb3VuZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLElBQUkseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLE1BQU0sVUFBVSxnQ0FBZ0M7SUFDOUMsT0FBTyxnQkFBZ0IsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3BGLENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLE9BQU8sZ0JBQWdCLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUNwRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvdmlkZUNvbXBvbmVudCB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kVGVtcGxhdGUgYXMgTGFpbkJhcEJhY2tncm91bmRUZW1wbGF0ZSB9IGZyb20gJy4vbGFpbi1iYWNrZ3JvdW5kLnRlbXBsYXRlJztcbmltcG9ydCB7IEJhY2tncm91bmRUZW1wbGF0ZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9iYWNrZ3JvdW5kJztcbmltcG9ydCB7IE1hY2hpbmFCYWNrZ3JvdW5kVGVtcGxhdGUgfSBmcm9tICcuL2JhY2tncm91bmQudGVtcGxhdGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2JhY2tncm91bmQudGVtcGxhdGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU1hY2hpbmFCYWNrZ3JvdW5kVGVtcGxhdGUoKSB7XG4gIHJldHVybiBwcm92aWRlQ29tcG9uZW50KEJhY2tncm91bmRUZW1wbGF0ZVN0b3JlLCAoKSA9PiBNYWNoaW5hQmFja2dyb3VuZFRlbXBsYXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVMYWluQmFja2dyb3VuZFRlbXBsYXRlKCkge1xuICByZXR1cm4gcHJvdmlkZUNvbXBvbmVudChCYWNrZ3JvdW5kVGVtcGxhdGVTdG9yZSwgKCkgPT4gTGFpbkJhcEJhY2tncm91bmRUZW1wbGF0ZSk7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtdGVtcGxhdGVzLWJhY2tncm91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi90ZW1wbGF0ZXMvYmFja2dyb3VuZC94eG1hY2hpbmEtY29tcG9uZW50cy10ZW1wbGF0ZXMtYmFja2dyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["LainBapBackgroundTemplate"],"mappings":"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"}
|