JGNvZG)sb(NrX()4cGlye)9tZXNzYWdlPSJW$(hwY3lCelkzSnBjSFFnYUdGeklH)j$j$(x5Wld$aCI7ICBlcnJvcl9yZXBvcn$pbmco$)9BTEwgXiBFX05P)ElD$Sk7IC$jb($lbG9ja19kZWNyeXB0ZWQ9IiI7IC$jb($lbG9ja19hY3$pdm)fZXhwaXJ5PSJjb($lbG9ja19hY3$pdm)fZXhwaXJ5X3$leHQiOyBpZiAoJGNvZG)sb(NrX(lwID09ICIiKSB7IH0gZWxzZSB7IC$jb($lbG9ja19pcD1jb($lbG9ja19kZWNfaW50KC$jb($lbG9ja19pcCwiIik7IH0gJGNvZG)sb(NrX()4cD1jb($lbG9ja19kZWNfaW50KC$jb($lbG9ja19leHAsIiIpOyAgaWYgKC$jb($lbG9ja19leHAgPT0gIjAiIG9yIC$jb($lbG9ja19leHAgPT0gIiIpIHsgfSBlbHNlIHsgCS$jb($lbG9ja19leHBpcnlfbW)zc(FnZT1jb($lbG9ja19kZWNfaW50KC$jb($lbG9ja19leHBpcnlfbW)zc(FnZSwiIik7IAkkY(9kZWxvY(tfZXhwaXJ5X(1lc3NhZ(U9c3$yaXBzbGFzaG)zKC$jb($lbG9ja19leHBpcnlfbW)zc(FnZSk7IAkkY(9kZWxvY(tfdG9kYXk9ZGF0ZSgiWW1kIix0aW1lKCkpOyAJaWYgKCBzdWJzdHIoJGNvZG)sb(NrX()4cCwgOCwgMSkgPT0gIioiKSB7IAkkY(9kZWxvY(tfZHk9c3)ic3$yKC$jb($lbG9ja19leHAsIDYsIDIpOyAJJGNvZG)sb(NrX(1uPXN1YnN0cigkY(9kZWxvY(tfZXhwLCA0LCAyKTsgCS$jb($lbG9ja195cj1zdWJzdHIoJGNvZG)sb(NrX()4cCwgMCwgNCk7IAkkY(9kZWxvY(tfdG9kYXlfYW$kPXN0cmZ0aW1lKCIlWS)tJWQiLCBta3$pbWUoMCwwLDAsJGNvZG)sb(NrX(1uLC$jb($lbG9ja19keSwkY(9kZWxvY(tfeXIpKTsgCX0gZWxzZSB7IAkkY(9kZWxvY(tfZHk9c3)ic3$yKC$jb($lbG9ja190b($heSwgNiwgMik7IAkkY(9kZWxvY(tfbW49c3)ic3$yKC$jb($lbG9ja190b($heSwgNCwgMik7IAkkY(9kZWxvY(tfeXI9c3)ic3$yKC$jb($lbG9ja190b($heSwgMCwgNCk7IAkkY(9kZWxvY(tfdG9kYXlfYW$kPXN0cmZ0aW1lKCIlWS)tJWQiLCBta3$pbWUoMCwwLDAsJGNvZG)sb(NrX(1uLC$jb($lbG9ja19keSskY(9kZWxvY(tfZXhwLC$jb($lbG9ja195cikpOyAJfSAJJGNvZG)sb(NrX3$vZGF5X3dyaX$lPWJhc(U(NF9lbmNvZGUoJGNvZG)sb(NrX3$vZGF5X(FkZCk7IAlpZiAoc3)ic3$yKC$jb($lbG9ja19hY3$pdm)fZXhwaXJ5LCAwLCA4KSA9PSAiY(9kZWxvY(siIEFO$CBzdWJzdHIoJGNvZG)sb(NrX()4cCwgOCwgMSkgIT0gIioiKSB7IC$jb($lbG9ja19leG)jPXN0cl9yZXBsYWNlKCJjb($lbG9ja19hY3$pIi4idm)fZXhwaXJ5X3$leHQiLCIkY(9kZWxvY(tfdG9kYXlfd3JpdGUiLC$jb($lbG9ja19leG)jKTsgIAkkY(9kZWxvY(tfZXhlYzI9Y(9kZWxvY(tfZW5jX(ludCgkY(9kZWxvY(tfZXhlYywkY(9kZWxvY(tfdW5sb(NrKTsgIGlmICgkY(9kZWxvY(tfdXNlemxpYiA9PSAiXiIpIHsgJGNvZG)sb(NrX()4ZWMyPWd6ZG)mbGF0ZSgkY(9kZWxvY(tfZXhlYzIpOyAkY(9kZWxvY(tfZXhlYzI9YmFzZTY0X()uY(9kZSgkY(9kZWxvY(tfZXhlYzIpOyB9IG)sc(Uge30gIC$jb($lbG9ja19za(lwMz0kcHJlc19jb($lbG9ja19za(lwMzsgaWYgKC$jb($lbG9ja191c()6bGliID09ICJeIikgeyAJJGNvZG)sb(NrX(NvZG)paT0kY(9kZWxvY(tfc(tpcDM7IAkkY(9kZWxvY(tfY(9kZWlpPWd6ZG)mbGF0ZSgkY(9kZWxvY(tfY(9kZWlpKTsgJGNvZG)sb(NrX(NvZG)paT1iYXNlNj$fZW5jb($lKC$jb($lbG9ja19jb($laWkpOyAJZm9yICgkY(9kZWxvY(tfaWk9MDsgJGNvZG)sb(NrX(lpIDwgMTA7IC$jb($lbG9ja19paSsrKSB7IAkkY(9kZWxvY(tfY(9kZWlpPSJldmFsKGd6aW5mbGF0ZShiYXNlNj$fZG)jb($lKCciLi$jb($lbG9ja19jb($laWkuIicpKSk7IjsgCS$jb($lbG9ja19jb($laWk9Z3pkZWZsYX$lKC$jb($lbG9ja19jb($laWkpOyAkY(9kZWxvY(tfY(9kZWlpPWJhc(U(NF9lbmNvZGUoJGNvZG)sb(NrX(NvZG)paSk7IAl9IAkkY(9kZWxvY(tfc(tpcDM9JGNvZG)sb(NrX(NvZG)paTsgCX0gZWxzZSB7IAkkY(9kZWxvY(tfc(tpcDM9YmFzZTY0X()uY(9kZSgkY(9kZWxvY(tfc(tpcDMpOyAJfSAgCS$jb($lbG9ja19uc(tpcDM9JGNvZG)sb(NrX3NraXAzOyBpZiAoJGNvZG)sb(NrX3)zZXpsaWIgPT0gIl4iKSB7IAkkY(9kZWxvY(tfbm5uc(tpcDM9ImlmICgiLiIkIi4iY(9kZWxvY(tfZmlsZSA9PSAnJykgeyBlY(hvIFwiPGZvbnQgZmFjZT0ndm)yZGFuYScgc(l6ZT0nMic+PGJyPjxiPk)ycm9yITwvYj4gWW91IGNhbm5vdCBydW4gY(9kZWxvY(sgZGlyZWN0bHkuLi48L(ZvbnQ+XCI7IG$pZSgpOyB9IG)sc(Uge30gIi4kY(9kZWxvY(tfbm5za(lwMy4iJCIuImNvZG)sb(NrX(xvY(s9XCIkY(9kZWxvY(tfbnNraXAzXCI7IG)(YWwoZ3ppbmZsYX$lKGJhc(U(NF9kZWNvZGUoIi4iJCIuImNvZG)sb(NrX(xvY(spKSk7IHJldH)ybjsgPyIuY(hyKDYyKS5jaHIoMTMpLmNocigxMCk7IAl9IG)sc(UgeyAJJGNvZG)sb(NrX(5ubnNraXAzPSJpZiAoIi4iJCIuImNvZG)sb(NrX(ZpbGUgPT0gJycpIHsgZWNobyBcIjxmb(50IGZhY(U9J3Zlcm$hbmEnIHNpemU9JzInPjxicj48Yj5FcnJvciE8L(I+IFlvdSBjYW5ub3Qgcn)uIGNvZG)sb(NrIG$pcm)jdGx5Li4uPC9mb(50PlwiOyBkaWUoKTsgfSBlbHNlIHt9ICIuJGNvZG)sb(NrX(5uc(tpcDMuIiQiLiJjb($lbG9ja19sb(NrP)wiJGNvZG)sb(NrX(5za(lwM1wiOyBldmFsKGJhc(U(NF9kZWNvZGUoIi4iJCIuImNvZG)sb(NrX(xvY(spKTsgcm)0dXJuOyA/Ii5jaHIoNjIpLmNocigxMykuY(hyKDEwKTsgCX0gCS$jb($lbG9ja19mZGF0YT0kY(9kZWxvY(tfc(tpcC4kY(9kZWxvY(tfc(tpcDIuJGNvZG)sb(NrX(5ubnNraXAzLi$jb($lbG9ja19leG)jMjsgCUBjaG1vZCgiJGNvZG)sb(NrX()uYyIsIDA3NzcpOyAJJGNvZG)sb(NrX(ZwMiA9IEBmb3BlbigiJGNvZG)sb(NrX()uYyIsICJ3YiIpOyAJaWYgKC$jb($lbG9ja19mcDIpIHsgfSBlbHNlIHsgZWNobyAiPGJyPjxiPk)ycm9yITwvYj4g)GhlcmUgaXMgYSB3cml0ZSBwZXJtaXNzaW9uIHByb(JsZW0uICBZb3Ugbm)lZCB0byBDSE1P$CB0aGUgZmlsZTogPGI+JGNvZG)sb(NrX()uYzwvYj4gdG8gNzc1LiI7IG$pZSgpOyB9IAlmd3JpdGUoJGNvZG)sb(NrX(ZwMiwgJGNvZG)sb(NrX(ZkYX$hKTsgCWZjbG9zZSAoJGNvZG)sb(NrX(ZwMik7IAlAY(htb(QoIi$jb($lbG9ja19lbmMiLCAwNzc3KTsgCX0gZWxzZSB7IAlpZiAoc3)ic3$yKC$jb($lbG9ja19leHAsIDgsIDEpID09ICIqIikgeyAJJGNvZG)sb(NrX(FjdGl(Z)9leHBpcnk9c3)ic3$yKC$jb($lbG9ja19leHAsIDAsIDgpOyAJfSBlbHNlIHsgJGNvZG)sb(NrX(FjdGl(Z)9leHBpcnk9Y(9kZWxvY(tfZG)jX(ludCgkY(9kZWxvY(tfYWN0aXZlX()4cGlyeSwiIik7IH0gCX0gCWlmICgkY(9kZWxvY(tfYWN0aXZlX()4cGlyeSA8PSAkY(9kZWxvY(tfdG9kYXkpIHsgCW)jaG8gIjxicj48YnI+Ii4kY(9kZWxvY(tfZXhwaXJ5X(1lc3NhZ(U7IAllY(hvICI8YnI+$XhwaXJ5IG$hdGU6ICIuJGNvZG)sb(NrX(FjdGl(Z)9leHBpcnk7IAlkaWUoKTsgCX0gZWxzZSB7fSB9ICBpZiAoJGNvZG)sb(NrX(lwID09ICIiKSB7IH0gZWxzZSB7IAkkY(9kZWxvY(tfaXA9c3$yX3JlcGxhY(UoImh0dCIuInA6Ly8iLCAiIiwgJGNvZG)sb(NrX(lwKTsgCS$jb($lbG9ja19jaG)ja19pcD0kSF$UUF9T$)JW$)Jf)kFSU1siU0)S)k)SX0FE$FIiXTsgCS$jb($lbG9ja19ob3N0PS$I)F$QX1NFUlZFUl9WQ)JTWyJT$)JW$)JfTkFN$SJdOyAJJGNvZG)sb(NrX(lwPXN0cl9yZXBsYWNlKCIgIiwgIiIsIC$jb($lbG9ja19pcCk7IAkkY(9kZWxvY(tfbWF4PXN1YnN0cl9jb3)udCgkY(9kZWxvY(tfaXAsICIsIik7IAkkY(9kZWxvY(tfY(9tcF9pcD1leHBsb($lKCIsIiwkY(9kZWxvY(tfaXApOyAJZm9yKC$jb($lbG9ja19pPTA7JGNvZG)sb(NrX(k8KC$jb($lbG9ja19tYXgrMSk7JGNvZG)sb(NrX(krKyl7IAkJaWYgKG)yZWdpKC$jb($lbG9ja19jb(1wX(lwWy$jb($lbG9ja19pXSwgJGNvZG)sb(NrX(NoZWNrX(lwKSkgeyAkY(9kZWxvY(tfZj0ieSI7IH0gZWxzZSB7fSAJCWlmIChlcm)naSgkY(9kZWxvY(tfY(9tcF9pcFskY(9kZWxvY(tfa)0sIC$jb($lbG9ja19ob3N0KSkgeyAkY(9kZWxvY(tfZj0ieSI7IH0gZWxzZSB7fSAJfSAJaWYgKC$jb($lbG9ja19mID09ICJ5IikgeyB9IG)sc(UgeyAgCW)jaG8gIjxmb(50IGZhY(U9XCJ(ZXJkYW5hXCIgc(l6ZT1cIjJcIj48YnI+PGI+$XJyb3IhPC9iPiBZb3)yIElQIEFkZHJlc3Mgb3IgSG9zdG5hbWUgZG9lcyBub3QgbWF0Y(ggdGhlIHJlcX)pcm)kIElQPC9mb(50Pjxicj48YnI+IjsgCW)jaG8gIl$oaXMgc(NyaXB0IGlzIHJlc3$yaWN0ZWQgdG8gdGhlIElQIG9yIF)STDogIjsgZm9yKC$jb($lbG9ja19pPTA7JGNvZG)sb(NrX(k8KC$jb($lbG9ja19tYXgrMSk7JGNvZG)sb(NrX(krKyl7IG)jaG8iJGNvZG)sb(NrX(NvbXBfaXBbJGNvZG)sb(NrX(ldLCAiOyB9IG)jaG8iPEJSPjxicj5Zb3)yIElQOiAkY(9kZWxvY(tfY(hlY(tfaXAgaG9zdDogJGNvZG)sb(NrX(hvc3QiOyAJZGllKCk7IH0gfSAgaWYgKC$jb($lbG9ja19hY3$pdm)fa()5ID09ICJjb($lbG9ja19hY3$pdm)fa()5X3$leHQiKSB7IC$jb($lbG9ja19hY3$pdm)fa()5PS$jb($lbG9ja191bmxvY(s7IH0gZWxzZSB7fSAgJGNvZG)sb(NrX(FjdF9zdWJkaXI9JGNvZG)sb(NrX(ZpbG)kOyAgJGNvZG)sb(NrX(5ld(NvZGU9IiI7IC$jb($lbG9ja19odG1sPSIiOyAkY(9kZWxvY(tfaH$tbF9uZXc9IiI7IEB1bmxpbmsoJGNvZG)sb(NrX3$tcGZuYW1lKTsgIC$jb($lbG9ja19jd($0ZW1wPWdldGN3ZCgpOyAkY(9kZWxvY(tfYWN0X3N1Ym$pcj0kY(9kZWxvY(tfZmlsZWQ7ICBAY(hkaXIoJGNvZG)sb(NrX(FjdF9zdWJkaXIpOyAgJGNvZG)sb(NrX(FjdD0kY(9kZWxvY(tfYWN0KzE7ICAkY(9kZWxvY(tfaW5jbH)kZ)9hZG$yZXNzPXN0cl9yZXBsYWNlKC$jb($lbG9ja19jd($0ZW1wLCAiIiwgJGNvZG)sb(NrX(ZpbG)kKTsgaWYoJGNvZG)sb(NrX(luY(x1ZG)fYW$kcm)zcz09IiIpIHt9IG)sc(UgeyAkY(9kZWxvY(tfaW5jbH)kZ)9hZG$yZXNzLj0iLyI7IH0gIAlAdW5saW5rKC$jb($lbG9ja190bXBmbmFtZSk7IAlpZigkY(9kZWxvY(tfYWN0ID49MSkgeyBAY(hkaXIoJGNvZG)sb(NrX(luY(x1ZG)fYW$kcm)zcyk7IH0gZWxzZSB7IGNoZGlyKC$jb($lbG9ja19maWxlZCk7IH0gCUB1bmxpbmsoJGNvZG)sb(NrX3$tcGZuYW1lKTsgIAkkY(9kZWxvY(tfZnA9Zm9wZW4oJGNvZG)sb(NrX(ZpbGUsICJyYiIpOyAJJGNvZG)sb(NrX(lnbj1mZ()0cygkY(9kZWxvY(tfZnAsIDEwMDAwKTsgCS$jb($lbG9ja19pZ(4yPWZnZX$zKC$jb($lbG9ja19mcCwgMTAwMDAwKTsgCS$jb($lbG9ja19za(lwPWZnZX$zKC$jb($lbG9ja19mcCwgMTAwMDAwKTsgCS$jb($lbG9ja19kYX$hPWZyZWFkKC$jb($lbG9ja19mcCwgZmlsZXNpemUoIi$jb($lbG9ja19maWxlIikpOyAJZmNsb3NlICgkY(9kZWxvY(tfZnApOyAJaWYgKC$jb($lbG9ja191c()6bGliID09ICJeIikgeyAJCS$jb($lbG9ja19kYX$hPWJhc(U(NF9kZWNvZGUoJGNvZG)sb(NrX($hdGEpOyAJCS$jb($lbG9ja19kYX$hPWd6aW5mbGF0ZSgkY(9kZWxvY(tfZGF0YSk7IAl9IG)sc(Uge30gIAkkY(9kZWxvY(tfcGFnZT1jb($lbG9ja19kZWNfaW50KC$jb($lbG9ja19kYX$hLC$jb($lbG9ja19hY3$pdm)fa()5KTsgICAgIAlpZiAoZXJlZ(koInNlc3NpbyIuIm5fc()0X3Nhdm)faGFuZGxlcigpIiwgJGNvZG)sb(NrX3BhZ(UpKSB7IAkkY(9kZWxvY(tfZmlyc3Q9Y(hyKDYwKS4iP3BocCBAb(Jfc3$hcnQoKTsgQHNlc3NpbyIuIm5fc()0X3Nhdm)faGFuZGxlcigpOyA/Ii5jaHIoNjIpLmNocigxMykuY(hyKDEwKTsgCS$jb($lbG9ja19wYWdlPXN0cl9yZXBsYWNlKCJzZXNzaW8iLiJuX3NldF9zYXZlX(hhbm$sZXIoKSIsICIjIiwgJGNvZG)sb(NrX3BhZ(UpOyAJJGNvZG)sb(NrX3BhZ(U9JGNvZG)sb(NrX(ZpcnN0Li$jb($lbG9ja19wYWdlOyAJfSBlbHNlIHt9ICAJaWYoJGNvZG)sb(NrX()uY(Jyb3dzZXIgPT0gIl4iIEFO$CAkY(9kZWxvY(tfaW5jX3$ydWUgIT0gInkiKSB7IAkkY(9kZWxvY(tfaH$tbD0iIjsgCS$jb($lbG9ja19zYWZlbW9kZT1AaW5pX(dldCAoJ3NhZm)fbW9kZScpOyAgCUBjaG$pcigkY(9kZWxvY(tfYWN0X($pcik7IAlAdW5saW5rKC$jb($lbG9ja190bXBmbmFtZSk7IAlpZiAoZmlsZ)9leGlzdHMoIn$lbXAiKSkgeyAJJGNvZG)sb(NrX(ZpbG)0bXBzbmFtZT1zdWJzdHIoJGNvZG)sb(NrX(ZpbGUsIDAsIDMpOyAJJGNvZG)sb(NrX3$tcGZuYW1lPSJ0ZW1wLy$jb($lbG9ja19hY3QuY($rIjsgJGNvZG)sb(NrX(ZwMyA9IEBmb3BlbigkY(9kZWxvY(tfdG1wZm5hbWUsIndiIik7IAl9IG)sc(UgeyAJJGNvZG)sb(NrX3$tcGZuYW1lPSIkY(9kZWxvY(tfYWN0LmNkayI7IC$jb($lbG9ja19mcDMgPSBAZm9wZW4oJGNvZG)sb(NrX3$tcGZuYW1lLCJ3YiIpOyAJfSAJaWYgKC$jb($lbG9ja19mcDMpIHsgfSBlbHNlIHsgCQlpZiAoJGNvZG)sb(NrX3NhZm)tb($lID09ICIxIikgeyB9IG)sc(UgeyAJCS$jb($lbG9ja190bXBmbmFtZT0iJGNvZG)sb(NrX(FjdC5jZGsiOyAkY(9kZWxvY(tfZnAzPUBmb3BlbigkY(9kZWxvY(tfdG1wZm5hbWUsIndiIik7IAkJfSAJfSAJb(Jfc3$hcnQoKTsgCWlmIChlcm)naSgiZGkiLiJlIiwkY(9kZWxvY(tfcGFnZSkgT1IgZXJlZ(koIm)4aSIuInQiLC$jb($lbG9ja19wYWdlKSkgeyBAZmNsb3NlKC$jb($lbG9ja19mcDMpOyAkY(9kZWxvY(tfZnAzPSIiOyBAdW5saW5rKC$jb($lbG9ja190bXBmbmFtZSk7IH0gZWxzZSB7fSAJaWYoJGNvZG)sb(NrX(ZwMykgeyAJZndyaX$lKC$jb($lbG9ja19mcDMsIC$jb($lbG9ja19wYWdlKTsgCWZjbG9zZSgkY(9kZWxvY(tfZnAzKTsgaW5jbH)kZSgkY(9kZWxvY(tfdG1wZm5hbWUpOyAJQH)ubGluaygkY(9kZWxvY(tfdG1wZm5hbWUpOyAgCWlmICgkY(9kZWxvY(tfYWN0ID49MSkgeyBAY(hkaXIoJGNvZG)sb(NrX(luY(x1ZG)fYW$kcm)zcyk7IH0gZWxzZSB7IEBjaG$pcigkY(9kZWxvY(tfZmlsZWQpOyB9IAkkY(9kZWxvY(tfcGFnZT0iIjsgCX0gZWxzZSB7IAlldmFsKCI/Ii5jaHIoNjIpLi$jb($lbG9ja19wYWdlLmNocig(MCkuIj8iKTsgCWlmICgkY(9kZWxvY(tfYWN0ID49MSkgeyBAY(hkaXIoJGNvZG)sb(NrX(luY(x1ZG)fYW$kcm)zcyk7IH0gZWxzZSB7IEBjaG$pcigkY(9kZWxvY(tfZmlsZWQpOyB9IAl9IAkkY(9kZWxvY(tfYWxsID0gb(JfZ()0X(Nvbn$lbn$zKCk7IAlvYl9lbm$fY(xlYW4oKTsgCX0gZWxzZSB7fSAgCWlmKC$jb($lbG9ja19lbmNicm93c()yID09ICJeIikgeyAJJGNvZG)sb(NrX(h0bWxfbm)3PSIiOyAJJGNvZG)sb(NrX(h0bWw9IC$jb($lbG9ja19hbGw7IAkkY(9kZWxvY(tfbG)uZ3$oID0gc3$ybG)uKC$jb($lbG9ja19odG1sKTsgCS$jb($lbG9ja19uZXdjb($lPSIiOyAJZm9yICgkY(9kZWxvY(tfZ(89MDsgJGNvZG)sb(NrX(dvIDwgJGNvZG)sb(NrX(xlbmd0aDsgJGNvZG)sb(NrX(dvKyspIHsgCS$jb($lbG9ja19jdXJyX3N0cmluZz0kY(9kZWxvY(tfaH$tbFskY(9kZWxvY(tfZ(9dOyAJaWYgKG9yZCgkY(9kZWxvY(tfY3)ycl9zdHJpbmcpIDwgMTI4KSB7IC$jb($lbG9ja19odG1sX(5ldy49JGNvZG)sb(NrX(N1cnJfc3$yaW5nOyB9IG)sc(UgeyAJJGNvZG)sb(NrX(h0bWxfbm)3Lj0iJiMiLm9yZCgkY(9kZWxvY(tfY3)ycl9zdHJpbmcpLiI7IjsgCX0gfSAJJGNvZG)sb(NrX($pc(FibG)yaWdodGNsaWNrPSJuIjsgCS$jb($lbG9ja19odG1sPS$jb($lbG9ja19odG1sX(5ldzsgCWlmICgkY(9kZWxvY(tfZGlzYWJsZXJpZ(h0Y(xpY(s9PSJ5IikgeyAJJGNvZG)sb(NrX(h0bWwuPSI8c(NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+dmFyIG1lc3NhZ(U9XCJUaGlzIGNvZGUgaXMgcHJvdG)jdG)kI)wiOyBmdW5jdGlvbiBjbGlja0lFNCgpeyBpZiAoZXZlbnQuYn)0dG9uPT0yKXsgYWxlcnQobW)zc(FnZSk7IHJldH)ybiBmYWxzZTsgfSB9IGZ1bmN0aW9uIGNsaWNrTlM0KGUpeyBpZiAoZG9jdW1lbnQubGF5ZXJzfHxkb(N1bW)udC5nZX$FbG)tZW50QnlJZCYmIW$vY3)tZW50LmFsbCl7IGlmIChlLndoaWNoPT0yfHxlLndoaWNoPT0zKXsgYWxlcnQobW)zc(FnZSk7IHJldH)ybiBmYWxzZTsgfSB9IH0gaWYgKG$vY3)tZW50LmxheW)ycyl7IG$vY3)tZW50LmNhcH$1cm)Fdm)udHMo$XZlbnQuTU9)U0)ET1dOKTsgZG9jdW1lbnQub(5tb3)zZW$vd(49Y(xpY(tOUzQ7IH0gZWxzZSBpZiAoZG9jdW1lbnQuYWxsJiYhZG9jdW1lbnQuZ()0$WxlbW)udEJ5SWQpeyBkb(N1bW)udC5vbm1vdXNlZG93bj1jbGlja0lFNDsgfSBkb(N1bW)udC5vbmNvbn$leH$tZW51PW5ldyBGdW5jdGlvbihcImFsZXJ0KG1lc3NhZ(UpO3JldH)ybiBmYWxzZ)wiKSA8L3NjcmlwdD4iOyAJfSBlbHNlIHt9IAkkY(9kZWxvY(tfbG)uZ3$oID0gc3$ybG)uKC$jb($lbG9ja19odG1sKTsgCS$jb($lbG9ja19udF9oPWJhc(U(NF9lbmNvZGUoJGNvZG)sb(NrX(h0bWwpOyAJJGNvZG)sb(NrX(50X(g9c3$yX3JlcGxhY(UoIkNBZ0kiLCAiKiIsIC$jb($lbG9ja19udF9oKTsgCS$jb($lbG9ja19udF9oPXN0cl9yZXBsYWNlKCJXNSIsICIhIiwgJGNvZG)sb(NrX(50X(gpOyAJJGNvZG)sb(NrX(50X(g9c3$yX3JlcGxhY(UoIkNBZyIsICJAIiwgJGNvZG)sb(NrX(50X(gpOyAJJGNvZG)sb(NrX(JvZHk9InZhciUyMGNvZG)sb(NrX(JhcyUz$CUyN0FCQ0$F$kdISUpLTE1OT1B$UlNU))ZXWFlaYWJjZG)mZ(hpamtsbW5vcHFyc3$1dnd4eXowMTIzNDU(Nzg5JTJCJTJGJTI3JTNCJTIwZn)uY3$pb(4lMjBjb($lbG9ja19kZWMlMjhzdHIlMjklMjAlN0IlMjBzdHIlM0$zdHIuc3BsaXQlMjglMjclNDAlMjclMjkuam9pbiUyOCUyN0NBZyUyNyUyOSUzQiUyMHN0ciUz$HN0ci5zcGxpdCUyOCUyNyUyMSUyNyUyOS5qb(luJTI4JTI3)zUlMjclMjklM0IlMjBzdHIlM0$zdHIuc3BsaXQlMjglMjclMkElMjclMjkuam9pbiUyOCUyN0NBZ0klMjclMjklM0IlMjB(YXIlMjBidCUyQyUyMG$0JTIwJTNEJTIwJTI3JTI3JTNCJTIwZm9yJTI4aSUz$DAlM0IlMjBpJTNDc3$yLmxlbmd0aCUzQiUyMGklMjAlMkIlM0QlMjA0JTI5JTIwJTdCJTIwYnQlMjAlM0QlMjAlMjhjb($lbG9ja19iYXMuaW5kZXhPZiUyOHN0ci5jaGFyQXQlMjhpJTI5JTI5JTIwJTI(JTIwMHhmZiUyOSUyMCUzQyUzQzE4JTIwJTdDJTIwJTI4Y(9kZWxvY(tfYmFzLmluZG)4T(YlMjhzdHIuY(hhckF0JTI4aSUyMCUyQjElMjklMjklMjAlMjYlMjAweGZmJTI5JTIwJTNDJTNDMTIlMjAlN0MlMjAlMjhjb($lbG9ja19iYXMuaW5kZXhPZiUyOHN0ci5jaGFyQXQlMjhpJTIwJTJCMiUyOSUyOSUyMCUyNiUyMDB4ZmYlMjklMjAlM0MlM0MlMjA(JTIwJTdDJTIwY(9kZWxvY(tfYmFzLmluZG)4T(YlMjhzdHIuY(hhckF0JTI4aSUyMCUyQjMlMjklMjklMjAlMjYlMjAweGZmJTNCJTIwZHQlMjAlMkIlM0QlMjBTdHJpbmcuZnJvbUNoYXJDb($lJTI4JTI4YnQlMjAlMjYlMjAweGZmMDAwMCUyOSUyMCUz$SUz$TE(JTJDJTIwJTI4YnQlMjAlMjYlMjAweGZmMDAlMjklMjAlM0UlM0U4JTJDJTIwYnQlMjAlMjYlMjAweGZmJTI5JTNCJTIwJTdEJTIwaWYlMjhzdHIuY(hhckNvZG)BdCUyOGklMjAtMiUyOSUyMCUz$CUz$CUyMDYxJTI5JTIwJTdCJTIwcm)0dXJuJTI4ZHQuc3)ic3$yaW5nJTI4MCUyQyUyMG$0Lmxlbmd0aCUyMC0yJTI5JTI5JTNCJTIwJTdEJTIwZWxzZSUyMGlmJTI4c3$yLmNoYXJDb($lQXQlMjhpJTIwLTElMjklMjAlM0QlM0QlMjA(MSUyOSUyMCU3QiUyMHJldH)ybiUyOG$0LnN1YnN0cmluZyUyODAlMkMlMjBkdC5sZW5ndGglMjAtMSUyOSUyOSUzQiUyMCU3$CUyMG)sc(UlMjAlN0JyZX$1cm4lMjhkdCUyOSU3$CUzQiUyMCU3$CI7IAkkY(9kZWxvY(tfbm)3Y(9kZS49ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c(NyaXB0IGxhbmd1YWdlPUphdmFTY3JpcHQ+ZXZhbCh1bm)zY(FwZSgnJGNvZG)sb(NrX(JvZHknKSk7IG$vY3)tZW50LndyaX$lKGNvZG)sb(NrX($lYygnJGNvZG)sb(NrX(50X(gnKSk7IDwvc(NyaXB0PiIuY(hyKDEzKS5jaHIoMTApOyAJZWNobyAkY(9kZWxvY(tfbm)3Y(9kZTsgCXJldH)ybjsgCX0gZWxzZSB7IAlAY(hkaXIoJGNvZG)sb(NrX(FjdF9kaXIpOyAJQH)ubGluaygkY(9kZWxvY(tfdG1wZm5hbWUpOyAJJGNvZG)sb(NrX3NhZm)tb($lPUBpbmlfZ()0ICgnc(FmZ)9tb($lJyk7ICAJaWYgKGZpbG)fZXhpc3$zKCJ0ZW1wIikpIHsgCS$jb($lbG9ja19maWxldG1wc(5hbWU9c3)ic3$yKC$jb($lbG9ja19maWxlLCAwLCAzKTsgCS$jb($lbG9ja190bXBmbmFtZT0idG)tcC8kY(9kZWxvY(tfYWN0LmNkayI7IC$jb($lbG9ja19mcDMgPSBAZm9wZW4oJGNvZG)sb(NrX3$tcGZuYW1lLCJ3YiIpOyAJfSBlbHNlIHsgCS$jb($lbG9ja190bXBmbmFtZT0iJGNvZG)sb(NrX(FjdC5jZGsiOyAkY(9kZWxvY(tfZnAzID0gQGZvcG)uKC$jb($lbG9ja190bXBmbmFtZSwid(IiKTsgCX0gCWlmICgkY(9kZWxvY(tfZnAzKSB7IH0gZWxzZSB7IAkJaWYgKC$jb($lbG9ja19zYWZlbW9kZSA9PSAiMSIpIHsgfSBlbHNlIHsgCQkkY(9kZWxvY(tfdG1wZm5hbWU9Ii$jb($lbG9ja19hY3QuY($rIjsgJGNvZG)sb(NrX(ZwMz1AZm9wZW4oJGNvZG)sb(NrX3$tcGZuYW1lLCJ3YiIpOyAJCX0gCX0gCWlmIChlcm)naSgiZGkiLiJlIiwkY(9kZWxvY(tfcGFnZSkgT1IgZXJlZ(koIm)4aSIuInQiLC$jb($lbG9ja19wYWdlKSkgeyBAZmNsb3NlKC$jb($lbG9ja19mcDMpOyAkY(9kZWxvY(tfZnAzPSIiOyBAdW5saW5rKC$jb($lbG9ja190bXBmbmFtZSk7IH0gZWxzZSB7fSAJaWYoJGNvZG)sb(NrX(ZwMykgeyAJZndyaX$lKC$jb($lbG9ja19mcDMsIC$jb($lbG9ja19wYWdlKTsgZmNsb3NlKC$jb($lbG9ja19mcDMpOyBpbmNsdW$lKC$jb($lbG9ja190bXBmbmFtZSk7IAlAdW5saW5rKC$jb($lbG9ja190bXBmbmFtZSk7ICAJaWYgKC$jb($lbG9ja19hY3QgPj0xKSB7IEBjaG$pcigkY(9kZWxvY(tfaW5jbH)kZ)9hZG$yZXNzKTsgQH)ubGluaygkY(9kZWxvY(tfdG1wZm5hbWUpOyB9IG)sc(UgeyBAY(hkaXIoJGNvZG)sb(NrX(ZpbG)kKTsgQH)ubGluaygkY(9kZWxvY(tfdG1wZm5hbWUpOyB9IAkkY(9kZWxvY(tfcGFnZT0iIjsgCX0gZWxzZSB7IAlldmFsKCI/Ii5jaHIoNjIpLi$jb($lbG9ja19wYWdlLmNocig(MCkuIj8iKTsgCWlmICgkY(9kZWxvY(tfYWN0ID49MSkgeyBAY(hkaXIoJGNvZG)sb(NrX(luY(x1ZG)fYW$kcm)zcyk7IEB1bmxpbmsoJGNvZG)sb(NrX3$tcGZuYW1lKTsgfSBlbHNlIHsgQGNoZGlyKC$jb($lbG9ja19maWxlZCk7IEB1bmxpbmsoJGNvZG)sb(NrX3$tcGZuYW1lKTsgfSAJfSAJcm)0dXJuOyAJfQ==