return"-- \043\043\043\043\043\043\043\043 \087\065\088 \066\085\078\068\076\069\068 \068\065\084\065 \066\069\076\079\087 \043\043\043\043\043\043\043\043 --\n\n-- \087\105\108\108 \098\101 \117\115\101\100 \108\097\116\101\114 \102\111\114 \103\101\116\116\105\110\103 \102\108\097\116\116\101\110\101\100 \103\108\111\098\097\108\115\n\108\111\099\097\108 \073\109\112\111\114\116\071\108\111\098\097\108\115\n\n-- \072\111\108\100\115 \100\105\114\101\099\116 \099\108\111\115\117\114\101 \100\097\116\097 \040\100\101\102\105\110\105\110\103 \116\104\105\115 \098\101\102\111\114\101 \116\104\101 \068\079\077 \116\114\101\101 \102\111\114 \108\105\110\101 \100\101\098\117\103\103\105\110\103 \101\116\099\041\n\108\111\099\097\108 \067\108\111\115\117\114\101\066\105\110\100\105\110\103\115 \061 \036\123\067\108\111\115\117\114\101\066\105\110\100\105\110\103\115\125 -- \091\082\101\102\073\100\093 \061 \067\108\111\115\117\114\101\n\n-- \072\111\108\100\115 \116\104\101 \097\099\116\117\097\108 \068\079\077 \100\097\116\097\n\108\111\099\097\108 \079\098\106\101\099\116\084\114\101\101 \061 \036\123\079\098\106\101\099\116\084\114\101\101\125\n\n-- \076\105\110\101 \111\102\102\115\101\116\115 \102\111\114 \100\101\098\117\103\103\105\110\103 \040\111\110\108\121 \105\110\099\108\117\100\101\100 \119\104\101\110 \109\105\110\105\102\121\084\097\098\108\101\115 \105\115 \102\097\108\115\101\041\n\108\111\099\097\108 \076\105\110\101\079\102\102\115\101\116\115 \061 \036\123\076\105\110\101\079\102\102\115\101\116\115\125\n\n-- \077\105\115\099 \065\079\084 \118\097\114\105\097\098\108\101 \105\109\112\111\114\116\115\n\108\111\099\097\108 \087\097\120\086\101\114\115\105\111\110 \061 \"\036\123\086\101\114\115\105\111\110\125\"\n\108\111\099\097\108 \069\110\118\078\097\109\101 \061 \"\036\123\069\110\118\078\097\109\101\125\"\n\n-- \043\043\043\043\043\043\043\043 \082\085\078\084\073\077\069 \073\077\080\076 \066\069\076\079\087 \043\043\043\043\043\043\043\043 --\n\n-- \076\111\099\097\108\105\122\105\110\103 \099\101\114\116\097\105\110 \108\105\098\114\097\114\105\101\115 \097\110\100 \098\117\105\108\116-\105\110\115 \102\111\114 \114\117\110\116\105\109\101 \101\102\102\105\099\105\101\110\099\121\n\108\111\099\097\108 \115\116\114\105\110\103\044 \116\097\115\107\044 \115\101\116\109\101\116\097\116\097\098\108\101\044 \101\114\114\111\114\044 \110\101\120\116\044 \116\097\098\108\101\044 \117\110\112\097\099\107\044 \099\111\114\111\117\116\105\110\101\044 \115\099\114\105\112\116\044 \116\121\112\101\044 \114\101\113\117\105\114\101\044 \112\099\097\108\108\044 \120\112\099\097\108\108\044 \116\111\115\116\114\105\110\103\044 \116\111\110\117\109\098\101\114\044 \095\086\069\082\083\073\079\078 \061\n      \115\116\114\105\110\103\044 \116\097\115\107\044 \115\101\116\109\101\116\097\116\097\098\108\101\044 \101\114\114\111\114\044 \110\101\120\116\044 \116\097\098\108\101\044 \117\110\112\097\099\107\044 \099\111\114\111\117\116\105\110\101\044 \115\099\114\105\112\116\044 \116\121\112\101\044 \114\101\113\117\105\114\101\044 \112\099\097\108\108\044 \120\112\099\097\108\108\044 \116\111\115\116\114\105\110\103\044 \116\111\110\117\109\098\101\114\044 \095\086\069\082\083\073\079\078\n\n\108\111\099\097\108 \116\097\098\108\101\095\105\110\115\101\114\116 \061 \116\097\098\108\101\046\105\110\115\101\114\116\n\108\111\099\097\108 \116\097\098\108\101\095\114\101\109\111\118\101 \061 \116\097\098\108\101\046\114\101\109\111\118\101\n\108\111\099\097\108 \116\097\098\108\101\095\102\114\101\101\122\101 \061 \116\097\098\108\101\046\102\114\101\101\122\101 \111\114 \102\117\110\099\116\105\111\110\040\116\041 \114\101\116\117\114\110 \116 \101\110\100 -- \108\111\108\n\n\108\111\099\097\108 \099\111\114\111\117\116\105\110\101\095\119\114\097\112 \061 \099\111\114\111\117\116\105\110\101\046\119\114\097\112\n\n\108\111\099\097\108 \115\116\114\105\110\103\095\115\117\098 \061 \115\116\114\105\110\103\046\115\117\098\n\108\111\099\097\108 \115\116\114\105\110\103\095\109\097\116\099\104 \061 \115\116\114\105\110\103\046\109\097\116\099\104\n\108\111\099\097\108 \115\116\114\105\110\103\095\103\109\097\116\099\104 \061 \115\116\114\105\110\103\046\103\109\097\116\099\104\n\n-- \084\104\101 \076\117\110\101 \114\117\110\116\105\109\101 \104\097\115 \105\116\115 \111\119\110 \096\116\097\115\107\096 \105\109\112\108\044 \098\117\116 \105\116 \109\117\115\116 \098\101 \105\109\112\111\114\116\101\100 \098\121 \105\116\115 \098\117\105\108\116\105\110\n-- \109\111\100\117\108\101 \112\097\116\104\044 \"\064\108\117\110\101\047\116\097\115\107\"\n\105\102 \095\086\069\082\083\073\079\078 \097\110\100 \115\116\114\105\110\103\095\115\117\098\040\095\086\069\082\083\073\079\078\044 \049\044 \052\041 \061\061 \"\076\117\110\101\" \116\104\101\110\n    \108\111\099\097\108 \082\101\113\117\105\114\101\083\117\099\099\101\115\115\044 \076\117\110\101\084\097\115\107\076\105\098 \061 \112\099\097\108\108\040\114\101\113\117\105\114\101\044 \"\064\108\117\110\101\047\116\097\115\107\"\041\n    \105\102 \082\101\113\117\105\114\101\083\117\099\099\101\115\115 \097\110\100 \076\117\110\101\084\097\115\107\076\105\098 \116\104\101\110\n        \116\097\115\107 \061 \076\117\110\101\084\097\115\107\076\105\098\n    \101\110\100\n\101\110\100\n\n\108\111\099\097\108 \116\097\115\107\095\100\101\102\101\114 \061 \116\097\115\107 \097\110\100 \116\097\115\107\046\100\101\102\101\114\n\n-- \073\102 \119\101\'\114\101 \110\111\116 \114\117\110\110\105\110\103 \111\110 \116\104\101 \082\111\098\108\111\120 \101\110\103\105\110\101\044 \119\101 \119\111\110\'\116 \104\097\118\101 \097 \096\116\097\115\107\096 \103\108\111\098\097\108\n\108\111\099\097\108 \068\101\102\101\114 \061 \116\097\115\107\095\100\101\102\101\114 \111\114 \102\117\110\099\116\105\111\110\040\102\044 \046\046\046\041\n    \099\111\114\111\117\116\105\110\101\095\119\114\097\112\040\102\041\040\046\046\046\041\n\101\110\100\n\n-- \067\108\097\115\115\078\097\109\101 \"\073\068\115\"\n\108\111\099\097\108 \067\108\097\115\115\078\097\109\101\073\100\066\105\110\100\105\110\103\115 \061 \123\n    \091\049\093 \061 \"\070\111\108\100\101\114\"\044\n    \091\050\093 \061 \"\077\111\100\117\108\101\083\099\114\105\112\116\"\044\n    \091\051\093 \061 \"\083\099\114\105\112\116\"\044\n    \091\052\093 \061 \"\076\111\099\097\108\083\099\114\105\112\116\"\044\n    \091\053\093 \061 \"\083\116\114\105\110\103\086\097\108\117\101\"\044\n\125\n\n\108\111\099\097\108 \082\101\102\066\105\110\100\105\110\103\115 \061 \123\125 -- \091\082\101\102\073\100\093 \061 \082\101\097\108\079\098\106\101\099\116\n\n\108\111\099\097\108 \083\099\114\105\112\116\067\108\111\115\117\114\101\115 \061 \123\125\n\108\111\099\097\108 \083\099\114\105\112\116\067\108\111\115\117\114\101\082\101\102\073\100\115 \061 \123\125 -- \091\083\099\114\105\112\116\067\108\111\115\117\114\101\093 \061 \082\101\102\073\100\n\108\111\099\097\108 \083\116\111\114\101\100\077\111\100\117\108\101\086\097\108\117\101\115 \061 \123\125\n\108\111\099\097\108 \083\099\114\105\112\116\115\084\111\082\117\110 \061 \123\125\n\n-- \119\097\120\046\115\104\097\114\101\100 \095\095\105\110\100\101\120\047\095\095\110\101\119\105\110\100\101\120\n\108\111\099\097\108 \083\104\097\114\101\100\069\110\118\105\114\111\110\109\101\110\116 \061 \123\125\n\n-- \087\101\'\114\101 \099\114\101\097\116\105\110\103 \'\102\097\107\101\' \105\110\115\116\097\110\099\101 \114\101\102\115 \115\111\108\101\121 \102\111\114 \116\114\097\118\101\114\115\097\108 \111\102 \116\104\101 \068\079\077 \102\111\114 \114\101\113\117\105\114\101\040\041 \099\111\109\112\097\116\105\098\105\108\105\116\121\n-- \073\116\'\115 \109\101\097\110\116 \116\111 \098\101 \097\115 \108\097\122\121 \097\115 \112\111\115\115\105\098\108\101\n\108\111\099\097\108 \082\101\102\067\104\105\108\100\114\101\110 \061 \123\125 -- \091\082\101\102\093 \061 \123\067\104\105\108\100\114\101\110\082\101\102\044 \046\046\046\125\n\n-- \073\109\112\108\101\109\101\110\116\101\100 \105\110\115\116\097\110\099\101 \109\101\116\104\111\100\115\n\108\111\099\097\108 \073\110\115\116\097\110\099\101\077\101\116\104\111\100\115 \061 \123\n    \071\101\116\070\117\108\108\078\097\109\101 \061 \123 \123\125\044 \102\117\110\099\116\105\111\110\040\115\101\108\102\041\n        \108\111\099\097\108 \080\097\116\104 \061 \115\101\108\102\046\078\097\109\101\n        \108\111\099\097\108 \079\098\106\101\099\116\080\111\105\110\116\101\114 \061 \115\101\108\102\046\080\097\114\101\110\116\n\n        \119\104\105\108\101 \079\098\106\101\099\116\080\111\105\110\116\101\114 \100\111\n            \080\097\116\104 \061 \079\098\106\101\099\116\080\111\105\110\116\101\114\046\078\097\109\101 \046\046 \"\046\" \046\046 \080\097\116\104\n\n            -- \077\111\118\101 \117\112 \116\104\101 \068\079\077 \040\112\097\114\101\110\116 \119\105\108\108 \098\101 \110\105\108 \097\116 \116\104\101 \101\110\100\044 \097\110\100 \116\104\105\115 \119\104\105\108\101 \108\111\111\112 \119\105\108\108 \115\116\111\112\041\n            \079\098\106\101\099\116\080\111\105\110\116\101\114 \061 \079\098\106\101\099\116\080\111\105\110\116\101\114\046\080\097\114\101\110\116\n        \101\110\100\n\n        \114\101\116\117\114\110 \080\097\116\104\n    \101\110\100\125\044\n\n    \071\101\116\067\104\105\108\100\114\101\110 \061 \123 \123\125\044 \102\117\110\099\116\105\111\110\040\115\101\108\102\041\n        \108\111\099\097\108 \082\101\116\117\114\110\065\114\114\097\121 \061 \123\125\n\n        \102\111\114 \067\104\105\108\100 \105\110 \110\101\120\116\044 \082\101\102\067\104\105\108\100\114\101\110\091\115\101\108\102\093 \100\111\n            \116\097\098\108\101\095\105\110\115\101\114\116\040\082\101\116\117\114\110\065\114\114\097\121\044 \067\104\105\108\100\041\n        \101\110\100\n\n        \114\101\116\117\114\110 \082\101\116\117\114\110\065\114\114\097\121\n    \101\110\100\125\044\n\n    \071\101\116\068\101\115\099\101\110\100\097\110\116\115 \061 \123 \123\125\044 \102\117\110\099\116\105\111\110\040\115\101\108\102\041\n        \108\111\099\097\108 \082\101\116\117\114\110\065\114\114\097\121 \061 \123\125\n\n        \102\111\114 \067\104\105\108\100 \105\110 \110\101\120\116\044 \082\101\102\067\104\105\108\100\114\101\110\091\115\101\108\102\093 \100\111\n            \116\097\098\108\101\095\105\110\115\101\114\116\040\082\101\116\117\114\110\065\114\114\097\121\044 \067\104\105\108\100\041\n\n            \102\111\114 \095\044 \068\101\115\099\101\110\100\097\110\116 \105\110 \110\101\120\116\044 \067\104\105\108\100\058\071\101\116\068\101\115\099\101\110\100\097\110\116\115\040\041 \100\111\n                \116\097\098\108\101\095\105\110\115\101\114\116\040\082\101\116\117\114\110\065\114\114\097\121\044 \068\101\115\099\101\110\100\097\110\116\041\n            \101\110\100\n        \101\110\100\n\n        \114\101\116\117\114\110 \082\101\116\117\114\110\065\114\114\097\121\n    \101\110\100\125\044\n\n    \070\105\110\100\070\105\114\115\116\067\104\105\108\100 \061 \123 \123\"\115\116\114\105\110\103\"\044 \"\098\111\111\108\101\097\110\063\"\125\044 \102\117\110\099\116\105\111\110\040\115\101\108\102\044 \110\097\109\101\044 \114\101\099\117\114\115\105\118\101\041\n        \108\111\099\097\108 \067\104\105\108\100\114\101\110 \061 \082\101\102\067\104\105\108\100\114\101\110\091\115\101\108\102\093\n\n        \102\111\114 \067\104\105\108\100 \105\110 \110\101\120\116\044 \067\104\105\108\100\114\101\110 \100\111\n            \105\102 \067\104\105\108\100\046\078\097\109\101 \061\061 \110\097\109\101 \116\104\101\110\n                \114\101\116\117\114\110 \067\104\105\108\100\n            \101\110\100\n        \101\110\100\n\n        \105\102 \114\101\099\117\114\115\105\118\101 \116\104\101\110\n            \102\111\114 \067\104\105\108\100 \105\110 \110\101\120\116\044 \067\104\105\108\100\114\101\110 \100\111\n                -- \089\101\097\104\044 \082\111\098\108\111\120 \102\111\108\108\111\119\115 \116\104\105\115 \098\101\104\097\118\105\111\114- \105\110\115\116\101\097\100 \111\102 \115\101\097\114\099\104\105\110\103 \116\104\101 \101\110\116\105\114\101 \098\097\115\101 \111\102 \097\n                -- \114\101\102 \102\105\114\115\116\044 \116\104\101 \101\110\103\105\110\101 \117\115\101\115 \097 \100\105\114\101\099\116 \114\101\099\117\114\115\105\118\101 \099\097\108\108\n                \114\101\116\117\114\110 \067\104\105\108\100\058\070\105\110\100\070\105\114\115\116\067\104\105\108\100\040\110\097\109\101\044 \116\114\117\101\041\n            \101\110\100\n        \101\110\100\n    \101\110\100\125\044\n\n    \070\105\110\100\070\105\114\115\116\065\110\099\101\115\116\111\114 \061 \123 \123\"\115\116\114\105\110\103\"\125\044 \102\117\110\099\116\105\111\110\040\115\101\108\102\044 \110\097\109\101\041\n        \108\111\099\097\108 \082\101\102\080\111\105\110\116\101\114 \061 \115\101\108\102\046\080\097\114\101\110\116\n        \119\104\105\108\101 \082\101\102\080\111\105\110\116\101\114 \100\111\n            \105\102 \082\101\102\080\111\105\110\116\101\114\046\078\097\109\101 \061\061 \110\097\109\101 \116\104\101\110\n                \114\101\116\117\114\110 \082\101\102\080\111\105\110\116\101\114\n            \101\110\100\n\n            \082\101\102\080\111\105\110\116\101\114 \061 \082\101\102\080\111\105\110\116\101\114\046\080\097\114\101\110\116\n        \101\110\100\n    \101\110\100\125\044\n\n    -- \074\117\115\116 \116\111 \105\109\112\108\101\109\101\110\116 \102\111\114 \116\114\097\118\101\114\115\097\108 \117\115\097\103\101\n    \087\097\105\116\070\111\114\067\104\105\108\100 \061 \123 \123\"\115\116\114\105\110\103\"\044 \"\110\117\109\098\101\114\063\"\125\044 \102\117\110\099\116\105\111\110\040\115\101\108\102\044 \110\097\109\101\041\n        \114\101\116\117\114\110 \115\101\108\102\058\070\105\110\100\070\105\114\115\116\067\104\105\108\100\040\110\097\109\101\041\n    \101\110\100\125\044\n\125\n\n-- \"\080\114\111\120\105\101\115\" \116\111 \105\110\115\116\097\110\099\101 \109\101\116\104\111\100\115\044 \119\105\116\104 \101\114\114 \099\104\101\099\107\115 \101\116\099\n\108\111\099\097\108 \073\110\115\116\097\110\099\101\077\101\116\104\111\100\080\114\111\120\105\101\115 \061 \123\125\n\102\111\114 \077\101\116\104\111\100\078\097\109\101\044 \077\101\116\104\111\100\079\098\106\101\099\116 \105\110 \110\101\120\116\044 \073\110\115\116\097\110\099\101\077\101\116\104\111\100\115 \100\111\n    \108\111\099\097\108 \084\121\112\101\115 \061 \077\101\116\104\111\100\079\098\106\101\099\116\091\049\093\n    \108\111\099\097\108 \077\101\116\104\111\100 \061 \077\101\116\104\111\100\079\098\106\101\099\116\091\050\093\n\n    \108\111\099\097\108 \069\118\097\108\117\097\116\101\100\084\121\112\101\073\110\102\111 \061 \123\125\n    \102\111\114 \065\114\103\073\110\100\101\120\044 \084\121\112\101\073\110\102\111 \105\110 \110\101\120\116\044 \084\121\112\101\115 \100\111\n        \108\111\099\097\108 \069\120\112\101\099\116\101\100\084\121\112\101\044 \073\115\079\112\116\105\111\110\097\108 \061 \115\116\114\105\110\103\095\109\097\116\099\104\040\084\121\112\101\073\110\102\111\044 \"\094\040\091\094\037\063\093\043\041\040\037\063\063\041\"\041\n        \069\118\097\108\117\097\116\101\100\084\121\112\101\073\110\102\111\091\065\114\103\073\110\100\101\120\093 \061 \123\069\120\112\101\099\116\101\100\084\121\112\101\044 \073\115\079\112\116\105\111\110\097\108\125\n    \101\110\100\n\n    \073\110\115\116\097\110\099\101\077\101\116\104\111\100\080\114\111\120\105\101\115\091\077\101\116\104\111\100\078\097\109\101\093 \061 \102\117\110\099\116\105\111\110\040\115\101\108\102\044 \046\046\046\041\n        \105\102 \110\111\116 \082\101\102\067\104\105\108\100\114\101\110\091\115\101\108\102\093 \116\104\101\110\n            \101\114\114\111\114\040\"\069\120\112\101\099\116\101\100 \'\058\' \110\111\116 \'\046\' \099\097\108\108\105\110\103 \109\101\109\098\101\114 \102\117\110\099\116\105\111\110 \" \046\046 \077\101\116\104\111\100\078\097\109\101\044 \050\041\n        \101\110\100\n\n        \108\111\099\097\108 \065\114\103\115 \061 \123\046\046\046\125\n        \102\111\114 \065\114\103\073\110\100\101\120\044 \084\121\112\101\073\110\102\111 \105\110 \110\101\120\116\044 \069\118\097\108\117\097\116\101\100\084\121\112\101\073\110\102\111 \100\111\n            \108\111\099\097\108 \082\101\097\108\065\114\103 \061 \065\114\103\115\091\065\114\103\073\110\100\101\120\093\n            \108\111\099\097\108 \082\101\097\108\065\114\103\084\121\112\101 \061 \116\121\112\101\040\082\101\097\108\065\114\103\041\n            \108\111\099\097\108 \069\120\112\101\099\116\101\100\084\121\112\101\044 \073\115\079\112\116\105\111\110\097\108 \061 \084\121\112\101\073\110\102\111\091\049\093\044 \084\121\112\101\073\110\102\111\091\050\093\n\n            \105\102 \082\101\097\108\065\114\103 \061\061 \110\105\108 \097\110\100 \110\111\116 \073\115\079\112\116\105\111\110\097\108 \116\104\101\110\n                \101\114\114\111\114\040\"\065\114\103\117\109\101\110\116 \" \046\046 \082\101\097\108\065\114\103 \046\046 \" \109\105\115\115\105\110\103 \111\114 \110\105\108\"\044 \051\041\n            \101\110\100\n\n            \105\102 \069\120\112\101\099\116\101\100\084\121\112\101 ~\061 \"\097\110\121\" \097\110\100 \082\101\097\108\065\114\103\084\121\112\101 ~\061 \069\120\112\101\099\116\101\100\084\121\112\101 \097\110\100 \110\111\116 \040\082\101\097\108\065\114\103\084\121\112\101 \061\061 \"\110\105\108\" \097\110\100 \073\115\079\112\116\105\111\110\097\108\041 \116\104\101\110\n                \101\114\114\111\114\040\"\065\114\103\117\109\101\110\116 \" \046\046 \065\114\103\073\110\100\101\120 \046\046 \" \101\120\112\101\099\116\115 \116\121\112\101 \092\"\" \046\046 \069\120\112\101\099\116\101\100\084\121\112\101 \046\046 \"\092\"\044 \103\111\116 \092\"\" \046\046 \082\101\097\108\065\114\103\084\121\112\101 \046\046 \"\092\"\"\044 \050\041\n            \101\110\100\n        \101\110\100\n\n        \114\101\116\117\114\110 \077\101\116\104\111\100\040\115\101\108\102\044 \046\046\046\041\n    \101\110\100\n\101\110\100\n\n\108\111\099\097\108 \102\117\110\099\116\105\111\110 \067\114\101\097\116\101\082\101\102\040\099\108\097\115\115\078\097\109\101\044 \110\097\109\101\044 \112\097\114\101\110\116\041\n    -- \096\110\097\109\101\096 \097\110\100 \096\112\097\114\101\110\116\096 \099\097\110 \097\108\115\111 \098\101 \115\101\116 \108\097\116\101\114 \098\121 \116\104\101 \105\110\105\116 \115\099\114\105\112\116 \105\102 \116\104\101\121\'\114\101 \097\098\115\101\110\116\n\n    -- \069\120\116\114\097\115\n    \108\111\099\097\108 \083\116\114\105\110\103\086\097\108\117\101\095\086\097\108\117\101\n\n    -- \087\105\108\108 \098\101 \115\101\116 \116\111 \082\101\102\067\104\105\108\100\114\101\110 \108\097\116\101\114 \097\115\119\101\108\108\n    \108\111\099\097\108 \067\104\105\108\100\114\101\110 \061 \115\101\116\109\101\116\097\116\097\098\108\101\040\123\125\044 \123\095\095\109\111\100\101 \061 \"\107\"\125\041\n\n    -- \069\114\114 \102\117\110\099\115\n    \108\111\099\097\108 \102\117\110\099\116\105\111\110 \073\110\118\097\108\105\100\077\101\109\098\101\114\040\109\101\109\098\101\114\041\n        \101\114\114\111\114\040\109\101\109\098\101\114 \046\046 \" \105\115 \110\111\116 \097 \118\097\108\105\100 \040\118\105\114\116\117\097\108\041 \109\101\109\098\101\114 \111\102 \" \046\046 \099\108\097\115\115\078\097\109\101 \046\046 \" \092\"\" \046\046 \110\097\109\101 \046\046 \"\092\"\"\044 \051\041\n    \101\110\100\n    \108\111\099\097\108 \102\117\110\099\116\105\111\110 \082\101\097\100\079\110\108\121\080\114\111\112\101\114\116\121\040\112\114\111\112\101\114\116\121\041\n        \101\114\114\111\114\040\"\085\110\097\098\108\101 \116\111 \097\115\115\105\103\110 \040\118\105\114\116\117\097\108\041 \112\114\111\112\101\114\116\121 \" \046\046 \112\114\111\112\101\114\116\121 \046\046 \"\046 \080\114\111\112\101\114\116\121 \105\115 \114\101\097\100 \111\110\108\121\"\044 \051\041\n    \101\110\100\n\n    \108\111\099\097\108 \082\101\102 \061 \123\125\n    \108\111\099\097\108 \082\101\102\077\101\116\097\116\097\098\108\101 \061 \123\125\n\n    \082\101\102\077\101\116\097\116\097\098\108\101\046\095\095\109\101\116\097\116\097\098\108\101 \061 \102\097\108\115\101\n\n    \082\101\102\077\101\116\097\116\097\098\108\101\046\095\095\105\110\100\101\120 \061 \102\117\110\099\116\105\111\110\040\095\044 \105\110\100\101\120\041\n        \105\102 \105\110\100\101\120 \061\061 \"\067\108\097\115\115\078\097\109\101\" \116\104\101\110 -- \070\105\114\115\116 \099\104\101\099\107 \"\112\114\111\112\101\114\116\105\101\115\"\n            \114\101\116\117\114\110 \099\108\097\115\115\078\097\109\101\n        \101\108\115\101\105\102 \105\110\100\101\120 \061\061 \"\078\097\109\101\" \116\104\101\110\n            \114\101\116\117\114\110 \110\097\109\101\n        \101\108\115\101\105\102 \105\110\100\101\120 \061\061 \"\080\097\114\101\110\116\" \116\104\101\110\n            \114\101\116\117\114\110 \112\097\114\101\110\116\n        \101\108\115\101\105\102 \099\108\097\115\115\078\097\109\101 \061\061 \"\083\116\114\105\110\103\086\097\108\117\101\" \097\110\100 \105\110\100\101\120 \061\061 \"\086\097\108\117\101\" \116\104\101\110\n            -- \083\117\112\112\111\114\116\105\110\103 \083\116\114\105\110\103\086\097\108\117\101\046\086\097\108\117\101 \102\111\114 \082\111\106\111 \046\116\120\116 \102\105\108\101 \099\111\110\118\n            \114\101\116\117\114\110 \083\116\114\105\110\103\086\097\108\117\101\095\086\097\108\117\101\n        \101\108\115\101 -- \076\097\115\116\108\121\044 \099\104\101\099\107 \"\109\101\116\104\111\100\115\"\n            \108\111\099\097\108 \073\110\115\116\097\110\099\101\077\101\116\104\111\100 \061 \073\110\115\116\097\110\099\101\077\101\116\104\111\100\080\114\111\120\105\101\115\091\105\110\100\101\120\093\n\n            \105\102 \073\110\115\116\097\110\099\101\077\101\116\104\111\100 \116\104\101\110\n                \114\101\116\117\114\110 \073\110\115\116\097\110\099\101\077\101\116\104\111\100\n            \101\110\100\n        \101\110\100\n\n        -- \078\101\120\116 \119\101\'\108\108 \108\111\111\107 \116\104\114\117 \099\104\105\108\100 \114\101\102\115\n        \102\111\114 \067\104\105\108\100 \105\110 \110\101\120\116\044 \067\104\105\108\100\114\101\110 \100\111\n            \105\102 \067\104\105\108\100\046\078\097\109\101 \061\061 \105\110\100\101\120 \116\104\101\110\n                \114\101\116\117\114\110 \067\104\105\108\100\n            \101\110\100\n        \101\110\100\n\n        -- \065\116 \116\104\105\115 \112\111\105\110\116\044 \110\111 \109\101\109\098\101\114 \119\097\115 \102\111\117\110\100\059 \116\104\105\115 \105\115 \116\104\101 \115\097\109\101 \101\114\114 \102\111\114\109\097\116 \097\115 \082\111\098\108\111\120\n        \073\110\118\097\108\105\100\077\101\109\098\101\114\040\105\110\100\101\120\041\n    \101\110\100\n\n    \082\101\102\077\101\116\097\116\097\098\108\101\046\095\095\110\101\119\105\110\100\101\120 \061 \102\117\110\099\116\105\111\110\040\095\044 \105\110\100\101\120\044 \118\097\108\117\101\041\n        -- \095\095\110\101\119\105\110\100\101\120 \105\115 \111\110\108\121 \102\111\114 \112\114\111\112\115 \102\121\105\n        \105\102 \105\110\100\101\120 \061\061 \"\067\108\097\115\115\078\097\109\101\" \116\104\101\110\n            \082\101\097\100\079\110\108\121\080\114\111\112\101\114\116\121\040\105\110\100\101\120\041\n        \101\108\115\101\105\102 \105\110\100\101\120 \061\061 \"\078\097\109\101\" \116\104\101\110\n            \110\097\109\101 \061 \118\097\108\117\101\n        \101\108\115\101\105\102 \105\110\100\101\120 \061\061 \"\080\097\114\101\110\116\" \116\104\101\110\n            -- \087\101\'\108\108 \106\117\115\116 \105\103\110\111\114\101 \116\104\101 \112\114\111\099\101\115\115 \105\102 \105\116\'\115 \116\114\121\105\110\103 \116\111 \115\101\116 \105\116\115\101\108\102\n            \105\102 \118\097\108\117\101 \061\061 \082\101\102 \116\104\101\110\n                \114\101\116\117\114\110\n            \101\110\100\n\n            \105\102 \112\097\114\101\110\116 ~\061 \110\105\108 \116\104\101\110\n                -- \082\101\109\111\118\101 \116\104\105\115 \114\101\102 \102\114\111\109 \116\104\101 \067\085\082\082\069\078\084 \112\097\114\101\110\116\n                \082\101\102\067\104\105\108\100\114\101\110\091\112\097\114\101\110\116\093\091\082\101\102\093 \061 \110\105\108\n            \101\110\100\n\n            \112\097\114\101\110\116 \061 \118\097\108\117\101\n\n            \105\102 \118\097\108\117\101 ~\061 \110\105\108 \116\104\101\110\n                -- \065\110\100 \078\079\087 \119\101\'\114\101 \115\101\116\116\105\110\103 \116\104\101 \110\101\119 \112\097\114\101\110\116\n                \082\101\102\067\104\105\108\100\114\101\110\091\118\097\108\117\101\093\091\082\101\102\093 \061 \116\114\117\101\n            \101\110\100\n        \101\108\115\101\105\102 \099\108\097\115\115\078\097\109\101 \061\061 \"\083\116\114\105\110\103\086\097\108\117\101\" \097\110\100 \105\110\100\101\120 \061\061 \"\086\097\108\117\101\" \116\104\101\110\n            -- \083\117\112\112\111\114\116\105\110\103 \083\116\114\105\110\103\086\097\108\117\101\046\086\097\108\117\101 \102\111\114 \082\111\106\111 \046\116\120\116 \102\105\108\101 \099\111\110\118\n            \083\116\114\105\110\103\086\097\108\117\101\095\086\097\108\117\101 \061 \118\097\108\117\101\n        \101\108\115\101\n            -- \083\097\109\101 \101\114\114 \097\115 \095\095\105\110\100\101\120 \119\104\101\110 \110\111 \109\101\109\098\101\114 \105\115 \102\111\117\110\100\n            \073\110\118\097\108\105\100\077\101\109\098\101\114\040\105\110\100\101\120\041\n        \101\110\100\n    \101\110\100\n\n    \082\101\102\077\101\116\097\116\097\098\108\101\046\095\095\116\111\115\116\114\105\110\103 \061 \102\117\110\099\116\105\111\110\040\041\n        \114\101\116\117\114\110 \110\097\109\101\n    \101\110\100\n\n    \115\101\116\109\101\116\097\116\097\098\108\101\040\082\101\102\044 \082\101\102\077\101\116\097\116\097\098\108\101\041\n\n    \082\101\102\067\104\105\108\100\114\101\110\091\082\101\102\093 \061 \067\104\105\108\100\114\101\110\n\n    \105\102 \112\097\114\101\110\116 ~\061 \110\105\108 \116\104\101\110\n        \082\101\102\067\104\105\108\100\114\101\110\091\112\097\114\101\110\116\093\091\082\101\102\093 \061 \116\114\117\101\n    \101\110\100\n\n    \114\101\116\117\114\110 \082\101\102\n\101\110\100\n\n-- \067\114\101\097\116\101 \114\101\097\108 \114\101\102 \068\079\077 \102\114\111\109 \111\098\106\101\099\116 \116\114\101\101\n\108\111\099\097\108 \102\117\110\099\116\105\111\110 \067\114\101\097\116\101\082\101\102\070\114\111\109\079\098\106\101\099\116\040\111\098\106\101\099\116\044 \112\097\114\101\110\116\041\n    \108\111\099\097\108 \082\101\102\073\100 \061 \111\098\106\101\099\116\091\049\093\n    \108\111\099\097\108 \067\108\097\115\115\078\097\109\101\073\100 \061 \111\098\106\101\099\116\091\050\093\n    \108\111\099\097\108 \080\114\111\112\101\114\116\105\101\115 \061 \111\098\106\101\099\116\091\051\093 -- \079\112\116\105\111\110\097\108\n    \108\111\099\097\108 \067\104\105\108\100\114\101\110 \061 \111\098\106\101\099\116\091\052\093 -- \079\112\116\105\111\110\097\108\n\n    \108\111\099\097\108 \067\108\097\115\115\078\097\109\101 \061 \067\108\097\115\115\078\097\109\101\073\100\066\105\110\100\105\110\103\115\091\067\108\097\115\115\078\097\109\101\073\100\093\n\n    \108\111\099\097\108 \078\097\109\101 \061 \080\114\111\112\101\114\116\105\101\115 \097\110\100 \116\097\098\108\101\095\114\101\109\111\118\101\040\080\114\111\112\101\114\116\105\101\115\044 \049\041 \111\114 \067\108\097\115\115\078\097\109\101\n\n    \108\111\099\097\108 \082\101\102 \061 \067\114\101\097\116\101\082\101\102\040\067\108\097\115\115\078\097\109\101\044 \078\097\109\101\044 \112\097\114\101\110\116\041 -- \051\114\100 \097\114\103 \109\097\121 \098\101 \110\105\108 \105\102 \116\104\105\115 \105\115 \102\114\111\109 \114\111\111\116\n    \082\101\102\066\105\110\100\105\110\103\115\091\082\101\102\073\100\093 \061 \082\101\102\n\n    \105\102 \080\114\111\112\101\114\116\105\101\115 \116\104\101\110\n        \102\111\114 \080\114\111\112\101\114\116\121\078\097\109\101\044 \080\114\111\112\101\114\116\121\086\097\108\117\101 \105\110 \110\101\120\116\044 \080\114\111\112\101\114\116\105\101\115 \100\111\n            \082\101\102\091\080\114\111\112\101\114\116\121\078\097\109\101\093 \061 \080\114\111\112\101\114\116\121\086\097\108\117\101\n        \101\110\100\n    \101\110\100\n\n    \105\102 \067\104\105\108\100\114\101\110 \116\104\101\110\n        \102\111\114 \095\044 \067\104\105\108\100\079\098\106\101\099\116 \105\110 \110\101\120\116\044 \067\104\105\108\100\114\101\110 \100\111\n            \067\114\101\097\116\101\082\101\102\070\114\111\109\079\098\106\101\099\116\040\067\104\105\108\100\079\098\106\101\099\116\044 \082\101\102\041\n        \101\110\100\n    \101\110\100\n\n    \114\101\116\117\114\110 \082\101\102\n\101\110\100\n\n\108\111\099\097\108 \082\101\097\108\079\098\106\101\099\116\082\111\111\116 \061 \067\114\101\097\116\101\082\101\102\040\"\070\111\108\100\101\114\"\044 \"\091\" \046\046 \069\110\118\078\097\109\101 \046\046 \"\093\"\041\n\102\111\114 \095\044 \079\098\106\101\099\116 \105\110 \110\101\120\116\044 \079\098\106\101\099\116\084\114\101\101 \100\111\n    \067\114\101\097\116\101\082\101\102\070\114\111\109\079\098\106\101\099\116\040\079\098\106\101\099\116\044 \082\101\097\108\079\098\106\101\099\116\082\111\111\116\041\n\101\110\100\n\n-- \078\111\119 \119\101\'\108\108 \115\101\116 \115\099\114\105\112\116 \099\108\111\115\117\114\101 \114\101\102\115 \097\110\100 \099\104\101\099\107 \105\102 \116\104\101\121 \115\104\111\117\108\100 \098\101 \114\097\110 \097\115 \097 \066\097\115\101\083\099\114\105\112\116\n\102\111\114 \082\101\102\073\100\044 \067\108\111\115\117\114\101 \105\110 \110\101\120\116\044 \067\108\111\115\117\114\101\066\105\110\100\105\110\103\115 \100\111\n    \108\111\099\097\108 \082\101\102 \061 \082\101\102\066\105\110\100\105\110\103\115\091\082\101\102\073\100\093\n\n    \083\099\114\105\112\116\067\108\111\115\117\114\101\115\091\082\101\102\093 \061 \067\108\111\115\117\114\101\n    \083\099\114\105\112\116\067\108\111\115\117\114\101\082\101\102\073\100\115\091\082\101\102\093 \061 \082\101\102\073\100\n\n    \108\111\099\097\108 \067\108\097\115\115\078\097\109\101 \061 \082\101\102\046\067\108\097\115\115\078\097\109\101\n    \105\102 \067\108\097\115\115\078\097\109\101 \061\061 \"\076\111\099\097\108\083\099\114\105\112\116\" \111\114 \067\108\097\115\115\078\097\109\101 \061\061 \"\083\099\114\105\112\116\" \116\104\101\110\n        \116\097\098\108\101\095\105\110\115\101\114\116\040\083\099\114\105\112\116\115\084\111\082\117\110\044 \082\101\102\041\n    \101\110\100\n\101\110\100\n\n\108\111\099\097\108 \102\117\110\099\116\105\111\110 \076\111\097\100\083\099\114\105\112\116\040\115\099\114\105\112\116\082\101\102\041\n    \108\111\099\097\108 \083\099\114\105\112\116\067\108\097\115\115\078\097\109\101 \061 \115\099\114\105\112\116\082\101\102\046\067\108\097\115\115\078\097\109\101\n\n    -- \070\105\114\115\116 \119\101\'\108\108 \099\104\101\099\107 \102\111\114 \097 \099\097\099\104\101\100 \109\111\100\117\108\101 \118\097\108\117\101 \040\112\097\099\107\101\100 \105\110\116\111 \097 \116\098\108\041\n    \108\111\099\097\108 \083\116\111\114\101\100\077\111\100\117\108\101\086\097\108\117\101 \061 \083\116\111\114\101\100\077\111\100\117\108\101\086\097\108\117\101\115\091\115\099\114\105\112\116\082\101\102\093\n    \105\102 \083\116\111\114\101\100\077\111\100\117\108\101\086\097\108\117\101 \097\110\100 \083\099\114\105\112\116\067\108\097\115\115\078\097\109\101 \061\061 \"\077\111\100\117\108\101\083\099\114\105\112\116\" \116\104\101\110\n        \114\101\116\117\114\110 \117\110\112\097\099\107\040\083\116\111\114\101\100\077\111\100\117\108\101\086\097\108\117\101\041\n    \101\110\100\n\n    \108\111\099\097\108 \067\108\111\115\117\114\101 \061 \083\099\114\105\112\116\067\108\111\115\117\114\101\115\091\115\099\114\105\112\116\082\101\102\093\n\n    \108\111\099\097\108 \102\117\110\099\116\105\111\110 \070\111\114\109\097\116\069\114\114\111\114\040\111\114\105\103\105\110\097\108\069\114\114\111\114\077\101\115\115\097\103\101\041\n        \111\114\105\103\105\110\097\108\069\114\114\111\114\077\101\115\115\097\103\101 \061 \116\111\115\116\114\105\110\103\040\111\114\105\103\105\110\097\108\069\114\114\111\114\077\101\115\115\097\103\101\041\n\n        \108\111\099\097\108 \086\105\114\116\117\097\108\070\117\108\108\078\097\109\101 \061 \115\099\114\105\112\116\082\101\102\058\071\101\116\070\117\108\108\078\097\109\101\040\041\n\n        -- \067\104\101\099\107 \102\111\114 \118\097\110\105\108\108\097\047\082\111\098\108\111\120 \102\111\114\109\097\116\n        \108\111\099\097\108 \079\114\105\103\105\110\097\108\069\114\114\111\114\076\105\110\101\044 \066\097\115\101\069\114\114\111\114\077\101\115\115\097\103\101 \061 \115\116\114\105\110\103\095\109\097\116\099\104\040\111\114\105\103\105\110\097\108\069\114\114\111\114\077\101\115\115\097\103\101\044 \"\091\094\058\093\043\058\040\037\100\043\041\058 \040\046\043\041\"\041\n\n        \105\102 \110\111\116 \079\114\105\103\105\110\097\108\069\114\114\111\114\076\105\110\101 \111\114 \110\111\116 \076\105\110\101\079\102\102\115\101\116\115 \116\104\101\110\n            \114\101\116\117\114\110 \086\105\114\116\117\097\108\070\117\108\108\078\097\109\101 \046\046 \"\058\042\058 \" \046\046 \040\066\097\115\101\069\114\114\111\114\077\101\115\115\097\103\101 \111\114 \111\114\105\103\105\110\097\108\069\114\114\111\114\077\101\115\115\097\103\101\041\n        \101\110\100\n\n        \079\114\105\103\105\110\097\108\069\114\114\111\114\076\105\110\101 \061 \116\111\110\117\109\098\101\114\040\079\114\105\103\105\110\097\108\069\114\114\111\114\076\105\110\101\041\n\n        \108\111\099\097\108 \082\101\102\073\100 \061 \083\099\114\105\112\116\067\108\111\115\117\114\101\082\101\102\073\100\115\091\115\099\114\105\112\116\082\101\102\093\n        \108\111\099\097\108 \076\105\110\101\079\102\102\115\101\116 \061 \076\105\110\101\079\102\102\115\101\116\115\091\082\101\102\073\100\093\n\n        \108\111\099\097\108 \082\101\097\108\069\114\114\111\114\076\105\110\101 \061 \079\114\105\103\105\110\097\108\069\114\114\111\114\076\105\110\101 - \076\105\110\101\079\102\102\115\101\116 \043 \049\n        \105\102 \082\101\097\108\069\114\114\111\114\076\105\110\101 \060 \048 \116\104\101\110\n            \082\101\097\108\069\114\114\111\114\076\105\110\101 \061 \"\063\"\n        \101\110\100\n\n        \114\101\116\117\114\110 \086\105\114\116\117\097\108\070\117\108\108\078\097\109\101 \046\046 \"\058\" \046\046 \082\101\097\108\069\114\114\111\114\076\105\110\101 \046\046 \"\058 \" \046\046 \066\097\115\101\069\114\114\111\114\077\101\115\115\097\103\101\n    \101\110\100\n\n    -- \073\102 \105\116\'\115 \097 \066\097\115\101\083\099\114\105\112\116\044 \119\101\'\108\108 \106\117\115\116 \114\117\110 \105\116 \100\105\114\101\099\116\108\121\033\n    \105\102 \083\099\114\105\112\116\067\108\097\115\115\078\097\109\101 \061\061 \"\076\111\099\097\108\083\099\114\105\112\116\" \111\114 \083\099\114\105\112\116\067\108\097\115\115\078\097\109\101 \061\061 \"\083\099\114\105\112\116\" \116\104\101\110\n        \108\111\099\097\108 \082\117\110\083\117\099\099\101\115\115\044 \069\114\114\111\114\077\101\115\115\097\103\101 \061 \120\112\099\097\108\108\040\067\108\111\115\117\114\101\044 \102\117\110\099\116\105\111\110\040\109\115\103\041\n            \114\101\116\117\114\110 \100\101\098\117\103\046\116\114\097\099\101\098\097\099\107\040\109\115\103\044 \050\041\n        \101\110\100\041\n        \105\102 \110\111\116 \082\117\110\083\117\099\099\101\115\115 \116\104\101\110\n            \101\114\114\111\114\040\070\111\114\109\097\116\069\114\114\111\114\040\069\114\114\111\114\077\101\115\115\097\103\101\041\044 \048\041\n        \101\110\100\n    \101\108\115\101\n        \108\111\099\097\108 \080\067\097\108\108\082\101\116\117\114\110 \061 \123\120\112\099\097\108\108\040\067\108\111\115\117\114\101\044 \102\117\110\099\116\105\111\110\040\109\115\103\041\n            \114\101\116\117\114\110 \100\101\098\117\103\046\116\114\097\099\101\098\097\099\107\040\109\115\103\044 \050\041\n        \101\110\100\041\125\n\n        \108\111\099\097\108 \082\117\110\083\117\099\099\101\115\115 \061 \116\097\098\108\101\095\114\101\109\111\118\101\040\080\067\097\108\108\082\101\116\117\114\110\044 \049\041\n        \105\102 \110\111\116 \082\117\110\083\117\099\099\101\115\115 \116\104\101\110\n            \108\111\099\097\108 \069\114\114\111\114\077\101\115\115\097\103\101 \061 \116\097\098\108\101\095\114\101\109\111\118\101\040\080\067\097\108\108\082\101\116\117\114\110\044 \049\041\n            \101\114\114\111\114\040\070\111\114\109\097\116\069\114\114\111\114\040\069\114\114\111\114\077\101\115\115\097\103\101\041\044 \048\041\n        \101\110\100\n\n        \083\116\111\114\101\100\077\111\100\117\108\101\086\097\108\117\101\115\091\115\099\114\105\112\116\082\101\102\093 \061 \080\067\097\108\108\082\101\116\117\114\110\n        \114\101\116\117\114\110 \117\110\112\097\099\107\040\080\067\097\108\108\082\101\116\117\114\110\041\n    \101\110\100\n\101\110\100\n\n-- \087\101\'\108\108 \097\115\115\105\103\110 \116\104\101 \097\099\116\117\097\108 \102\117\110\099 \102\114\111\109 \116\104\101 \116\111\112 \111\102 \116\104\105\115 \111\117\116\112\117\116 \102\111\114 \102\108\097\116\116\101\110\105\110\103 \117\115\101\114 \103\108\111\098\097\108\115 \097\116 \114\117\110\116\105\109\101\n-- \082\101\116\117\114\110\115 \040\105\110 \097 \116\117\112\108\101 \111\114\100\101\114\041\058 \119\097\120\044 \115\099\114\105\112\116\044 \114\101\113\117\105\114\101\n\102\117\110\099\116\105\111\110 \073\109\112\111\114\116\071\108\111\098\097\108\115\040\114\101\102\073\100\041\n    \108\111\099\097\108 \083\099\114\105\112\116\082\101\102 \061 \082\101\102\066\105\110\100\105\110\103\115\091\114\101\102\073\100\093\n\n    \108\111\099\097\108 \102\117\110\099\116\105\111\110 \082\101\097\108\067\097\108\108\040\102\044 \046\046\046\041\n        \108\111\099\097\108 \080\067\097\108\108\082\101\116\117\114\110 \061 \123\120\112\099\097\108\108\040\102\044 \102\117\110\099\116\105\111\110\040\109\115\103\041\n            \114\101\116\117\114\110 \100\101\098\117\103\046\116\114\097\099\101\098\097\099\107\040\109\115\103\044 \050\041\n        \101\110\100\044 \046\046\046\041\125\n\n        \108\111\099\097\108 \067\097\108\108\083\117\099\099\101\115\115 \061 \116\097\098\108\101\095\114\101\109\111\118\101\040\080\067\097\108\108\082\101\116\117\114\110\044 \049\041\n        \105\102 \110\111\116 \067\097\108\108\083\117\099\099\101\115\115 \116\104\101\110\n            \101\114\114\111\114\040\080\067\097\108\108\082\101\116\117\114\110\091\049\093\044 \051\041\n        \101\110\100\n\n        \114\101\116\117\114\110 \117\110\112\097\099\107\040\080\067\097\108\108\082\101\116\117\114\110\041\n    \101\110\100\n\n    -- \096\119\097\120\046\115\104\097\114\101\100\096 \105\110\100\101\120\n    \108\111\099\097\108 \087\097\120\083\104\097\114\101\100 \061 \116\097\098\108\101\095\102\114\101\101\122\101\040\115\101\116\109\101\116\097\116\097\098\108\101\040\123\125\044 \123\n        \095\095\105\110\100\101\120 \061 \083\104\097\114\101\100\069\110\118\105\114\111\110\109\101\110\116\044\n        \095\095\110\101\119\105\110\100\101\120 \061 \102\117\110\099\116\105\111\110\040\095\044 \105\110\100\101\120\044 \118\097\108\117\101\041\n            \083\104\097\114\101\100\069\110\118\105\114\111\110\109\101\110\116\091\105\110\100\101\120\093 \061 \118\097\108\117\101\n        \101\110\100\044\n        \095\095\108\101\110 \061 \102\117\110\099\116\105\111\110\040\041\n            \114\101\116\117\114\110 \035\083\104\097\114\101\100\069\110\118\105\114\111\110\109\101\110\116\n        \101\110\100\044\n        \095\095\105\116\101\114 \061 \102\117\110\099\116\105\111\110\040\041\n            \114\101\116\117\114\110 \110\101\120\116\044 \083\104\097\114\101\100\069\110\118\105\114\111\110\109\101\110\116\n        \101\110\100\044\n    \125\041\041\n\n    \108\111\099\097\108 \071\108\111\098\097\108\095\119\097\120 \061 \116\097\098\108\101\095\102\114\101\101\122\101\040\123\n        -- \070\114\111\109 \065\079\084 \118\097\114\105\097\098\108\101 \105\109\112\111\114\116\115\n        \118\101\114\115\105\111\110 \061 \087\097\120\086\101\114\115\105\111\110\044\n        \101\110\118\110\097\109\101 \061 \069\110\118\078\097\109\101\044\n\n        \115\104\097\114\101\100 \061 \087\097\120\083\104\097\114\101\100\044\n\n        -- \"\082\101\097\108\" \103\108\111\098\097\108\115 \105\110\115\116\101\097\100 \111\102 \116\104\101 \101\110\118 \115\101\116 \111\110\101\115\n        \115\099\114\105\112\116 \061 \115\099\114\105\112\116\044\n        \114\101\113\117\105\114\101 \061 \114\101\113\117\105\114\101\044\n    \125\041\n\n    \108\111\099\097\108 \071\108\111\098\097\108\095\115\099\114\105\112\116 \061 \083\099\114\105\112\116\082\101\102\n\n    \108\111\099\097\108 \102\117\110\099\116\105\111\110 \071\108\111\098\097\108\095\114\101\113\117\105\114\101\040\109\111\100\117\108\101\044 \046\046\046\041\n        \108\111\099\097\108 \077\111\100\117\108\101\065\114\103\084\121\112\101 \061 \116\121\112\101\040\109\111\100\117\108\101\041\n\n        \108\111\099\097\108 \069\114\114\111\114\078\111\110\077\111\100\117\108\101\083\099\114\105\112\116 \061 \"\065\116\116\101\109\112\116\101\100 \116\111 \099\097\108\108 \114\101\113\117\105\114\101 \119\105\116\104 \097 \110\111\110-\077\111\100\117\108\101\083\099\114\105\112\116\"\n        \108\111\099\097\108 \069\114\114\111\114\083\101\108\102\082\101\113\117\105\114\101 \061 \"\065\116\116\101\109\112\116\101\100 \116\111 \099\097\108\108 \114\101\113\117\105\114\101 \119\105\116\104 \115\101\108\102\"\n\n        \105\102 \077\111\100\117\108\101\065\114\103\084\121\112\101 \061\061 \"\116\097\098\108\101\" \097\110\100 \082\101\102\067\104\105\108\100\114\101\110\091\109\111\100\117\108\101\093  \116\104\101\110\n            \105\102 \109\111\100\117\108\101\046\067\108\097\115\115\078\097\109\101 ~\061 \"\077\111\100\117\108\101\083\099\114\105\112\116\" \116\104\101\110\n                \101\114\114\111\114\040\069\114\114\111\114\078\111\110\077\111\100\117\108\101\083\099\114\105\112\116\044 \050\041\n            \101\108\115\101\105\102 \109\111\100\117\108\101 \061\061 \083\099\114\105\112\116\082\101\102 \116\104\101\110\n                \101\114\114\111\114\040\069\114\114\111\114\083\101\108\102\082\101\113\117\105\114\101\044 \050\041\n            \101\110\100\n\n            \114\101\116\117\114\110 \076\111\097\100\083\099\114\105\112\116\040\109\111\100\117\108\101\041\n        \101\108\115\101\105\102 \077\111\100\117\108\101\065\114\103\084\121\112\101 \061\061 \"\115\116\114\105\110\103\" \097\110\100 \115\116\114\105\110\103\095\115\117\098\040\109\111\100\117\108\101\044 \049\044 \049\041 ~\061 \"\064\" \116\104\101\110\n            -- \084\104\101 \099\111\110\116\114\111\108 \102\108\111\119 \111\110 \116\104\105\115 \083\085\067\075\083\n\n            \105\102 \035\109\111\100\117\108\101 \061\061 \048 \116\104\101\110\n                \101\114\114\111\114\040\"\065\116\116\101\109\112\116\101\100 \116\111 \099\097\108\108 \114\101\113\117\105\114\101 \119\105\116\104 \101\109\112\116\121 \115\116\114\105\110\103\"\044 \050\041\n            \101\110\100\n\n            \108\111\099\097\108 \067\117\114\114\101\110\116\082\101\102\080\111\105\110\116\101\114 \061 \083\099\114\105\112\116\082\101\102\n\n            \105\102 \115\116\114\105\110\103\095\115\117\098\040\109\111\100\117\108\101\044 \049\044 \049\041 \061\061 \"\047\" \116\104\101\110\n                \067\117\114\114\101\110\116\082\101\102\080\111\105\110\116\101\114 \061 \082\101\097\108\079\098\106\101\099\116\082\111\111\116\n            \101\108\115\101\105\102 \115\116\114\105\110\103\095\115\117\098\040\109\111\100\117\108\101\044 \049\044 \050\041 \061\061 \"\046\047\" \116\104\101\110\n                \109\111\100\117\108\101 \061 \115\116\114\105\110\103\095\115\117\098\040\109\111\100\117\108\101\044 \051\041\n            \101\110\100\n\n            \108\111\099\097\108 \080\114\101\118\105\111\117\115\080\097\116\104\077\097\116\099\104\n            \102\111\114 \080\097\116\104\077\097\116\099\104 \105\110 \115\116\114\105\110\103\095\103\109\097\116\099\104\040\109\111\100\117\108\101\044 \"\040\091\094\047\093\042\041\047\063\"\041 \100\111\n                \108\111\099\097\108 \082\101\097\108\073\110\100\101\120 \061 \080\097\116\104\077\097\116\099\104\n                \105\102 \080\097\116\104\077\097\116\099\104 \061\061 \"\046\046\" \116\104\101\110\n                    \082\101\097\108\073\110\100\101\120 \061 \"\080\097\114\101\110\116\"\n                \101\110\100\n\n                -- \068\111\110\'\116 \097\100\118\097\110\099\101 \100\105\114 \105\102 \105\116\'\115 \106\117\115\116 \097\110\111\116\104\101\114 \"\047\" \101\105\116\104\101\114\n                \105\102 \082\101\097\108\073\110\100\101\120 ~\061 \"\" \116\104\101\110\n                    \108\111\099\097\108 \082\101\115\117\108\116\082\101\102 \061 \067\117\114\114\101\110\116\082\101\102\080\111\105\110\116\101\114\058\070\105\110\100\070\105\114\115\116\067\104\105\108\100\040\082\101\097\108\073\110\100\101\120\041\n                    \105\102 \110\111\116 \082\101\115\117\108\116\082\101\102 \116\104\101\110\n                        \108\111\099\097\108 \067\117\114\114\101\110\116\082\101\102\080\097\114\101\110\116 \061 \067\117\114\114\101\110\116\082\101\102\080\111\105\110\116\101\114\046\080\097\114\101\110\116\n                        \105\102 \067\117\114\114\101\110\116\082\101\102\080\097\114\101\110\116 \116\104\101\110\n                            \082\101\115\117\108\116\082\101\102 \061 \067\117\114\114\101\110\116\082\101\102\080\097\114\101\110\116\058\070\105\110\100\070\105\114\115\116\067\104\105\108\100\040\082\101\097\108\073\110\100\101\120\041\n                        \101\110\100\n                    \101\110\100\n\n                    \105\102 \082\101\115\117\108\116\082\101\102 \116\104\101\110\n                        \067\117\114\114\101\110\116\082\101\102\080\111\105\110\116\101\114 \061 \082\101\115\117\108\116\082\101\102\n                    \101\108\115\101\105\102 \080\097\116\104\077\097\116\099\104 ~\061 \080\114\101\118\105\111\117\115\080\097\116\104\077\097\116\099\104 \097\110\100 \080\097\116\104\077\097\116\099\104 ~\061 \"\105\110\105\116\" \097\110\100 \080\097\116\104\077\097\116\099\104 ~\061 \"\105\110\105\116\046\115\101\114\118\101\114\" \097\110\100 \080\097\116\104\077\097\116\099\104 ~\061 \"\105\110\105\116\046\099\108\105\101\110\116\" \116\104\101\110\n                        \101\114\114\111\114\040\"\086\105\114\116\117\097\108 \115\099\114\105\112\116 \112\097\116\104 \092\"\" \046\046 \109\111\100\117\108\101 \046\046 \"\092\" \110\111\116 \102\111\117\110\100\"\044 \050\041\n                    \101\110\100\n                \101\110\100\n\n                -- \070\111\114 \112\111\115\115\105\098\108\101 \099\104\101\099\107\115 \110\101\120\116 \099\121\099\108\101\n                \080\114\101\118\105\111\117\115\080\097\116\104\077\097\116\099\104 \061 \080\097\116\104\077\097\116\099\104\n            \101\110\100\n\n            \105\102 \067\117\114\114\101\110\116\082\101\102\080\111\105\110\116\101\114\046\067\108\097\115\115\078\097\109\101 ~\061 \"\077\111\100\117\108\101\083\099\114\105\112\116\" \116\104\101\110\n                \101\114\114\111\114\040\069\114\114\111\114\078\111\110\077\111\100\117\108\101\083\099\114\105\112\116\044 \050\041\n            \101\108\115\101\105\102 \067\117\114\114\101\110\116\082\101\102\080\111\105\110\116\101\114 \061\061 \083\099\114\105\112\116\082\101\102 \116\104\101\110\n                \101\114\114\111\114\040\069\114\114\111\114\083\101\108\102\082\101\113\117\105\114\101\044 \050\041\n            \101\110\100\n\n            \114\101\116\117\114\110 \076\111\097\100\083\099\114\105\112\116\040\067\117\114\114\101\110\116\082\101\102\080\111\105\110\116\101\114\041\n        \101\110\100\n\n        \114\101\116\117\114\110 \082\101\097\108\067\097\108\108\040\114\101\113\117\105\114\101\044 \109\111\100\117\108\101\044 \046\046\046\041\n    \101\110\100\n\n    -- \078\111\119\044 \114\101\116\117\114\110 \102\108\097\116\116\101\110\101\100 \103\108\111\098\097\108\115 \114\101\097\100\121 \102\111\114 \100\105\114\101\099\116 \114\117\110\116\105\109\101 \101\120\101\099\n    \114\101\116\117\114\110 \071\108\111\098\097\108\095\119\097\120\044 \071\108\111\098\097\108\095\115\099\114\105\112\116\044 \071\108\111\098\097\108\095\114\101\113\117\105\114\101\n\101\110\100\n\n\102\111\114 \095\044 \083\099\114\105\112\116\082\101\102 \105\110 \110\101\120\116\044 \083\099\114\105\112\116\115\084\111\082\117\110 \100\111\n    \068\101\102\101\114\040\076\111\097\100\083\099\114\105\112\116\044 \083\099\114\105\112\116\082\101\102\041\n\101\110\100\n"
-- This codegen template *must* be 100% compatible with Lua 5.1x+, NOT just Luau
-- With that being said, this explains the weird cflow in some parts

return [[
-- ++++++++ WAX BUNDLED DATA BELOW ++++++++ --

-- Will be used later for getting flattened globals
local ImportGlobals

-- Holds direct closure data (defining this before the DOM tree for line debugging etc)
local ClosureBindings = ${ClosureBindings} -- [RefId] = Closure

-- Holds the actual DOM data
local ObjectTree = ${ObjectTree}

-- Line offsets for debugging (only included when minifyTables is false)
local LineOffsets = ${LineOffsets}

-- Misc AOT variable imports
local WaxVersion = "${Version}"
local EnvName = "${EnvName}"

-- ++++++++ RUNTIME IMPL BELOW ++++++++ --

-- Localizing certain libraries and built-ins for runtime efficiency
local string, task, setmetatable, error, next, table, unpack, coroutine, script, type, require, pcall, xpcall, tostring, tonumber, _VERSION =
      string, task, setmetatable, error, next, table, unpack, coroutine, script, type, require, pcall, xpcall, tostring, tonumber, _VERSION

local table_insert = table.insert
local table_remove = table.remove
local table_freeze = table.freeze or function(t) return t end -- lol

local coroutine_wrap = coroutine.wrap

local string_sub = string.sub
local string_match = string.match
local string_gmatch = string.gmatch

-- The Lune runtime has its own `task` impl, but it must be imported by its builtin
-- module path, "@lune/task"
if _VERSION and string_sub(_VERSION, 1, 4) == "Lune" then
    local RequireSuccess, LuneTaskLib = pcall(require, "@lune/task")
    if RequireSuccess and LuneTaskLib then
        task = LuneTaskLib
    end
end

local task_defer = task and task.defer

-- If we're not running on the Roblox engine, we won't have a `task` global
local Defer = task_defer or function(f, ...)
    coroutine_wrap(f)(...)
end

-- ClassName "IDs"
local ClassNameIdBindings = {
    [1] = "Folder",
    [2] = "ModuleScript",
    [3] = "Script",
    [4] = "LocalScript",
    [5] = "StringValue",
}

local RefBindings = {} -- [RefId] = RealObject

local ScriptClosures = {}
local ScriptClosureRefIds = {} -- [ScriptClosure] = RefId
local StoredModuleValues = {}
local ScriptsToRun = {}

-- wax.shared __index/__newindex
local SharedEnvironment = {}

-- We're creating 'fake' instance refs soley for traversal of the DOM for require() compatibility
-- It's meant to be as lazy as possible
local RefChildren = {} -- [Ref] = {ChildrenRef, ...}

-- Implemented instance methods
local InstanceMethods = {
    GetFullName = { {}, function(self)
        local Path = self.Name
        local ObjectPointer = self.Parent

        while ObjectPointer do
            Path = ObjectPointer.Name .. "." .. Path

            -- Move up the DOM (parent will be nil at the end, and this while loop will stop)
            ObjectPointer = ObjectPointer.Parent
        end

        return Path
    end},

    GetChildren = { {}, function(self)
        local ReturnArray = {}

        for Child in next, RefChildren[self] do
            table_insert(ReturnArray, Child)
        end

        return ReturnArray
    end},

    GetDescendants = { {}, function(self)
        local ReturnArray = {}

        for Child in next, RefChildren[self] do
            table_insert(ReturnArray, Child)

            for _, Descendant in next, Child:GetDescendants() do
                table_insert(ReturnArray, Descendant)
            end
        end

        return ReturnArray
    end},

    FindFirstChild = { {"string", "boolean?"}, function(self, name, recursive)
        local Children = RefChildren[self]

        for Child in next, Children do
            if Child.Name == name then
                return Child
            end
        end

        if recursive then
            for Child in next, Children do
                -- Yeah, Roblox follows this behavior- instead of searching the entire base of a
                -- ref first, the engine uses a direct recursive call
                return Child:FindFirstChild(name, true)
            end
        end
    end},

    FindFirstAncestor = { {"string"}, function(self, name)
        local RefPointer = self.Parent
        while RefPointer do
            if RefPointer.Name == name then
                return RefPointer
            end

            RefPointer = RefPointer.Parent
        end
    end},

    -- Just to implement for traversal usage
    WaitForChild = { {"string", "number?"}, function(self, name)
        return self:FindFirstChild(name)
    end},
}

-- "Proxies" to instance methods, with err checks etc
local InstanceMethodProxies = {}
for MethodName, MethodObject in next, InstanceMethods do
    local Types = MethodObject[1]
    local Method = MethodObject[2]

    local EvaluatedTypeInfo = {}
    for ArgIndex, TypeInfo in next, Types do
        local ExpectedType, IsOptional = string_match(TypeInfo, "^([^%?]+)(%??)")
        EvaluatedTypeInfo[ArgIndex] = {ExpectedType, IsOptional}
    end

    InstanceMethodProxies[MethodName] = function(self, ...)
        if not RefChildren[self] then
            error("Expected ':' not '.' calling member function " .. MethodName, 2)
        end

        local Args = {...}
        for ArgIndex, TypeInfo in next, EvaluatedTypeInfo do
            local RealArg = Args[ArgIndex]
            local RealArgType = type(RealArg)
            local ExpectedType, IsOptional = TypeInfo[1], TypeInfo[2]

            if RealArg == nil and not IsOptional then
                error("Argument " .. RealArg .. " missing or nil", 3)
            end

            if ExpectedType ~= "any" and RealArgType ~= ExpectedType and not (RealArgType == "nil" and IsOptional) then
                error("Argument " .. ArgIndex .. " expects type \"" .. ExpectedType .. "\", got \"" .. RealArgType .. "\"", 2)
            end
        end

        return Method(self, ...)
    end
end

local function CreateRef(className, name, parent)
    -- `name` and `parent` can also be set later by the init script if they're absent

    -- Extras
    local StringValue_Value

    -- Will be set to RefChildren later aswell
    local Children = setmetatable({}, {__mode = "k"})

    -- Err funcs
    local function InvalidMember(member)
        error(member .. " is not a valid (virtual) member of " .. className .. " \"" .. name .. "\"", 3)
    end
    local function ReadOnlyProperty(property)
        error("Unable to assign (virtual) property " .. property .. ". Property is read only", 3)
    end

    local Ref = {}
    local RefMetatable = {}

    RefMetatable.__metatable = false

    RefMetatable.__index = function(_, index)
        if index == "ClassName" then -- First check "properties"
            return className
        elseif index == "Name" then
            return name
        elseif index == "Parent" then
            return parent
        elseif className == "StringValue" and index == "Value" then
            -- Supporting StringValue.Value for Rojo .txt file conv
            return StringValue_Value
        else -- Lastly, check "methods"
            local InstanceMethod = InstanceMethodProxies[index]

            if InstanceMethod then
                return InstanceMethod
            end
        end

        -- Next we'll look thru child refs
        for Child in next, Children do
            if Child.Name == index then
                return Child
            end
        end

        -- At this point, no member was found; this is the same err format as Roblox
        InvalidMember(index)
    end

    RefMetatable.__newindex = function(_, index, value)
        -- __newindex is only for props fyi
        if index == "ClassName" then
            ReadOnlyProperty(index)
        elseif index == "Name" then
            name = value
        elseif index == "Parent" then
            -- We'll just ignore the process if it's trying to set itself
            if value == Ref then
                return
            end

            if parent ~= nil then
                -- Remove this ref from the CURRENT parent
                RefChildren[parent][Ref] = nil
            end

            parent = value

            if value ~= nil then
                -- And NOW we're setting the new parent
                RefChildren[value][Ref] = true
            end
        elseif className == "StringValue" and index == "Value" then
            -- Supporting StringValue.Value for Rojo .txt file conv
            StringValue_Value = value
        else
            -- Same err as __index when no member is found
            InvalidMember(index)
        end
    end

    RefMetatable.__tostring = function()
        return name
    end

    setmetatable(Ref, RefMetatable)

    RefChildren[Ref] = Children

    if parent ~= nil then
        RefChildren[parent][Ref] = true
    end

    return Ref
end

-- Create real ref DOM from object tree
local function CreateRefFromObject(object, parent)
    local RefId = object[1]
    local ClassNameId = object[2]
    local Properties = object[3] -- Optional
    local Children = object[4] -- Optional

    local ClassName = ClassNameIdBindings[ClassNameId]

    local Name = Properties and table_remove(Properties, 1) or ClassName

    local Ref = CreateRef(ClassName, Name, parent) -- 3rd arg may be nil if this is from root
    RefBindings[RefId] = Ref

    if Properties then
        for PropertyName, PropertyValue in next, Properties do
            Ref[PropertyName] = PropertyValue
        end
    end

    if Children then
        for _, ChildObject in next, Children do
            CreateRefFromObject(ChildObject, Ref)
        end
    end

    return Ref
end

local RealObjectRoot = CreateRef("Folder", "[" .. EnvName .. "]")
for _, Object in next, ObjectTree do
    CreateRefFromObject(Object, RealObjectRoot)
end

-- Now we'll set script closure refs and check if they should be ran as a BaseScript
for RefId, Closure in next, ClosureBindings do
    local Ref = RefBindings[RefId]

    ScriptClosures[Ref] = Closure
    ScriptClosureRefIds[Ref] = RefId

    local ClassName = Ref.ClassName
    if ClassName == "LocalScript" or ClassName == "Script" then
        table_insert(ScriptsToRun, Ref)
    end
end

local function LoadScript(scriptRef)
    local ScriptClassName = scriptRef.ClassName

    -- First we'll check for a cached module value (packed into a tbl)
    local StoredModuleValue = StoredModuleValues[scriptRef]
    if StoredModuleValue and ScriptClassName == "ModuleScript" then
        return unpack(StoredModuleValue)
    end

    local Closure = ScriptClosures[scriptRef]

    local function FormatError(originalErrorMessage)
        originalErrorMessage = tostring(originalErrorMessage)

        local VirtualFullName = scriptRef:GetFullName()

        -- Check for vanilla/Roblox format
        local OriginalErrorLine, BaseErrorMessage = string_match(originalErrorMessage, "[^:]+:(%d+): (.+)")

        if not OriginalErrorLine or not LineOffsets then
            return VirtualFullName .. ":*: " .. (BaseErrorMessage or originalErrorMessage)
        end

        OriginalErrorLine = tonumber(OriginalErrorLine)

        local RefId = ScriptClosureRefIds[scriptRef]
        local LineOffset = LineOffsets[RefId]

        local RealErrorLine = OriginalErrorLine - LineOffset + 1
        if RealErrorLine < 0 then
            RealErrorLine = "?"
        end

        return VirtualFullName .. ":" .. RealErrorLine .. ": " .. BaseErrorMessage
    end

    -- If it's a BaseScript, we'll just run it directly!
    if ScriptClassName == "LocalScript" or ScriptClassName == "Script" then
        local RunSuccess, ErrorMessage = xpcall(Closure, function(msg)
            return debug.traceback(msg, 2)
        end)
        if not RunSuccess then
            error(FormatError(ErrorMessage), 0)
        end
    else
        local PCallReturn = {xpcall(Closure, function(msg)
            return debug.traceback(msg, 2)
        end)}

        local RunSuccess = table_remove(PCallReturn, 1)
        if not RunSuccess then
            local ErrorMessage = table_remove(PCallReturn, 1)
            error(FormatError(ErrorMessage), 0)
        end

        StoredModuleValues[scriptRef] = PCallReturn
        return unpack(PCallReturn)
    end
end

-- We'll assign the actual func from the top of this output for flattening user globals at runtime
-- Returns (in a tuple order): wax, script, require
function ImportGlobals(refId)
    local ScriptRef = RefBindings[refId]

    local function RealCall(f, ...)
        local PCallReturn = {xpcall(f, function(msg)
            return debug.traceback(msg, 2)
        end, ...)}

        local CallSuccess = table_remove(PCallReturn, 1)
        if not CallSuccess then
            error(PCallReturn[1], 3)
        end

        return unpack(PCallReturn)
    end

    -- `wax.shared` index
    local WaxShared = table_freeze(setmetatable({}, {
        __index = SharedEnvironment,
        __newindex = function(_, index, value)
            SharedEnvironment[index] = value
        end,
        __len = function()
            return #SharedEnvironment
        end,
        __iter = function()
            return next, SharedEnvironment
        end,
    }))

    local Global_wax = table_freeze({
        -- From AOT variable imports
        version = WaxVersion,
        envname = EnvName,

        shared = WaxShared,

        -- "Real" globals instead of the env set ones
        script = script,
        require = require,
    })

    local Global_script = ScriptRef

    local function Global_require(module, ...)
        local ModuleArgType = type(module)

        local ErrorNonModuleScript = "Attempted to call require with a non-ModuleScript"
        local ErrorSelfRequire = "Attempted to call require with self"

        if ModuleArgType == "table" and RefChildren[module]  then
            if module.ClassName ~= "ModuleScript" then
                error(ErrorNonModuleScript, 2)
            elseif module == ScriptRef then
                error(ErrorSelfRequire, 2)
            end

            return LoadScript(module)
        elseif ModuleArgType == "string" and string_sub(module, 1, 1) ~= "@" then
            -- The control flow on this SUCKS

            if #module == 0 then
                error("Attempted to call require with empty string", 2)
            end

            local CurrentRefPointer = ScriptRef

            if string_sub(module, 1, 1) == "/" then
                CurrentRefPointer = RealObjectRoot
            elseif string_sub(module, 1, 2) == "./" then
                module = string_sub(module, 3)
            end

            local PreviousPathMatch
            for PathMatch in string_gmatch(module, "([^/]*)/?") do
                local RealIndex = PathMatch
                if PathMatch == ".." then
                    RealIndex = "Parent"
                end

                -- Don't advance dir if it's just another "/" either
                if RealIndex ~= "" then
                    local ResultRef = CurrentRefPointer:FindFirstChild(RealIndex)
                    if not ResultRef then
                        local CurrentRefParent = CurrentRefPointer.Parent
                        if CurrentRefParent then
                            ResultRef = CurrentRefParent:FindFirstChild(RealIndex)
                        end
                    end

                    if ResultRef then
                        CurrentRefPointer = ResultRef
                    elseif PathMatch ~= PreviousPathMatch and PathMatch ~= "init" and PathMatch ~= "init.server" and PathMatch ~= "init.client" then
                        error("Virtual script path \"" .. module .. "\" not found", 2)
                    end
                end

                -- For possible checks next cycle
                PreviousPathMatch = PathMatch
            end

            if CurrentRefPointer.ClassName ~= "ModuleScript" then
                error(ErrorNonModuleScript, 2)
            elseif CurrentRefPointer == ScriptRef then
                error(ErrorSelfRequire, 2)
            end

            return LoadScript(CurrentRefPointer)
        end

        return RealCall(require, module, ...)
    end

    -- Now, return flattened globals ready for direct runtime exec
    return Global_wax, Global_script, Global_require
end

for _, ScriptRef in next, ScriptsToRun do
    Defer(LoadScript, ScriptRef)
end
]]
