-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathproject.html
More file actions
417 lines (384 loc) · 175 KB
/
project.html
File metadata and controls
417 lines (384 loc) · 175 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
<!DOCTYPE html><html lang="C"><head><title>[KISS](https://en.wikipedia.org/wiki/KISS_principle)</title><meta property="og:title" content="[KISS](https://en.wikipedia.org/wiki/KISS_principle)"><meta charset="UTF-8"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1.0"><meta name="apple-mobile-web-app-capable" content="yes"><meta http-equiv="X-UA-Compatible" content="ie=edge"><meta property="og:type" content="website"><meta name="twitter:card" content="summary"><style>@media screen{body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button{appearance:none;background-color:initial;border:0;color:inherit;cursor:pointer;font-size:inherit;opacity:.8;outline:none;padding:0;transition:opacity .2s linear;-webkit-tap-highlight-color:transparent}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:disabled{cursor:not-allowed;opacity:.15!important}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover{opacity:1}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover:active{opacity:.6}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover:not(:disabled){transition:none}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-prev{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNNjggOTAgMjggNTBsNDAtNDAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-next{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJtMzIgOTAgNDAtNDAtNDAtNDAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen]{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6NXB4fTwvc3R5bGU+PC9kZWZzPjxyZWN0IHdpZHRoPSI4MCIgaGVpZ2h0PSI2MCIgeD0iMTAiIHk9IjIwIiBjbGFzcz0iYSIgcng9IjUuNjciLz48cGF0aCBkPSJNNDAgNzBIMjBWNTBtMjAgMEwyMCA3MG00MC00MGgyMHYyMG0tMjAgMCAyMC0yMCIgY2xhc3M9ImEiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button.exit[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button.exit[data-bespoke-marp-osc=fullscreen]{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6NXB4fTwvc3R5bGU+PC9kZWZzPjxyZWN0IHdpZHRoPSI4MCIgaGVpZ2h0PSI2MCIgeD0iMTAiIHk9IjIwIiBjbGFzcz0iYSIgcng9IjUuNjciLz48cGF0aCBkPSJNMjAgNTBoMjB2MjBtLTIwIDAgMjAtMjBtNDAgMEg2MFYzMG0yMCAwTDYwIDUwIiBjbGFzcz0iYSIvPjwvc3ZnPg==")}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter]{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNODcuOCA0Ny41Qzg5IDUwIDg3LjcgNTIgODUgNTJIMzVhOC43IDguNyAwIDAgMS03LjItNC41bC0xNS42LTMxQzExIDE0IDEyLjIgMTIgMTUgMTJoNTBhOC44IDguOCAwIDAgMSA3LjIgNC41ek02MCA1MnYzNm0tMTAgMGgyME00NSA0MmgyMCIvPjwvc3ZnPg==") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button.bespoke-marp-presenter-note-bigger{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNMTIgNTBoODBNNTIgOTBWMTAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button.bespoke-marp-presenter-note-smaller{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNMTIgNTBoODAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}}@keyframes __bespoke_marp_transition_reduced_outgoing__{0%{opacity:1}to{opacity:0}}@keyframes __bespoke_marp_transition_reduced_incoming__{0%{mix-blend-mode:plus-lighter;opacity:0}to{mix-blend-mode:plus-lighter;opacity:1}}.bespoke-marp-note,.bespoke-marp-osc,.bespoke-progress-parent{display:none;transition:none}@media screen{::view-transition-group(*){animation-duration:var(--marp-bespoke-transition-animation-duration,.5s);animation-timing-function:ease}::view-transition-new(*),::view-transition-old(*){animation-delay:0s;animation-direction:var(--marp-bespoke-transition-animation-direction,normal);animation-duration:var(--marp-bespoke-transition-animation-duration,.5s);animation-fill-mode:both;animation-name:var(--marp-bespoke-transition-animation-name,var(--marp-bespoke-transition-animation-name-fallback,__bespoke_marp_transition_no_animation__));mix-blend-mode:normal}::view-transition-old(*){--marp-bespoke-transition-animation-name-fallback:__bespoke_marp_transition_reduced_outgoing__;animation-timing-function:ease}::view-transition-new(*){--marp-bespoke-transition-animation-name-fallback:__bespoke_marp_transition_reduced_incoming__;animation-timing-function:ease}::view-transition-new(root),::view-transition-old(root){animation-timing-function:linear}::view-transition-new(__bespoke_marp_transition_osc__),::view-transition-old(__bespoke_marp_transition_osc__){animation-duration:0s!important;animation-name:__bespoke_marp_transition_osc__!important}::view-transition-new(__bespoke_marp_transition_osc__){opacity:0!important}.bespoke-marp-transition-warming-up::view-transition-group(*),.bespoke-marp-transition-warming-up::view-transition-new(*),.bespoke-marp-transition-warming-up::view-transition-old(*){animation-play-state:paused!important}body,html{height:100%;margin:0}body{background:#000;overflow:hidden}svg.bespoke-marp-slide{content-visibility:hidden;opacity:0;pointer-events:none;z-index:-1}svg.bespoke-marp-slide:not(.bespoke-marp-active) *{view-transition-name:none!important}svg.bespoke-marp-slide.bespoke-marp-active{content-visibility:visible;opacity:1;pointer-events:auto;z-index:0}svg.bespoke-marp-slide.bespoke-marp-active.bespoke-marp-active-ready *{animation-name:__bespoke_marp__!important}@supports not (content-visibility:hidden){svg.bespoke-marp-slide[data-bespoke-marp-load=hideable]{display:none}svg.bespoke-marp-slide[data-bespoke-marp-load=hideable].bespoke-marp-active{display:block}}}@media screen and (prefers-reduced-motion:reduce){svg.bespoke-marp-slide *{view-transition-name:none!important}}@media screen{[data-bespoke-marp-fragment=inactive]{visibility:hidden}body[data-bespoke-view=""] .bespoke-marp-parent,body[data-bespoke-view=next] .bespoke-marp-parent{inset:0;position:absolute}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc{background:#000000a6;border-radius:7px;bottom:50px;color:#fff;contain:paint;display:block;font-family:Helvetica,Arial,sans-serif;font-size:16px;left:50%;line-height:0;opacity:1;padding:12px;position:absolute;touch-action:manipulation;transform:translateX(-50%);transition:opacity .2s linear;-webkit-user-select:none;user-select:none;white-space:nowrap;will-change:transform;z-index:1;view-transition-name:__bespoke_marp_transition_osc__}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>*,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>*{margin-left:6px}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>:first-child,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>:first-child{margin-left:0}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>span,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>span{opacity:.8}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>span[data-bespoke-marp-osc=page],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>span[data-bespoke-marp-osc=page]{display:inline-block;min-width:140px;text-align:center}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter],body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev]{height:32px;line-height:32px;width:32px}body[data-bespoke-view=""] .bespoke-marp-parent.bespoke-marp-inactive,body[data-bespoke-view=next] .bespoke-marp-parent.bespoke-marp-inactive{cursor:none}body[data-bespoke-view=""] .bespoke-marp-parent.bespoke-marp-inactive>.bespoke-marp-osc,body[data-bespoke-view=next] .bespoke-marp-parent.bespoke-marp-inactive>.bespoke-marp-osc{opacity:0;pointer-events:none}body[data-bespoke-view=""] svg.bespoke-marp-slide,body[data-bespoke-view=next] svg.bespoke-marp-slide{height:100%;left:0;position:absolute;top:0;width:100%}body[data-bespoke-view=""] .bespoke-progress-parent{background:#222;display:flex;height:5px;width:100%}body[data-bespoke-view=""] .bespoke-progress-parent+.bespoke-marp-parent{top:5px}body[data-bespoke-view=""] .bespoke-progress-parent .bespoke-progress-bar{background:#0288d1;flex:0 0 0;transition:flex-basis .2s cubic-bezier(0,1,1,1)}body[data-bespoke-view=next]{background:#0000}body[data-bespoke-view=presenter]{background:#161616}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container{display:grid;font-family:Helvetica,Arial,sans-serif;grid-template:"current dragbar next" minmax(140px,1fr) "current dragbar note" 2fr "info dragbar note" 3em;grid-template-columns:minmax(3px,var(--bespoke-marp-presenter-split-ratio,66%)) 0 minmax(3px,1fr);height:100%;left:0;position:absolute;top:0;width:100%}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-parent{grid-area:current;overflow:hidden;position:relative}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-parent svg.bespoke-marp-slide{height:calc(100% - 40px);left:20px;pointer-events:none;position:absolute;top:20px;-webkit-user-select:none;user-select:none;width:calc(100% - 40px)}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-parent svg.bespoke-marp-slide.bespoke-marp-active{filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-dragbar-container{background:#0288d1;cursor:col-resize;grid-area:dragbar;margin-left:-3px;opacity:0;position:relative;transition:opacity .4s linear .1s;width:6px;z-index:10}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-dragbar-container:hover{opacity:1}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-dragbar-container.active{opacity:1;transition-delay:0s}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container{background:#222;cursor:pointer;display:none;grid-area:next;overflow:hidden;position:relative}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container.active{display:block}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container iframe.bespoke-marp-presenter-next{background:#0000;border:0;display:block;filter:drop-shadow(0 3px 10px rgba(0,0,0,.5));height:calc(100% - 40px);left:20px;pointer-events:none;position:absolute;top:20px;-webkit-user-select:none;user-select:none;width:calc(100% - 40px)}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container{background:#222;color:#eee;grid-area:note;position:relative;z-index:1}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button{height:1.5em;line-height:1.5em;width:1.5em}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-presenter-note-wrapper{display:block;inset:0;position:absolute}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-presenter-note-buttons{background:#000000a6;border-radius:4px;bottom:0;display:flex;gap:4px;margin:12px;opacity:0;padding:6px;pointer-events:none;position:absolute;right:0;transition:opacity .2s linear}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-presenter-note-buttons:focus-within,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-presenter-note-wrapper:focus-within+.bespoke-marp-presenter-note-buttons,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container:hover .bespoke-marp-presenter-note-buttons{opacity:1;pointer-events:auto}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note{box-sizing:border-box;font-size:calc(1.1em*var(--bespoke-marp-note-font-scale, 1));height:calc(100% - 40px);margin:20px;overflow:auto;padding-right:3px;white-space:pre-wrap;width:calc(100% - 40px);word-wrap:break-word;scrollbar-color:#eeeeee80 #0000;scrollbar-width:thin}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar{width:6px}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar-track{background:#0000}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar-thumb{background:#eeeeee80;border-radius:6px}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note:empty{pointer-events:none}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note.active{display:block}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note p:first-child{margin-top:0}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note p:last-child{margin-bottom:0}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container{align-items:center;box-sizing:border-box;color:#eee;display:flex;flex-wrap:nowrap;grid-area:info;justify-content:center;overflow:hidden;padding:0 10px}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-time,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-timer{box-sizing:border-box;display:block;padding:0 10px;white-space:nowrap;width:100%}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button{height:1.5em;line-height:1.5em;width:1.5em}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page{order:2;text-align:center}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page .bespoke-marp-presenter-info-page-text{display:inline-block;min-width:120px;text-align:center}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-time{color:#999;order:1;text-align:left}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-timer{color:#999;order:3;text-align:right}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-timer:hover{cursor:pointer}}@media print{.bespoke-marp-presenter-info-container,.bespoke-marp-presenter-next-container,.bespoke-marp-presenter-note-container{display:none}}</style><style>@charset "UTF-8";@import "https://fonts.bunny.net/css?family=Lato:400,900|Roboto+Mono:400,700&display=swap";div#\:\$p > svg > foreignObject > section{width:1280px;height:720px;box-sizing:border-box;overflow:hidden;position:relative;scroll-snap-align:center center;-webkit-text-size-adjust:100%;text-size-adjust:100%}div#\:\$p > svg > foreignObject > section::after{bottom:0;content:attr(data-marpit-pagination);padding:inherit;pointer-events:none;position:absolute;right:0}div#\:\$p > svg > foreignObject > section:not([data-marpit-pagination])::after{display:none}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1){font-size:2em;margin-block:0.67em}div#\:\$p > svg > foreignObject > section video::-webkit-media-controls{will-change:transform}@page {size:1280px 720px;margin:0}@media print{html, body{background-color:#fff;margin:0;page-break-inside:avoid;break-inside:avoid-page}div#\:\$p > svg > foreignObject > section{page-break-before:always;break-before:page}div#\:\$p > svg > foreignObject > section, div#\:\$p > svg > foreignObject > section *{-webkit-print-color-adjust:exact!important;animation-delay:0s!important;animation-duration:0s!important;color-adjust:exact!important;print-color-adjust:exact!important;transition:none!important}div#\:\$p > svg[data-marpit-svg]{display:block;height:100vh;width:100vw}}div#\:\$p > svg > foreignObject > :where(section){container-type:size}div#\:\$p > svg > foreignObject > section img[data-marp-twemoji]{background:transparent;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em;width:1em}/*!
* Marp / Marpit Gaia theme.
*
* @theme gaia
* @author Yuki Hattori
*
* @auto-scaling true
* @size 16:9 1280px 720px
* @size 4:3 960px 720px
*/div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) code.hljs{display:block;overflow-x:auto;padding:1em}div#\:\$p > svg > foreignObject > section code.hljs{padding:3px 5px}div#\:\$p > svg > foreignObject > section .hljs{background:#000;color:#f8f8f8}div#\:\$p > svg > foreignObject > section .hljs-comment,div#\:\$p > svg > foreignObject > section .hljs-quote{color:#aeaeae;font-style:italic}div#\:\$p > svg > foreignObject > section .hljs-keyword,div#\:\$p > svg > foreignObject > section .hljs-selector-tag,div#\:\$p > svg > foreignObject > section .hljs-type{color:#e28964}div#\:\$p > svg > foreignObject > section .hljs-string{color:#65b042}div#\:\$p > svg > foreignObject > section .hljs-subst{color:#daefa3}div#\:\$p > svg > foreignObject > section .hljs-link,div#\:\$p > svg > foreignObject > section .hljs-regexp{color:#e9c062}div#\:\$p > svg > foreignObject > section .hljs-name,div#\:\$p > svg > foreignObject > section .hljs-section,div#\:\$p > svg > foreignObject > section .hljs-tag,div#\:\$p > svg > foreignObject > section .hljs-title{color:#89bdff}div#\:\$p > svg > foreignObject > section .hljs-class .hljs-title,div#\:\$p > svg > foreignObject > section .hljs-doctag,div#\:\$p > svg > foreignObject > section .hljs-title.class_{text-decoration:underline}div#\:\$p > svg > foreignObject > section .hljs-bullet,div#\:\$p > svg > foreignObject > section .hljs-number,div#\:\$p > svg > foreignObject > section .hljs-symbol{color:#3387cc}div#\:\$p > svg > foreignObject > section .hljs-params,div#\:\$p > svg > foreignObject > section .hljs-template-variable,div#\:\$p > svg > foreignObject > section .hljs-variable{color:#3e87e3}div#\:\$p > svg > foreignObject > section .hljs-attribute{color:#cda869}div#\:\$p > svg > foreignObject > section .hljs-meta{color:#8996a8}div#\:\$p > svg > foreignObject > section .hljs-formula{background-color:#0e2231;color:#f8f8f8;font-style:italic}div#\:\$p > svg > foreignObject > section .hljs-addition{background-color:#253b22;color:#f8f8f8}div#\:\$p > svg > foreignObject > section .hljs-deletion{background-color:#420e09;color:#f8f8f8}div#\:\$p > svg > foreignObject > section .hljs-selector-class{color:#9b703f}div#\:\$p > svg > foreignObject > section .hljs-selector-id{color:#8b98ab}div#\:\$p > svg > foreignObject > section .hljs-emphasis{font-style:italic}div#\:\$p > svg > foreignObject > section .hljs-strong{font-weight:700}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1),div#\:\$p > svg > foreignObject > section :is(h2, marp-h2),div#\:\$p > svg > foreignObject > section :is(h3, marp-h3),div#\:\$p > svg > foreignObject > section :is(h4, marp-h4),div#\:\$p > svg > foreignObject > section :is(h5, marp-h5),div#\:\$p > svg > foreignObject > section :is(h6, marp-h6){margin:.5em 0 0}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1) strong,div#\:\$p > svg > foreignObject > section :is(h2, marp-h2) strong,div#\:\$p > svg > foreignObject > section :is(h3, marp-h3) strong,div#\:\$p > svg > foreignObject > section :is(h4, marp-h4) strong,div#\:\$p > svg > foreignObject > section :is(h5, marp-h5) strong,div#\:\$p > svg > foreignObject > section :is(h6, marp-h6) strong{font-weight:inherit}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1)::part(auto-scaling),div#\:\$p > svg > foreignObject > section :is(h2, marp-h2)::part(auto-scaling),div#\:\$p > svg > foreignObject > section :is(h3, marp-h3)::part(auto-scaling),div#\:\$p > svg > foreignObject > section :is(h4, marp-h4)::part(auto-scaling),div#\:\$p > svg > foreignObject > section :is(h5, marp-h5)::part(auto-scaling),div#\:\$p > svg > foreignObject > section :is(h6, marp-h6)::part(auto-scaling){max-height:580px}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1){font-size:1.8em}div#\:\$p > svg > foreignObject > section :is(h2, marp-h2){font-size:1.5em}div#\:\$p > svg > foreignObject > section :is(h3, marp-h3){font-size:1.3em}div#\:\$p > svg > foreignObject > section :is(h4, marp-h4){font-size:1.1em}div#\:\$p > svg > foreignObject > section :is(h5, marp-h5){font-size:1em}div#\:\$p > svg > foreignObject > section :is(h6, marp-h6){font-size:.9em}div#\:\$p > svg > foreignObject > section blockquote,div#\:\$p > svg > foreignObject > section p{margin:1em 0 0}div#\:\$p > svg > foreignObject > section ol>li,div#\:\$p > svg > foreignObject > section ul>li{margin:.3em 0 0}div#\:\$p > svg > foreignObject > section ol>li>p,div#\:\$p > svg > foreignObject > section ul>li>p{margin:.6em 0 0}div#\:\$p > svg > foreignObject > section code{display:inline-block;font-family:Roboto Mono,monospace;font-size:.8em;letter-spacing:0;margin:-.1em .15em;padding:.1em .2em;vertical-align:baseline}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre){display:block;margin:1em 0 0;overflow:visible}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre) code{box-sizing:border-box;font-size:.7em;margin:0;min-width:100%;padding:.5em}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre)::part(auto-scaling){max-height:calc(580px - 1em)}div#\:\$p > svg > foreignObject > section blockquote{margin:1em 0 0;padding:0 1em;position:relative}div#\:\$p > svg > foreignObject > section blockquote:after,div#\:\$p > svg > foreignObject > section blockquote:before{content:"“";display:block;font-family:Times New Roman,serif;font-weight:700;position:absolute}div#\:\$p > svg > foreignObject > section blockquote:before{left:0;top:0}div#\:\$p > svg > foreignObject > section blockquote:after{bottom:0;right:0;transform:rotate(180deg)}div#\:\$p > svg > foreignObject > section blockquote>:first-child{margin-top:0}div#\:\$p > svg > foreignObject > section mark{background:transparent}div#\:\$p > svg > foreignObject > section table{border-collapse:collapse;border-spacing:0;margin:1em 0 0}div#\:\$p > svg > foreignObject > section table td,div#\:\$p > svg > foreignObject > section table th{border-style:solid;border-width:1px;padding:.2em .4em}div#\:\$p > svg > foreignObject > section footer,div#\:\$p > svg > foreignObject > section header,div#\:\$p > svg > foreignObject > section:after{box-sizing:border-box;font-size:66%;height:70px;line-height:50px;overflow:hidden;padding:10px 25px;position:absolute}div#\:\$p > svg > foreignObject > section:after{--marpit-root-font-size:66%}div#\:\$p > svg > foreignObject > section header{top:0}div#\:\$p > svg > foreignObject > section footer,div#\:\$p > svg > foreignObject > section header{left:0;right:0}div#\:\$p > svg > foreignObject > section footer{bottom:0}div#\:\$p > svg > foreignObject > section{--color-background:light-dark(#fff8e1, #455a64);--color-background-stripe:light-dark(
rgba(69,90,100,.1),
rgba(255,248,225,.1)
);--color-foreground:light-dark(#455a64, #fff8e1);--color-dimmed:light-dark(
#6a7a7d,
#dad8c8
);--color-highlight:light-dark(#0288d1, #81d4fa);background-color:var(--color-background);background-image:linear-gradient(135deg, hsla(0,0%,53%,0), hsla(0,0%,53%,.02) 50%, hsla(0,0%,100%,0) 0, hsla(0,0%,100%,.05));color:var(--color-foreground);color-scheme:light;font-family:Lato,Avenir Next,Avenir,Trebuchet MS,Segoe UI,sans-serif;font-size:35px;height:720px;letter-spacing:1.25px;line-height:1.35;overflow-wrap:break-word;padding:70px;width:1280px}div#\:\$p > svg > foreignObject > section{--marpit-root-font-size:35px}div#\:\$p > svg > foreignObject > section:after{bottom:0;font-size:80%;right:0}div#\:\$p > svg > foreignObject > section:after{--marpit-root-font-size:80%}div#\:\$p > svg > foreignObject > section a,div#\:\$p > svg > foreignObject > section mark{color:var(--color-highlight)}div#\:\$p > svg > foreignObject > section code{background:var(--color-dimmed);color:var(--color-background)}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1) strong,div#\:\$p > svg > foreignObject > section :is(h2, marp-h2) strong,div#\:\$p > svg > foreignObject > section :is(h3, marp-h3) strong,div#\:\$p > svg > foreignObject > section :is(h4, marp-h4) strong,div#\:\$p > svg > foreignObject > section :is(h5, marp-h5) strong,div#\:\$p > svg > foreignObject > section :is(h6, marp-h6) strong{color:var(--color-highlight)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre){background:var(--color-foreground)}div#\:\$p > svg > foreignObject > section :is(pre, marp-pre)>code{background:transparent}div#\:\$p > svg > foreignObject > section blockquote:after,div#\:\$p > svg > foreignObject > section blockquote:before,div#\:\$p > svg > foreignObject > section footer,div#\:\$p > svg > foreignObject > section header,div#\:\$p > svg > foreignObject > section section:after{color:var(--color-dimmed)}div#\:\$p > svg > foreignObject > section table td,div#\:\$p > svg > foreignObject > section table th{border-color:var(--color-foreground)}div#\:\$p > svg > foreignObject > section table thead th{background:var(--color-foreground);color:var(--color-background)}div#\:\$p > svg > foreignObject > section table tbody>tr:nth-child(odd) td,div#\:\$p > svg > foreignObject > section table tbody>tr:nth-child(odd) th{background:var(--color-background-stripe, transparent)}div#\:\$p > svg > foreignObject > section>:first-child,div#\:\$p > svg > foreignObject > section>header:first-child+*{margin-top:0}div#\:\$p > svg > foreignObject > section:where(.invert){color-scheme:dark}div#\:\$p > svg > foreignObject > section:where(.gaia){--color-background:#0288d1;--color-background-stripe:rgba(255,248,225,.1);--color-foreground:#fff8e1;--color-dimmed:#cce2de;--color-highlight:#81d4fa;}div#\:\$p > svg > foreignObject > section:where(.lead){align-items:stretch;flex-flow:column nowrap;place-content:safe center center}div#\:\$p > svg > foreignObject > section:where(.lead) :is(h1, marp-h1),div#\:\$p > svg > foreignObject > section:where(.lead) :is(h2, marp-h2),div#\:\$p > svg > foreignObject > section:where(.lead) :is(h3, marp-h3),div#\:\$p > svg > foreignObject > section:where(.lead) :is(h4, marp-h4),div#\:\$p > svg > foreignObject > section:where(.lead) :is(h5, marp-h5),div#\:\$p > svg > foreignObject > section:where(.lead) :is(h6, marp-h6){text-align:center}div#\:\$p > svg > foreignObject > section:where(.lead) p{text-align:center}div#\:\$p > svg > foreignObject > section:where(.lead) blockquote>:is(h1, marp-h1),div#\:\$p > svg > foreignObject > section:where(.lead) blockquote>:is(h2, marp-h2),div#\:\$p > svg > foreignObject > section:where(.lead) blockquote>:is(h3, marp-h3),div#\:\$p > svg > foreignObject > section:where(.lead) blockquote>:is(h4, marp-h4),div#\:\$p > svg > foreignObject > section:where(.lead) blockquote>:is(h5, marp-h5),div#\:\$p > svg > foreignObject > section:where(.lead) blockquote>:is(h6, marp-h6),div#\:\$p > svg > foreignObject > section:where(.lead) blockquote>p{text-align:left}div#\:\$p > svg > foreignObject > section:where(.lead) ol>li>p,div#\:\$p > svg > foreignObject > section:where(.lead) ul>li>p{text-align:left}div#\:\$p > svg > foreignObject > section:where(.lead) table{margin-left:auto;margin-right:auto}div#\:\$p > svg > foreignObject > section{background-color:white}div#\:\$p > svg > foreignObject > section *{color:black}div#\:\$p > svg > foreignObject > section[data-marpit-scope-bYW2t3Vb]{background-color:#3b86cb}div#\:\$p > svg > foreignObject > section[data-marpit-scope-bYW2t3Vb] a{color:white}div#\:\$p > svg > foreignObject > section[data-marpit-scope-2zM6nQgO]{background-color:#3b86cb}div#\:\$p > svg > foreignObject > section[data-marpit-scope-2zM6nQgO] a{color:white}div#\:\$p > svg > foreignObject > section[data-marpit-scope-8gkiitxR]{background-color:#3b86cb}div#\:\$p > svg > foreignObject > section[data-marpit-scope-8gkiitxR] a{color:white}div#\:\$p > svg > foreignObject > section[data-marpit-scope-EB9arUbV]{background-color:#3b86cb}div#\:\$p > svg > foreignObject > section[data-marpit-scope-EB9arUbV] a{color:white}div#\:\$p > svg > foreignObject > section[data-marpit-scope-y9c4SyfX]{background-color:#3b86cb}div#\:\$p > svg > foreignObject > section[data-marpit-scope-y9c4SyfX] a{color:white}div#\:\$p > svg > foreignObject > section[data-marpit-scope-mSWSeoCb]{background-color:#3b86cb}div#\:\$p > svg > foreignObject > section[data-marpit-scope-mSWSeoCb] a{color:white}div#\:\$p > svg > foreignObject > section[data-marpit-scope-sqvRmN4z]{background-color:#3b86cb}div#\:\$p > svg > foreignObject > section[data-marpit-scope-sqvRmN4z] a{color:white}div#\:\$p > svg > foreignObject > section[data-marpit-scope-p23F8YTA]{background-color:#3b86cb}div#\:\$p > svg > foreignObject > section[data-marpit-scope-p23F8YTA] a{color:white}div#\:\$p > svg > foreignObject > section[data-marpit-scope-Rs2Epvnb] table{height:80%;width:100%}div#\:\$p > svg > foreignObject > section[data-marpit-scope-Rs2Epvnb] th{background-color:#3b86cb}div#\:\$p > svg > foreignObject > section[data-marpit-scope-C7DUNvk9]{background-color:#3b86cb}div#\:\$p > svg > foreignObject > section[data-marpit-scope-C7DUNvk9] a{color:white}div#\:\$p > svg > foreignObject > section[data-marpit-scope-tgcRMJoQ]{background-color:#3b86cb}div#\:\$p > svg > foreignObject > section[data-marpit-scope-tgcRMJoQ] a{color:white}div#\:\$p > svg > foreignObject > section[data-marpit-scope-55Ht15kC]{background-color:#3b86cb}div#\:\$p > svg > foreignObject > section[data-marpit-scope-55Ht15kC] *{color:white}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"]{columns:initial!important;display:block!important;padding:0!important}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"]::before, div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"]::after, div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="content"]::before, div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="content"]::after{display:none!important}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"] > div[data-marpit-advanced-background-container]{all:initial;display:flex;flex-direction:row;height:100%;overflow:hidden;width:100%}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"] > div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction="vertical"]{flex-direction:column}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"][data-marpit-advanced-background-split] > div[data-marpit-advanced-background-container]{width:var(--marpit-advanced-background-split, 50%)}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"][data-marpit-advanced-background-split="right"] > div[data-marpit-advanced-background-container]{margin-left:calc(100% - var(--marpit-advanced-background-split, 50%))}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"] > div[data-marpit-advanced-background-container] > figure{all:initial;background-position:center;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"] > div[data-marpit-advanced-background-container] > figure > figcaption{position:absolute;border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="content"], div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="pseudo"]{background:transparent!important}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="pseudo"], div#\:\$p > svg[data-marpit-svg] > foreignObject[data-marpit-advanced-background="pseudo"]{pointer-events:none!important}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background-split]{width:100%;height:100%}
</style></head><body><div class="bespoke-marp-osc"><button data-bespoke-marp-osc="prev" tabindex="-1" title="Previous slide">Previous slide</button><span data-bespoke-marp-osc="page"></span><button data-bespoke-marp-osc="next" tabindex="-1" title="Next slide">Next slide</button><button data-bespoke-marp-osc="fullscreen" tabindex="-1" title="Toggle fullscreen (f)">Toggle fullscreen</button><button data-bespoke-marp-osc="presenter" tabindex="-1" title="Open presenter view (p)">Open presenter view</button></div><div id=":$p"><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://images.unsplash.com/photo-1527567018838-584d3468eb85");background-size:1600px auto;filter:contrast(110%);"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="1" data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="content">
<h2 id="project-development-guide">Project Development Guide</h2>
<p><a href="mailto:fivos.doganis@gmail.com">fivos.doganis@gmail.com</a></p>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="2" data-marpit-scope-bYW2t3Vb="" data-class="lead" data-theme="gaia" lang="C" class="lead" style="--class:lead;--theme:gaia;">
<h1 id="kiss"><a href="https://en.wikipedia.org/wiki/KISS_principle">KISS</a></h1>
<h1 id="%F0%9F%92%8B"><img class="emoji" draggable="false" alt="💋" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f48b.svg" data-marp-twemoji=""/></h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:72%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://media.planview.com/clarizen/wp-content/upload/2017/05/KISS-Principle.jpg");background-size:auto 977px;filter:contrast(180%);"></figure></div></section></foreignObject><foreignObject width="28%" height="720"><section id="3" data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:72%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
<h1 id="k-eep"><strong>K</strong> eep</h1>
<h1 id="i-t"><strong>I</strong> t</h1>
<h1 id="s-imple"><strong>S</strong> imple</h1>
<h1 id="s-tupid"><strong>S</strong> tupid</h1>
<br />
<br />
<h3 id="easy"><a href="https://mattilehtinen.com/articles/4-most-important-software-development-principles-dry-yagni-kiss-and-sine/">!= Easy</a></h3>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="4" data-class="lead" data-theme="gaia" lang="C" class="lead" style="--class:lead;--theme:gaia;">
<h1 id="simplify-simplify-simplify">"<s>Simplify</s>, <s>Simplify</s>, Simplify"</h1>
<p><em>Steve Jobs</em></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="5" data-marpit-scope-2zM6nQgO="" data-class="lead" data-theme="gaia" lang="C" class="lead" style="--class:lead;--theme:gaia;">
<h1 id="yagni"><a href="https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it">YAGNI</a></h1>
<h1 id="%F0%9F%94%AE"><img class="emoji" draggable="false" alt="🔮" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f52e.svg" data-marp-twemoji=""/></h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:49%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("data:image/webp;base64,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");background-size:auto 1200px;filter:contrast(130%);"></figure></div></section></foreignObject><foreignObject width="51%" height="720"><section id="6" data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:49%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
<h2 id="y-ou"><strong>Y</strong> ou</h2>
<h2 id="a-int"><strong>A</strong> in't</h2>
<h2 id="g-onna"><strong>G</strong> onna</h2>
<h2 id="n-eed"><strong>N</strong> eed</h2>
<h2 id="i-t-1"><strong>I</strong> t</h2>
<p>Code for <strong>now</strong>,<br />
<a href="https://mattilehtinen.com/articles/4-most-important-software-development-principles-dry-yagni-kiss-and-sine/">not for the future</a>.<br />
<strong>Refactor often</strong>.</p>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="7" data-marpit-scope-8gkiitxR="" data-class="lead" data-theme="gaia" lang="C" class="lead" style="--class:lead;--theme:gaia;">
<h1 id="dry"><a href="https://en.wikipedia.org/wiki/Don%27t_repeat_yourself">DRY</a></h1>
<h1 id="%F0%9F%90%BE"><img class="emoji" draggable="false" alt="🐾" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f43e.svg" data-marp-twemoji=""/></h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:68%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://images.hive.blog/0x0/https://cdn.steemitimages.com/DQmf3wLDHLsaMZRmttzMYf7QKcQWS9uqkeGbYgwBDNoESKs/image.png");background-size:790px auto;"></figure></div></section></foreignObject><foreignObject width="32%" height="720"><section id="8" data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:68%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
<h1 id="d-ont"><strong>D</strong> on't</h1>
<h1 id="r-epeat"><strong>R</strong> epeat</h1>
<h1 id="y-ourself"><strong>Y</strong> ourself</h1>
<br />
<p>!= WET :</p>
<p><s><strong>W</strong>rite <strong>E</strong>verything <strong>T</strong>wice</s></p>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="9" data-theme="gaia" lang="C" style="--theme:gaia;">
<h1 id="no-copy-paste"><strong>No</strong> Copy Paste!</h1>
<br />
<h2 id="copy-paste--code-debt">Copy Paste == Code <strong>Debt</strong></h2>
<h2 id="copy-paste--refactoring-opportunity">Copy Paste == <strong>Refactoring</strong> Opportunity</h2>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:60%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://miro.medium.com/v2/1*fnQ00ua2TFyIV3Ty-itlGw.jpeg");background-size:auto 720px;"></figure></div></section></foreignObject><foreignObject width="40%" height="720"><section id="10" data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:60%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
<h1 id="copy-paste"><s>Copy Paste</s></h1>
<br />
<h2 id="stop">Stop!</h2>
<h2 id="think">Think</h2>
<h2 id="refactor-now"><strong>Refactor Now!</strong></h2>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="11" data-marpit-scope-EB9arUbV="" data-class="lead" data-theme="gaia" lang="C" class="lead" style="--class:lead;--theme:gaia;">
<h1 id="flow-theory"><a href="https://en.wikipedia.org/wiki/Flow_(psychology)">Flow Theory</a></h1>
<h2 id="the-art-of-staying-in-the-zone">The art of staying in the zone</h2>
<p>by Mihály Csíkszentmihályi</p>
<h1 id="%F0%9F%93%88"><img class="emoji" draggable="false" alt="📈" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f4c8.svg" data-marp-twemoji=""/></h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://cdn.elearningindustry.com/wp-content/uploads/2015/06/Flow-2.jpg");background-size:contain;"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="12" data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="content"></section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("data:image/png;base64,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");background-size:auto 1060px;"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="13" data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="content"></section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="14" data-marpit-scope-y9c4SyfX="" data-class="lead" data-theme="gaia" lang="C" class="lead" style="--class:lead;--theme:gaia;">
<h1 id="stuck">Stuck?</h1>
<h2 id="fight-procrastination">Fight procrastination</h2>
<h1 id="%F0%9F%A5%8B"><img class="emoji" draggable="false" alt="🥋" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f94b.svg" data-marp-twemoji=""/></h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="15" data-class="lead" data-theme="gaia" lang="C" class="lead" style="--class:lead;--theme:gaia;">
<p>TODO ;)</p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="16" data-theme="gaia" lang="C" style="--theme:gaia;">
<h1 id="fighting-procrastination">Fighting procrastination</h1>
<ul>
<li><strong>OK to fail</strong>
<ul>
<li><s>"Die and retry"</s> <img class="emoji" draggable="false" alt="➡️" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/27a1.svg" data-marp-twemoji=""/> Code and refactor</li>
</ul>
</li>
<li>Decompose into <strong>micro actions</strong>
<ul>
<li>Github issues + tags ("easy", "good first issue", etc.)</li>
</ul>
</li>
<li>Start just for <strong>5 minutes</strong>
<ul>
<li>identify easy issue</li>
<li>fix it to get the ball rolling</li>
</ul>
</li>
<li>Adjust skills and difficulty to stay in the <a href="#12">zone</a></li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="17" data-marpit-scope-mSWSeoCb="" data-class="lead" data-theme="gaia" lang="C" class="lead" style="--class:lead;--theme:gaia;">
<h1 id="iterative-design"><a href="https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp">Iterative Design</a></h1>
<h2 id="mvp-minimum-viable-product">MVP: Minimum Viable Product</h2>
<h1 id="%E2%9E%BF"><img class="emoji" draggable="false" alt="➿" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/27bf.svg" data-marp-twemoji=""/></h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://blog.crisp.se/wp-content/uploads/2016/01/Making-sense-of-MVP-.jpg");background-size:1000px auto;filter:hue-rotate(220deg);"><figcaption>saturation:120%</figcaption></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="18" data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="content"></section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="19" data-marpit-scope-sqvRmN4z="" data-class="lead" data-theme="gaia" lang="C" class="lead" style="--class:lead;--theme:gaia;">
<h1 id="design-thinking"><a href="https://www.interaction-design.org/literature/article/5-stages-in-the-design-thinking-process">Design Thinking</a></h1>
<h2 id="a-non-linear-process">A Non-Linear Process</h2>
<h1 id="%F0%9F%92%A1"><img class="emoji" draggable="false" alt="💡" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f4a1.svg" data-marp-twemoji=""/></h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://miro.medium.com/v2/0*HbQmdAqFqg-EaIM1.jpg");filter:contrast(120%);"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="20" data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="content"></section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://public-images.interaction-design.org/literature/articles/materials/jgCD2Yy0TkqNPLdwuYbAJbenOXgifADJankLZjt7.webp");background-size:auto 1240px;filter:contrast(120%);"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="21" data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="content"></section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="22" data-marpit-scope-p23F8YTA="" data-class="lead" data-theme="gaia" lang="C" class="lead" style="--class:lead;--theme:gaia;">
<h1 id="ux-basics">UX Basics</h1>
<h2 id="what-makes-a-insgoodins-user-experience">What makes a <ins>good</ins> User Experience?</h2>
<h1 id="%F0%9F%A4%A9"><img class="emoji" draggable="false" alt="🤩" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f929.svg" data-marp-twemoji=""/></h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="23" data-marpit-scope-Rs2Epvnb="" data-theme="gaia" lang="C" style="--theme:gaia;">
<h1 id="use-objective-criteria">Use <strong>objective</strong> criteria</h1>
<table>
<thead>
<tr>
<th style="text-align:center">SUBJECTIVE</th>
<th style="text-align:center">OBJECTIVE</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center"><s>INTUITIVE</s></td>
<td style="text-align:center">EFFICIENT: FAST, ERROR PROOF</td>
</tr>
<tr>
<td style="text-align:center"><s>NATURAL</s></td>
<td style="text-align:center">SIMPLE</td>
</tr>
<tr>
<td style="text-align:center"><s>REALISTIC</s></td>
<td style="text-align:center">PRECISE</td>
</tr>
</tbody>
</table>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/H%C3%B6f%C3%B0i_door_knob_.jpg/1024px-H%C3%B6f%C3%B0i_door_knob_.jpg");"></figure></div></section></foreignObject><foreignObject width="50%" height="720"><section id="24" data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
<h1 id="affordance"><a href="https://en.wikipedia.org/wiki/Affordance">Affordance</a></h1>
<h2 id="form-%E2%9E%A1%EF%B8%8F-function">Form <img class="emoji" draggable="false" alt="➡️" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/27a1.svg" data-marp-twemoji=""/> function</h2>
<ul>
<li>button <img class="emoji" draggable="false" alt="🎹" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f3b9.svg" data-marp-twemoji=""/></li>
<li>door knob <img class="emoji" draggable="false" alt="🚪" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f6aa.svg" data-marp-twemoji=""/></li>
<li>hammer <img class="emoji" draggable="false" alt="🔨" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f528.svg" data-marp-twemoji=""/></li>
</ul>
<h2 id="discoverability">Discoverability</h2>
<ul>
<li>user guesses right</li>
</ul>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-footer="Castlevania :heart: item : **BAD** affordance!" data-theme="gaia" lang="C" style="--footer:Castlevania :heart: item : **BAD** affordance!;--theme:gaia;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguFHXwjsSLsCJAwrVvY6MxhTR-7wB2W9q1KUaijBNxNkLdk_4uap4zlWVddL4EINYv86CWadXUBJFQrg4wJOTuu14PtAe4ZUn4Q8AOXH0hWraXf0cV7H5Rnv44q8PGsNTq-lT8huVc30THQ4nHu1Mqr1lcPSQeyhPcAdmqnhCa1DTP0QXJfOYAf1zHZh4x/s1600/Castlevania_II-Belmont_s_Revenge_(GB)_04.png");background-size:600px auto;filter:contrast(110%);"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="25" data-footer="Castlevania :heart: item : **BAD** affordance!" data-theme="gaia" lang="C" style="--footer:Castlevania :heart: item : **BAD** affordance!;--theme:gaia;" data-marpit-advanced-background="content"><footer>Castlevania <img class="emoji" draggable="false" alt="❤️" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/2764.svg" data-marp-twemoji=""/> item : <strong>BAD</strong> affordance!</footer>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-footer="Castlevania :heart: item : **BAD** affordance!" data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:38%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://i0.wp.com/codemyui.com/wp-content/uploads/2016/03/circle-menu-effect.gif");background-size:1440px auto;"></figure></div></section></foreignObject><foreignObject width="62%" height="720"><section id="26" data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:38%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
<h1 id="juice"><a href="https://sefaertunc.medium.com/game-design-series-ii-game-juice-92f6702d4991">Juice</a></h1>
<h3 id="more-than-eye-candy"><a href="https://garden.bradwoods.io/notes/design/juice">More than eye-candy</a></h3>
<ul>
<li>
<p>action continuity</p>
</li>
<li>
<p><a href="https://gameanalytics.com/blog/squeezing-more-juice-out-of-your-game-design/">smoother experience</a> (TWEEN / lerp)</p>
<ul>
<li><a href="https://easings.net/">Robert Penner's equations</a></li>
</ul>
</li>
<li>
<p>user satisfaction <img class="emoji" draggable="false" alt="🤩" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f929.svg" data-marp-twemoji=""/></p>
<ul>
<li>reward mechanism</li>
</ul>
</li>
<li>
<p><img class="emoji" draggable="false" alt="⚠️" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/26a0.svg" data-marp-twemoji=""/> avoid <a href="https://www.reddit.com/r/gamedev/comments/10673y5/comment/j3godb7/">bad juice</a></p>
<ul>
<li>distracting, unexpected</li>
</ul>
</li>
</ul>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://miro.medium.com/v2/resize:fit:1200/format:webp/1*hFacSgGm1s2sw7WiSB3gkg.gif");background-size:125%;"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="27" data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="content"></section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://miro.medium.com/v2/resize:fit:1200/format:webp/1*kEHNcMZFM4mmiiSrLY_0pQ.gif");background-size:101%;"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="28" data-theme="gaia" lang="C" style="--theme:gaia;" data-marpit-advanced-background="content"></section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="29" data-theme="gaia" lang="C" style="--theme:gaia;">
<h1 id="the-laws-of-ux"><a href="https://lawsofux.com">The laws of UX</a></h1>
<h2 id="fittss-law"><a href="https://www.interaction-design.org/literature/topics/fitts-law#:~:text=Fitts'%20law%20states%20that%20the,the%20size%20of%20the%20target.">Fitts's law</a></h2>
<div id=video><video width="800" autoplay muted loop src="https://public-images.interaction-design.org/tags/td-fitts-law-animation-click.mp4" type="video/mp4"></video></div>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="30" data-footer="KPI : **K**ey **P**erformance **I**ndicator" data-theme="gaia" lang="C" style="--footer:KPI : **K**ey **P**erformance **I**ndicator;--theme:gaia;">
<h1 id="find-measurable-kpis">Find <strong>measurable</strong> KPIs*</h1>
<h2 id="examples">Examples</h2>
<ul>
<li><strong>How long</strong> does the user take to reach the target?</li>
<li><strong>How many</strong> mistakes are made before succeeding at a task?</li>
<li><strong>How accurate</strong> is the result vs a reference?</li>
</ul>
<footer>KPI : <strong>K</strong>ey <strong>P</strong>erformance <strong>I</strong>ndicator</footer>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="31" data-marpit-scope-C7DUNvk9="" data-class="lead" data-theme="gaia" lang="C" class="lead" style="--class:lead;--theme:gaia;">
<h1 id="architecture-basics">Architecture Basics</h1>
<h1 id="%F0%9F%A7%B1"><img class="emoji" draggable="false" alt="🧱" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f9f1.svg" data-marp-twemoji=""/></h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="32" data-theme="gaia" lang="C" style="--theme:gaia;">
<h2 id="design-patterns"><a href="https://refactoring.guru/design-patterns">Design Patterns</a></h2>
<ul>
<li>Builder, Observer, State can be interesting</li>
<li><img class="emoji" draggable="false" alt="⚠️" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/26a0.svg" data-marp-twemoji=""/> avoid Singletons!</li>
<li><strong>adapt</strong> the pattern to your code, don't use as-is!</li>
</ul>
<h2 id="game-programming-patterns-%F0%9F%91%88"><a href="https://gameprogrammingpatterns.com/contents.html">Game Programming Patterns</a> <img class="emoji" draggable="false" alt="👈" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f448.svg" data-marp-twemoji=""/></h2>
<ul>
<li><a href="https://gameprogrammingpatterns.com/game-loop.html">Game Loop</a></li>
<li><a href="https://gameprogrammingpatterns.com/object-pool.html">Object Pool</a></li>
</ul>
<h2 id="antipatterns"><a href="https://sourcemaking.com/antipatterns/software-development-antipatterns">AntiPatterns</a></h2>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-footer="https://refactoring.guru/design-patterns/criticism" data-theme="gaia" lang="C" style="--footer:https://refactoring.guru/design-patterns/criticism;--theme:gaia;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://i.imgur.com/ZuluEfo.jpg");background-size:auto 650px;"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="33" data-footer="https://refactoring.guru/design-patterns/criticism" data-theme="gaia" lang="C" style="--footer:https://refactoring.guru/design-patterns/criticism;--theme:gaia;" data-marpit-advanced-background="content"><footer><a href="https://refactoring.guru/design-patterns/criticism">https://refactoring.guru/design-patterns/criticism</a></footer>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-footer="https://refactoring.guru/design-patterns/criticism" data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="vertical"><figure style="background-image:url("https://ecsyjs.github.io/ecsy/docs/manual/images/ECSY%20Architecture.svg");background-size:contain;"></figure><figure style="background-image:url("https://ecsyjs.github.io/ecsy/docs/manual/images/dragons.svg");background-size:contain;"></figure></div></section></foreignObject><foreignObject width="50%" height="720"><section id="34" data-theme="gaia" lang="C" style="--theme:gaia;--marpit-advanced-background-split:50%;" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
<h1 id="ecs">ECS</h1>
<p><strong>E</strong>ntity <strong>C</strong>omponent <strong>S</strong>ystem</p>
<h2 id="articles">Articles</h2>
<ul>
<li><a href="https://blog.mozvr.com/introducing-ecsy/">Mozilla</a></li>
<li><a href="https://medium.com/ingeniouslysimple/entities-components-and-systems-89c31464240d">Medium</a>
<ul>
<li><a href="https://maxwellforbes.com/posts/typescript-ecs-implementation/">ECS in 99 lines of code</a></li>
</ul>
</li>
<li><a href="https://developer.apple.com/documentation/realitykit/implementing-systems-for-entities-in-a-scene">ECS @ Apple</a> <a href="https://developer.apple.com/videos/play/wwdc2021/10074/">(Video 25')</a> <img class="emoji" draggable="false" alt="⭐" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/2b50.svg" data-marp-twemoji=""/></li>
<li>used in <a href="https://www.youtube.com/watch?v=W3aieHjyNvw">Overwatch</a></li>
</ul>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="35" data-marpit-scope-tgcRMJoQ="" data-class="lead" data-theme="gaia" lang="C" class="lead" style="--class:lead;--theme:gaia;">
<h1 id="final-tips">Final tips</h1>
<h2 id="to-keep-your-mind-and-code-sane">To keep your mind and code sane</h2>
<h1 id="%F0%9F%93%9D"><img class="emoji" draggable="false" alt="📝" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f4dd.svg" data-marp-twemoji=""/></h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="36" data-theme="gaia" lang="C" style="--theme:gaia;">
<h1 id="self-documenting-code"><a href="https://stackoverflow.com/a/209089">Self documenting code</a></h1>
<ul>
<li>document the "why?"
<ul>
<li>at high-level</li>
<li>if needed</li>
</ul>
</li>
<li>avoid documentation altogether
<ul>
<li>write tests, examples, tutorials instead</li>
<li>write <strong>code as documentation</strong></li>
</ul>
</li>
</ul>
<h1 id="%F0%9F%91%87"><img class="emoji" draggable="false" alt="👇" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f447.svg" data-marp-twemoji=""/></h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="37" data-theme="gaia" lang="C" style="--theme:gaia;">
<h1 id="code-as-documentation">Code as documentation</h1>
<ul>
<li><strong>BAD</strong> <img class="emoji" draggable="false" alt="❌" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/274c.svg" data-marp-twemoji=""/></li>
</ul>
<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-cpp"><span class="hljs-type">const</span> <span class="hljs-type">float</span> a = <span class="hljs-number">9.81</span>; <span class="hljs-comment">//gravitational force</span>
<span class="hljs-type">float</span> b = <span class="hljs-number">5</span>; <span class="hljs-comment">//time in seconds</span>
<span class="hljs-type">float</span> c = (<span class="hljs-number">1</span>/<span class="hljs-number">2</span>)*a*(b^<span class="hljs-number">2</span>) <span class="hljs-comment">//multiply the time and gravity together to get displacement.</span>
</code></pre>
<ul>
<li><strong>GOOD</strong> <img class="emoji" draggable="false" alt="✅" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/2705.svg" data-marp-twemoji=""/></li>
</ul>
<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-cpp"><span class="hljs-function"><span class="hljs-type">float</span> <span class="hljs-title">computeDisplacement</span><span class="hljs-params">(<span class="hljs-type">float</span> time_s)</span> </span>{
<span class="hljs-type">const</span> <span class="hljs-type">float</span> g = <span class="hljs-number">9.81</span>;
<span class="hljs-type">float</span> displacement = (<span class="hljs-number">1</span> / <span class="hljs-number">2</span>) * g * (time_s ^ <span class="hljs-number">2</span>);
<span class="hljs-keyword">return</span> displacement;
}
</code></pre>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-footer="https://martinfowler.com/bliki/TwoHardThings.html" data-theme="gaia" lang="C" style="--footer:https://martinfowler.com/bliki/TwoHardThings.html;--theme:gaia;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("https://preview.redd.it/error-says-array-indices-start-at-v0-w1k5uguzgnaa1.jpg?auto=webp&s=2cf01368a708dfff0d64801d11e90ca7bd5ab054");background-size:85%;"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="38" data-footer="https://martinfowler.com/bliki/TwoHardThings.html" data-theme="gaia" lang="C" style="--footer:https://martinfowler.com/bliki/TwoHardThings.html;--theme:gaia;" data-marpit-advanced-background="content"><footer><a href="https://martinfowler.com/bliki/TwoHardThings.html">https://martinfowler.com/bliki/TwoHardThings.html</a></footer>
</section>
</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-footer="https://martinfowler.com/bliki/TwoHardThings.html" data-theme="gaia" lang="C" style="" data-marpit-advanced-background="pseudo"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="39" data-theme="gaia" lang="C" style="--theme:gaia;">
<h1 id="naming-conventions"><a href="https://medium.com/swlh/naming-conventions-101-for-developers-8997bb96fd60">Naming Conventions</a></h1>
<ul>
<li>"What is this object? What does it do?"</li>
<li>Object, variable <img class="emoji" draggable="false" alt="➡️" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/27a1.svg" data-marp-twemoji=""/> noun
<ul>
<li><code>user</code>, <code>accountNumber</code>, <code>customerEmail</code></li>
</ul>
</li>
<li>Function, method <img class="emoji" draggable="false" alt="➡️" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/27a1.svg" data-marp-twemoji=""/> verb
<ul>
<li><code>user.login()</code>, <code>shutDown()</code></li>
</ul>
</li>
<li>Boolean <img class="emoji" draggable="false" alt="➡️" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/27a1.svg" data-marp-twemoji=""/> adjective
<ul>
<li><code>allowed</code>, <code>disabled</code></li>
<li><code>user.active()</code> <img class="emoji" draggable="false" alt="❌" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/274c.svg" data-marp-twemoji=""/></li>
<li><code>user.isActive()</code> <img class="emoji" draggable="false" alt="✅" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/2705.svg" data-marp-twemoji=""/></li>
</ul>
</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="40" data-theme="gaia" lang="C" style="--theme:gaia;">
<h1 id="naming-tips"><a href="https://hackernoon.com/tips-for-writing-maintainable-code-naming-things">Naming tips</a></h1>
<ul>
<li>convey <strong>intention</strong><br />
<code>var d // elapsed time in days</code> <img class="emoji" draggable="false" alt="❌" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/274c.svg" data-marp-twemoji=""/> vs <code>var elapsedTime_days</code> <img class="emoji" draggable="false" alt="✅" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/2705.svg" data-marp-twemoji=""/></li>
<li>name <strong>arguments</strong> too!<br />
<code>void copyChars(char a1[], char a2[])</code> <img class="emoji" draggable="false" alt="❌" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/274c.svg" data-marp-twemoji=""/><br />
<code>void copyChars(char source[], char destination[])</code> <img class="emoji" draggable="false" alt="✅" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/2705.svg" data-marp-twemoji=""/></li>
<li><strong>pronunciation</strong> (avoid abbreviations)<br />
<code>genymdms</code> <img class="emoji" draggable="false" alt="❌" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/274c.svg" data-marp-twemoji=""/> vs <code>generationTimestamp</code> <img class="emoji" draggable="false" alt="✅" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/2705.svg" data-marp-twemoji=""/></li>
<li><strong>no magic numbers</strong> (keep your code searchable and maintainable)<br />
<code>s / 5</code> <img class="emoji" draggable="false" alt="❌" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/274c.svg" data-marp-twemoji=""/> vs <code>task / WORK_DAYS_PER_WEEK</code> <img class="emoji" draggable="false" alt="✅" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/2705.svg" data-marp-twemoji=""/></li>
<li>use <strong>camelCase</strong></li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="41" data-class="lead" data-theme="gaia" lang="C" class="lead" style="--class:lead;--theme:gaia;">
<blockquote>
<p>Any fool can write code that a computer can understand.<br />
Good programmers <strong>write code that humans can understand</strong>.</p>
</blockquote>
<p><em>Martin Fowler</em></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="42" data-marpit-scope-55Ht15kC="" data-class="lead" data-footer="cover photo by [Megha Ajith](https://unsplash.com/@megs7171) on [Unsplash](https://unsplash.com/)" data-theme="gaia" lang="C" class="lead" style="--class:lead;--footer:cover photo by [Megha Ajith](https://unsplash.com/@megs7171) on [Unsplash](https://unsplash.com/);--theme:gaia;">
<h1 id="the-end">The End!</h1>
<h1 id="%F0%9F%91%8B"><img class="emoji" draggable="false" alt="👋" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/svg/1f44b.svg" data-marp-twemoji=""/></h1>
<footer>cover photo by <a href="https://unsplash.com/@megs7171">Megha Ajith</a> on <a href="https://unsplash.com/">Unsplash</a></footer>
</section>
<script>!function(){"use strict";const t={h1:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"1"},style:"display: block; font-size: 2em; margin-block-start: 0.67em; margin-block-end: 0.67em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h2:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"2"},style:"display: block; font-size: 1.5em; margin-block-start: 0.83em; margin-block-end: 0.83em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h3:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"3"},style:"display: block; font-size: 1.17em; margin-block-start: 1em; margin-block-end: 1em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h4:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"4"},style:"display: block; margin-block-start: 1.33em; margin-block-end: 1.33em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h5:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"5"},style:"display: block; font-size: 0.83em; margin-block-start: 1.67em; margin-block-end: 1.67em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h6:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"6"},style:"display: block; font-size: 0.67em; margin-block-start: 2.33em; margin-block-end: 2.33em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},span:{proto:()=>HTMLSpanElement},pre:{proto:()=>HTMLElement,style:"display: block; font-family: monospace; white-space: pre; margin: 1em 0; --marp-auto-scaling-white-space: pre;"}},e="data-marp-auto-scaling-wrapper",i="data-marp-auto-scaling-svg",n="data-marp-auto-scaling-container";class s extends HTMLElement{container;containerSize;containerObserver;svg;svgComputedStyle;svgPreserveAspectRatio="xMinYMid meet";wrapper;wrapperSize;wrapperObserver;constructor(){super();const t=t=>([e])=>{const{width:i,height:n}=e.contentRect;this[t]={width:i,height:n},this.updateSVGRect()};this.attachShadow({mode:"open"}),this.containerObserver=new ResizeObserver(t("containerSize")),this.wrapperObserver=new ResizeObserver((...e)=>{t("wrapperSize")(...e),this.flushSvgDisplay()})}static get observedAttributes(){return["data-downscale-only"]}connectedCallback(){this.shadowRoot.innerHTML=`\n<style>\n svg[${i}] { display: block; width: 100%; height: auto; vertical-align: top; }\n span[${n}] { display: table; white-space: var(--marp-auto-scaling-white-space, nowrap); width: max-content; }\n</style>\n<div ${e}>\n <svg part="svg" ${i}>\n <foreignObject><span ${n}><slot></slot></span></foreignObject>\n </svg>\n</div>\n `.split(/\n\s*/).join(""),this.wrapper=this.shadowRoot.querySelector(`div[${e}]`)??void 0;const t=this.svg;this.svg=this.wrapper?.querySelector(`svg[${i}]`)??void 0,this.svg!==t&&(this.svgComputedStyle=this.svg?window.getComputedStyle(this.svg):void 0),this.container=this.svg?.querySelector(`span[${n}]`)??void 0,this.observe()}disconnectedCallback(){this.svg=void 0,this.svgComputedStyle=void 0,this.wrapper=void 0,this.container=void 0,this.observe()}attributeChangedCallback(){this.observe()}flushSvgDisplay(){const{svg:t}=this;t&&(t.style.display="inline",requestAnimationFrame(()=>{t.style.display=""}))}observe(){this.containerObserver.disconnect(),this.wrapperObserver.disconnect(),this.wrapper&&this.wrapperObserver.observe(this.wrapper),this.container&&this.containerObserver.observe(this.container),this.svgComputedStyle&&this.observeSVGStyle(this.svgComputedStyle)}observeSVGStyle(t){const e=()=>{const i=(()=>{const e=t.getPropertyValue("--preserve-aspect-ratio");if(e)return e.trim();return`x${(({textAlign:t,direction:e})=>{if(t.endsWith("left"))return"Min";if(t.endsWith("right"))return"Max";if("start"===t||"end"===t){let i="rtl"===e;return"end"===t&&(i=!i),i?"Max":"Min"}return"Mid"})(t)}YMid meet`})();i!==this.svgPreserveAspectRatio&&(this.svgPreserveAspectRatio=i,this.updateSVGRect()),t===this.svgComputedStyle&&requestAnimationFrame(e)};e()}updateSVGRect(){let t=Math.ceil(this.containerSize?.width??0);const e=Math.ceil(this.containerSize?.height??0);void 0!==this.dataset.downscaleOnly&&(t=Math.max(t,this.wrapperSize?.width??0));const i=this.svg?.querySelector(":scope > foreignObject");if(i?.setAttribute("width",`${t}`),i?.setAttribute("height",`${e}`),this.svg&&(this.svg.setAttribute("viewBox",`0 0 ${t} ${e}`),this.svg.setAttribute("preserveAspectRatio",this.svgPreserveAspectRatio),this.svg.style.height=t<=0||e<=0?"0":""),this.container){const t=this.svgPreserveAspectRatio.toLowerCase();this.container.style.marginLeft=t.startsWith("xmid")||t.startsWith("xmax")?"auto":"0",this.container.style.marginRight=t.startsWith("xmi")?"auto":"0"}}}const r=(t,{attrs:e={},style:i})=>class extends t{constructor(...t){super(...t);for(const[t,i]of Object.entries(e))this.hasAttribute(t)||this.setAttribute(t,i);this._shadow()}static get observedAttributes(){return["data-auto-scaling"]}connectedCallback(){this._update()}attributeChangedCallback(){this._update()}_shadow(){if(!this.shadowRoot)try{this.attachShadow({mode:"open"})}catch(t){if(!(t instanceof Error&&"NotSupportedError"===t.name))throw t}return this.shadowRoot}_update(){const t=this._shadow();if(t){const e=i?`<style>:host { ${i} }</style>`:"";let n="<slot></slot>";const{autoScaling:s}=this.dataset;if(void 0!==s){n=`<marp-auto-scaling exportparts="svg:auto-scaling" ${"downscale-only"===s?"data-downscale-only":""}>${n}</marp-auto-scaling>`}t.innerHTML=e+n}}};let o;const a=Symbol(),l=()=>o??(o=!!document.createElement("div",{is:"marp-auto-scaling"}).outerHTML.startsWith("<div is"),o);let c;const d="marpitSVGPolyfill:setZoomFactor,",h=Symbol(),g=Symbol();const p=()=>{const t="Apple Computer, Inc."===navigator.vendor,e=t?[v]:[],i={then:e=>(t?(async()=>{if(void 0===c){const t=document.createElement("canvas");t.width=10,t.height=10;const e=t.getContext("2d"),i=new Image(10,10),n=new Promise(t=>{i.addEventListener("load",()=>t())});i.crossOrigin="anonymous",i.src="data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%201%201%22%3E%3CforeignObject%20width%3D%221%22%20height%3D%221%22%20requiredExtensions%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%3E%3Cdiv%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%20style%3D%22width%3A%201px%3B%20height%3A%201px%3B%20background%3A%20red%3B%20position%3A%20relative%22%3E%3C%2Fdiv%3E%3C%2FforeignObject%3E%3C%2Fsvg%3E",await n,e.drawImage(i,0,0),c=e.getImageData(5,5,1,1).data[3]<128}return c})().then(t=>{null==e||e(t?[v]:[])}):null==e||e([]),i)};return Object.assign(e,i)};let m,u;function v(t){const e="object"==typeof t&&t.target||document,i="object"==typeof t?t.zoom:t;window[g]||(Object.defineProperty(window,g,{configurable:!0,value:!0}),document.body.style.zoom=1.0001,document.body.offsetHeight,document.body.style.zoom=1,window.addEventListener("message",({data:t,origin:e})=>{if(e===window.origin)try{if(t&&"string"==typeof t&&t.startsWith(d)){const[,e]=t.split(","),i=Number.parseFloat(e);Number.isNaN(i)||(u=i)}}catch(t){console.error(t)}}));let n=!1;Array.from(e.querySelectorAll("svg[data-marpit-svg]"),t=>{var e,s,r,o;t.style.transform||(t.style.transform="translateZ(0)");const a=i||u||t.currentScale||1;m!==a&&(m=a,n=a);const l=t.getBoundingClientRect(),{length:c}=t.children;for(let i=0;i<c;i+=1){const n=t.children[i];if(n.getScreenCTM){const t=n.getScreenCTM();if(t){const i=null!==(s=null===(e=n.x)||void 0===e?void 0:e.baseVal.value)&&void 0!==s?s:0,c=null!==(o=null===(r=n.y)||void 0===r?void 0:r.baseVal.value)&&void 0!==o?o:0,d=n.children.length;for(let e=0;e<d;e+=1){const s=n.children[e];if("SECTION"===s.tagName){const{style:e}=s;e.transformOrigin||(e.transformOrigin=`${-i}px ${-c}px`),e.transform=`scale(${a}) matrix(${t.a}, ${t.b}, ${t.c}, ${t.d}, ${t.e-l.left}, ${t.f-l.top}) translateZ(0.0001px)`;break}}}}}}),!1!==n&&Array.from(e.querySelectorAll("iframe"),({contentWindow:t})=>{null==t||t.postMessage(`${d}${n}`,"null"===window.origin?"*":window.origin)})}function w({once:t=!1,target:e=document}={}){const i=function(t=document){if(t[h])return t[h];let e=!0;const i=()=>{e=!1,delete t[h]};Object.defineProperty(t,h,{configurable:!0,value:i});let n=[],s=!1;(async()=>{try{n=await p()}finally{s=!0}})();const r=()=>{for(const e of n)e({target:t});s&&0===n.length||e&&window.requestAnimationFrame(r)};return r(),i}(e);return t?(i(),()=>{}):i}m=1,u=void 0;const b=Symbol(),y=(e=document)=>{if("undefined"==typeof window)throw new Error("Marp Core's browser script is valid only in browser context.");if(((e=document)=>{const i=window[a];i||customElements.define("marp-auto-scaling",s);for(const n of Object.keys(t)){const s=`marp-${n}`,o=t[n].proto();l()&&o!==HTMLElement?i||customElements.define(s,r(o,{style:t[n].style}),{extends:n}):(i||customElements.define(s,r(HTMLElement,t[n])),e.querySelectorAll(`${n}[is="${s}"]`).forEach(t=>{t.outerHTML=t.outerHTML.replace(new RegExp(`^<${n}`,"i"),`<${s}`).replace(new RegExp(`</${n}>$`,"i"),`</${s}>`)}))}window[a]=!0})(e),e[b])return e[b];const i=w({target:e}),n=()=>{i(),delete e[b]},o=Object.assign(n,{cleanup:n,update:()=>y(e)});return Object.defineProperty(e,b,{configurable:!0,value:o}),o},f=document.currentScript;y(f?f.getRootNode():document)}();
</script></foreignObject></svg></div><div class="bespoke-marp-note" data-index="5" tabindex="0"><p></p></div><div class="bespoke-marp-note" data-index="17" tabindex="0"><p></p></div><div class="bespoke-marp-note" data-index="28" tabindex="0"><p></p></div><div class="bespoke-marp-note" data-index="41" tabindex="0"><p>











</p><p><style scoped>
{
section img {
height: 100px;
clip-path: inset(20px 50px 10px 0 round 50px);
}
</style>
<style scoped> p:nth-child(1) img {object-position:0px -40px} </style>
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Make everything as simple as possible,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;but not simpler
*Albert Einstein*
--
# K&nbsp;&nbsp;eep
# I&nbsp;&nbsp;&nbsp;&nbsp;t
# S&nbsp;&nbsp;&nbsp;imple
# S&nbsp;&nbsp;&nbsp;tupid
</p></div><script>/*!! License: https://unpkg.com/@marp-team/marp-cli@4.2.3/lib/bespoke.js.LICENSE.txt */
!function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t,n,r=(n||(n=1,t={from:function(e,t){var n,r=1===(e.parent||e).nodeType?e.parent||e:document.querySelector(e.parent||e),o=[].filter.call("string"==typeof e.slides?r.querySelectorAll(e.slides):e.slides||r.children,function(e){return"SCRIPT"!==e.nodeName}),a={},i=function(e,t){return(t=t||{}).index=o.indexOf(e),t.slide=e,t},s=function(e,t){a[e]=(a[e]||[]).filter(function(e){return e!==t})},c=function(e,t){return(a[e]||[]).reduce(function(e,n){return e&&!1!==n(t)},!0)},l=function(e,t){o[e]&&(n&&c("deactivate",i(n,t)),n=o[e],c("activate",i(n,t)))},d=function(e,t){var r=o.indexOf(n)+e;c(e>0?"next":"prev",i(n,t))&&l(r,t)},u={off:s,on:function(e,t){return(a[e]||(a[e]=[])).push(t),s.bind(null,e,t)},fire:c,slide:function(e,t){if(!arguments.length)return o.indexOf(n);c("slide",i(o[e],t))&&l(e,t)},next:d.bind(null,1),prev:d.bind(null,-1),parent:r,slides:o,destroy:function(e){c("destroy",i(n,e)),a={}}};return(t||[]).forEach(function(e){e(u)}),n||l(0),u}}),t),o=e(r);const a=document.body,i=(...e)=>history.replaceState(...e),s="",c="presenter",l="next",d=["",c,l],u="bespoke-marp-",f=`data-${u}`,m=(e,{protocol:t,host:n,pathname:r,hash:o}=location)=>{const a=e.toString();return`${t}//${n}${r}${a?"?":""}${a}${o}`},g=()=>a.dataset.bespokeView,p=e=>new URLSearchParams(location.search).get(e),v=(e,t={})=>{const n={location,setter:i,...t},r=new URLSearchParams(n.location.search);for(const t of Object.keys(e)){const n=e[t];"string"==typeof n?r.set(t,n):r.delete(t)}try{n.setter({...window.history.state??{}},"",m(r,n.location))}catch(e){console.error(e)}},h=(()=>{const e="bespoke-marp";try{return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch{return!1}})(),y=e=>{try{return localStorage.getItem(e)}catch{return null}},b=(e,t)=>{try{return localStorage.setItem(e,t),!0}catch{return!1}},w=e=>{try{return localStorage.removeItem(e),!0}catch{return!1}},x=(e,t)=>{const n="aria-hidden";t?e.setAttribute(n,"true"):e.removeAttribute(n)},k=e=>{e.parent.classList.add(`${u}parent`),e.slides.forEach(e=>e.classList.add(`${u}slide`)),e.on("activate",t=>{const n=`${u}active`,r=t.slide,o=r.classList,a=!o.contains(n);if(e.slides.forEach(e=>{e.classList.remove(n),x(e,!0)}),o.add(n),x(r,!1),a){const e=`${n}-ready`;o.add(e),document.body.clientHeight,o.remove(e)}})},$=e=>{let t=0,n=0;Object.defineProperty(e,"fragments",{enumerable:!0,value:e.slides.map(e=>[null,...e.querySelectorAll("[data-marpit-fragment]")])});const r=r=>void 0!==e.fragments[t][n+r],o=(r,o)=>{t=r,n=o,e.fragments.forEach((e,t)=>{e.forEach((e,n)=>{if(null==e)return;const a=t<r||t===r&&n<=o;e.setAttribute(`${f}fragment`,(a?"":"in")+"active");const i=`${f}current-fragment`;t===r&&n===o?e.setAttribute(i,"current"):e.removeAttribute(i)})}),e.fragmentIndex=o;const a={slide:e.slides[r],index:r,fragments:e.fragments[r],fragmentIndex:o};e.fire("fragment",a)};e.on("next",({fragment:a=!0})=>{if(a){if(r(1))return o(t,n+1),!1;const a=t+1;e.fragments[a]&&o(a,0)}else{const r=e.fragments[t].length;if(n+1<r)return o(t,r-1),!1;const a=e.fragments[t+1];a&&o(t+1,a.length-1)}}),e.on("prev",({fragment:a=!0})=>{if(r(-1)&&a)return o(t,n-1),!1;const i=t-1;e.fragments[i]&&o(i,e.fragments[i].length-1)}),e.on("slide",({index:t,fragment:n})=>{let r=0;if(void 0!==n){const o=e.fragments[t];if(o){const{length:e}=o;r=-1===n?e-1:Math.min(Math.max(n,0),e-1)}}o(t,r)}),o(0,0)},E=document,L=()=>!(!E.fullscreenEnabled&&!E.webkitFullscreenEnabled),S=()=>!(!E.fullscreenElement&&!E.webkitFullscreenElement),P=e=>{e.fullscreen=()=>{L()&&(async()=>{S()?(E.exitFullscreen||E.webkitExitFullscreen)?.call(E):((e=E.body)=>{(e.requestFullscreen||e.webkitRequestFullscreen)?.call(e)})()})()},document.addEventListener("keydown",t=>{"f"!==t.key&&"F11"!==t.key||t.altKey||t.ctrlKey||t.metaKey||!L()||(e.fullscreen(),t.preventDefault())})},_=`${u}inactive`,T=(e=2e3)=>({parent:t,fire:n})=>{const r=t.classList,o=e=>n(`marp-${e?"":"in"}active`);let a;const i=()=>{a&&clearTimeout(a),a=setTimeout(()=>{r.add(_),o()},e),r.contains(_)&&(r.remove(_),o(!0))};for(const e of["mousedown","mousemove","touchend"])document.addEventListener(e,i);setTimeout(i,0)},I=["AUDIO","BUTTON","INPUT","SELECT","TEXTAREA","VIDEO"],M=e=>{e.parent.addEventListener("keydown",e=>{if(!e.target)return;const t=e.target;(I.includes(t.nodeName)||"true"===t.contentEditable)&&e.stopPropagation()})},O=e=>{window.addEventListener("load",()=>{for(const t of e.slides){const e=t.querySelector("marp-auto-scaling, [data-auto-scaling], [data-marp-fitting]");t.setAttribute(`${f}load`,e?"":"hideable")}})},A=({interval:e=250}={})=>t=>{document.addEventListener("keydown",e=>{if(" "===e.key&&e.shiftKey)t.prev();else if("ArrowLeft"===e.key||"ArrowUp"===e.key||"PageUp"===e.key)t.prev({fragment:!e.shiftKey});else if(" "!==e.key||e.shiftKey)if("ArrowRight"===e.key||"ArrowDown"===e.key||"PageDown"===e.key)t.next({fragment:!e.shiftKey});else if("End"===e.key)t.slide(t.slides.length-1,{fragment:-1});else{if("Home"!==e.key)return;t.slide(0)}else t.next();e.preventDefault()});let n,r,o=0;t.parent.addEventListener("wheel",a=>{let i=!1;const s=(e,t)=>{e&&(i=i||((e,t)=>((e,t)=>{const n="X"===t?"Width":"Height";return e[`client${n}`]<e[`scroll${n}`]})(e,t)&&((e,t)=>{const{overflow:n}=e,r=e[`overflow${t}`];return"auto"===n||"scroll"===n||"auto"===r||"scroll"===r})(getComputedStyle(e),t))(e,t)),e?.parentElement&&s(e.parentElement,t)};if(0!==a.deltaX&&s(a.target,"X"),0!==a.deltaY&&s(a.target,"Y"),i)return;a.preventDefault();const c=Math.sqrt(a.deltaX**2+a.deltaY**2);if(void 0!==a.wheelDelta){if(void 0===a.webkitForce&&Math.abs(a.wheelDelta)<40)return;if(a.deltaMode===a.DOM_DELTA_PIXEL&&c<4)return}else if(a.deltaMode===a.DOM_DELTA_PIXEL&&c<12)return;r&&clearTimeout(r),r=setTimeout(()=>{n=0},e);const l=Date.now()-o<e,d=c<=n;if(n=c,l||d)return;let u;(a.deltaX>0||a.deltaY>0)&&(u="next"),(a.deltaX<0||a.deltaY<0)&&(u="prev"),u&&(t[u](),o=Date.now())})},C=(e=`.${u}osc`)=>{const t=document.querySelector(e);if(!t)return()=>{};const n=(e,n)=>{t.querySelectorAll(`[${f}osc=${JSON.stringify(e)}]`).forEach(n)};return L()||n("fullscreen",e=>e.style.display="none"),h||n("presenter",e=>{e.disabled=!0,e.title="Presenter view is disabled due to restricted localStorage."}),e=>{t.addEventListener("click",t=>{if(t.target instanceof HTMLElement){const{bespokeMarpOsc:n}=t.target.dataset;n&&t.target.blur();const r={fragment:!t.shiftKey};"next"===n?e.next(r):"prev"===n?e.prev(r):"fullscreen"===n?e?.fullscreen():"presenter"===n&&e.openPresenterView()}}),e.parent.appendChild(t),e.on("activate",({index:t})=>{n("page",n=>n.textContent=`Page ${t+1} of ${e.slides.length}`)}),e.on("fragment",({index:t,fragments:r,fragmentIndex:o})=>{n("prev",e=>e.disabled=0===t&&0===o),n("next",n=>n.disabled=t===e.slides.length-1&&o===r.length-1)}),e.on("marp-active",()=>x(t,!1)),e.on("marp-inactive",()=>x(t,!0)),L()&&(e=>{for(const t of["","webkit"])E.addEventListener(t+"fullscreenchange",e)})(()=>n("fullscreen",e=>e.classList.toggle("exit",L()&&S())))}},D=e=>{window.addEventListener("message",t=>{if(t.origin!==window.origin)return;const[n,r]=t.data.split(":");if("navigate"===n){const[t,n]=r.split(",");let o=Number.parseInt(t,10),a=Number.parseInt(n,10)+1;a>=e.fragments[o].length&&(o+=1,a=0),e.slide(o,{fragment:a})}})};var N,B,q,K,F,j,V,U={exports:{}},X=(N||(N=1,U.exports=(B=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],q=function(e){return String(e).replace(/[&<>"']/g,function(e){return"&"+K[e]+";"})},K={"&":"amp","<":"lt",">":"gt",'"':"quot","'":"apos"},F="dangerouslySetInnerHTML",j={className:"class",htmlFor:"for"},V={},function(e,t){var n=[],r="";t=t||{};for(var o=arguments.length;o-- >2;)n.push(arguments[o]);if("function"==typeof e)return t.children=n.reverse(),e(t);if(e){if(r+="<"+e,t)for(var a in t)!1!==t[a]&&null!=t[a]&&a!==F&&(r+=" "+(j[a]?j[a]:q(a))+'="'+q(t[a])+'"');r+=">"}if(-1===B.indexOf(e)){if(t[F])r+=t[F].__html;else for(;n.length;){var i=n.pop();if(i)if(i.pop)for(var s=i.length;s--;)n.push(i[s]);else r+=!0===V[i]?i:q(i)}r+=e?"</"+e+">":""}return V[r]=!0,r})),U.exports),H=e(X);const R=({children:e})=>H(null,null,...e),W=`${u}presenter-`,J={container:`${W}container`,dragbar:`${W}dragbar-container`,next:`${W}next`,nextContainer:`${W}next-container`,noteContainer:`${W}note-container`,noteWrapper:`${W}note-wrapper`,noteButtons:`${W}note-buttons`,infoContainer:`${W}info-container`,infoPage:`${W}info-page`,infoPageText:`${W}info-page-text`,infoPagePrev:`${W}info-page-prev`,infoPageNext:`${W}info-page-next`,noteButtonsBigger:`${W}note-bigger`,noteButtonsSmaller:`${W}note-smaller`,infoTime:`${W}info-time`,infoTimer:`${W}info-timer`},Y=e=>{const{title:t}=document;document.title="[Presenter view]"+(t?` - ${t}`:"");const n={},r=e=>(n[e]=n[e]||document.querySelector(`.${e}`),n[e]);document.body.appendChild((e=>{const t=document.createElement("div");return t.className=J.container,t.appendChild(e),t.insertAdjacentHTML("beforeend",H(R,null,H("div",{class:J.nextContainer},H("iframe",{class:J.next,src:"?view=next"})),H("div",{class:J.dragbar}),H("div",{class:J.noteContainer},H("div",{class:J.noteWrapper}),H("div",{class:J.noteButtons},H("button",{class:J.noteButtonsSmaller,tabindex:"-1",title:"Smaller notes font size"},"Smaller notes font size"),H("button",{class:J.noteButtonsBigger,tabindex:"-1",title:"Bigger notes font size"},"Bigger notes font size"))),H("div",{class:J.infoContainer},H("div",{class:J.infoPage},H("button",{class:J.infoPagePrev,tabindex:"-1",title:"Previous"},"Previous"),H("span",{class:J.infoPageText}),H("button",{class:J.infoPageNext,tabindex:"-1",title:"Next"},"Next")),H("time",{class:J.infoTime,title:"Current time"}),H("time",{class:J.infoTimer,title:"Timer"})))),t})(e.parent)),(e=>{let t=!1;r(J.dragbar).addEventListener("mousedown",()=>{t=!0,r(J.dragbar).classList.add("active")}),window.addEventListener("mouseup",()=>{t=!1,r(J.dragbar).classList.remove("active")}),window.addEventListener("mousemove",e=>{if(!t)return;const n=e.clientX/document.documentElement.clientWidth*100;r(J.container).style.setProperty("--bespoke-marp-presenter-split-ratio",`${Math.max(0,Math.min(100,n))}%`)}),r(J.nextContainer).addEventListener("click",()=>e.next());const n=r(J.next),o=(a=n,(e,t)=>a.contentWindow?.postMessage(`navigate:${e},${t}`,"null"===window.origin?"*":window.origin));var a;n.addEventListener("load",()=>{r(J.nextContainer).classList.add("active"),o(e.slide(),e.fragmentIndex),e.on("fragment",({index:e,fragmentIndex:t})=>o(e,t))});const i=document.querySelectorAll(".bespoke-marp-note");i.forEach(e=>{e.addEventListener("keydown",e=>e.stopPropagation()),r(J.noteWrapper).appendChild(e)}),e.on("activate",()=>i.forEach(t=>t.classList.toggle("active",t.dataset.index==e.slide())));let s=0;const c=e=>{s=Math.max(-5,s+e),r(J.noteContainer).style.setProperty("--bespoke-marp-note-font-scale",(1.2**s).toFixed(4))},l=()=>c(1),d=()=>c(-1),u=r(J.noteButtonsBigger),f=r(J.noteButtonsSmaller);u.addEventListener("click",()=>{u.blur(),l()}),f.addEventListener("click",()=>{f.blur(),d()}),document.addEventListener("keydown",e=>{"+"===e.key&&l(),"-"===e.key&&d()},!0),e.on("activate",({index:t})=>{r(J.infoPageText).textContent=`${t+1} / ${e.slides.length}`});const m=r(J.infoPagePrev),g=r(J.infoPageNext);m.addEventListener("click",t=>{m.blur(),e.prev({fragment:!t.shiftKey})}),g.addEventListener("click",t=>{g.blur(),e.next({fragment:!t.shiftKey})}),e.on("fragment",({index:t,fragments:n,fragmentIndex:r})=>{m.disabled=0===t&&0===r,g.disabled=t===e.slides.length-1&&r===n.length-1});let p=new Date;const v=()=>{const e=new Date,t=e=>`${Math.floor(e)}`.padStart(2,"0"),n=e.getTime()-p.getTime(),o=t(n/1e3%60),a=t(n/1e3/60%60),i=t(n/36e5%24);r(J.infoTime).textContent=e.toLocaleTimeString(),r(J.infoTimer).textContent=`${i}:${a}:${o}`};v(),setInterval(v,250),r(J.infoTimer).addEventListener("click",()=>{p=new Date})})(e)},z=e=>{if(!(e=>e.syncKey&&"string"==typeof e.syncKey)(e))throw new Error("The current instance of Bespoke.js is invalid for Marp bespoke presenter plugin.");Object.defineProperties(e,{openPresenterView:{enumerable:!0,value:G},presenterUrl:{enumerable:!0,get:Q}}),h&&document.addEventListener("keydown",t=>{"p"!==t.key||t.altKey||t.ctrlKey||t.metaKey||(t.preventDefault(),e.openPresenterView())})};function G(){const{max:e,floor:t}=Math,n=e(t(.85*window.innerWidth),640),r=e(t(.85*window.innerHeight),360);return window.open(this.presenterUrl,W+this.syncKey,`width=${n},height=${r},menubar=no,toolbar=no`)}function Q(){const e=new URLSearchParams(location.search);return e.set("view","presenter"),e.set("sync",this.syncKey),m(e)}const Z=e=>{const t=g();return t===l&&e.appendChild(document.createElement("span")),{[s]:z,[c]:Y,[l]:D}[t]},ee=e=>{e.on("activate",t=>{document.querySelectorAll(".bespoke-progress-parent > .bespoke-progress-bar").forEach(n=>{n.style.flexBasis=100*t.index/(e.slides.length-1)+"%"})})},te=e=>{const t=Number.parseInt(e,10);return Number.isNaN(t)?null:t},ne=(e={})=>{const t={history:!0,...e};return e=>{let n=!0;const r=e=>{const t=n;try{return n=!0,e()}finally{n=t}},o=(t={fragment:!0})=>{let n=t.fragment?te(p("f")||""):null;((t,n)=>{const{min:r,max:o}=Math,{fragments:a,slides:i}=e,s=o(0,r(t,i.length-1)),c=o(0,r(n||0,a[s].length-1));s===e.slide()&&c===e.fragmentIndex||e.slide(s,{fragment:c})})((()=>{if(location.hash){const[t]=location.hash.slice(1).split(":~:");if(/^\d+$/.test(t))return(te(t)??1)-1;const r=document.getElementById(t)||document.querySelector(`a[name="${CSS.escape(t)}"]`);if(r){const{length:t}=e.slides;for(let o=0;o<t;o+=1)if(e.slides[o].contains(r)){const t=e.fragments?.[o],a=r.closest("[data-marpit-fragment]");if(t&&a){const e=t.indexOf(a);e>=0&&(n=e)}return o}}}return 0})(),n)};e.on("fragment",({index:e,fragmentIndex:r})=>{n||v({f:0===r||r.toString()},{location:{...location,hash:`#${e+1}`},setter:(...e)=>t.history?history.pushState(...e):history.replaceState(...e)})}),setTimeout(()=>{o(),window.addEventListener("hashchange",()=>r(()=>{o({fragment:!1}),v({f:void 0})})),window.addEventListener("popstate",()=>{n||r(()=>o())}),n=!1},0)}},re=(e={})=>{const t=e.key||window.history.state?.marpBespokeSyncKey||Math.random().toString(36).slice(2),n=`bespoke-marp-sync-${t}`;var r;r={marpBespokeSyncKey:t},v({},{setter:(e,...t)=>i({...e,...r},...t)});const o=()=>{const e=y(n);return e?JSON.parse(e):Object.create(null)},a=e=>{const t=o(),r={...t,...e(t)};return b(n,JSON.stringify(r)),r},s=()=>{window.removeEventListener("pageshow",s),a(e=>({reference:(e.reference||0)+1}))};return e=>{s(),Object.defineProperty(e,"syncKey",{value:t,enumerable:!0});let r=!0;setTimeout(()=>{e.on("fragment",e=>{r&&a(()=>({index:e.index,fragmentIndex:e.fragmentIndex}))})},0),window.addEventListener("storage",t=>{if(t.key===n&&t.oldValue&&t.newValue){const n=JSON.parse(t.oldValue),o=JSON.parse(t.newValue);if(n.index!==o.index||n.fragmentIndex!==o.fragmentIndex)try{r=!1,e.slide(o.index,{fragment:o.fragmentIndex,forSync:!0})}finally{r=!0}}});const i=()=>{const{reference:e}=o();void 0===e||e<=1?w(n):a(()=>({reference:e-1}))};window.addEventListener("pagehide",e=>{e.persisted&&window.addEventListener("pageshow",s),i()}),e.on("destroy",i)}},{PI:oe,abs:ae,sqrt:ie,atan2:se}=Math,ce={passive:!0},le=({slope:e=-.7,swipeThreshold:t=30}={})=>n=>{let r;const o=n.parent,a=e=>{const t=o.getBoundingClientRect();return{x:e.pageX-(t.left+t.right)/2,y:e.pageY-(t.top+t.bottom)/2}};o.addEventListener("touchstart",({touches:e})=>{r=1===e.length?a(e[0]):void 0},ce),o.addEventListener("touchmove",e=>{if(r)if(1===e.touches.length){e.preventDefault();const t=a(e.touches[0]),n=t.x-r.x,o=t.y-r.y;r.delta=ie(ae(n)**2+ae(o)**2),r.radian=se(n,o)}else r=void 0}),o.addEventListener("touchend",o=>{if(r){if(r.delta&&r.delta>=t&&r.radian){const t=(r.radian-e+oe)%(2*oe)-oe;n[t<0?"next":"prev"](),o.stopPropagation()}r=void 0}},ce)},de=new Map;de.clear(),de.set("none",{backward:{both:void 0,incoming:void 0,outgoing:void 0},forward:{both:void 0,incoming:void 0,outgoing:void 0}});const ue={both:"",outgoing:"outgoing-",incoming:"incoming-"},fe={forward:"",backward:"-backward"},me=e=>`--marp-bespoke-transition-animation-${e}`,ge=e=>`--marp-transition-${e}`,pe=me("name"),ve=me("duration"),he=e=>new Promise(t=>{const n={},r=document.createElement("div"),o=e=>{r.remove(),t(e)};r.addEventListener("animationstart",()=>o(n)),Object.assign(r.style,{animationName:e,animationDuration:"1s",animationFillMode:"both",animationPlayState:"paused",position:"absolute",pointerEvents:"none"}),document.body.appendChild(r);const a=getComputedStyle(r).getPropertyValue(ge("duration"));a&&Number.parseFloat(a)>=0&&(n.defaultDuration=a),((e,t)=>{requestAnimationFrame(()=>{e.style.animationPlayState="running",requestAnimationFrame(()=>t(void 0))})})(r,o)}),ye=async e=>de.has(e)?de.get(e):(e=>{const t={},n=[];for(const[r,o]of Object.entries(ue))for(const[a,i]of Object.entries(fe)){const s=`marp-${o}transition${i}-${e}`;n.push(he(s).then(e=>{t[a]=t[a]||{},t[a][r]=e?{...e,name:s}:void 0}))}return Promise.all(n).then(()=>t)})(e).then(t=>(de.set(e,t),t)),be=e=>Object.values(e).flatMap(Object.values).every(e=>!e),we=(e,{type:t,backward:n})=>{const r=e[n?"backward":"forward"],o=(()=>{const e=r[t],n=e=>({[pe]:e.name});if(e)return n(e);if(r.both){const e=n(r.both);return"incoming"===t&&(e[me("direction")]="reverse"),e}})();return!o&&n?we(e,{type:t,backward:!1}):o||{[pe]:"__bespoke_marp_transition_no_animation__"}},xe=e=>{if(e)try{const t=JSON.parse(e);if((e=>{if("object"!=typeof e)return!1;const t=e;return"string"==typeof t.name&&(void 0===t.duration||"string"==typeof t.duration)})(t))return t}catch{}},ke="_tSId",$e="_tA",Ee="bespoke-marp-transition-warming-up",Le=window.matchMedia("(prefers-reduced-motion: reduce)"),Se="__bespoke_marp_transition_reduced_outgoing__",Pe="__bespoke_marp_transition_reduced_incoming__",_e={forward:{both:void 0,incoming:{name:Pe},outgoing:{name:Se}},backward:{both:void 0,incoming:{name:Pe},outgoing:{name:Se}}},Te=e=>{if(!document.startViewTransition)return;const t=t=>(void 0!==t&&(e._tD=t),e._tD);let n;t(!1),((...e)=>{CSS.registerProperty({name:ge("duration"),syntax:"<time>",inherits:!0,initialValue:"-1s"});const t=[...new Set(e).values()];return Promise.all(t.map(e=>ye(e))).then()})(...Array.from(document.querySelectorAll("section[data-transition], section[data-transition-back]")).flatMap(e=>[e.dataset.transition,e.dataset.transitionBack].flatMap(e=>{const t=xe(e);return[t?.name,t?.builtinFallback?`__builtin__${t.name}`:void 0]}).filter(e=>!!e))).then(()=>{document.querySelectorAll("style").forEach(e=>{e.innerHTML=e.innerHTML.replace(/--marp-transition-duration:[^;}]*[;}]/g,e=>e.slice(0,-1)+"!important"+e.slice(-1))})});const r=(n,{back:r,cond:o})=>a=>{const i=t();if(i)return!!a[$e]||!("object"!=typeof i||(i.skipTransition(),!a.forSync));if(!o(a))return!0;const s=e.slides[e.slide()],c=()=>a.back??r,l="data-transition"+(c()?"-back":""),d=s.querySelector(`section[${l}]`);if(!d)return!0;const u=xe(d.getAttribute(l)??void 0);return!u||((async(e,{builtinFallback:t=!0}={})=>{let n=await ye(e);if(be(n)){if(!t)return;return n=await ye(`__builtin__${e}`),be(n)?void 0:n}return n})(u.name,{builtinFallback:u.builtinFallback}).then(e=>{if(!e){t(!0);try{n(a)}finally{t(!1)}return}let r=e;Le.matches&&(console.warn("Use a constant animation to transition because preferring reduced motion by viewer has detected."),r=_e);const o=document.getElementById(ke);o&&o.remove();const i=document.createElement("style");i.id=ke,document.head.appendChild(i),((e,t)=>{const n=[`:root{${ge("direction")}:${t.backward?-1:1};}`,":root:has(.bespoke-marp-inactive){cursor:none;}"],r=t=>{const n=e[t].both?.defaultDuration||e[t].outgoing?.defaultDuration||e[t].incoming?.defaultDuration;return"forward"===t?n:n||r("forward")},o=t.duration||r(t.backward?"backward":"forward");void 0!==o&&n.push(`::view-transition-group(*){${ve}:${o};}`);const a=e=>Object.entries(e).map(([e,t])=>`${e}:${t};`).join("");return n.push(`::view-transition-old(root){${a(we(e,{...t,type:"outgoing"}))}}`,`::view-transition-new(root){${a(we(e,{...t,type:"incoming"}))}}`),n})(r,{backward:c(),duration:u.duration}).forEach(e=>i.sheet?.insertRule(e));const s=document.documentElement.classList;s.add(Ee);let l=!1;const d=()=>{l||(n(a),l=!0,s.remove(Ee))},f=()=>{t(!1),i.remove(),s.remove(Ee)};try{t(!0);const e=document.startViewTransition(d);t(e),e.finished.finally(f)}catch(e){console.error(e),d(),f()}}),!1)};e.on("prev",r(t=>e.prev({...t,[$e]:!0}),{back:!0,cond:e=>e.index>0&&!((e.fragment??1)&&n.fragmentIndex>0)})),e.on("next",r(t=>e.next({...t,[$e]:!0}),{cond:t=>t.index+1<e.slides.length&&!(n.fragmentIndex+1<n.fragments.length)})),setTimeout(()=>{e.on("slide",r(t=>e.slide(t.index,{...t,[$e]:!0}),{cond:t=>{const n=e.slide();return t.index!==n&&(t.back=t.index<n,!0)}}))},0),e.on("fragment",e=>{n=e})};let Ie;const Me=()=>(void 0===Ie&&(Ie="wakeLock"in navigator&&navigator.wakeLock),Ie),Oe=async()=>{const e=Me();if(e)try{return await e.request("screen")}catch(e){console.warn(e)}return null},Ae=async()=>{if(!Me())return;let e;const t=()=>{e&&"visible"===document.visibilityState&&Oe()};for(const e of["visibilitychange","fullscreenchange"])document.addEventListener(e,t);return e=await Oe(),e};((e=document.getElementById(":$p"))=>{(()=>{const e=p("view");a.dataset.bespokeView=e===l||e===c?e:""})();const t=(e=>{const t=p(e);return v({[e]:void 0}),t})("sync")||void 0;o.from(e,((...e)=>{const t=d.findIndex(e=>g()===e);return e.map(([e,n])=>e[t]&&n).filter(e=>e)})([[1,1,0],re({key:t})],[[1,1,1],Z(e)],[[1,1,0],M],[[1,1,1],k],[[1,0,0],T()],[[1,1,1],O],[[1,1,1],ne({history:!1})],[[1,1,0],A()],[[1,1,0],P],[[1,0,0],ee],[[1,1,0],le()],[[1,0,0],C()],[[1,0,0],Te],[[1,1,1],$],[[1,1,0],Ae]))})()}();</script></body></html>