\d d V:_ci 179 H:_ci 196 L:_ci 218 R:_ci 191 A:_ci 193 text:{[t]_ssr/[;V,H,L,R,A;"|-+++"]'disp t} loop:{[t]:[~4:t 1;tree . t;data . t]} disp:{:[4:x;,x;x]}/loop@ data:{:[x[]_in`a`b;adv[x]y;($x[]),":",5:y]} adv:{($x[]),":",(($y)_dvl"xyz{} "),:[`b=x[];".";""]} tree:{[b;c] if[vb:-3=4:b:loop b;b,:] if[vc:-3=4:c:loop c;c,:] sb:^b sc:^c r:*sb|sc b:take[r;sb]b c:take[r;sc]c apply[vb;vc;sb 1;1+sc 1;b]" ",'c} take:{[r;s;m]m,((r-*s),s 1)#""} apply:{[vb;vc;cb;cc;b;c] ib::[vb;_.5*cb;(A=*b)?1] ic::[vc;_.5*cc;(A=*c)?1] b:(,@[cb#"";ib;:;V]),b c:(,@[cc#"";ic;:;V]),c j:ib+!1+(cb+ic)-ib r:@[(cb+cc)#"";j;:;H] r[j[0],-1#j]:L,R r:@[r;j[0]+_.5*j[-1+#j]-*j;:;A] (,r),b,'c} \d ^ disp:d.disp text:d.text