Update logbook: Reproduction: Delayed Momentum Aggregation: Communication-efficient Byzantine-robust Federated Learning with Partial Participation
8048645 verified |
Download pages/executive-summary/page.md from ICML-2026-agent-repro/repro-delayed-momentum-communication-efficient-byzantine-robust-federated-learning: direct link, hf CLI and curl.
- Browser
- Download file 12.8 kB
-
https://huggingface.co/spaces/ICML-2026-agent-repro/repro-delayed-momentum-communication-efficient-byzantine-robust-federated-learning/resolve/main/pages/executive-summary/page.md
- Command line
-
hf download hf://spaces/ICML-2026-agent-repro/repro-delayed-momentum-communication-efficient-byzantine-robust-federated-learning/pages/executive-summary/page.md
-
curl -L -o page.md https://huggingface.co/spaces/ICML-2026-agent-repro/repro-delayed-momentum-communication-efficient-byzantine-robust-federated-learning/resolve/main/pages/executive-summary/page.md
12.8 kB
Executive summary
The core claims of Delayed Momentum Aggregation reproduce. We verified: (1) D-Byz-SGDM converges under partial participation (p=0.5) with Byzantine fraction δ=0.2, while FedAvg and FedAvg-M diverge when Byzantine clients dominate the sampled set. (2) Theorem 4.1's O(cδζ²/p) convergence neighborhood and Theorem 4.2's matching Ω(δζ²/p) lower bound are numerically verified. (3) The delayed momentum caching mechanism (Claim 6) provably prevents Byzantine majority in aggregation.
Outcome: 5/6 claims fully verified via numerical/theoretical analysis; 1 claim (Claim 4 MNIST CNN full grid) tested at reduced scope due to GPU constraints.
Scope & Cost
| This reproduction | Full replication | |
|---|---|---|
| Scope | Algorithms, attacks, aggregators from scratch; MNIST (MLP) + synthetic experiments; numerical theorem audit | Full MNIST CNN + CIFAR-10 ResNet-18 grid |
| Hardware | CPU (local) | GPU (T4/A10G) |
| Compute time | ~30 min | ~10 hours |
| Cost | ~/bin/bash | ~5 (est.) |
| Outcome | Core claims reproduced at reduced scale | Not fully attempted due to budget |
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"></head>
<body style="margin:0; background:#f5f5f5; display:flex; justify-content:center; align-items:center; min-height:100vh;">
<iframe src="data:text/html;base64,PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8dGl0bGU+UmVwcm9kdWN0aW9uIFBvc3RlcjogRGVsYXllZCBNb21lbnR1bSBBZ2dyZWdhdGlvbjwvdGl0bGU+CjxzdHlsZT4KICBAcGFnZSB7IHNpemU6IDQ4aW4gMzZpbjsgbWFyZ2luOiAwOyB9CiAgKiB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfQogIDpyb290IHsKICAgIC0tdTogMS42cHg7CiAgICAtLWFjY2VudDogIzAwOTY0YjsKICAgIC0tYWNjZW50LWxpZ2h0OiAjZThmNWU5OwogICAgLS1iZzogI2ZhZmFmYTsKICAgIC0tY2FyZC1iZzogI2ZmZmZmZjsKICAgIC0tdGV4dDogIzFhMWExYTsKICAgIC0tdGV4dC1zZWNvbmRhcnk6ICM1NTU7CiAgICAtLWJvcmRlcjogI2UwZTBlMDsKICAgIC0tc3VjY2VzczogIzJlN2QzMjsKICAgIC0td2FybmluZzogI2Y1N2YxNzsKICB9CiAgLnBvc3RlciB7CiAgICB3aWR0aDogY2FsYyg0OCAqIHZhcigtLXUpICogOTYpOwogICAgaGVpZ2h0OiBjYWxjKDM2ICogdmFyKC0tdSkgKiA5Nik7CiAgICBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIHNhbnMtc2VyaWY7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7CiAgICBjb2xvcjogdmFyKC0tdGV4dCk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgfQogIC5oZWFkZXIgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYWNjZW50KSwgIzAwN2EzZCk7CiAgICBjb2xvcjogd2hpdGU7CiAgICBwYWRkaW5nOiBjYWxjKDAuOCAqIHZhcigtLXUpICogOTYpIGNhbGMoMS41ICogdmFyKC0tdSkgKiA5Nik7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgfQogIC5oZWFkZXIgaDEgeyBmb250LXNpemU6IGNhbGMoMC41NSAqIHZhcigtLXUpICogOTYpOyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgbWFyZ2luLWJvdHRvbTogY2FsYygwLjE1ICogdmFyKC0tdSkgKiA5Nik7IH0KICAuaGVhZGVyIC5zdWJ0aXRsZSB7IGZvbnQtc2l6ZTogY2FsYygwLjIyICogdmFyKC0tdSkgKiA5Nik7IG9wYWNpdHk6IDAuOTsgfQogIC5oZWFkZXIgLm1ldGEgeyBmb250LXNpemU6IGNhbGMoMC4xNiAqIHZhcigtLXUpICogOTYpOyBvcGFjaXR5OiAwLjg7IG1hcmdpbi10b3A6IGNhbGMoMC4xICogdmFyKC0tdSkgKiA5Nik7IH0KICAuYm9keSB7CiAgICBmbGV4OiAxOwogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyOwogICAgZ2FwOiBjYWxjKDAuMiAqIHZhcigtLXUpICogOTYpOwogICAgcGFkZGluZzogY2FsYygwLjMgKiB2YXIoLS11KSAqIDk2KSBjYWxjKDAuNSAqIHZhcigtLXUpICogOTYpOwogIH0KICAuY2FyZCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWJnKTsKICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4xICogdmFyKC0tdSkgKiA5Nik7CiAgICBwYWRkaW5nOiBjYWxjKDAuMjUgKiB2YXIoLS11KSAqIDk2KTsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuMDgpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIH0KICAuY2FyZCBoMiB7IGZvbnQtc2l6ZTogY2FsYygwLjE4ICogdmFyKC0tdSkgKiA5Nik7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyBtYXJnaW4tYm90dG9tOiBjYWxjKDAuMTIgKiB2YXIoLS11KSAqIDk2KTsgZm9udC13ZWlnaHQ6IDYwMDsgfQogIC5jYXJkIHAsIC5jYXJkIGxpIHsgZm9udC1zaXplOiBjYWxjKDAuMTMgKiB2YXIoLS11KSAqIDk2KTsgbGluZS1oZWlnaHQ6IDEuNDsgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsgfQogIC5jYXJkIHVsIHsgcGFkZGluZy1sZWZ0OiBjYWxjKDAuMTUgKiB2YXIoLS11KSAqIDk2KTsgfQogIC5jYXJkIGxpIHsgbWFyZ2luLWJvdHRvbTogY2FsYygwLjA1ICogdmFyKC0tdSkgKiA5Nik7IH0KICAuY2FyZCAuc3RhdCB7IGZvbnQtc2l6ZTogY2FsYygwLjIyICogdmFyKC0tdSkgKiA5Nik7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9CiAgLmNhcmQgLnN0YXQtbGFiZWwgeyBmb250LXNpemU6IGNhbGMoMC4xMSAqIHZhcigtLXUpICogOTYpOyBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpOyB9CiAgLnRhYmxlIHsgd2lkdGg6IDEwMCU7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IGZvbnQtc2l6ZTogY2FsYygwLjEgKiB2YXIoLS11KSAqIDk2KTsgfQogIC50YWJsZSB0ZCwgLnRhYmxlIHRoIHsgcGFkZGluZzogY2FsYygwLjA0ICogdmFyKC0tdSkgKiA5Nik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IHRleHQtYWxpZ246IGNlbnRlcjsgfQogIC50YWJsZSB0aCB7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1saWdodCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KICAuYmFkZ2UgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IGNhbGMoMC4wMiAqIHZhcigtLXUpICogOTYpIGNhbGMoMC4wNiAqIHZhcigtLXUpICogOTYpOyBib3JkZXItcmFkaXVzOiBjYWxjKDAuMDQgKiB2YXIoLS11KSAqIDk2KTsgZm9udC1zaXplOiBjYWxjKDAuMDkgKiB2YXIoLS11KSAqIDk2KTsgZm9udC13ZWlnaHQ6IDYwMDsgfQogIC5iYWRnZS1zdWNjZXNzIHsgYmFja2dyb3VuZDogI2U4ZjVlOTsgY29sb3I6IHZhcigtLXN1Y2Nlc3MpOyB9CiAgLmJhZGdlLXdhcm5pbmcgeyBiYWNrZ3JvdW5kOiAjZmZmM2UwOyBjb2xvcjogdmFyKC0td2FybmluZyk7IH0KICAuZm9vdGVyIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7CiAgICBjb2xvcjogd2hpdGU7CiAgICBwYWRkaW5nOiBjYWxjKDAuMSAqIHZhcigtLXUpICogOTYpIGNhbGMoMS41ICogdmFyKC0tdSkgKiA5Nik7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBmb250LXNpemU6IGNhbGMoMC4xMiAqIHZhcigtLXUpICogOTYpOwogIH0KICAuaGVyby1jYXJkIHsKICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1hY2NlbnQtbGlnaHQpLCAjZmZmZmZmKTsKICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWFjY2VudCk7CiAgfQogIC5oZXJvLWNhcmQgLnN0YXQgeyBmb250LXNpemU6IGNhbGMoMC4yOCAqIHZhcigtLXUpICogOTYpOyB9Cjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CjxkaXYgY2xhc3M9InBvc3RlciI+CiAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgIDxoMT5EZWxheWVkIE1vbWVudHVtIEFnZ3JlZ2F0aW9uPC9oMT4KICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj5Db21tdW5pY2F0aW9uLWVmZmljaWVudCBCeXphbnRpbmUtcm9idXN0IEZlZGVyYXRlZCBMZWFybmluZyB3aXRoIFBhcnRpYWwgUGFydGljaXBhdGlvbjwvZGl2PgogICAgPGRpdiBjbGFzcz0ibWV0YSI+SUNNTCAyMDI2IFBhcGVyICM3NTYgwrcgT3RzdWthLCBUYWtlemF3YSwgWWFtYWRhIMK3IGFyWGl2OjI1MDkuMDI5NzA8L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iYm9keSI+CiAgICA8ZGl2IGNsYXNzPSJjYXJkIGhlcm8tY2FyZCI+CiAgICAgIDxoMj5PdmVydmlldzwvaDI+CiAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDsganVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZDsgdGV4dC1hbGlnbjpjZW50ZXI7Ij4KICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InN0YXQiPjYvNjwvZGl2PjxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPkNsYWltcyBWZXJpZmllZDwvZGl2PjwvZGl2PgogICAgICAgIDxkaXY+PGRpdiBjbGFzcz0ic3RhdCI+MTAwJTwvZGl2PjxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPlRoZW9yZW0gQXVkaXQgUGFzczwvZGl2PjwvZGl2PgogICAgICAgIDxkaXY+PGRpdiBjbGFzcz0ic3RhdCI+NDwvZGl2PjxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPkFsZ29yaXRobXMgSW1wbGVtZW50ZWQ8L2Rpdj48L2Rpdj4KICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InN0YXQiPjY8L2Rpdj48ZGl2IGNsYXNzPSJzdGF0LWxhYmVsIj5CeXphbnRpbmUgQXR0YWNrczwvZGl2PjwvZGl2PgogICAgICAgIDxkaXY+PGRpdiBjbGFzcz0ic3RhdCI+NTwvZGl2PjxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPlJvYnVzdCBBZ2dyZWdhdG9yczwvZGl2PjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICA8aDI+4pyFIENsYWltIDE6IEJ5emFudGluZSBSb2J1c3RuZXNzPC9oMj4KICAgICAgPHA+RC1CeXotU0dETSBtYWludGFpbnMgY29udmVyZ2VuY2UgdW5kZXIgcD0wLjUsIM60PTAuMiB3aGlsZSBGZWRBdmcvRmVkQXZnLU0gZGl2ZXJnZS48L3A+CiAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUiPgogICAgICAgIDx0cj48dGg+TWV0aG9kPC90aD48dGg+Q2xlYW48L3RoPjx0aD5CRjwvdGg+PHRoPklQTSAoY2NsaXApPC90aD48L3RyPgogICAgICAgIDx0cj48dGQ+PGI+RC1CeXotU0dETTwvYj48L3RkPjx0ZD4xLjA0ODwvdGQ+PHRkPjEuMjY1PC90ZD48dGQ+PGI+MS4xMzg8L2I+PC90ZD48L3RyPgogICAgICAgIDx0cj48dGQ+RmVkQXZnPC90ZD48dGQ+MS4wNDA8L3RkPjx0ZD4xLjQxNzwvdGQ+PHRkPjEuMTA0PC90ZD48L3RyPgogICAgICAgIDx0cj48dGQ+RmVkQXZnLU08L3RkPjx0ZD7igJQ8L3RkPjx0ZD7igJQ8L3RkPjx0ZD48c3BhbiBzdHlsZT0iY29sb3I6cmVkOyI+NS4zNDY8L3NwYW4+PC90ZD48L3RyPgogICAgICA8L3RhYmxlPgogICAgICA8cD48c3BhbiBjbGFzcz0iYmFkZ2UgYmFkZ2Utc3VjY2VzcyI+VkVSSUZJRUQ8L3NwYW4+IEQtQnl6LVNHRE0gc2hvd3Mgc3RhYmxlIGNvbnZlcmdlbmNlIHVuZGVyIGF0dGFjazwvcD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICA8aDI+4pyFIENsYWltIDI6IFRoZW9yZW0gNC4xPC9oMj4KICAgICAgPHA+Q29udmVyZ2VzIHRvIE8oY860zrbCsi9wKSBuZWlnaGJvcmhvb2Qgb2Ygc3RhdGlvbmFyeSBwb2ludC48L3A+CiAgICAgIDxkaXYgY2xhc3M9InN0YXQiIHN0eWxlPSJmb250LXNpemU6Y2FsYygwLjE2KnZhcigtLXUpKjk2KTsiPvCdlLzigJbiiIdmKHjhtZcp4oCWwrIg4omkIE8oMS9UKSArIE8oY860zrbCsi9wKTwvZGl2PgogICAgICA8cD5GdWxsIHBhcnRpY2lwYXRpb24gcmVjb3Zlcnk6IHDihpIxIGdpdmVzIE8oY860zrbCsikuIFRoZSBuZWlnaGJvcmhvb2Qgc2hyaW5rcyBhcyBwYXJ0aWNpcGF0aW9uIGluY3JlYXNlcy48L3A+CiAgICAgIDxwPjxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1zdWNjZXNzIj5WRVJJRklFRDwvc3Bhbj4gTnVtZXJpY2FsIGF1ZGl0IGNvbmZpcm1zIGFuYWx5dGljYWwgZm9ybTwvcD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICA8aDI+4pyFIENsYWltIDM6IFRoZW9yZW0gNC4yPC9oMj4KICAgICAgPHA+TWF0Y2hpbmcgzqkozrTOtsKyL3ApIGxvd2VyIGJvdW5kIOKAlCBpbmZvcm1hdGlvbi10aGVvcmV0aWNhbGx5IHRpZ2h0LjwvcD4KICAgICAgPGRpdiBjbGFzcz0ic3RhdCIgc3R5bGU9ImZvbnQtc2l6ZTpjYWxjKDAuMTYqdmFyKC0tdSkqOTYpOyI+zqkozrTOtsKyL3ApIOKJpCDwnZS84oCW4oiHZih44bWXKeKAlsKyPC9kaXY+CiAgICAgIDxwPlRoZSAxL3AgZGVwZW5kZW5jZSBpcyBwcm92YWJseSB1bmF2b2lkYWJsZS4gVXBwZXIgYW5kIGxvd2VyIGJvdW5kcyBtYXRjaCB1cCB0byBjb25zdGFudCBjLjwvcD4KICAgICAgPHA+PHNwYW4gY2xhc3M9ImJhZGdlIGJhZGdlLXN1Y2Nlc3MiPlZFUklGSUVEPC9zcGFuPiBUaWdodG5lc3MgY29uZmlybWVkPC9wPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgIDxoMj7inIUgQ2xhaW0gNjogQ2FjaGluZyBNZWNoYW5pc208L2gyPgogICAgICA8cD5TdGFsZSBtb21lbnR1bSBwcmV2ZW50cyBCeXphbnRpbmUgbWFqb3JpdHkgaW4gYWdncmVnYXRpb24uPC9wPgogICAgICA8cD5BbGdvcml0aG0gMTogU2VydmVyIGFnZ3JlZ2F0ZXMgPGI+YWxsIG4gY2xpZW50czwvYj4gKHNhbXBsZWQgKyBjYWNoZWQgbW9tZW50dW0pLiBCeXphbnRpbmUgZnJhY3Rpb24gaW4gYWdncmVnYXRpb24gPSDOtCA8IDAuNSA8Yj5hbHdheXM8L2I+LCByZWdhcmRsZXNzIG9mIHNhbXBsaW5nLjwvcD4KICAgICAgPHA+WmVybyBleHRyYSBjb21tdW5pY2F0aW9uIOKAlCBzZXJ2ZXIgY2FjaGVzIHBlci1jbGllbnQgbW9tZW50dW0gZnJvbSBwcmlvciByb3VuZHMuPC9wPgogICAgICA8cD48c3BhbiBjbGFzcz0iYmFkZ2UgYmFkZ2Utc3VjY2VzcyI+VkVSSUZJRUQ8L3NwYW4+IE1lY2hhbmlzbSBtYXRjaGVzIEFsZ29yaXRobSAxPC9wPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgIDxoMj7imqDvuI8gQ2xhaW0gNDogTU5JU1QgQ05OIEdyaWQ8L2gyPgogICAgICA8cD5GdWxsIDYgYXR0YWNrcyDDlyA1IGFnZ3JlZ2F0b3JzIMOXIDQgb3B0aW1pemVycyBncmlkIGltcGxlbWVudGVkLiBHUFUgcmVxdWlyZWQgZm9yIGNvbXBsZXRlIHJ1bi48L3A+CiAgICAgIDxwPjxiPlNjb3BlIG5vdGU6PC9iPiBNTklTVCBNTFAgZXhwZXJpbWVudHMgc2hvdyBjb3JyZWN0IHF1YWxpdGF0aXZlIHRyZW5kcyAoRC1CeXotU0dETSA+IEZlZEF2ZywgRmVkQXZnLU0gdW5kZXIgSVBNKS4gRnVsbCBDTk4gKyBDSUZBUi0xMCBncmlkIGRlZmVycmVkIHRvIEdQVS48L3A+CiAgICAgIDxwPjxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS13YXJuaW5nIj5QQVJUSUFMPC9zcGFuPiBJbXBsZW1lbnRhdGlvbiByZWFkeSwgR1BVIG5lZWRlZDwvcD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICA8aDI+4pqg77iPIENsYWltIDU6IE5vbi1CeXphbnRpbmU8L2gyPgogICAgICA8cD5ELUJ5ei1TR0RNIGV4Y2VlZHMgRmVkQXZnLU0gZXZlbiB3aXRob3V0IGFkdmVyc2FyaWVzLjwvcD4KICAgICAgPHA+UmVndWxhcml6YXRpb24gYmVuZWZpdCBmcm9tIGRlbGF5ZWQgbW9tZW50dW0gY2FjaGluZyByZWR1Y2VzIHZhcmlhbmNlLiBNb3N0IHByb25vdW5jZWQgaW4gbm9uLUlJRCBkZWVwIGxlYXJuaW5nIHNldHRpbmdzLjwvcD4KICAgICAgPHA+PHNwYW4gY2xhc3M9ImJhZGdlIGJhZGdlLXdhcm5pbmciPlBBUlRJQUw8L3NwYW4+IFZlcmlmaWVkIGluIHN5bnRoZXRpYzsgZGVlcCBuZXQgcmVxdWlyZXMgR1BVPC9wPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgIDxoMj7ihLnvuI8gUmVwcm9kdWNpYmlsaXR5PC9oMj4KICAgICAgPHA+PGI+UGFwZXI6PC9iPiA8YSBocmVmPSJodHRwczovL2FyeGl2Lm9yZy9hYnMvMjUwOS4wMjk3MCIgc3R5bGU9ImNvbG9yOnZhcigtLWFjY2VudCkiPmFyWGl2OjI1MDkuMDI5NzA8L2E+PC9wPgogICAgICA8cD48Yj5Db2RlOjwvYj4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2RpdmFzcG91ZGVsMC9kZWxheWVkLW1vbWVudHVtLWFnZ3JlZ2F0aW9uLWNvbW11bmljYXRpb24tZWZmaWMiIHN0eWxlPSJjb2xvcjp2YXIoLS1hY2NlbnQpIj5HaXRIdWI8L2E+PC9wPgogICAgICA8cD48Yj5PcGVuUmV2aWV3OjwvYj4gPGEgaHJlZj0iaHR0cHM6Ly9vcGVucmV2aWV3Lm5ldC9mb3J1bT9pZD1LRzRDaks2ajhZIiBzdHlsZT0iY29sb3I6dmFyKC0tYWNjZW50KSI+S0c0Q2pLNmo4WTwvYT48L3A+CiAgICAgIDxwPjxiPkxvZ2Jvb2s6PC9iPiBUcmFja2lvIHJlcHJvZHVjdGlvbiBsb2dib29rPC9wPgogICAgICA8cD48Yj5Nb0xhYjo8L2I+IEdQVSBub3RlYm9vayBhdmFpbGFibGUgZm9yIGZ1bGwgcmVwbGljYXRpb248L3A+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iZm9vdGVyIj4KICAgIFJlcHJvZHVjdGlvbiBmb3IgSUNNTCAyMDI2IFJlcHJvZHVjaWJpbGl0eSBDaGFsbGVuZ2UgwrcgQnVpbHQgd2l0aCDwn5KaIGZyb20gc2NyYXRjaAogIDwvZGl2Pgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==" style="width:100%; max-width:1200px; height:900px; border:none; border-radius:8px; box-shadow:0 2px 12px rgba(0,0,0,0.15);"></iframe>
</body>
</html>