cmVxdWlyZSAnbWF0cml4JwoKY2xhc3MgTWF0cml4CiAgIGRlZiBbXT0oaSwg
aiwgeCkKICAgICBAcm93c1tpXVtqXSA9IHgKICAgZW5kCiBlbmQKClNJWkUg
PSAzMAoKYm9yZWhvbGVzID0gTWF0cml4LmJ1aWxkKFNJWkUsIFNJWkUpIHtu
aWx9CmNvbG9ycyA9IE1hdHJpeC5idWlsZChTSVpFLCBTSVpFKSB7bmlsfQpj
b2xvbmllcyA9IE1hdHJpeC5idWlsZChTSVpFLCBTSVpFKSB7bmlsfQoKCigx
Li4oU0laRS0xKSkuZWFjaCBkbyB8eXwKICBTSVpFLnRpbWVzIGRvIHx4fAog
ICAgaWYgKHggJSA0ID09IDAgYW5kICh5LTEpICUgNiA9PSAwKSBvciAoKHgg
LSAzKSAlIDQgPT0gMCBhbmQgKHkgLSA0KSAlIDYgPT0gMCkKICAgICAgY29s
b3IgPSAiIyIgKyAoMTYrcmFuZCgweDZiKSkudG9fcygxNikgKyAoMTYrcmFu
ZCgweDZiKSkudG9fcygxNikgKyAoMTYrcmFuZCgweDZiKSkudG9fcygxNikK
ICAgICAgY29sb25pZXNbeCx5XSA9IGNvbG9yCiAgICAgIChbKHgtMiksMF0u
bWF4Li5bKHgrMiksU0laRS0xXS5taW4pLmVhY2ggZG8gfGN4fAogICAgICAg
IChbKHktMiksMF0ubWF4Li5bKHkrMiksU0laRS0xXS5taW4pLmVhY2ggZG8g
fGN5fAogICAgICAgICAgaWYgKCh4IC0gMykgJSA0ID09IDAgYW5kICh5IC0g
NCkgJSA2ID09IDApCiAgICAgICAgICAgICMgRG9uJ3QgZ3JhYiB0b3Agcmln
aHQKICAgICAgICAgICAgaWYgY3ggPT0geCsxIGFuZCBjeSA9PSB5LTIKICAg
ICAgICAgICAgICBuZXh0CiAgICAgICAgICAgIGVuZAogICAgICAgICAgZWxz
aWYgKHggJSA0ID09IDAgYW5kICh5LTEpICUgNiA9PSAwKQogICAgICAgICAg
ICAjIERvbid0IGdyYWIgdG9wIGxlZnQKICAgICAgICAgICAgaWYgY3ggPT0g
eC0xIGFuZCBjeSA9PSB5LTIKICAgICAgICAgICAgICBuZXh0CiAgICAgICAg
ICAgIGVuZAogICAgICAgICAgZW5kCiAgICAgICAgICBpZiAoeC1jeCkuYWJz
ICsgKHktY3kpLmFicyA8IDQKICAgICAgICAgICAgY29sb3JzW2N4LGN5XSA9
IGNvbG9yCiAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgZW5kCiAg
ICBlbmQKICBlbmQKZW5kCgpTSVpFLnRpbWVzIGRvIHx4fAogIGlmIHggJSAy
ID09IDAKICAgIFNJWkUudGltZXMgZG8gfHl8CiAgICAgIGlmIHkgJSAyID09
IDAKICAgICAgICBib3JlaG9sZXNbeCx5XSA9ICJCIgogICAgICBlbmQKICAg
IGVuZAogIGVuZAplbmQKCnB1dHMgIjx0YWJsZT4iClNJWkUudGltZXMgZG8g
fHl8CiAgcHJpbnQgIjx0cj4iCiAgU0laRS50aW1lcyBkbyB8eHwKICAgIHN0
eWxlID0gaWYgY29sb3JzW3gseV0KICAgICAgImJhY2tncm91bmQ6ICN7Y29s
b3JzW3gseV19IgogICAgZWxzZQogICAgICAiIgogICAgZW5kCiAgICBwcmlu
dCAiPHRkIHN0eWxlPSd3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyAje3N0
eWxlfSc+IgogICAgaWYgYm9yZWhvbGVzW3gseV0KICAgICAgcHJpbnQgIjxz
cGFuIHN0eWxlPSdjb2xvcjogcmVkOyBmb250LXNpemU6IDIycHg7Jz5CPC9z
cGFuPiIKICAgIGVuZAogICAgaWYgY29sb25pZXNbeCx5XQogICAgICBwcmlu
dCAiPHNwYW4gc3R5bGU9J2NvbG9yOiBibHVlOyBmb250LXNpemU6IDIycHg7
Jz5DPC9zcGFuPiIKICAgIGVuZAogICAgcHJpbnQgIjwvdGQ+IgogIGVuZAog
IHByaW50ICI8L3RyPiIKZW5kCnB1dHMgIjwvdGFibGU+Igo=