About Kunobi
Kunobi is built by Zondax AG, a Swiss technology company with a globally distributed team of engineers.
We've spent years in DevOps, cloud infrastructure, and blockchain — building tools where performance, precision, and reliability matter most.
Kunobi grew out of real-world experience operating Kubernetes and GitOps at scale, where performance issues and onboarding friction slowed our team down. We wanted a faster, cleaner way to work with Flux and Kubernetes in one place.
Our goal is simple: give engineers clarity and control over their workflows, without the extra complexity.
control:
Meet Our Ninjas
The ones debugging at 2 AM, perfecting YAMLs, and shipping features between espresso shots.
:+:++++++
::++++++++++++++:
:+++++X+X+XX+X++X++++
:+++X+XXXXX+XXXXXXXXXX+++
:+++X+XXXXXXXXXXXXXXXXXXX+++
++++++XXXXXXXXXXXXXXXXXXXXXX++:
++++XXXXXXXXXXXXXXXXXXXXXXXXXXX+:
+++XXXXX&XXX&XXX&XXX&X&X&XXXXXXXX++
+++XXXXXXXXX&X&X&&X&&X&XX&XXXXXXXXX+:
:++XXXXXXX&XX&XX&&X&&&&X&&&&X&XXXXXXX+
:++X+XXXX&X&X&X&X&X&X&&&&&&&&&X&&XXXXXX+
++XXXXXXXXX&X&X&&&&&&&&&&&&&&&&X&&XXXXXX+
++XXXXXXX&XX&&&X&&&&&&&&&&&&&&&&&&&&XXXXX+
+++XXXXXXXXXXXXX&&&&&&&&&$&&&&&&&&&&&XXXXX+
:+XXXXXXXXXXX&&&&&&&&&&XX&&&&&&&&&&&&XXXXXX+
++XXXXXXX&&&X&&&&&&&&&&&&&&&&X&$&&&&&&XXXXXX+
:+XXXXXXXXX&&&&&&&&&&&&&&&&&&&&&&&&&&&&&XXXXX+
+XXXXXXXXXXX&X&&&&&&&&&&&&$$&&&&&&&&&&&&&XXXXX
+++XXX&&&XX&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&XXXXX:
+++XXXXXXX&&&&&&&&&&&&&&&&$&&&&&&&&&&&&&&&XXXXX+
:+XXXXXXXXXXXX&&&&&&&&&&&&&&&&&&$&&&&&&&&&&XXXX+
+XX&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&&&&&&&&&&&XXXX+
X:;;X&+::::+++++XX&&$$$$$&&&&$&&&&&&&&&&&&&&&XX+
;& XXXX&; ;;;;:::::++&$$$&XXXXX&$$$&&&&&&&&&XXX+
& & XX ;;;;::&&&&&&&&+XXXXXXX$&&&&&&&&&&X+
$ ;; ;;;;&+:::::+++++++++XX&&&&&&&&X&X+
X ;:; ;;;;;;:::::::::+++++++X$&&&&&&XXX+
: : ; ;;;;;;:: ;:::::::::::++X$&&&&&&XX+
; ; ;;;;;: :::::::::::+X&&&&&&&XX+
; && ;;;;: ::::::::::+X$&&&&&&XX
&$$$ ;;;:: &XX ::::::::::+X&&&&&&&XX
&$$$+ ;;;;::$$$$& ;:::::::::+X&&&&&&&XX
;;;; $$$; ::;;;:$$$$$ ;;;:::::::::+&&&&&&&XX+
;;;;;;;;;;;;;;; ;;;; +:;;X$$&;;:::+++++::+X&&&&&&&&X
;;;;;;;;; ; ;;;;;;;;;;:X&&&&&X++::+++++++++X&&&&&&&&XX
;;;;;;;;;;;;; ;;;;;;;;;;;;;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&XX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; &$$&&&&$&&&&&&&&&&&&&&&&&&X&XX&&
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; &$$$$$$$$$$$$$&$&&&&&&&&&&&XX&$&$
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $&$$$$$$$$$$$$$&&&&&&&&&&&XX$$&$&X
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:&$$&$$&$$$$$$$$&&&&&&&&&XXX$$&$&XX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; &$$$$$$$$$$$$$$&&&&&&&&&XX X$$&$$&X&X
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $$$$$$$$$$$$$$$$&&&&&&&&X + ;$$$&X&&&X:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&$$$$$$$$$$$$$$$$&&&&&&X $$$$&X&&&&
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $$$$$$$$$$$$$$$$&&&X& $$$$$&&X&
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $$$$$$$$$$$$$$$$&&&&+ &$$$$$&&
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $$$$$$$$$$$$$$$$&&$$&& ;&&$$$$
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:$$$$$$$$$$$$$$$$$$$$&&X :&&&;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $$$$$$$$$$$$$$$$$$$$$&&X :
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $$$$$$$$$$$$$$$$$$&&&&&&X
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&$$$$$$$$$$$$$$$$$&&&&&&XX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $$$$$$$$$$$$$$&&&&X&&&XXXX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $$X::+&$$&&&$&&&&&&&&&&&XX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::+$&&$$&$$$&X&&&&XX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;:+$&$$&$$&&&&&&&XX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; :;;:::::;:X$&$$$$$$$&&&&&X
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +:::::::::+$$$$$$$$$$&&&&X
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+:::::::::X$$$$$$$$$$$&&&X
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; :::++::::$$$$$$$$$$$&&&XX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +::++:::$&&$$$$$$$$$&&&XX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&::XX&$$$&$$$$$$$$&$&&&&+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; :X&&$$$$$&$$$$$$$$&&&&X&X:
;;:::;;;;;;;;;;;;;;;;;;;;;;;;;; &&$&&&&&&&$$$&:
+++::::::::::;;;;;: ;:X$$$$&&&&&&X$$$$$$$X:
X&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&X ;&$$$$$&:
&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$&&$&&&XX &$$$$$$X:
X&&&$&$$$$$$$$$$$$$$$$$$$$$$$&&&$$&&&&&X &$$$$$&:
X&&&&&&$$$$$$$$$$$$$$$$$$$&&&$$$&&&&&&&XX &$$$&$$X:
X&&&&$$$$$$$$$$$$$$$$&&$$$$$$&&$&$&&&&&XX ;$$$&&$&:
X&&&&$&$$$$$$$$$$$$$$$$$$$&&$$$$$&&&&&&XX &$$$&&&+;
+&&$&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&X :&$$&&&&+
&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&XX &&&&&&&+
:&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&X; +&&&&&$:
&&$$$$$$&$$$$$$$$$$$$$$$$$$$$$$&$&&&&X+ &&&&++
&&&&&&$$$$$$$$$$$$$$$$$$$$$$$&&$&&&X++ &&X+
X&&&&&&&$$$$$$$$$$$$$$$$$$$$$&&$&&&XX& ;X+
X&&&&&&$$$$$$$$$$$$$$$$$$$$$$&&&&&XXX
XX&&$&& +$$$$$$$$$$$$$$$$$$$&&&&&&X;
:X&&&&&$+ &$$$$$$$$$$$$$$$&&&&X&&+
X&X&&&&&& ;X$$$$$$$$$$&&&&$&XX
+XXX&&$X&&& +$$$$$$$&&&$&&XXX
:+XXX&&&&X&X &$$$$$$&&$$&&&XX+
+XXX&&&&&X&&; ;$$$$&$$$$&&&XX+
+X&&&&&&&&:: $$$$&&&&&XX
;;:::::::::::::::::::::+++++++:::&&&&&&X+::;;;;;
++;
++;
;+;
++;
++;
++;
;+;
++;
++;
++;
++;
;+;
++;
++;
++;
.:;;;::
:::;;;;: x++xxxxxxxxx+++
::::;;;::; x+xxxxXXXXXXXXXXXXxxx+;
:::;;;++++; XxxXXXXXX$XX$X$XXXXXXXXXXXx+
::;;;;;++++XXXX$$$$$$$$$$$$$$$$$$$$XXXXXXXx:
X$&;;;;+++XX$XX$$&&&&$$$$$$$$$$$$$XX$$XX$$XXXXXx
:$X$$$X$$$X&+xxX$$&&&&$$$$$$$$$$$$$$$$$$$$$$X$XXXXXx.
X$$X&$$&&&&&&++X&&&&&$$$$$$$$$$$$$$$$$$$$&&$$$$$XX$XXX:
$$X$$&&&$&&&&++X&&&&$$$$&&&&&&&&&&$$$$$&&$$$$$&$$$$XXXX
XXX$$&&&$&&&&&;xX&&&$&&&x;:::;;;;;+xX$&&&$$$&&$$$$$$$$xXX
XX$$$&&&&&&&&&+xX&&&&$&;::::::::::;;+X&&X$&&$$$&&$$$$$$XX:
XX$$&&&&&&&&& ;x$&&&&&+:::::::::::::;;;;X&+xX&&&$$$$$$$$XX
X$$$$&&&&&$+XX+X$&&$$&;::::::::::;;;;;+;;;;;;;+X&&&$$$$$$$+
X$$$&&&&&&X+X++X&&&$$$X;::::::::;: &&&;;::::;:;;+xX&&$$$Xx
X$$$$&&&&&++X+xX&&&$$$$$X$+;;;;;;; &&&X.;::;:::::;++&$$&$$:
X$$$$&&&&&++X;X$&&$$$$$$$$$$$$$$X$X;:;:;::::::::::::::;;&$:
: $$$&&&&&&++X;X$&&$$$$$$$$$$$$$$$$$$$$$$XX+;:::$&& ;;:::&&
:;x :$$$&&&&&++x;X$&&$$$$$$$$$$$$$$$$&&&&&&&$$$XX:$&&+ +:::&;
+++; x$$$&&&&++X+X&&&&$$$$$$$$$$$$$$$&$&&&&&&&&&$$XX. ;:::&
x::++ $$$$&&&++Xx$&&&&$$$$$$$$$$$$$&&&&&&&&&&$&$&&$$X+;;::$
;::x+x $$$$&$+xXX$&&&&$$$$$$$$&$$&&&&&&&&&&&&&&$$$$$$$X;;:
:::++: $$$$++xXX$&&&&&$$$&$$&&&&&&&&&&&&&&&&&&&$$$$$$$$X: ;;:xx;::.
:::x++ X$$;+XXX$&&&&&&$$$&$&&&&&&&&&&&&&&&&&&&&&$$$$$$. XXxXXXX;::.
::::++: $+xX+X&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$ +$+ XXXXXXX+;::
:::+++ +xX+$&&&$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$ $&&&&&$&&$XXXXXX+;;
::::++x +xXx$$&$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&$& :$&&&&&&&&&&$&XXXXXx+.
:::;++ +xXX$$&$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&XXx+
::::++xX+X$&$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&;
:::;xX;X&&$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
::+xX+$&&$$$$$&&&&&&&&&&&&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&&
+xX+$;&$$$$$$&&&$$&&&&&&&&&&&$$$&&&&&&&&&&&&&&&&&&&&X
+xXX$X$$$$$$$$&&&&&&&&&&&&&$$$$$ :+xX+:
+++X$;$$$$$$$$&&&&&&&&&&&&$$$$$$
;++X&;$$$$$$&&&&&&&&&&&&&&&&$$$$X
.+X&x$$$$$$&&&&$&&&&&&&$X$$$$&&$$
+X$;$$$$$$&$&&$$$$&&&&$X$$$$&$$$$XXX;
+X$xX$XXXX$&&&X$$$$&&&&$$$&$$$$$$$$$XXX
x$$$$$$XX$$&&&$$$$$&&&&&&$$$$$$$$$$$$$XX
+XX$$$XXX$$&&&&&&&&&&&&&&$$$$$$$$$&&$$$$X
+$$$&&&&&&&&&&&&&&&&&&&&$$$$$$$&&&&&&$$$;
xX$$$$$$$$&$&$&&&&&&&&&&$$$$&&&&&&&&&&&$$
+X$$$$$$$&$$&&&&&&&&&&&&$$$$&&&&&&&&&&&$:
+X$$$$$$$&&$&$&&&&&&&&&&$&&&&&&&&&&&&&&
+XX$$$$$$&&&&&&&&&&&&& $&&&&&&&&&&$
+XX$$$$&$&&&&&&&&&&&&: X$$&&&&&X$XxX
+xXX$$$&$&&&&&&&&&&&&& $$&&&&&$$$$X$
.xXX$$$$&&&&&&&&&&&&&& X$$&&&&&$$X
+XX$$$$&&&&&&&&&&&&&& X$&&&&$+
:xX$$$&&&&&&&&&&&&&&$
+xX$$&&&&&&&&&&&&&$:
+x$$$&&&&&&&&$&&&:
;+x$&&&&&&&&$&$$X
+++&&&&&&&&&$$X
X$$&&&$$XX
X$$$$$$$XX;
.X$$$&&$$$X
$$$$$&$$$+
X$$$&$$X:
.X$$x;
.+++;.
;+++++++x+++x++++++;
:++++++xXXxxXXxxXxxXxxXx+++
;+++++XXXXXXXXXXXXXXXXXXXXXxx++x+
;++xxXXXXXXXXXXX$XXX$$XXXXXXXXXXxxx++
++xXX+XxXXX$XXX$X$$X$XX$XXX$$XXXXXXXXXxxx
++xxx+xXXXXXX$X$X$X$X$XX$X$XX$X$$X$XXXXXXxxx
+++xXXXXX$XXX$X$X$X$X$$XXX$$$$$$X$$$XXXXXXXXxx.
+xxXXX$$XXXXX$XX$$X$$$$$$$$$$$$$$$$$$$$$X$XXXXx+
++xXXXXXXX$$XXXX$$$$$$$$$$$$$$$$$$$$$$$$$XXXXXXXxX
+XXXXXX$$$$$$$$$$X$$$$$$$$&$$$$$$$$&$$$&$$$X$XXXXxx
+xXXXXXXXX$$XX$$$$$$$$$$$$$$$$$$$$$$X$$&$$$$$$$$XXxX
+xXXXXXXX$$X$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXXXxx
++xxXXXXXXX$XX$XX$$$$$$$$$$$$$$$$$$$&$$$$$$$$$$$$XXXX+ .
++xxXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&$$$$$$$&$$$X$XXXx ;.. +
+xXXXXXX$$X$$$X$$$$$$$$$$$$$$$$$$$$$$$$$$X$$$$$$$$$X$Xx X.X.;:::
X;;;+$$+++++++++++++xxX$$&x+++++++xxxxX$$$&$$$$$$$$XXx.;::::::;
$::::::;$X;;;;;;;;;X$+++++++++++++++++++X$$&$$$$$$XXXX::::::
$::::::::::::;;;;;;;;;;$Xx;;;;;++++++++++X$$$&$$$X$XX:::
+:::: :::;;;;;;;;:...:::;;;;++++++++++x$$$$$$$$XXx
::::. &&;:::;;;;;;+.&&&:::;;;;+++++++++x$$$$$$$$$XX
X:::::.&::;;;+;;;;;X$&&::;;;+++++++++xx$$$$$$$$$$X;
x;;;;;;;:;;;;;;;;;;+++++++++++xxxxx$$$$$$$$$$$$$XX
:xxXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&$$$$$$X$$$
xXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XX&&&$
xXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&$$$$$$XXX&&&$XXX
xXXXXX$$X$$$$$$$$$$$$$$$$$$$$$$$$&$&$$$$$$$$$XX$X$&&&$$X+$$$X
XXXXXX$$$$$$$$$$$$$$$$$$$$$$$$&$$$$&$&$$&&&$$$$Xx $$&&&$$$$X
XXXX$$$$$$$$$$$$$$$$$$$$$&&$&&&&&&&$&&&&&$$$XXX $$$&$$$
XXX$$$$$$$$$$$$$$$$&$&&&&&&&&&&&&&&$&$$$$$$XXx :$$
XX$$$$$$$$$$$$$&&&&&&&&&&&&&&&$$$$$$$$$X$XXx
XX$$$$$$$$$$$&&&&&&&&&&&&&&$$$$$$$$$$$$$$$XXx
XXX$&$$$$$$$$$&&&&&&&&&&X$$$X$X$$$$$$$$$$$$$XXX
+XX$$$$&&&&$&$&&&&&&$X$$$XXXXX$$X$$$$$$$$$$$XxXXX;
+XXX$X$$$$::::$&x&&X&$$$XXX$X$$$$$$$$$$$$$$$$$X$&XX+
+xX$X$X$$$.:::::;;;+&&&&XXXXX$$$$$$$$$$$$$$$$$$XX&$$X$Xx
xXX$$$X$$$;::::::;;;;++$XXXX$$$$$$&$$$$$$$$$$$$$X$$$$X$$XXx
$$$$&X&$$$:::::::;;;;;++&&$$&&&$$$$$$$$$$$$$$$$$&&$$&$$$$XXXx
$X&&$$$+XXx;:;:;;;;;++++$$X$&$$$$$$$$$$$$$$$$$&$&&&$$$$$$$XXXx
:::::;;;+X+$X$X;;;;;;;+++x&X$$&$$$$$$$$$$$$$$$$$$$$&$$$$$$$$$XXXXXXXXXx X+x$;
.::::::;;;+$$$+XX$$;;;;X$$$$$$&X&&$$$$$$$$$$$X&$$$$$$$$$$$$$$$$$$$XXXXXXXXXxXXXXx.
::::;:;;;++x$$X+XXX $$$$$$$$&$&&&&&&&&&$$&$$$$$$$$$$$$$$$$$$$$$$XXXX$X$XXXxX$Xx.
X:;;;+++++++$x $$$$$$$$$$$$&&&$&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XX$$$XX$+
:+x$$$$;;;;++;;++++ X$$$$$$$$$$$$X +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXX$x$.
+XX$XX+$$$$X;;;;;; ;; ;XX$$$$$$$ +$$$$$$$$$$$$$$$$$$$$$XXX$$$$X;
;+xx&$;+X&$$XX XXX$$$$$ $$$$$$$$$$$$$$$$X xXXXXX;
:+XXX$$$XX ;xXX$$$$$$. $$$$$$$$$X. X+
++x+ +xxXXX$$$$XX+
:xXXXX$$$$$X . . . . .. . . . . .
.. .. ....;:;$X$$$$$X...... ... . . . . .. . .......... .. ................ .
. .. ...................................+++++:..........:::::::::::::::::::::::::::;:;:::::::.....................
..........................................::::::::::::::::::::::::::::::::::::::::::::.............................. .
.......................::::::::::::::::::::::::::..........................................
. . .. .. ..
;+++++++++;
++++XXXXXXXXX++
;+++XXXXXXXXXXXXX++
++XXXXX&XX&&&XXXXXX++
++XXXXX&&&&&&&&&&&XXXX+
++XXX&&&&&&&&&&&&&&&XXXX+
++XXX&&&&&&&&&&&&&&&&&&XXX+
+XX&&&&&&&&&&&&&&&&&&&&&XX++
+XX&XXXX&&&&&&&&&&&&$&&&&&&X+
+X+X&&&&&$$$$$$$$$$&&&&&X&&&X+
:XXX&&&&&$$$$$$$$$$$$$&&&&&X&X+
+XXX&X&&&&&&&&&&&&&$$$$&&&&&XXX
XXX&&&&&&&&$$$$$$$$$$&&&&&&&XXX
XXXX&&$$$$$$$$&&&&&&&&&&&&&&XXX
XX$+::+XXX++X&$$$$&&&&$$$&&X&XX
X&:;;:+::+$&::::::;;$+;&:::&&XX
X$ ;;::::::::::;;;;;;; ;;;;XXX
X$ ;:: :::::;;; ; : ;;;;&X
X& ;;: $+::::;; ; ;;;;&X
X& ;;: $$;::::;; $$$ ;;;;XX
XX;;;;;; ;;::+::;; +$$ ;;;:XX
XXX+:::+XXX&&&&&&XX:; ;;;;;;&X+
;XXX&&&&&&&&$$$$&&&&&X&X+:+&XX
XXX&&&&$$$$$$$$$$$$$&&&&XXXXX
XXX&&&&&&&$$$$$$$$$$$&&&&&XX:
XX&&&&&$$$$$$$$$$$$&&&&&&XX
X&&&&&$$$$$$$$$$$$&&&&&&X
+&&&&$$$$$$$$$$$$$$$&&&&
X&&&$$$$$$$$$$$$$$$&&&
+&&$$$$$$$$$$$$$$$&&
+$$$$$$$$$$$$$$$$&
&$$$$$$$$$$$$$$$$$$$$&
X&$$$$$$$$&+$$$$$$$$$$$&
X&&$$$$$$$+:;;$$$$$$$$$$&X
+XXX&&&$$$:;::;;$$$$$$$$$$&X
+XXX$$$$$&::::::;$$$$$$$&&&X+
+XX&&&&&$$X::::::;; +$$$$$&&XX
XX&&&&$$$$+::::::;;; $&$&&&XXX
X&&&&$$$$&+:::::::;; ;&&$$$$XX
X&&&&$$$$$X::::&:;:;; ;X$$$$&XX
X&&&&$$$$$$$:::$::::;;;X$$&&&XX
&&&&&&$$$$$$::$$$$$+;:&$&$$&XX
+$&&&$$$$$$$$$$$$&$&$&&X
++XX&$$$$$&&XX+$+&&&:
&XXXXXX&&&&&&XXXXX
X+++XX&&XXXXXXX++;
&$&XX+$$$XXXX&$&&
+&&$$&$$$$$$XXXX&X&
+X&&$$$$$$$$$$$XXXX&
&$X&&$$$$$$$$$$$$&XX
;&$&X&&$$$$$$$$$$$$&&X
+$&&& &&$$$$$$$$$$$$&&X
X&&X &&&$$$$$$$$$$$&&X
:: X&&$$$$$$$$$$$&&X
X&&&$$$$$$$$$$&&X
+&&&$$$$$$$$$$&&X
&&&$$$$$$$$$$&&X
&&$$$$$$$$$$$&&:
&&&$$$$$$$$$$&&
X&&$$$$$$$$$$&&
&&&$$$$$$$$$&X
&&$$$$$$$$$&&
&&$$$$$$$$&
X&$$ $$$&
+&$$ $$&X
XX&$ &&&X
+XX&&+X&XXX
XX&&& &X&XX
;:::: ;::;