Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@2048@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoiMjA0OCIsImF1dGhvciI6IkBMb3lEZ0lrIiwidXJsIjoiaGlrZXI6Ly9lbXB0eSNub1JlZnJlc2gjIiwidmVyc2lvbiI6MCwiY29sX3R5cGUiOiJtb3ZpZV8zIiwiY2xhc3NfbmFtZSI6IiIsInR5cGUiOiJ2aWRlbyIsImNsYXNzX3VybCI6IiIsImFyZWFfbmFtZSI6IiIsImFyZWFfdXJsIjoiIiwic29ydF9uYW1lIjoiIiwieWVhcl9uYW1lIjoiIiwic29ydF91cmwiOiIiLCJ5ZWFyX3VybCI6IiIsImZpbmRfcnVsZSI6ImpzOlxubGV0IGQgPSBbXTtcbmQucHVzaCh7XG4gICAgdGl0bGU6IFwi5b6X5YiG77yaMFwiLFxuICAgIGNvbF90eXBlOiBcImF2YXRhclwiLFxuICAgIHBpY191cmw6IFwiaGlrZXI6Ly9pbWFnZXMvaG9tZV9kb3dubG9hZFwiLFxuICAgIGV4dHJhOiB7XG4gICAgICAgIGlkOiBcInNjb3JlXCJcbiAgICB9XG59KTtcbmZvciAobGV0IGkgPSAwOyBpIDwgMTY7IGkrKykge1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiBcIlwiLFxuICAgICAgICB1cmw6IFwiaGlrZXI6Ly9lbXB0eVwiLFxuICAgICAgICBjb2xfdHlwZTogXCJ0ZXh0XzRcIixcbiAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgIGlkOiBNYXRoLmZsb29yKGkgLyA0KSArIFwiLFwiICsgKGkgJSA0KVxuICAgICAgICB9XG4gICAgfSk7XG59XG5kLnB1c2goe1xuICAgIGNvbF90eXBlOiBcImJpZ19iaWdfYmxhbmtfYmxvY2tcIixcbiAgICB1cmw6IFwiaGlrZXI6Ly9lbXB0eVwiLFxufSk7XG5kLnB1c2goe1xuICAgIGNvbF90eXBlOiBcImJpZ19iaWdfYmxhbmtfYmxvY2tcIixcbiAgICB1cmw6IFwiaGlrZXI6Ly9lbXB0eVwiLFxufSk7XG5kLnB1c2goe1xuICAgIGNvbF90eXBlOiBcImljb25fc21hbGxfM1wiLFxuICAgIHVybDogXCJoaWtlcjovL2VtcHR5XCIsXG59KTtcbmQucHVzaCh7XG4gICAgY29sX3R5cGU6IFwidGV4dF8zXCIsXG4gICAgdGl0bGU6IFwi4oaRXCIsXG4gICAgdXJsOiAkKFwiI25vTG9hZGluZyNcIikubGF6eVJ1bGUoKCkgPT4ge1xuICAgICAgICBHYW1lLm1vdmUoXCJ1cFwiKTtcbiAgICAgICAgcmV0dXJuIFwiaGlrZXI6Ly9lbXB0eVwiO1xuICAgIH0pLFxufSk7XG5kLnB1c2goe1xuICAgIGNvbF90eXBlOiBcImljb25fc21hbGxfM1wiLFxuICAgIHVybDogXCJoaWtlcjovL2VtcHR5XCIsXG59KTtcbmQucHVzaCh7XG4gICAgY29sX3R5cGU6IFwidGV4dF8zXCIsXG4gICAgdGl0bGU6IFwi4oaQXCIsXG4gICAgdXJsOiAkKFwiI25vTG9hZGluZyNcIikubGF6eVJ1bGUoKCkgPT4ge1xuICAgICAgICBHYW1lLm1vdmUoXCJsZWZ0XCIpO1xuICAgICAgICByZXR1cm4gXCJoaWtlcjovL2VtcHR5XCI7XG4gICAgfSksXG59KTtcbmQucHVzaCh7XG4gICAgY29sX3R5cGU6IFwiaWNvbl9zbWFsbF8zXCIsXG4gICAgdXJsOiBcImhpa2VyOi8vZW1wdHlcIixcbn0pO1xuZC5wdXNoKHtcbiAgICBjb2xfdHlwZTogXCJ0ZXh0XzNcIixcbiAgICB0aXRsZTogXCLihpJcIixcbiAgICB1cmw6ICQoXCIjbm9Mb2FkaW5nI1wiKS5sYXp5UnVsZSgoKSA9PiB7XG4gICAgICAgIEdhbWUubW92ZShcInJpZ2h0XCIpO1xuICAgICAgICByZXR1cm4gXCJoaWtlcjovL2VtcHR5XCI7XG4gICAgfSksXG59KTtcbmQucHVzaCh7XG4gICAgY29sX3R5cGU6IFwiaWNvbl9zbWFsbF8zXCIsXG4gICAgdXJsOiBcImhpa2VyOi8vZW1wdHlcIixcbn0pO1xuZC5wdXNoKHtcbiAgICBjb2xfdHlwZTogXCJ0ZXh0XzNcIixcbiAgICB0aXRsZTogXCLihpNcIixcbiAgICB1cmw6ICQoXCIjbm9Mb2FkaW5nI1wiKS5sYXp5UnVsZSgoKSA9PiB7XG4gICAgICAgIEdhbWUubW92ZShcImRvd25cIik7XG4gICAgICAgIHJldHVybiBcImhpa2VyOi8vZW1wdHlcIjtcbiAgICB9KSxcbn0pO1xuc2V0UmVzdWx0KGQpO1xuXG5HYW1lLmluaXQoKTtcblxuIiwic2VhcmNoX3VybCI6IiIsImdyb3VwIjoi5byA5Y+R5Lit5b+DIiwic2VhcmNoRmluZCI6IiIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoiIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6Ii8qPCQ+QGluY2x1ZGUgc3RhcnRHM0BpbmNsdWRlIGVuZDwkPiovXG4kLmV4dGVuZCh7XG4gICAgaW5pdEhpa2VyKCl7XG4gICAgICAgIHRoaXMuaGlrZXIuR2FtZSA9IEdNLmRlZmluZU1vZHVsZShcIkdhbWUyMDQ4XCIsIFwiR2FtZTIwNDhcIik7XG4gICAgfVxufSk7IiwicGFnZXMiOiJbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIkdhbWUyMDQ4XCIsXCJwYXRoXCI6XCJHYW1lMjA0OFwiLFwicnVsZVwiOlwianM6XFxubGV0IGtleSA9ICQuaW1wb3J0UGFyYW07XFxuXFxubGV0IEdhbWUyMDQ4ID0ge1xcbiAgICBpbml0KCkge1xcbiAgICAgICAgLy8g5Yid5aeL5YyW5ri45oiP55WM6Z2i5ZKM5YiG5pWwXFxuICAgICAgICB0aGlzLmJvYXJkID0gW1xcbiAgICAgICAgICAgIFswLCAwLCAwLCAwXSxcXG4gICAgICAgICAgICBbMCwgMCwgMCwgMF0sXFxuICAgICAgICAgICAgWzAsIDAsIDAsIDBdLFxcbiAgICAgICAgICAgIFswLCAwLCAwLCAwXVxcbiAgICAgICAgXTtcXG4gICAgICAgIHRoaXMub2xkQm9hcmQgPSBudWxsO1xcbiAgICAgICAgdGhpcy5zY29yZSA9IDA7XFxuICAgICAgICB0aGlzLmFkZE51bWJlcigpO1xcbiAgICAgICAgdGhpcy5hZGROdW1iZXIoKTtcXG4gICAgICAgIHRoaXMuZHJhdygpO1xcbiAgICAgICAgdGhpcy51cGRhdGVTY29yZSgpO1xcbiAgICB9LFxcbiAgICAvLyDnu5jliLbnlYzpnaJcXG4gICAgZHJhdygpIHtcXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDsgaSsrKSB7XFxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCA0OyBqKyspIHtcXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9sZEJvYXJkIHx8IHRoaXMub2xkQm9hcmRbaV1bal0gIT09IHRoaXMuYm9hcmRbaV1bal0pIHtcXG4gICAgICAgICAgICAgICAgICAgIHNldFRpdGxlKGksIGosIHRoaXMuYm9hcmRbaV1bal0gPT09IDAgPyAnJyA6IHRoaXMuYm9hcmRbaV1bal0pO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9LFxcblxcbiAgICAvLyDlnKjpmo/mnLrkvY3nva7mt7vliqDmlbDlrZdcXG4gICAgYWRkTnVtYmVyKCkge1xcbiAgICAgICAgbGV0IGF2YWlsYWJsZVNwb3RzID0gW107XFxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykge1xcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgNDsgaisrKSB7XFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmJvYXJkW2ldW2pdID09PSAwKSB7XFxuICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGVTcG90cy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB4OiBpLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGpcXG4gICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgICAgaWYgKGF2YWlsYWJsZVNwb3RzLmxlbmd0aCA+IDApIHtcXG4gICAgICAgICAgICBsZXQgc3BvdCA9IGF2YWlsYWJsZVNwb3RzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGF2YWlsYWJsZVNwb3RzLmxlbmd0aCldO1xcbiAgICAgICAgICAgIHRoaXMuYm9hcmRbc3BvdC54XVtzcG90LnldID0gTWF0aC5yYW5kb20oKSA+IDAuNSA/IDIgOiA0O1xcbiAgICAgICAgfVxcbiAgICB9LFxcblxcbiAgICAvLyDnp7vliqjlkozlkIjlubbnk6bniYdcXG4gICAgbW92ZShkaXJlY3Rpb24pIHtcXG4gICAgICAgIGxldCBtb3ZlZCA9IGZhbHNlO1xcbiAgICAgICAgdGhpcy5vbGRCb2FyZCA9IHRoaXMuY29weUJvYXJkKHRoaXMuYm9hcmQpO1xcbiAgICAgXFxuICAgICAgICBpZiAoZGlyZWN0aW9uID09PSAndXAnKSB7XFxuICAgICAgICAgICAgZm9yIChsZXQgY29sID0gMDsgY29sIDwgNDsgY29sKyspIHtcXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgcm93ID0gMTsgcm93IDwgNDsgcm93KyspIHtcXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmJvYXJkW3Jvd11bY29sXSAhPT0gMCkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZXdSb3cgPSByb3c7XFxuICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKG5ld1JvdyA+IDAgJiYgKHRoaXMuYm9hcmRbbmV3Um93IC0gMV1bY29sXSA9PT0gMCB8fCB0aGlzLmJvYXJkW25ld1JvdyAtIDFdW2NvbF0gPT09IHRoaXMuYm9hcmRbcm93XVtjb2xdKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdSb3ctLTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1JvdyAhPT0gcm93KSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYm9hcmRbbmV3Um93XVtjb2xdICs9IHRoaXMuYm9hcmRbcm93XVtjb2xdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJvYXJkW3Jvd11bY29sXSA9IDA7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2NvcmUgKz0gdGhpcy5ib2FyZFtuZXdSb3ddW2NvbF07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVkID0gdHJ1ZTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gJ2Rvd24nKSB7XFxuICAgICAgICAgICAgZm9yIChsZXQgY29sID0gMDsgY29sIDwgNDsgY29sKyspIHtcXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgcm93ID0gMjsgcm93ID49IDA7IHJvdy0tKSB7XFxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5ib2FyZFtyb3ddW2NvbF0gIT09IDApIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmV3Um93ID0gcm93O1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChuZXdSb3cgPCAzICYmICh0aGlzLmJvYXJkW25ld1JvdyArIDFdW2NvbF0gPT09IDAgfHwgdGhpcy5ib2FyZFtuZXdSb3cgKyAxXVtjb2xdID09PSB0aGlzLmJvYXJkW3Jvd11bY29sXSkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3Um93Kys7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdSb3cgIT09IHJvdykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJvYXJkW25ld1Jvd11bY29sXSArPSB0aGlzLmJvYXJkW3Jvd11bY29sXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ib2FyZFtyb3ddW2NvbF0gPSAwO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjb3JlICs9IHRoaXMuYm9hcmRbbmV3Um93XVtjb2xdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3ZlZCA9IHRydWU7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdsZWZ0Jykge1xcbiAgICAgICAgICAgIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IDQ7IHJvdysrKSB7XFxuICAgICAgICAgICAgICAgIGZvciAobGV0IGNvbCA9IDE7IGNvbCA8IDQ7IGNvbCsrKSB7XFxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5ib2FyZFtyb3ddW2NvbF0gIT09IDApIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmV3Q29sID0gY29sO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChuZXdDb2wgPiAwICYmICh0aGlzLmJvYXJkW3Jvd11bbmV3Q29sIC0gMV0gPT09IDAgfHwgdGhpcy5ib2FyZFtyb3ddW25ld0NvbCAtIDFdID09PSB0aGlzLmJvYXJkW3Jvd11bY29sXSkpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3Q29sLS07XFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdDb2wgIT09IGNvbCkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJvYXJkW3Jvd11bbmV3Q29sXSArPSB0aGlzLmJvYXJkW3Jvd11bY29sXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ib2FyZFtyb3ddW2NvbF0gPSAwO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjb3JlICs9IHRoaXMuYm9hcmRbcm93XVtuZXdDb2xdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3ZlZCA9IHRydWU7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdyaWdodCcpIHtcXG4gICAgICAgICAgICBmb3IgKGxldCByb3cgPSAwOyByb3cgPCA0OyByb3crKykge1xcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBjb2wgPSAyOyBjb2wgPj0gMDsgY29sLS0pIHtcXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmJvYXJkW3Jvd11bY29sXSAhPT0gMCkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZXdDb2wgPSBjb2w7XFxuICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKG5ld0NvbCA8IDMgJiYgKHRoaXMuYm9hcmRbcm93XVtuZXdDb2wgKyAxXSA9PT0gMCB8fCB0aGlzLmJvYXJkW3Jvd11bbmV3Q29sICsgMV0gPT09IHRoaXMuYm9hcmRbcm93XVtjb2xdKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdDb2wrKztcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld0NvbCAhPT0gY29sKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYm9hcmRbcm93XVtuZXdDb2xdICs9IHRoaXMuYm9hcmRbcm93XVtjb2xdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJvYXJkW3Jvd11bY29sXSA9IDA7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2NvcmUgKz0gdGhpcy5ib2FyZFtyb3ddW25ld0NvbF07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVkID0gdHJ1ZTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICAvLyDnu5jliLbnlYzpnaLjgIHmm7TmlrDliIbmlbDlubbliKTmlq3muLjmiI/mmK/lkKbnu5PmnZ9cXG5cXG4gICAgICAgIGlmIChtb3ZlZCkge1xcbiAgICAgICAgICAgIHRoaXMuYWRkTnVtYmVyKCk7XFxuXFxuICAgICAgICAgICAgdGhpcy51cGRhdGVTY29yZSgpO1xcbiAgICAgICAgfVxcbiAgICAgICAgaWYgKHRoaXMuaXNHYW1lT3ZlcigpKSB7XFxuICAgICAgICAgICAgY29uZmlybSh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcXFwi5ri45oiP57uT5p2f5LqGXFxcIixcXG4gICAgICAgICAgICAgICAgY29udGVudDogXFxcIuS9oOeahOW+l+WIhuS4uu+8mlxcXCIgKyB0aGlzLnNjb3JlICsgXFxcIlxcXFxu54K55Ye756Gu5a6a5Y2z5Y+v5YaN5p2l5LiA5bGAXFxcIixcXG4gICAgICAgICAgICAgICAgY29uZmlybTogJC50b1N0cmluZygoaWQsIGtleSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgbGV0IEcgPSAkLnJlcXVpcmUoXFxcIkdsb2JhbFZhclxcXCIpO1xcbiAgICAgICAgICAgICAgICAgICAgbGV0IEdhbWUgPSBHLm1vZHVsZU15VmFyKGtleSwgaWQpO1xcbiAgICAgICAgICAgICAgICAgICAgR2FtZS5pbml0KCk7XFxuICAgICAgICAgICAgICAgIH0sIG1vZHVsZS5pZCwga2V5KVxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcbiAgICAgICAgdGhpcy5kcmF3KCk7XFxuICAgIH0sXFxuXFxuXFxuICAgIC8vIOabtOaWsOWIhuaVsFxcbiAgICB1cGRhdGVTY29yZSgpIHtcXG4gICAgICAgIHVwZGF0ZUl0ZW0oXFxcInNjb3JlXFxcIiwge1xcbiAgICAgICAgICAgIHRpdGxlOiBcXFwi5b6X5YiG77yaXFxcIiArIFN0cmluZyh0aGlzLnNjb3JlKVxcbiAgICAgICAgfSk7XFxuICAgIH0sXFxuICAgIC8vIOWIpOaWrea4uOaIj+aYr+WQpue7k+adn1xcbiAgICBpc0dhbWVPdmVyKCkge1xcbiAgICAgICAgLy8g5qOA5p+l5piv5ZCm5pyJ56m655qE5L2N572uXFxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykge1xcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgNDsgaisrKSB7XFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmJvYXJkW2ldW2pdID09PSAwKSB7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICAvLyDmo4Dmn6XmmK/lkKbmnInnm7jpgrvnmoTnk6bniYfnm7jlkIxcXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDsgaSsrKSB7XFxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCA0OyBqKyspIHtcXG5cXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYm9hcmRbaV1bal0gPT09ICh0aGlzLmJvYXJkW2kgKyAxXSB8fCBbXSlbal0gfHwgdGhpcy5ib2FyZFtpXVtqXSA9PT0gdGhpcy5ib2FyZFtpXVtqICsgMV0pIHtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9LFxcbiAgICBjb3B5Qm9hcmQoYm9hcmQpIHtcXG4gICAgICAgIHJldHVybiBib2FyZC5tYXAocm93ID0+IHJvdy5zbGljZSgpKTtcXG4gICAgfVxcbn1cXG5cXG5mdW5jdGlvbiBzZXRUaXRsZShyb3csIGNvbCwgbnVtYmVyKSB7XFxuICAgIHVwZGF0ZUl0ZW0ocm93ICsgXFxcIixcXFwiICsgY29sLCB7XFxuICAgICAgICB0aXRsZTogbnVtYmVyID8gJ+KAnOKAnOKAneKAnTxzcGFuIHN0eWxlPVxcXCJiYWNrZ3JvdW5kLWNvbG9yOiAnICsgZ2V0Q29sb3JDb2RlKG51bWJlcikgKyAnXFxcIj4mbmJzcDsmbmJzcDsnICsgU3RyaW5nKG51bWJlcikuYmlnKCkgKyBcXFwiJm5ic3A7Jm5ic3A7PC9zcGFuPlxcXCIgOiBcXFwiXFxcIlxcbiAgICB9KTtcXG59XFxuXFxuXFxuZnVuY3Rpb24gZ2V0Q29sb3JDb2RlKG51bWJlcikge1xcbiAgICBzd2l0Y2ggKG51bWJlcikge1xcbiAgICAgICAgY2FzZSAyOlxcbiAgICAgICAgICAgIHJldHVybiAnI0VFRTREQSc7XFxuICAgICAgICBjYXNlIDQ6XFxuICAgICAgICAgICAgcmV0dXJuICcjRURFMEM4JztcXG4gICAgICAgIGNhc2UgODpcXG4gICAgICAgICAgICByZXR1cm4gJyNGMkIxNzknO1xcbiAgICAgICAgY2FzZSAxNjpcXG4gICAgICAgICAgICByZXR1cm4gJyNGNTk1NjMnO1xcbiAgICAgICAgY2FzZSAzMjpcXG4gICAgICAgICAgICByZXR1cm4gJyNGNjdDNUYnO1xcbiAgICAgICAgY2FzZSA2NDpcXG4gICAgICAgICAgICByZXR1cm4gJyNGNjVFM0InO1xcbiAgICAgICAgY2FzZSAxMjg6XFxuICAgICAgICAgICAgcmV0dXJuICcjRURDRjcyJztcXG4gICAgICAgIGNhc2UgMjU2OlxcbiAgICAgICAgICAgIHJldHVybiAnI0VEQ0M2MSc7XFxuICAgICAgICBjYXNlIDUxMjpcXG4gICAgICAgICAgICByZXR1cm4gJyNFREM4NTAnO1xcbiAgICAgICAgY2FzZSAxMDI0OlxcbiAgICAgICAgICAgIHJldHVybiAnI0VEQzUzRic7XFxuICAgICAgICBjYXNlIDIwNDg6XFxuICAgICAgICBkZWZhdWx0OlxcbiAgICAgICAgICAgIHJldHVybiAnI0VEQzIyRSc7XFxuICAgIH1cXG59XFxuXFxuXFxuJC5leHBvcnRzID0gR2FtZTIwNDhcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuWFqOWxgOWPmOmHjzNcIixcInBhdGhcIjpcIkczXCIsXCJydWxlXCI6XCJjb25zdCBKYXZhTWFwID0gamF2YS51dGlsLkhhc2hNYXA7XFxuY29uc3QgZ2xvYmFsTWFwU3ltYm9sID0gU3ltYm9sKFxcXCJnbG9iYWxNYXBcXFwiKTtcXG5jb25zdCBtYXBTeW1ib2wgPSBTeW1ib2woXFxcIm15SmF2YU1hcFxcXCIpO1xcbmNvbnN0IHNlbGZTeW1ib2wgPSBTeW1ib2woXFxcInNlbGZLZXlcXFwiKTtcXG5cXG5mdW5jdGlvbiBnZXRUeXBlTmFtZShvYmopIHtcXG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopO1xcbn1cXG5cXG5jb25zdCBwcm90b0RpYyA9IG5ldyBNYXAoW1xcbiAgICBbXFxcIltvYmplY3QgQXJyYXldXFxcIiwgQXJyYXldLFxcbiAgICBbXFxcIltvYmplY3QgRGF0ZV1cXFwiLCBEYXRlXSxcXG4gICAgW1xcXCJbb2JqZWN0IE9iamVjdF1cXFwiLCBPYmplY3RdLFxcbiAgICBbXFxcIltvYmplY3QgUHJvbWlzZV1cXFwiLCBQcm9taXNlXSxcXG4gICAgW1xcXCJbb2JqZWN0IE1hcF1cXFwiLCBNYXBdLFxcbiAgICBbXFxcIltvYmplY3QgU3ltYm9sXVxcXCIsIFN5bWJvbF0sXFxuICAgIFtcXFwiW29iamVjdCBBcnJheV1cXFwiLCBBcnJheV0sXFxuICAgIFtcXFwiW29iamVjdCBGdW5jdGlvbl1cXFwiLCBGdW5jdGlvbl0sXFxuICAgIFtcXFwiRXJyb3JcXFwiLCBFcnJvcl0sXFxuICAgIFtcXFwiVHlwZUVycm9yXFxcIiwgVHlwZUVycm9yXSxcXG4gICAgW1xcXCJFdmFsRXJyb3JcXFwiLCBFdmFsRXJyb3JdLFxcbiAgICBbXFxcIlN5bnRheEVycm9yXFxcIiwgU3ludGF4RXJyb3JdLFxcbiAgICBbXFxcIlJlZmVyZW5jZUVycm9yXFxcIiwgUmVmZXJlbmNlRXJyb3JdLFxcbiAgICBbXFxcIlJhbmdlRXJyb3JcXFwiLCBSYW5nZUVycm9yXVxcbl0pO1xcblxcbmZ1bmN0aW9uIGRlYWxXaXRoVmFsKHZhbCkge1xcbiAgICBsZXQgdHlwZU5hbWUgPSBnZXRUeXBlTmFtZSh2YWwpO1xcbiAgICBsZXQgZXJyb3JOYW1lO1xcbiAgICBpZiAodmFsIGluc3RhbmNlb2YgamF2YS5sYW5nLlN0cmluZykge1xcbiAgICAgICAgcmV0dXJuIFN0cmluZyh2YWwpO1xcbiAgICB9IGVsc2UgaWYgKHZhbCBpbnN0YW5jZW9mIGphdmEubGFuZy5Eb3VibGUpIHtcXG4gICAgICAgIHJldHVybiBOdW1iZXIodmFsKTtcXG4gICAgfSBlbHNlIGlmICh2YWwgaW5zdGFuY2VvZiBqYXZhLmxhbmcuQm9vbGVhbikge1xcbiAgICAgICAgaWYgKFN0cmluZyh2YWwpID09PSBcXFwidHJ1ZVxcXCIpIHtcXG4gICAgICAgICAgICB2YWwgPSB0cnVlO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICB2YWwgPSBmYWxzZTtcXG4gICAgICAgIH1cXG4gICAgICAgIHJldHVybiB2YWw7XFxuICAgIH0gZWxzZSBpZiAodHlwZU5hbWUgPT09IFxcXCJbb2JqZWN0IEVycm9yXVxcXCIgJiYgcHJvdG9EaWMuaGFzKChlcnJvck5hbWUgPSB2YWwudG9TdHJpbmcoKSkpKSB7XFxuICAgICAgICB2YWwuX19wcm90b19fID0gdmFsLl9fcHJvdG9fXyAmJiBPYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUocHJvdG9EaWMuZ2V0KHR5cGVOYW1lKS5wcm90b3R5cGUpLCB2YWwuX19wcm90b19fKTtcXG4gICAgICAgIHJldHVybiB2YWw7XFxuICAgIH0gZWxzZSBpZiAodHlwZU5hbWUgIT09IFxcXCJbb2JqZWN0IGphdmFPYmplY3RdXFxcIiAmJiBwcm90b0RpYy5oYXModHlwZU5hbWUpKSB7XFxuICAgICAgICB2YWwuX19wcm90b19fID0gdmFsLl9fcHJvdG9fXyAmJiBPYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUocHJvdG9EaWMuZ2V0KHR5cGVOYW1lKS5wcm90b3R5cGUpLCB2YWwuX19wcm90b19fKTtcXG4gICAgICAgIHJldHVybiB2YWw7XFxuICAgIH1cXG4gICAgcmV0dXJuIHZhbDtcXG59XFxuXFxuZnVuY3Rpb24gaXNTdHJpbmcoc3RyKSB7XFxuICAgIHJldHVybiB0eXBlb2Yoc3RyKSA9PT0gXFxcInN0cmluZ1xcXCIgfHwgc3RyIGluc3RhbmNlb2YgamF2YS5sYW5nLlN0cmluZztcXG59XFxuXFxuZnVuY3Rpb24gR2xvYmFsVmFyKGphdmFNYXAsIHNlbGZLZXkpIHtcXG4gICAgdGhpc1tnbG9iYWxNYXBTeW1ib2xdID0gamF2YU1hcDtcXG4gICAgdGhpc1tzZWxmU3ltYm9sXSA9IHNlbGZLZXk7XFxuICAgIHRoaXMucmF3ID0gZmFsc2U7XFxufVxcbk9iamVjdC5hc3NpZ24oR2xvYmFsVmFyLnByb3RvdHlwZSwge1xcbiAgICBnZXRIYXNoTWFwKHN5bWJvbCkge1xcbiAgICAgICAgaWYgKHN5bWJvbCAhPT0gbWFwU3ltYm9sKSByZXR1cm4gbnVsbDtcXG4gICAgICAgIGlmICh0aGlzW21hcFN5bWJvbF0pIHJldHVybiB0aGlzW21hcFN5bWJvbF07XFxuICAgICAgICBsZXQgc2VsZktleSA9IHRoaXNbc2VsZlN5bWJvbF07XFxuICAgICAgICBpZiAoIXNlbGZLZXkpIHtcXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcXFwi5b2T5YmN5rKh5pyJ5YWo5bGA546v5aKD77yM6K+35L2/55Soc2V0U2VsZktleeaMh+WumuinhOWImeWQjVxcXCIpO1xcbiAgICAgICAgfVxcbiAgICAgICAgdGhpc1ttYXBTeW1ib2xdID0gdGhpc1tnbG9iYWxNYXBTeW1ib2xdO1xcbiAgICAgICAgcmV0dXJuIHRoaXNbbWFwU3ltYm9sXTtcXG4gICAgfSxcXG4gICAgc2V0U2VsZktleShrZXkpIHtcXG4gICAgICAgIGlmICghdGhpc1tzZWxmU3ltYm9sXSkgdGhpc1tzZWxmU3ltYm9sXSA9IGtleTtcXG4gICAgfSxcXG4gICAgZ2V0TWFwS2V5KGtleSkge1xcbiAgICAgICAgcmV0dXJuIFN0cmluZyh0aGlzW3NlbGZTeW1ib2xdICsga2V5KTtcXG4gICAgfSxcXG4gICAgZ2V0KGtleSwgZGVmKSB7XFxuICAgICAgICBrZXkgPSB0aGlzLmdldE1hcEtleShrZXkpO1xcbiAgICAgICAgbGV0IGhhc2hNYXAgPSB0aGlzLmdldEhhc2hNYXAobWFwU3ltYm9sKTtcXG4gICAgICAgIGlmICghaGFzaE1hcC5jb250YWluc0tleShrZXkpKSByZXR1cm4gZGVmO1xcbiAgICAgICAgbGV0IHZhbCA9IGhhc2hNYXAuZ2V0KGtleSk7XFxuICAgICAgICBpZiAodGhpcy5yYXcpIHtcXG4gICAgICAgICAgICByZXR1cm4gdmFsO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICByZXR1cm4gZGVhbFdpdGhWYWwodmFsKTtcXG4gICAgICAgIH1cXG4gICAgfSxcXG4gICAgZ2V0UmF3KGtleSwgZGVmKSB7XFxuICAgICAgICBrZXkgPSB0aGlzLmdldE1hcEtleShrZXkpO1xcbiAgICAgICAgbGV0IGhhc2hNYXAgPSB0aGlzLmdldEhhc2hNYXAobWFwU3ltYm9sKTtcXG4gICAgICAgIGlmICghaGFzaE1hcC5jb250YWluc0tleShrZXkpKSByZXR1cm4gZGVmO1xcbiAgICAgICAgcmV0dXJuIGhhc2hNYXAuZ2V0KGtleSk7XFxuICAgIH0sXFxuICAgIHVzZVJhdyhub1VzZVJhdykge1xcbiAgICAgICAgdGhpcy5yYXcgPSAhbm9Vc2VSYXc7XFxuICAgICAgICByZXR1cm4gdGhpcztcXG4gICAgfSxcXG4gICAgcHV0KGtleSwgdmFsKSB7XFxuICAgICAgICBpZiAodmFsID09PSB2b2lkIDApIHJldHVybjtcXG4gICAgICAgIGxldCBoYXNoTWFwID0gdGhpcy5nZXRIYXNoTWFwKG1hcFN5bWJvbCk7XFxuICAgICAgICBoYXNoTWFwLnB1dCh0aGlzLmdldE1hcEtleShrZXkpLCB2YWwpO1xcbiAgICAgICAgcmV0dXJuIHZhbDtcXG4gICAgfSxcXG4gICAgY2xlYXJBbGwoKSB7XFxuICAgICAgICBsZXQgc2VsZiA9IHRoaXNbc2VsZlN5bWJvbF07XFxuICAgICAgICBsZXQgaGFzaE1hcCA9IHRoaXMuZ2V0SGFzaE1hcChtYXBTeW1ib2wpO1xcbiAgICAgICAgdGhpcy5nZXRIYXNoTWFwKG1hcFN5bWJvbCkuZm9yRWFjaCgoa2V5LCB2YWx1ZSkgPT4ge1xcbiAgICAgICAgICAgIGlmIChpc1N0cmluZyhrZXkpICYmIFN0cmluZyhrZXkpLnN0YXJ0c1dpdGgoc2VsZikpIHtcXG4gICAgICAgICAgICAgICAgaGFzaE1hcC5yZW1vdmUoa2V5KTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KTtcXG4gICAgfSxcXG4gICAgY2xlYXIoa2V5LCBjYWxsKSB7XFxuICAgICAgICBpZiAodGhpcy5oYXNCdXROb0NhbGwoa2V5KSkge1xcbiAgICAgICAgICAgIGxldCBoYXNoTWFwID0gdGhpcy5nZXRIYXNoTWFwKG1hcFN5bWJvbCk7XFxuICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsID09PSBcXFwiZnVuY3Rpb25cXFwiKSB7XFxuICAgICAgICAgICAgICAgIGNhbGwodGhpcy5nZXQoa2V5KSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIGhhc2hNYXAucmVtb3ZlKHRoaXMuZ2V0TWFwS2V5KGtleSkpO1xcbiAgICAgICAgfVxcbiAgICB9LFxcbiAgICBoYXMoa2V5LCBjYWxsKSB7XFxuICAgICAgICBsZXQgbWFwS2V5ID0gdGhpcy5nZXRNYXBLZXkoa2V5KTtcXG4gICAgICAgIGxldCBoYXNoTWFwID0gdGhpcy5nZXRIYXNoTWFwKG1hcFN5bWJvbCk7XFxuICAgICAgICBsZXQgcmVzID0gISFoYXNoTWFwLmNvbnRhaW5zS2V5KG1hcEtleSk7XFxuICAgICAgICBpZiAocmVzICYmIHR5cGVvZiBjYWxsID09PSBcXFwiZnVuY3Rpb25cXFwiKSB7XFxuICAgICAgICAgICAgY2FsbCh0aGlzLmdldChrZXkpKTtcXG4gICAgICAgIH1cXG4gICAgICAgIHJldHVybiByZXM7XFxuICAgIH0sXFxuICAgIGhhc0J1dE5vQ2FsbChrZXkpIHtcXG4gICAgICAgIGxldCBtYXBLZXkgPSB0aGlzLmdldE1hcEtleShrZXkpO1xcbiAgICAgICAgbGV0IGhhc2hNYXAgPSB0aGlzLmdldEhhc2hNYXAobWFwU3ltYm9sKTtcXG4gICAgICAgIHJldHVybiAhIWhhc2hNYXAuY29udGFpbnNLZXkobWFwS2V5KTtcXG4gICAgfSxcXG4gICAgZGVmaW5lKGtleSwgdmFsKSB7XFxuICAgICAgICBpZiAodGhpcy5oYXNCdXROb0NhbGwoa2V5KSkge1xcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpO1xcbiAgICAgICAgfVxcbiAgICAgICAgcmV0dXJuIHRoaXMucHV0KGtleSwgdmFsKTtcXG4gICAgfSxcXG4gICAgZGVmaW5lTGF6eShrZXksIGxhenkpIHtcXG4gICAgICAgIGlmICh0aGlzLmhhc0J1dE5vQ2FsbChrZXkpKSB7XFxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSk7XFxuICAgICAgICB9XFxuICAgICAgICByZXR1cm4gdGhpcy5wdXQoa2V5LCBsYXp5KCkpO1xcbiAgICB9LFxcbiAgICBkZWZpbmVNb2R1bGUoa2V5LCBwYXRoLCBpc05ldykge1xcbiAgICAgICAgaWYgKGlzTmV3KSByZXR1cm4gdGhpcy5wdXQoa2V5LCAkLnJlcXVpcmUocGF0aCwga2V5KSk7XFxuICAgICAgICByZXR1cm4gdGhpcy5kZWZpbmVMYXp5KGtleSwgKCkgPT4gJC5yZXF1aXJlKHBhdGgsIGtleSkpO1xcbiAgICB9LFxcbiAgICBsaXN0S2V5cygpIHtcXG4gICAgICAgIGxldCBlbnRyeVNldCA9IHRoaXMuZ2V0SGFzaE1hcChtYXBTeW1ib2wpLmVudHJ5U2V0KCk7XFxuICAgICAgICBsZXQgc2VsZktleSA9IHRoaXNbc2VsZlN5bWJvbF07XFxuICAgICAgICBsZXQga2V5cyA9IFtdO1xcblxcbiAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgZW50cnlTZXQpIHtcXG4gICAgICAgICAgICBsZXQga2V5ID0gZW50cnkuZ2V0S2V5KCk7XFxuICAgICAgICAgICAgaWYgKGlzU3RyaW5nKGtleSkgJiYga2V5LnN0YXJ0c1dpdGgoc2VsZktleSkpIHtcXG4gICAgICAgICAgICAgICAga2V5cy5wdXNoKFN0cmluZyhrZXkpLnJlcGxhY2Uoc2VsZktleSwgXFxcIlxcXCIpKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgICByZXR1cm4ga2V5cztcXG4gICAgfSxcXG4gICAgdG9KU09OKCkge1xcbiAgICAgICAgbGV0IG9iamVjdCA9IHt9O1xcbiAgICAgICAgbGV0IGhhc2hNYXAgPSB0aGlzLmdldEhhc2hNYXAobWFwU3ltYm9sKTtcXG4gICAgICAgIGxldCBzZWxmS2V5ID0gdGhpc1tzZWxmU3ltYm9sXTtcXG4gICAgICAgIGhhc2hNYXAuZm9yRWFjaCgoa2V5LCB2YWx1ZSkgPT4ge1xcbiAgICAgICAgICAgIGlmICghaXNTdHJpbmcoa2V5KSkge1xcbiAgICAgICAgICAgICAgICByZXR1cm47XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIGxldCBrZXlTdHJpbmcgPSBTdHJpbmcoa2V5KTtcXG4gICAgICAgICAgICBpZiAoa2V5U3RyaW5nLnN0YXJ0c1dpdGgoc2VsZktleSkpIHtcXG4gICAgICAgICAgICAgICAgb2JqZWN0W2tleVN0cmluZy5yZXBsYWNlKHNlbGZLZXksIFxcXCJcXFwiKV0gPSBoYXNoTWFwLmdldChrZXkpO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcbiAgICAgICAgcmV0dXJuIG9iamVjdDtcXG4gICAgfVxcbn0pO1xcbkdsb2JhbFZhci5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkge1xcbiAgICBsZXQgaGFzaE1hcCA9IHRoaXMuZ2V0SGFzaE1hcChtYXBTeW1ib2wpO1xcbiAgICBsZXQgc2VsZktleSA9IHRoaXNbc2VsZlN5bWJvbF07XFxuICAgIGxldCBpdGVyYXRvciA9IGhhc2hNYXAuZW50cnlTZXQoKS5pdGVyYXRvcigpO1xcbiAgICByZXR1cm4gKGZ1bmN0aW9uKigpIHtcXG4gICAgICAgIHdoaWxlIChpdGVyYXRvci5oYXNOZXh0KCkpIHtcXG4gICAgICAgICAgICBsZXQgbWUgPSBpdGVyYXRvci5uZXh0KCk7XFxuICAgICAgICAgICAgbGV0IGtleSA9IG1lLmdldEtleSgpO1xcbiAgICAgICAgICAgIGlmICghaXNTdHJpbmcoa2V5KSkge1xcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgICAga2V5ID0gU3RyaW5nKGtleSk7XFxuICAgICAgICAgICAgaWYgKGtleS5zdGFydHNXaXRoKHNlbGZLZXkpKSB7XFxuICAgICAgICAgICAgICAgIHlpZWxkIFtrZXkucmVwbGFjZShzZWxmS2V5LCBcXFwiXFxcIiksIGRlYWxXaXRoVmFsKG1lLmdldFZhbHVlKCkpXTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgIH0pKCk7XFxufVxcblxcbmNvbnN0IEdsb2JhbE1hcCA9IF9nbG9iYWxNYXA7XFxuX2dsb2JhbE1hcCA9IHZvaWQgMDtcXG5sZXQgUnVsZUdsb2JhbE1hcEtleSA9IHR5cGVvZiBNWV9SVUxFICE9PSBcXFwidW5kZWZpbmVkXFxcIiA/IE1ZX1JVTEUudGl0bGUgOiBcXFwiXFxcIjtcXG5sZXQgQXBwR2xvYmFsTWFwS2V5ID0gXFxcIkFwcEdsb2JhbE1hcFxcXCI7XFxuaWYgKFJ1bGVHbG9iYWxNYXBLZXkgPT09IEFwcEdsb2JhbE1hcEtleSkge1xcbiAgICBsZXQgcmFuZG9tS2V5ID0gXFxcIlxcXCI7XFxuICAgIGlmIChHbG9iYWxNYXAuY29udGFpbnNLZXkoMCkpIHtcXG4gICAgICAgIHJhbmRvbUtleSA9IFN0cmluZyhHbG9iYWxNYXAuZ2V0KDApKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHJhbmRvbUtleSA9IFN0cmluZyhEYXRlLm5vdygpKTtcXG4gICAgICAgIEdsb2JhbE1hcC5wdXQoMCwgcmFuZG9tS2V5KTtcXG4gICAgfVxcbiAgICBSdWxlR2xvYmFsTWFwS2V5ID0gUnVsZUdsb2JhbE1hcEtleSArIHJhbmRvbUtleTtcXG59XFxuJC5leHBvcnRzID0ge1xcbiAgICBHQTogbmV3IEdsb2JhbFZhcihHbG9iYWxNYXAsIEFwcEdsb2JhbE1hcEtleSksXFxuICAgIEdNOiBuZXcgR2xvYmFsVmFyKEdsb2JhbE1hcCwgUnVsZUdsb2JhbE1hcEtleSlcXG59XCJ9XSIsImljb24iOiIiLCJwcm94eSI6IiJ9
Add Comment
Please, Sign In to add comment