From 0164ad5c94f8759f69da37875dffca91819606c0 Mon Sep 17 00:00:00 2001 From: Diogo Carvalho Date: Tue, 24 Feb 2026 20:21:50 +0000 Subject: [PATCH] feat(service): add retroassembly --- public/svgs/retroassembly.png | Bin 0 -> 12485 bytes templates/compose/retroassembly.yaml | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 public/svgs/retroassembly.png create mode 100644 templates/compose/retroassembly.yaml diff --git a/public/svgs/retroassembly.png b/public/svgs/retroassembly.png new file mode 100644 index 0000000000000000000000000000000000000000..c7f1ddacc5494917739a0bedfa901aa12e1b49ff GIT binary patch literal 12485 zcmY*xCpYQMY*KZ#4n3>mOW?rx7YaTO?dCYTO$+p(!tV{w-006L_wJ^O10I=gG z3_!z=tF|)9ZU6w;Y^^Sv9gFoCtq&NTj~KmAT>76l^*(Xxf8x+D$yNF{TTDhz%+LfD+4DQ=`k_;L6ZX z4}=j5+?HMN-uB+AI+g2MgVZNp7S6)N4YAIg5XCPc=6|!3E??`@E**&tLzoXl397v< zk4m*y^sVdneL;Swl3IRve@NAwiufoHRqaQ3_2`FQpx{lq)*hXxXO10tzW-~??nhI2 zEbEfTn^8Nt7yXPw!()~2@9Q|rIBu=Ks;cb6)uId?0|mpwKd2TokCa)k-4yPZcomrS zsAIq|&R|3%&E^9<&)_!jozQOif`oil{`c(lO>eUMkK5*NBu2KEC!@J>d49TOqzHJw z#Mr+zV?)^C-&sR*LCAIm_vXbaMBaYSB?)ed-NwDa6iDq&N~cO_P0>VqIyeHZ9XNt% zq6*O3^_yPoByK z%aXUsN3>iy_&*wgAe%DKRQTnPB`7p;=U8kR{RX54P@U_O&s;*& z9KNgItotp(1o?Xn*QT@+!1u9--9ykFjX^^=7@7c{I|^H2A

1z4_+xFD1{~o{uw~ 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