| 1 |
- {"remainingRequest":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/thread-loader/dist/cjs.js!/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/babel-loader/lib/index.js!/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/element-ui/lib/scrollbar.js","dependencies":[{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/element-ui/lib/scrollbar.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/thread-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/babel-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:cmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbCIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5kZXNjcmlwdGlvbiIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC50by1zdHJpbmctdGFnIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZSIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmpzb24udG8tc3RyaW5nLXRhZyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm1hdGgudG8tc3RyaW5nLXRhZyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm51bWJlci5jb25zdHJ1Y3RvciIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmciKTsKCnZhciBfdHlwZW9mID0gcmVxdWlyZSgiL3Vzci9sb2NhbC9kZXZlbG9wL3BocC93d3cvd2FpYmFvL3Byb2plY3QvTk4yMDIwMDYwODAxL2FkZG9ucy9hZG1pbi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy90eXBlb2YiKTsKCm1vZHVsZS5leHBvcnRzID0KLyoqKioqKi8KZnVuY3Rpb24gKG1vZHVsZXMpIHsKICAvLyB3ZWJwYWNrQm9vdHN0cmFwCgogIC8qKioqKiovCiAgLy8gVGhlIG1vZHVsZSBjYWNoZQoKICAvKioqKioqLwogIHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307CiAgLyoqKioqKi8KCiAgLyoqKioqKi8KICAvLyBUaGUgcmVxdWlyZSBmdW5jdGlvbgoKICAvKioqKioqLwoKICBmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7CiAgICAvKioqKioqLwoKICAgIC8qKioqKiovCiAgICAvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGUKCiAgICAvKioqKioqLwogICAgaWYgKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7CiAgICAgIC8qKioqKiovCiAgICAgIHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzOwogICAgICAvKioqKioqLwogICAgfQogICAgLyoqKioqKi8KICAgIC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpCgogICAgLyoqKioqKi8KCgogICAgdmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0gewogICAgICAvKioqKioqLwogICAgICBpOiBtb2R1bGVJZCwKCiAgICAgIC8qKioqKiovCiAgICAgIGw6IGZhbHNlLAoKICAgICAgLyoqKioqKi8KICAgICAgZXhwb3J0czoge30KICAgICAgLyoqKioqKi8KCiAgICB9OwogICAgLyoqKioqKi8KCiAgICAvKioqKioqLwogICAgLy8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uCgogICAgLyoqKioqKi8KCiAgICBtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTsKICAgIC8qKioqKiovCgogICAgLyoqKioqKi8KICAgIC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWQKCiAgICAvKioqKioqLwoKICAgIG1vZHVsZS5sID0gdHJ1ZTsKICAgIC8qKioqKiovCgogICAgLyoqKioqKi8KICAgIC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlCgogICAgLyoqKioqKi8KCiAgICByZXR1cm4gbW9kdWxlLmV4cG9ydHM7CiAgICAvKioqKioqLwogIH0KICAvKioqKioqLwoKICAvKioqKioqLwoKICAvKioqKioqLwogIC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pCgogIC8qKioqKiovCgoKICBfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzOwogIC8qKioqKiovCgogIC8qKioqKiovCiAgLy8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGUKCiAgLyoqKioqKi8KCiAgX193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlczsKICAvKioqKioqLwoKICAvKioqKioqLwogIC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0cwoKICAvKioqKioqLwoKICBfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbiAoZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7CiAgICAvKioqKioqLwogICAgaWYgKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHsKICAgICAgLyoqKioqKi8KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsKICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLAogICAgICAgIGdldDogZ2V0dGVyCiAgICAgIH0pOwogICAgICAvKioqKioqLwogICAgfQogICAgLyoqKioqKi8KCiAgfTsKICAvKioqKioqLwoKICAvKioqKioqLwogIC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHMKCiAgLyoqKioqKi8KCgogIF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uIChleHBvcnRzKSB7CiAgICAvKioqKioqLwogICAgaWYgKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykgewogICAgICAvKioqKioqLwogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7CiAgICAgICAgdmFsdWU6ICdNb2R1bGUnCiAgICAgIH0pOwogICAgICAvKioqKioqLwogICAgfQogICAgLyoqKioqKi8KCgogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgewogICAgICB2YWx1ZTogdHJ1ZQogICAgfSk7CiAgICAvKioqKioqLwogIH07CiAgLyoqKioqKi8KCiAgLyoqKioqKi8KICAvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3QKCiAgLyoqKioqKi8KICAvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXQKCiAgLyoqKioqKi8KICAvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnMKCiAgLyoqKioqKi8KICAvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3QKCiAgLyoqKioqKi8KICAvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlCgogIC8qKioqKiovCgoKICBfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbiAodmFsdWUsIG1vZGUpIHsKICAgIC8qKioqKiovCiAgICBpZiAobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7CiAgICAvKioqKioqLwoKICAgIGlmIChtb2RlICYgOCkgcmV0dXJuIHZhbHVlOwogICAgLyoqKioqKi8KCiAgICBpZiAobW9kZSAmIDQgJiYgX3R5cGVvZih2YWx1ZSkgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTsKICAgIC8qKioqKiovCgogICAgdmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgIC8qKioqKiovCgogICAgX193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTsKICAgIC8qKioqKiovCgoKICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7CiAgICAgIGVudW1lcmFibGU6IHRydWUsCiAgICAgIHZhbHVlOiB2YWx1ZQogICAgfSk7CiAgICAvKioqKioqLwoKICAgIGlmIChtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvciAodmFyIGtleSBpbiB2YWx1ZSkgewogICAgICBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24gKGtleSkgewogICAgICAgIHJldHVybiB2YWx1ZVtrZXldOwogICAgICB9LmJpbmQobnVsbCwga2V5KSk7CiAgICB9CiAgICAvKioqKioqLwoKICAgIHJldHVybiBuczsKICAgIC8qKioqKiovCiAgfTsKICAvKioqKioqLwoKICAvKioqKioqLwogIC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzCgogIC8qKioqKiovCgoKICBfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbiAobW9kdWxlKSB7CiAgICAvKioqKioqLwogICAgdmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/CiAgICAvKioqKioqLwogICAgZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsKICAgICAgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOwogICAgfSA6CiAgICAvKioqKioqLwogICAgZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsKICAgICAgcmV0dXJuIG1vZHVsZTsKICAgIH07CiAgICAvKioqKioqLwoKICAgIF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTsKICAgIC8qKioqKiovCgoKICAgIHJldHVybiBnZXR0ZXI7CiAgICAvKioqKioqLwogIH07CiAgLyoqKioqKi8KCiAgLyoqKioqKi8KICAvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwKCiAgLyoqKioqKi8KCgogIF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uIChvYmplY3QsIHByb3BlcnR5KSB7CiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOwogIH07CiAgLyoqKioqKi8KCiAgLyoqKioqKi8KICAvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfXwoKICAvKioqKioqLwoKCiAgX193ZWJwYWNrX3JlcXVpcmVfXy5wID0gIi9kaXN0LyI7CiAgLyoqKioqKi8KCiAgLyoqKioqKi8KCiAgLyoqKioqKi8KICAvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHMKCiAgLyoqKioqKi8KCiAgcmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMTI3KTsKICAvKioqKioqLwp9KAovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoqKioqKi8KewogIC8qKiovCiAgMTI3OgogIC8qKiovCiAgZnVuY3Rpb24gXyhtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHsKICAgICJ1c2Ugc3RyaWN0IjsKCiAgICBfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7IC8vIEVYVEVSTkFMIE1PRFVMRTogZXh0ZXJuYWwgImVsZW1lbnQtdWkvbGliL3V0aWxzL3Jlc2l6ZS1ldmVudCIKCgogICAgdmFyIHJlc2l6ZV9ldmVudF8gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE2KTsgLy8gRVhURVJOQUwgTU9EVUxFOiBleHRlcm5hbCAiZWxlbWVudC11aS9saWIvdXRpbHMvc2Nyb2xsYmFyLXdpZHRoIgoKCiAgICB2YXIgc2Nyb2xsYmFyX3dpZHRoXyA9IF9fd2VicGFja19yZXF1aXJlX18oMzkpOwoKICAgIHZhciBzY3JvbGxiYXJfd2lkdGhfZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oc2Nyb2xsYmFyX3dpZHRoXyk7IC8vIEVYVEVSTkFMIE1PRFVMRTogZXh0ZXJuYWwgImVsZW1lbnQtdWkvbGliL3V0aWxzL3V0aWwiCgoKICAgIHZhciB1dGlsXyA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7IC8vIEVYVEVSTkFMIE1PRFVMRTogZXh0ZXJuYWwgImVsZW1lbnQtdWkvbGliL3V0aWxzL2RvbSIKCgogICAgdmFyIGRvbV8gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpOyAvLyBDT05DQVRFTkFURUQgTU9EVUxFOiAuL3BhY2thZ2VzL3Njcm9sbGJhci9zcmMvdXRpbC5qcwoKCiAgICB2YXIgQkFSX01BUCA9IHsKICAgICAgdmVydGljYWw6IHsKICAgICAgICBvZmZzZXQ6ICdvZmZzZXRIZWlnaHQnLAogICAgICAgIHNjcm9sbDogJ3Njcm9sbFRvcCcsCiAgICAgICAgc2Nyb2xsU2l6ZTogJ3Njcm9sbEhlaWdodCcsCiAgICAgICAgc2l6ZTogJ2hlaWdodCcsCiAgICAgICAga2V5OiAndmVydGljYWwnLAogICAgICAgIGF4aXM6ICdZJywKICAgICAgICBjbGllbnQ6ICdjbGllbnRZJywKICAgICAgICBkaXJlY3Rpb246ICd0b3AnCiAgICAgIH0sCiAgICAgIGhvcml6b250YWw6IHsKICAgICAgICBvZmZzZXQ6ICdvZmZzZXRXaWR0aCcsCiAgICAgICAgc2Nyb2xsOiAnc2Nyb2xsTGVmdCcsCiAgICAgICAgc2Nyb2xsU2l6ZTogJ3Njcm9sbFdpZHRoJywKICAgICAgICBzaXplOiAnd2lkdGgnLAogICAgICAgIGtleTogJ2hvcml6b250YWwnLAogICAgICAgIGF4aXM6ICdYJywKICAgICAgICBjbGllbnQ6ICdjbGllbnRYJywKICAgICAgICBkaXJlY3Rpb246ICdsZWZ0JwogICAgICB9CiAgICB9OwoKICAgIGZ1bmN0aW9uIHJlbmRlclRodW1iU3R5bGUoX3JlZikgewogICAgICB2YXIgbW92ZSA9IF9yZWYubW92ZSwKICAgICAgICAgIHNpemUgPSBfcmVmLnNpemUsCiAgICAgICAgICBiYXIgPSBfcmVmLmJhcjsKICAgICAgdmFyIHN0eWxlID0ge307CiAgICAgIHZhciB0cmFuc2xhdGUgPSAndHJhbnNsYXRlJyArIGJhci5heGlzICsgJygnICsgbW92ZSArICclKSc7CiAgICAgIHN0eWxlW2Jhci5zaXplXSA9IHNpemU7CiAgICAgIHN0eWxlLnRyYW5zZm9ybSA9IHRyYW5zbGF0ZTsKICAgICAgc3R5bGUubXNUcmFuc2Zvcm0gPSB0cmFuc2xhdGU7CiAgICAgIHN0eWxlLndlYmtpdFRyYW5zZm9ybSA9IHRyYW5zbGF0ZTsKICAgICAgcmV0dXJuIHN0eWxlOwogICAgfQoKICAgIDsgLy8gQ09OQ0FURU5BVEVEIE1PRFVMRTogLi9wYWNrYWdlcy9zY3JvbGxiYXIvc3JjL2Jhci5qcwoKICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovCgogICAgLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLwoKICAgIHZhciBzcmNfYmFyID0gewogICAgICBuYW1lOiAnQmFyJywKICAgICAgcHJvcHM6IHsKICAgICAgICB2ZXJ0aWNhbDogQm9vbGVhbiwKICAgICAgICBzaXplOiBTdHJpbmcsCiAgICAgICAgbW92ZTogTnVtYmVyCiAgICAgIH0sCiAgICAgIGNvbXB1dGVkOiB7CiAgICAgICAgYmFyOiBmdW5jdGlvbiBiYXIoKSB7CiAgICAgICAgICByZXR1cm4gQkFSX01BUFt0aGlzLnZlcnRpY2FsID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJ107CiAgICAgICAgfSwKICAgICAgICB3cmFwOiBmdW5jdGlvbiB3cmFwKCkgewogICAgICAgICAgcmV0dXJuIHRoaXMuJHBhcmVudC53cmFwOwogICAgICAgIH0KICAgICAgfSwKICAgICAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkgewogICAgICAgIHZhciBzaXplID0gdGhpcy5zaXplLAogICAgICAgICAgICBtb3ZlID0gdGhpcy5tb3ZlLAogICAgICAgICAgICBiYXIgPSB0aGlzLmJhcjsKICAgICAgICByZXR1cm4gaCgnZGl2JywgewogICAgICAgICAgJ2NsYXNzJzogWydlbC1zY3JvbGxiYXJfX2JhcicsICdpcy0nICsgYmFyLmtleV0sCiAgICAgICAgICBvbjogewogICAgICAgICAgICAnbW91c2Vkb3duJzogdGhpcy5jbGlja1RyYWNrSGFuZGxlcgogICAgICAgICAgfQogICAgICAgIH0sIFtoKCdkaXYnLCB7CiAgICAgICAgICByZWY6ICd0aHVtYicsCiAgICAgICAgICAnY2xhc3MnOiAnZWwtc2Nyb2xsYmFyX190aHVtYicsCiAgICAgICAgICBvbjogewogICAgICAgICAgICAnbW91c2Vkb3duJzogdGhpcy5jbGlja1RodW1iSGFuZGxlcgogICAgICAgICAgfSwKICAgICAgICAgIHN0eWxlOiByZW5kZXJUaHVtYlN0eWxlKHsKICAgICAgICAgICAgc2l6ZTogc2l6ZSwKICAgICAgICAgICAgbW92ZTogbW92ZSwKICAgICAgICAgICAgYmFyOiBiYXIKICAgICAgICAgIH0pCiAgICAgICAgfSldKTsKICAgICAgfSwKICAgICAgbWV0aG9kczogewogICAgICAgIGNsaWNrVGh1bWJIYW5kbGVyOiBmdW5jdGlvbiBjbGlja1RodW1iSGFuZGxlcihlKSB7CiAgICAgICAgICAvLyBwcmV2ZW50IGNsaWNrIGV2ZW50IG9mIHJpZ2h0IGJ1dHRvbgogICAgICAgICAgaWYgKGUuY3RybEtleSB8fCBlLmJ1dHRvbiA9PT0gMikgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CgogICAgICAgICAgdGhpcy5zdGFydERyYWcoZSk7CiAgICAgICAgICB0aGlzW3RoaXMuYmFyLmF4aXNdID0gZS5jdXJyZW50VGFyZ2V0W3RoaXMuYmFyLm9mZnNldF0gLSAoZVt0aGlzLmJhci5jbGllbnRdIC0gZS5jdXJyZW50VGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW3RoaXMuYmFyLmRpcmVjdGlvbl0pOwogICAgICAgIH0sCiAgICAgICAgY2xpY2tUcmFja0hhbmRsZXI6IGZ1bmN0aW9uIGNsaWNrVHJhY2tIYW5kbGVyKGUpIHsKICAgICAgICAgIHZhciBvZmZzZXQgPSBNYXRoLmFicyhlLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVt0aGlzLmJhci5kaXJlY3Rpb25dIC0gZVt0aGlzLmJhci5jbGllbnRdKTsKICAgICAgICAgIHZhciB0aHVtYkhhbGYgPSB0aGlzLiRyZWZzLnRodW1iW3RoaXMuYmFyLm9mZnNldF0gLyAyOwogICAgICAgICAgdmFyIHRodW1iUG9zaXRpb25QZXJjZW50YWdlID0gKG9mZnNldCAtIHRodW1iSGFsZikgKiAxMDAgLyB0aGlzLiRlbFt0aGlzLmJhci5vZmZzZXRdOwogICAgICAgICAgdGhpcy53cmFwW3RoaXMuYmFyLnNjcm9sbF0gPSB0aHVtYlBvc2l0aW9uUGVyY2VudGFnZSAqIHRoaXMud3JhcFt0aGlzLmJhci5zY3JvbGxTaXplXSAvIDEwMDsKICAgICAgICB9LAogICAgICAgIHN0YXJ0RHJhZzogZnVuY3Rpb24gc3RhcnREcmFnKGUpIHsKICAgICAgICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7CiAgICAgICAgICB0aGlzLmN1cnNvckRvd24gPSB0cnVlOwogICAgICAgICAgT2JqZWN0KGRvbV9bIm9uIl0pKGRvY3VtZW50LCAnbW91c2Vtb3ZlJywgdGhpcy5tb3VzZU1vdmVEb2N1bWVudEhhbmRsZXIpOwogICAgICAgICAgT2JqZWN0KGRvbV9bIm9uIl0pKGRvY3VtZW50LCAnbW91c2V1cCcsIHRoaXMubW91c2VVcERvY3VtZW50SGFuZGxlcik7CgogICAgICAgICAgZG9jdW1lbnQub25zZWxlY3RzdGFydCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgfTsKICAgICAgICB9LAogICAgICAgIG1vdXNlTW92ZURvY3VtZW50SGFuZGxlcjogZnVuY3Rpb24gbW91c2VNb3ZlRG9jdW1lbnRIYW5kbGVyKGUpIHsKICAgICAgICAgIGlmICh0aGlzLmN1cnNvckRvd24gPT09IGZhbHNlKSByZXR1cm47CiAgICAgICAgICB2YXIgcHJldlBhZ2UgPSB0aGlzW3RoaXMuYmFyLmF4aXNdOwogICAgICAgICAgaWYgKCFwcmV2UGFnZSkgcmV0dXJuOwogICAgICAgICAgdmFyIG9mZnNldCA9ICh0aGlzLiRlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVt0aGlzLmJhci5kaXJlY3Rpb25dIC0gZVt0aGlzLmJhci5jbGllbnRdKSAqIC0xOwogICAgICAgICAgdmFyIHRodW1iQ2xpY2tQb3NpdGlvbiA9IHRoaXMuJHJlZnMudGh1bWJbdGhpcy5iYXIub2Zmc2V0XSAtIHByZXZQYWdlOwogICAgICAgICAgdmFyIHRodW1iUG9zaXRpb25QZXJjZW50YWdlID0gKG9mZnNldCAtIHRodW1iQ2xpY2tQb3NpdGlvbikgKiAxMDAgLyB0aGlzLiRlbFt0aGlzLmJhci5vZmZzZXRdOwogICAgICAgICAgdGhpcy53cmFwW3RoaXMuYmFyLnNjcm9sbF0gPSB0aHVtYlBvc2l0aW9uUGVyY2VudGFnZSAqIHRoaXMud3JhcFt0aGlzLmJhci5zY3JvbGxTaXplXSAvIDEwMDsKICAgICAgICB9LAogICAgICAgIG1vdXNlVXBEb2N1bWVudEhhbmRsZXI6IGZ1bmN0aW9uIG1vdXNlVXBEb2N1bWVudEhhbmRsZXIoZSkgewogICAgICAgICAgdGhpcy5jdXJzb3JEb3duID0gZmFsc2U7CiAgICAgICAgICB0aGlzW3RoaXMuYmFyLmF4aXNdID0gMDsKICAgICAgICAgIE9iamVjdChkb21fWyJvZmYiXSkoZG9jdW1lbnQsICdtb3VzZW1vdmUnLCB0aGlzLm1vdXNlTW92ZURvY3VtZW50SGFuZGxlcik7CiAgICAgICAgICBkb2N1bWVudC5vbnNlbGVjdHN0YXJ0ID0gbnVsbDsKICAgICAgICB9CiAgICAgIH0sCiAgICAgIGRlc3Ryb3llZDogZnVuY3Rpb24gZGVzdHJveWVkKCkgewogICAgICAgIE9iamVjdChkb21fWyJvZmYiXSkoZG9jdW1lbnQsICdtb3VzZXVwJywgdGhpcy5tb3VzZVVwRG9jdW1lbnRIYW5kbGVyKTsKICAgICAgfQogICAgfTsgLy8gQ09OQ0FURU5BVEVEIE1PRFVMRTogLi9wYWNrYWdlcy9zY3JvbGxiYXIvc3JjL21haW4uanMKICAgIC8vIHJlZmVyZW5jZSBodHRwczovL2dpdGh1Yi5jb20vbm9lbGRlbGdhZG8vZ2VtaW5pLXNjcm9sbGJhci9ibG9iL21hc3Rlci9pbmRleC5qcwoKICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovCgogICAgLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLwoKICAgIHZhciBtYWluID0gewogICAgICBuYW1lOiAnRWxTY3JvbGxiYXInLAogICAgICBjb21wb25lbnRzOiB7CiAgICAgICAgQmFyOiBzcmNfYmFyCiAgICAgIH0sCiAgICAgIHByb3BzOiB7CiAgICAgICAgbmF0aXZlOiBCb29sZWFuLAogICAgICAgIHdyYXBTdHlsZToge30sCiAgICAgICAgd3JhcENsYXNzOiB7fSwKICAgICAgICB2aWV3Q2xhc3M6IHt9LAogICAgICAgIHZpZXdTdHlsZToge30sCiAgICAgICAgbm9yZXNpemU6IEJvb2xlYW4sCiAgICAgICAgLy8g5aaC5p6cIGNvbnRhaW5lciDlsLrlr7jkuI3kvJrlj5HnlJ/lj5jljJbvvIzmnIDlpb3orr7nva7lroPlj6/ku6XkvJjljJbmgKfog70KICAgICAgICB0YWc6IHsKICAgICAgICAgIHR5cGU6IFN0cmluZywKICAgICAgICAgIGRlZmF1bHQ6ICdkaXYnCiAgICAgICAgfQogICAgICB9LAogICAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICBzaXplV2lkdGg6ICcwJywKICAgICAgICAgIHNpemVIZWlnaHQ6ICcwJywKICAgICAgICAgIG1vdmVYOiAwLAogICAgICAgICAgbW92ZVk6IDAKICAgICAgICB9OwogICAgICB9LAogICAgICBjb21wdXRlZDogewogICAgICAgIHdyYXA6IGZ1bmN0aW9uIHdyYXAoKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy4kcmVmcy53cmFwOwogICAgICAgIH0KICAgICAgfSwKICAgICAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCkgewogICAgICAgIHZhciBndXR0ZXIgPSBzY3JvbGxiYXJfd2lkdGhfZGVmYXVsdCgpKCk7CiAgICAgICAgdmFyIHN0eWxlID0gdGhpcy53cmFwU3R5bGU7CgogICAgICAgIGlmIChndXR0ZXIpIHsKICAgICAgICAgIHZhciBndXR0ZXJXaXRoID0gJy0nICsgZ3V0dGVyICsgJ3B4JzsKICAgICAgICAgIHZhciBndXR0ZXJTdHlsZSA9ICdtYXJnaW4tYm90dG9tOiAnICsgZ3V0dGVyV2l0aCArICc7IG1hcmdpbi1yaWdodDogJyArIGd1dHRlcldpdGggKyAnOyc7CgogICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy53cmFwU3R5bGUpKSB7CiAgICAgICAgICAgIHN0eWxlID0gT2JqZWN0KHV0aWxfWyJ0b09iamVjdCJdKSh0aGlzLndyYXBTdHlsZSk7CiAgICAgICAgICAgIHN0eWxlLm1hcmdpblJpZ2h0ID0gc3R5bGUubWFyZ2luQm90dG9tID0gZ3V0dGVyV2l0aDsKICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMud3JhcFN0eWxlID09PSAnc3RyaW5nJykgewogICAgICAgICAgICBzdHlsZSArPSBndXR0ZXJTdHlsZTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHN0eWxlID0gZ3V0dGVyU3R5bGU7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgdmlldyA9IGgodGhpcy50YWcsIHsKICAgICAgICAgIGNsYXNzOiBbJ2VsLXNjcm9sbGJhcl9fdmlldycsIHRoaXMudmlld0NsYXNzXSwKICAgICAgICAgIHN0eWxlOiB0aGlzLnZpZXdTdHlsZSwKICAgICAgICAgIHJlZjogJ3Jlc2l6ZScKICAgICAgICB9LCB0aGlzLiRzbG90cy5kZWZhdWx0KTsKICAgICAgICB2YXIgd3JhcCA9IGgoJ2RpdicsIHsKICAgICAgICAgIHJlZjogJ3dyYXAnLAogICAgICAgICAgc3R5bGU6IHN0eWxlLAogICAgICAgICAgb246IHsKICAgICAgICAgICAgJ3Njcm9sbCc6IHRoaXMuaGFuZGxlU2Nyb2xsCiAgICAgICAgICB9LAogICAgICAgICAgJ2NsYXNzJzogW3RoaXMud3JhcENsYXNzLCAnZWwtc2Nyb2xsYmFyX193cmFwJywgZ3V0dGVyID8gJycgOiAnZWwtc2Nyb2xsYmFyX193cmFwLS1oaWRkZW4tZGVmYXVsdCddCiAgICAgICAgfSwgW1t2aWV3XV0pOwogICAgICAgIHZhciBub2RlcyA9IHZvaWQgMDsKCiAgICAgICAgaWYgKCF0aGlzLm5hdGl2ZSkgewogICAgICAgICAgbm9kZXMgPSBbd3JhcCwgaChzcmNfYmFyLCB7CiAgICAgICAgICAgIGF0dHJzOiB7CiAgICAgICAgICAgICAgbW92ZTogdGhpcy5tb3ZlWCwKICAgICAgICAgICAgICBzaXplOiB0aGlzLnNpemVXaWR0aAogICAgICAgICAgICB9CiAgICAgICAgICB9KSwgaChzcmNfYmFyLCB7CiAgICAgICAgICAgIGF0dHJzOiB7CiAgICAgICAgICAgICAgdmVydGljYWw6IHRydWUsCiAgICAgICAgICAgICAgbW92ZTogdGhpcy5tb3ZlWSwKICAgICAgICAgICAgICBzaXplOiB0aGlzLnNpemVIZWlnaHQKICAgICAgICAgICAgfQogICAgICAgICAgfSldOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBub2RlcyA9IFtoKCdkaXYnLCB7CiAgICAgICAgICAgIHJlZjogJ3dyYXAnLAogICAgICAgICAgICAnY2xhc3MnOiBbdGhpcy53cmFwQ2xhc3MsICdlbC1zY3JvbGxiYXJfX3dyYXAnXSwKICAgICAgICAgICAgc3R5bGU6IHN0eWxlCiAgICAgICAgICB9LCBbW3ZpZXddXSldOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGgoJ2RpdicsIHsKICAgICAgICAgIGNsYXNzOiAnZWwtc2Nyb2xsYmFyJwogICAgICAgIH0sIG5vZGVzKTsKICAgICAgfSwKICAgICAgbWV0aG9kczogewogICAgICAgIGhhbmRsZVNjcm9sbDogZnVuY3Rpb24gaGFuZGxlU2Nyb2xsKCkgewogICAgICAgICAgdmFyIHdyYXAgPSB0aGlzLndyYXA7CiAgICAgICAgICB0aGlzLm1vdmVZID0gd3JhcC5zY3JvbGxUb3AgKiAxMDAgLyB3cmFwLmNsaWVudEhlaWdodDsKICAgICAgICAgIHRoaXMubW92ZVggPSB3cmFwLnNjcm9sbExlZnQgKiAxMDAgLyB3cmFwLmNsaWVudFdpZHRoOwogICAgICAgIH0sCiAgICAgICAgdXBkYXRlOiBmdW5jdGlvbiB1cGRhdGUoKSB7CiAgICAgICAgICB2YXIgaGVpZ2h0UGVyY2VudGFnZSA9IHZvaWQgMCwKICAgICAgICAgICAgICB3aWR0aFBlcmNlbnRhZ2UgPSB2b2lkIDA7CiAgICAgICAgICB2YXIgd3JhcCA9IHRoaXMud3JhcDsKICAgICAgICAgIGlmICghd3JhcCkgcmV0dXJuOwogICAgICAgICAgaGVpZ2h0UGVyY2VudGFnZSA9IHdyYXAuY2xpZW50SGVpZ2h0ICogMTAwIC8gd3JhcC5zY3JvbGxIZWlnaHQ7CiAgICAgICAgICB3aWR0aFBlcmNlbnRhZ2UgPSB3cmFwLmNsaWVudFdpZHRoICogMTAwIC8gd3JhcC5zY3JvbGxXaWR0aDsKICAgICAgICAgIHRoaXMuc2l6ZUhlaWdodCA9IGhlaWdodFBlcmNlbnRhZ2UgPCAxMDAgPyBoZWlnaHRQZXJjZW50YWdlICsgJyUnIDogJyc7CiAgICAgICAgICB0aGlzLnNpemVXaWR0aCA9IHdpZHRoUGVyY2VudGFnZSA8IDEwMCA/IHdpZHRoUGVyY2VudGFnZSArICclJyA6ICcnOwogICAgICAgIH0KICAgICAgfSwKICAgICAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgICAgICBpZiAodGhpcy5uYXRpdmUpIHJldHVybjsKICAgICAgICB0aGlzLiRuZXh0VGljayh0aGlzLnVwZGF0ZSk7CiAgICAgICAgIXRoaXMubm9yZXNpemUgJiYgT2JqZWN0KHJlc2l6ZV9ldmVudF9bImFkZFJlc2l6ZUxpc3RlbmVyIl0pKHRoaXMuJHJlZnMucmVzaXplLCB0aGlzLnVwZGF0ZSk7CiAgICAgIH0sCiAgICAgIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7CiAgICAgICAgaWYgKHRoaXMubmF0aXZlKSByZXR1cm47CiAgICAgICAgIXRoaXMubm9yZXNpemUgJiYgT2JqZWN0KHJlc2l6ZV9ldmVudF9bInJlbW92ZVJlc2l6ZUxpc3RlbmVyIl0pKHRoaXMuJHJlZnMucmVzaXplLCB0aGlzLnVwZGF0ZSk7CiAgICAgIH0KICAgIH07IC8vIENPTkNBVEVOQVRFRCBNT0RVTEU6IC4vcGFja2FnZXMvc2Nyb2xsYmFyL2luZGV4LmpzCgogICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8KCiAgICBtYWluLmluc3RhbGwgPSBmdW5jdGlvbiAoVnVlKSB7CiAgICAgIFZ1ZS5jb21wb25lbnQobWFpbi5uYW1lLCBtYWluKTsKICAgIH07CiAgICAvKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovCgoKICAgIHZhciBzY3JvbGxiYXIgPSBfX3dlYnBhY2tfZXhwb3J0c19fWyJkZWZhdWx0Il0gPSBtYWluOwogICAgLyoqKi8KICB9LAoKICAvKioqLwogIDE2OgogIC8qKiovCiAgZnVuY3Rpb24gXyhtb2R1bGUsIGV4cG9ydHMpIHsKICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgiZWxlbWVudC11aS9saWIvdXRpbHMvcmVzaXplLWV2ZW50Iik7CiAgICAvKioqLwogIH0sCgogIC8qKiovCiAgMjoKICAvKioqLwogIGZ1bmN0aW9uIF8obW9kdWxlLCBleHBvcnRzKSB7CiAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoImVsZW1lbnQtdWkvbGliL3V0aWxzL2RvbSIpOwogICAgLyoqKi8KICB9LAoKICAvKioqLwogIDM6CiAgLyoqKi8KICBmdW5jdGlvbiBfKG1vZHVsZSwgZXhwb3J0cykgewogICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCJlbGVtZW50LXVpL2xpYi91dGlscy91dGlsIik7CiAgICAvKioqLwogIH0sCgogIC8qKiovCiAgMzk6CiAgLyoqKi8KICBmdW5jdGlvbiBfKG1vZHVsZSwgZXhwb3J0cykgewogICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCJlbGVtZW50LXVpL2xpYi91dGlscy9zY3JvbGxiYXItd2lkdGgiKTsKICAgIC8qKiovCiAgfQogIC8qKioqKiovCgp9KTs="},null]}
|