FABMSSVRBBZSZXIQ3CDAPN2TRJRRURG72RPHCATKNT4VACRN4EJQC BXJH43UCI5JYCILYCK2ZHVOUBHZIIGX3S4BN5YNYTJEKO33PWC5QC XIW4RY7MKAEHYNUNNZOIJEGMPEZ5FUZEL2VJMZ5IRK6GP3IJUV2AC IZAQ4C7DZ3OTGUPDYVRYJPHO6HT67HL7DZLPNIPWINBHNNLK42OAC T62BH5VBLTDYHIEGFPJ7PB77J4JDX3D7RRI3RALZ2PWHJXW5TW3AC GQBUV2XOMEPMTXMPCBQWGGIUXGQDX77VTGPFIG6YT7G64ASOYHXQC F7JBFZFRALHRUTYYHJ2J7OBBB5WYPJBDTLDLZAMTVC3FUVJ7MAIAC D3FRDRWOY6VGMAOGR35GPX7QYBEHDT6J4JKUZCGDEFDPWXGHD3YQC JC64ZBDKHZ54FRG2HZ76PFVQYK4EIFLNU36KDQ762KMT2DG7M4HQC WO73G45YHL27GXZIQRLFPMIZSOTO7UOUXPOFKBP7APKYLEGYHL7AC OQIWNGD4Q7G5ZW7KTM6FUUEYX43DZ6LNP3Q5BXXLGE35QLU3LX5AC L5PFUVUA535GHGS33DPYVXDYJTBPASXSBXQP4NA5RB4GTPQHHTOQC QWWOAZ3P73XN74JBLI23YKM7KKRUCH55EMD7I6VPKG7B6DWZXB2QC WNILGROUH2LQ7GFGGWCHIE4YUWBQNU6QQETTL7UHGK3P5P7SEWCQC ACJAMKBT4W65O2U5PFWO6XCGF7ULSKVPTIC4PXPIZGHHJGETU3MAC 53LXFA2O4DZ2GJ7GC6M3FUUNFJ5MOKSUJ74XU2YNLO3HSOEASSXAC 6SEECG7ACIN6ZK72ED3DKYZKBNM5M5OMTD4M6HLNMAH376NYNAEAC 47RPC7ATVC6VSS7X6EPD4NB6PHZ5OU4KR62N2PV5WDDIJPQMO4UQC ZDA27C6OCBK6YWRWND7EXFD23EEEZ4V5YXJT3RYYQC3NYVD7NEHAC -- The opposite of a unique edge (e.g. parent) might be non-unique (e.g. child).Non_unique_edges = {'side', 'child', 'cross', 'before', 'after'}
-- The opposite of a unique link (e.g. parent) might be non-unique (e.g. child).Non_unique_links = {'side', 'child', 'cross', 'before', 'after'}
add_edge(pane.id, rel, new_pane.id)add_edge(new_pane.id, Opposite[rel], pane.id)if #Surface[Cursor_pane.col] == 1 and not array.find(Non_unique_edges, rel) then
add_link(pane.id, rel, new_pane.id)add_link(new_pane.id, Opposite[rel], pane.id)if #Surface[Cursor_pane.col] == 1 and not array.find(Non_unique_links, rel) then