| 1 |
- {"remainingRequest":"/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/input.js","dependencies":[{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/element-ui/lib/input.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/babel-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:cmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbCIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5kZXNjcmlwdGlvbiIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC50by1zdHJpbmctdGFnIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0Iik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuam9pbiIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcCIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNsaWNlIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZSIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmpzb24udG8tc3RyaW5nLXRhZyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm1hdGgudG8tc3RyaW5nLXRhZyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm51bWJlci5jb25zdHJ1Y3RvciIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmciKTsKCnZhciBfdHlwZW9mID0gcmVxdWlyZSgiL3Vzci9sb2NhbC9kZXZlbG9wL3BocC93d3cvd2FpYmFvL3Byb2plY3QvTk4yMDIwMDYwODAxL2FkZG9ucy9hZG1pbi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy90eXBlb2YiKTsKCm1vZHVsZS5leHBvcnRzID0KLyoqKioqKi8KZnVuY3Rpb24gKG1vZHVsZXMpIHsKICAvLyB3ZWJwYWNrQm9vdHN0cmFwCgogIC8qKioqKiovCiAgLy8gVGhlIG1vZHVsZSBjYWNoZQoKICAvKioqKioqLwogIHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307CiAgLyoqKioqKi8KCiAgLyoqKioqKi8KICAvLyBUaGUgcmVxdWlyZSBmdW5jdGlvbgoKICAvKioqKioqLwoKICBmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7CiAgICAvKioqKioqLwoKICAgIC8qKioqKiovCiAgICAvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGUKCiAgICAvKioqKioqLwogICAgaWYgKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7CiAgICAgIC8qKioqKiovCiAgICAgIHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzOwogICAgICAvKioqKioqLwogICAgfQogICAgLyoqKioqKi8KICAgIC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpCgogICAgLyoqKioqKi8KCgogICAgdmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0gewogICAgICAvKioqKioqLwogICAgICBpOiBtb2R1bGVJZCwKCiAgICAgIC8qKioqKiovCiAgICAgIGw6IGZhbHNlLAoKICAgICAgLyoqKioqKi8KICAgICAgZXhwb3J0czoge30KICAgICAgLyoqKioqKi8KCiAgICB9OwogICAgLyoqKioqKi8KCiAgICAvKioqKioqLwogICAgLy8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uCgogICAgLyoqKioqKi8KCiAgICBtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTsKICAgIC8qKioqKiovCgogICAgLyoqKioqKi8KICAgIC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWQKCiAgICAvKioqKioqLwoKICAgIG1vZHVsZS5sID0gdHJ1ZTsKICAgIC8qKioqKiovCgogICAgLyoqKioqKi8KICAgIC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlCgogICAgLyoqKioqKi8KCiAgICByZXR1cm4gbW9kdWxlLmV4cG9ydHM7CiAgICAvKioqKioqLwogIH0KICAvKioqKioqLwoKICAvKioqKioqLwoKICAvKioqKioqLwogIC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pCgogIC8qKioqKiovCgoKICBfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzOwogIC8qKioqKiovCgogIC8qKioqKiovCiAgLy8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGUKCiAgLyoqKioqKi8KCiAgX193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlczsKICAvKioqKioqLwoKICAvKioqKioqLwogIC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0cwoKICAvKioqKioqLwoKICBfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbiAoZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7CiAgICAvKioqKioqLwogICAgaWYgKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHsKICAgICAgLyoqKioqKi8KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsKICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLAogICAgICAgIGdldDogZ2V0dGVyCiAgICAgIH0pOwogICAgICAvKioqKioqLwogICAgfQogICAgLyoqKioqKi8KCiAgfTsKICAvKioqKioqLwoKICAvKioqKioqLwogIC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHMKCiAgLyoqKioqKi8KCgogIF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uIChleHBvcnRzKSB7CiAgICAvKioqKioqLwogICAgaWYgKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykgewogICAgICAvKioqKioqLwogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7CiAgICAgICAgdmFsdWU6ICdNb2R1bGUnCiAgICAgIH0pOwogICAgICAvKioqKioqLwogICAgfQogICAgLyoqKioqKi8KCgogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgewogICAgICB2YWx1ZTogdHJ1ZQogICAgfSk7CiAgICAvKioqKioqLwogIH07CiAgLyoqKioqKi8KCiAgLyoqKioqKi8KICAvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3QKCiAgLyoqKioqKi8KICAvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXQKCiAgLyoqKioqKi8KICAvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnMKCiAgLyoqKioqKi8KICAvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3QKCiAgLyoqKioqKi8KICAvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlCgogIC8qKioqKiovCgoKICBfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbiAodmFsdWUsIG1vZGUpIHsKICAgIC8qKioqKiovCiAgICBpZiAobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7CiAgICAvKioqKioqLwoKICAgIGlmIChtb2RlICYgOCkgcmV0dXJuIHZhbHVlOwogICAgLyoqKioqKi8KCiAgICBpZiAobW9kZSAmIDQgJiYgX3R5cGVvZih2YWx1ZSkgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTsKICAgIC8qKioqKiovCgogICAgdmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgIC8qKioqKiovCgogICAgX193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTsKICAgIC8qKioqKiovCgoKICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7CiAgICAgIGVudW1lcmFibGU6IHRydWUsCiAgICAgIHZhbHVlOiB2YWx1ZQogICAgfSk7CiAgICAvKioqKioqLwoKICAgIGlmIChtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvciAodmFyIGtleSBpbiB2YWx1ZSkgewogICAgICBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24gKGtleSkgewogICAgICAgIHJldHVybiB2YWx1ZVtrZXldOwogICAgICB9LmJpbmQobnVsbCwga2V5KSk7CiAgICB9CiAgICAvKioqKioqLwoKICAgIHJldHVybiBuczsKICAgIC8qKioqKiovCiAgfTsKICAvKioqKioqLwoKICAvKioqKioqLwogIC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzCgogIC8qKioqKiovCgoKICBfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbiAobW9kdWxlKSB7CiAgICAvKioqKioqLwogICAgdmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/CiAgICAvKioqKioqLwogICAgZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsKICAgICAgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOwogICAgfSA6CiAgICAvKioqKioqLwogICAgZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsKICAgICAgcmV0dXJuIG1vZHVsZTsKICAgIH07CiAgICAvKioqKioqLwoKICAgIF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTsKICAgIC8qKioqKiovCgoKICAgIHJldHVybiBnZXR0ZXI7CiAgICAvKioqKioqLwogIH07CiAgLyoqKioqKi8KCiAgLyoqKioqKi8KICAvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwKCiAgLyoqKioqKi8KCgogIF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uIChvYmplY3QsIHByb3BlcnR5KSB7CiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOwogIH07CiAgLyoqKioqKi8KCiAgLyoqKioqKi8KICAvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfXwoKICAvKioqKioqLwoKCiAgX193ZWJwYWNrX3JlcXVpcmVfXy5wID0gIi9kaXN0LyI7CiAgLyoqKioqKi8KCiAgLyoqKioqKi8KCiAgLyoqKioqKi8KICAvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHMKCiAgLyoqKioqKi8KCiAgcmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gNzYpOwogIC8qKioqKiovCn0oCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgovKioqKioqLwp7CiAgLyoqKi8KICAwOgogIC8qKiovCiAgZnVuY3Rpb24gXyhtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIC8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLwoKICAgIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCAiYSIsIGZ1bmN0aW9uICgpIHsKICAgICAgcmV0dXJuIG5vcm1hbGl6ZUNvbXBvbmVudDsKICAgIH0pOwogICAgLyogZ2xvYmFscyBfX1ZVRV9TU1JfQ09OVEVYVF9fICovCiAgICAvLyBJTVBPUlRBTlQ6IERvIE5PVCB1c2UgRVMyMDE1IGZlYXR1cmVzIGluIHRoaXMgZmlsZSAoZXhjZXB0IGZvciBtb2R1bGVzKS4KICAgIC8vIFRoaXMgbW9kdWxlIGlzIGEgcnVudGltZSB1dGlsaXR5IGZvciBjbGVhbmVyIGNvbXBvbmVudCBtb2R1bGUgb3V0cHV0IGFuZCB3aWxsCiAgICAvLyBiZSBpbmNsdWRlZCBpbiB0aGUgZmluYWwgd2VicGFjayB1c2VyIGJ1bmRsZS4KCgogICAgZnVuY3Rpb24gbm9ybWFsaXplQ29tcG9uZW50KHNjcmlwdEV4cG9ydHMsIHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCBmdW5jdGlvbmFsVGVtcGxhdGUsIGluamVjdFN0eWxlcywgc2NvcGVJZCwgbW9kdWxlSWRlbnRpZmllciwKICAgIC8qIHNlcnZlciBvbmx5ICovCiAgICBzaGFkb3dNb2RlCiAgICAvKiB2dWUtY2xpIG9ubHkgKi8KICAgICkgewogICAgICAvLyBWdWUuZXh0ZW5kIGNvbnN0cnVjdG9yIGV4cG9ydCBpbnRlcm9wCiAgICAgIHZhciBvcHRpb25zID0gdHlwZW9mIHNjcmlwdEV4cG9ydHMgPT09ICdmdW5jdGlvbicgPyBzY3JpcHRFeHBvcnRzLm9wdGlvbnMgOiBzY3JpcHRFeHBvcnRzOyAvLyByZW5kZXIgZnVuY3Rpb25zCgogICAgICBpZiAocmVuZGVyKSB7CiAgICAgICAgb3B0aW9ucy5yZW5kZXIgPSByZW5kZXI7CiAgICAgICAgb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7CiAgICAgICAgb3B0aW9ucy5fY29tcGlsZWQgPSB0cnVlOwogICAgICB9IC8vIGZ1bmN0aW9uYWwgdGVtcGxhdGUKCgogICAgICBpZiAoZnVuY3Rpb25hbFRlbXBsYXRlKSB7CiAgICAgICAgb3B0aW9ucy5mdW5jdGlvbmFsID0gdHJ1ZTsKICAgICAgfSAvLyBzY29wZWRJZAoKCiAgICAgIGlmIChzY29wZUlkKSB7CiAgICAgICAgb3B0aW9ucy5fc2NvcGVJZCA9ICdkYXRhLXYtJyArIHNjb3BlSWQ7CiAgICAgIH0KCiAgICAgIHZhciBob29rOwoKICAgICAgaWYgKG1vZHVsZUlkZW50aWZpZXIpIHsKICAgICAgICAvLyBzZXJ2ZXIgYnVpbGQKICAgICAgICBob29rID0gZnVuY3Rpb24gaG9vayhjb250ZXh0KSB7CiAgICAgICAgICAvLyAyLjMgaW5qZWN0aW9uCiAgICAgICAgICBjb250ZXh0ID0gY29udGV4dCB8fCAvLyBjYWNoZWQgY2FsbAogICAgICAgICAgdGhpcy4kdm5vZGUgJiYgdGhpcy4kdm5vZGUuc3NyQ29udGV4dCB8fCAvLyBzdGF0ZWZ1bAogICAgICAgICAgdGhpcy5wYXJlbnQgJiYgdGhpcy5wYXJlbnQuJHZub2RlICYmIHRoaXMucGFyZW50LiR2bm9kZS5zc3JDb250ZXh0OyAvLyBmdW5jdGlvbmFsCiAgICAgICAgICAvLyAyLjIgd2l0aCBydW5Jbk5ld0NvbnRleHQ6IHRydWUKCiAgICAgICAgICBpZiAoIWNvbnRleHQgJiYgdHlwZW9mIF9fVlVFX1NTUl9DT05URVhUX18gIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIGNvbnRleHQgPSBfX1ZVRV9TU1JfQ09OVEVYVF9fOwogICAgICAgICAgfSAvLyBpbmplY3QgY29tcG9uZW50IHN0eWxlcwoKCiAgICAgICAgICBpZiAoaW5qZWN0U3R5bGVzKSB7CiAgICAgICAgICAgIGluamVjdFN0eWxlcy5jYWxsKHRoaXMsIGNvbnRleHQpOwogICAgICAgICAgfSAvLyByZWdpc3RlciBjb21wb25lbnQgbW9kdWxlIGlkZW50aWZpZXIgZm9yIGFzeW5jIGNodW5rIGluZmVycmVuY2UKCgogICAgICAgICAgaWYgKGNvbnRleHQgJiYgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMpIHsKICAgICAgICAgICAgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMuYWRkKG1vZHVsZUlkZW50aWZpZXIpOwogICAgICAgICAgfQogICAgICAgIH07IC8vIHVzZWQgYnkgc3NyIGluIGNhc2UgY29tcG9uZW50IGlzIGNhY2hlZCBhbmQgYmVmb3JlQ3JlYXRlCiAgICAgICAgLy8gbmV2ZXIgZ2V0cyBjYWxsZWQKCgogICAgICAgIG9wdGlvbnMuX3NzclJlZ2lzdGVyID0gaG9vazsKICAgICAgfSBlbHNlIGlmIChpbmplY3RTdHlsZXMpIHsKICAgICAgICBob29rID0gc2hhZG93TW9kZSA/IGZ1bmN0aW9uICgpIHsKICAgICAgICAgIGluamVjdFN0eWxlcy5jYWxsKHRoaXMsIHRoaXMuJHJvb3QuJG9wdGlvbnMuc2hhZG93Um9vdCk7CiAgICAgICAgfSA6IGluamVjdFN0eWxlczsKICAgICAgfQoKICAgICAgaWYgKGhvb2spIHsKICAgICAgICBpZiAob3B0aW9ucy5mdW5jdGlvbmFsKSB7CiAgICAgICAgICAvLyBmb3IgdGVtcGxhdGUtb25seSBob3QtcmVsb2FkIGJlY2F1c2UgaW4gdGhhdCBjYXNlIHRoZSByZW5kZXIgZm4gZG9lc24ndAogICAgICAgICAgLy8gZ28gdGhyb3VnaCB0aGUgbm9ybWFsaXplcgogICAgICAgICAgb3B0aW9ucy5faW5qZWN0U3R5bGVzID0gaG9vazsgLy8gcmVnaXN0ZXIgZm9yIGZ1bmN0aW9hbCBjb21wb25lbnQgaW4gdnVlIGZpbGUKCiAgICAgICAgICB2YXIgb3JpZ2luYWxSZW5kZXIgPSBvcHRpb25zLnJlbmRlcjsKCiAgICAgICAgICBvcHRpb25zLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcldpdGhTdHlsZUluamVjdGlvbihoLCBjb250ZXh0KSB7CiAgICAgICAgICAgIGhvb2suY2FsbChjb250ZXh0KTsKICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsUmVuZGVyKGgsIGNvbnRleHQpOwogICAgICAgICAgfTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gaW5qZWN0IGNvbXBvbmVudCByZWdpc3RyYXRpb24gYXMgYmVmb3JlQ3JlYXRlIGhvb2sKICAgICAgICAgIHZhciBleGlzdGluZyA9IG9wdGlvbnMuYmVmb3JlQ3JlYXRlOwogICAgICAgICAgb3B0aW9ucy5iZWZvcmVDcmVhdGUgPSBleGlzdGluZyA/IFtdLmNvbmNhdChleGlzdGluZywgaG9vaykgOiBbaG9va107CiAgICAgICAgfQogICAgICB9CgogICAgICByZXR1cm4gewogICAgICAgIGV4cG9ydHM6IHNjcmlwdEV4cG9ydHMsCiAgICAgICAgb3B0aW9uczogb3B0aW9ucwogICAgICB9OwogICAgfQogICAgLyoqKi8KCiAgfSwKCiAgLyoqKi8KICAxMToKICAvKioqLwogIGZ1bmN0aW9uIF8obW9kdWxlLCBleHBvcnRzKSB7CiAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoImVsZW1lbnQtdWkvbGliL21peGlucy9taWdyYXRpbmciKTsKICAgIC8qKiovCiAgfSwKCiAgLyoqKi8KICAyMToKICAvKioqLwogIGZ1bmN0aW9uIF8obW9kdWxlLCBleHBvcnRzKSB7CiAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoImVsZW1lbnQtdWkvbGliL3V0aWxzL3NoYXJlZCIpOwogICAgLyoqKi8KICB9LAoKICAvKioqLwogIDQ6CiAgLyoqKi8KICBmdW5jdGlvbiBfKG1vZHVsZSwgZXhwb3J0cykgewogICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCJlbGVtZW50LXVpL2xpYi9taXhpbnMvZW1pdHRlciIpOwogICAgLyoqKi8KICB9LAoKICAvKioqLwogIDc2OgogIC8qKiovCiAgZnVuY3Rpb24gXyhtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHsKICAgICJ1c2Ugc3RyaWN0IjsKCiAgICBfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7IC8vIENPTkNBVEVOQVRFRCBNT0RVTEU6IC4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYj8/dnVlLWxvYWRlci1vcHRpb25zIS4vcGFja2FnZXMvaW5wdXQvc3JjL2lucHV0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0zNDNkZDc3NCYKCgogICAgdmFyIHJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcigpIHsKICAgICAgdmFyIF92bSA9IHRoaXM7CgogICAgICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnQ7CgogICAgICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2g7CgogICAgICByZXR1cm4gX2MoImRpdiIsIHsKICAgICAgICBjbGFzczogW192bS50eXBlID09PSAidGV4dGFyZWEiID8gImVsLXRleHRhcmVhIiA6ICJlbC1pbnB1dCIsIF92bS5pbnB1dFNpemUgPyAiZWwtaW5wdXQtLSIgKyBfdm0uaW5wdXRTaXplIDogIiIsIHsKICAgICAgICAgICJpcy1kaXNhYmxlZCI6IF92bS5pbnB1dERpc2FibGVkLAogICAgICAgICAgImlzLWV4Y2VlZCI6IF92bS5pbnB1dEV4Y2VlZCwKICAgICAgICAgICJlbC1pbnB1dC1ncm91cCI6IF92bS4kc2xvdHMucHJlcGVuZCB8fCBfdm0uJHNsb3RzLmFwcGVuZCwKICAgICAgICAgICJlbC1pbnB1dC1ncm91cC0tYXBwZW5kIjogX3ZtLiRzbG90cy5hcHBlbmQsCiAgICAgICAgICAiZWwtaW5wdXQtZ3JvdXAtLXByZXBlbmQiOiBfdm0uJHNsb3RzLnByZXBlbmQsCiAgICAgICAgICAiZWwtaW5wdXQtLXByZWZpeCI6IF92bS4kc2xvdHMucHJlZml4IHx8IF92bS5wcmVmaXhJY29uLAogICAgICAgICAgImVsLWlucHV0LS1zdWZmaXgiOiBfdm0uJHNsb3RzLnN1ZmZpeCB8fCBfdm0uc3VmZml4SWNvbiB8fCBfdm0uY2xlYXJhYmxlIHx8IF92bS5zaG93UGFzc3dvcmQKICAgICAgICB9XSwKICAgICAgICBvbjogewogICAgICAgICAgbW91c2VlbnRlcjogZnVuY3Rpb24gbW91c2VlbnRlcigkZXZlbnQpIHsKICAgICAgICAgICAgX3ZtLmhvdmVyaW5nID0gdHJ1ZTsKICAgICAgICAgIH0sCiAgICAgICAgICBtb3VzZWxlYXZlOiBmdW5jdGlvbiBtb3VzZWxlYXZlKCRldmVudCkgewogICAgICAgICAgICBfdm0uaG92ZXJpbmcgPSBmYWxzZTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIFtfdm0udHlwZSAhPT0gInRleHRhcmVhIiA/IFtfdm0uJHNsb3RzLnByZXBlbmQgPyBfYygiZGl2IiwgewogICAgICAgIHN0YXRpY0NsYXNzOiAiZWwtaW5wdXQtZ3JvdXBfX3ByZXBlbmQiCiAgICAgIH0sIFtfdm0uX3QoInByZXBlbmQiKV0sIDIpIDogX3ZtLl9lKCksIF92bS50eXBlICE9PSAidGV4dGFyZWEiID8gX2MoImlucHV0IiwgX3ZtLl9iKHsKICAgICAgICByZWY6ICJpbnB1dCIsCiAgICAgICAgc3RhdGljQ2xhc3M6ICJlbC1pbnB1dF9faW5uZXIiLAogICAgICAgIGF0dHJzOiB7CiAgICAgICAgICB0YWJpbmRleDogX3ZtLnRhYmluZGV4LAogICAgICAgICAgdHlwZTogX3ZtLnNob3dQYXNzd29yZCA/IF92bS5wYXNzd29yZFZpc2libGUgPyAidGV4dCIgOiAicGFzc3dvcmQiIDogX3ZtLnR5cGUsCiAgICAgICAgICBkaXNhYmxlZDogX3ZtLmlucHV0RGlzYWJsZWQsCiAgICAgICAgICByZWFkb25seTogX3ZtLnJlYWRvbmx5LAogICAgICAgICAgYXV0b2NvbXBsZXRlOiBfdm0uYXV0b0NvbXBsZXRlIHx8IF92bS5hdXRvY29tcGxldGUsCiAgICAgICAgICAiYXJpYS1sYWJlbCI6IF92bS5sYWJlbAogICAgICAgIH0sCiAgICAgICAgb246IHsKICAgICAgICAgIGNvbXBvc2l0aW9uc3RhcnQ6IF92bS5oYW5kbGVDb21wb3NpdGlvblN0YXJ0LAogICAgICAgICAgY29tcG9zaXRpb251cGRhdGU6IF92bS5oYW5kbGVDb21wb3NpdGlvblVwZGF0ZSwKICAgICAgICAgIGNvbXBvc2l0aW9uZW5kOiBfdm0uaGFuZGxlQ29tcG9zaXRpb25FbmQsCiAgICAgICAgICBpbnB1dDogX3ZtLmhhbmRsZUlucHV0LAogICAgICAgICAgZm9jdXM6IF92bS5oYW5kbGVGb2N1cywKICAgICAgICAgIGJsdXI6IF92bS5oYW5kbGVCbHVyLAogICAgICAgICAgY2hhbmdlOiBfdm0uaGFuZGxlQ2hhbmdlCiAgICAgICAgfQogICAgICB9LCAiaW5wdXQiLCBfdm0uJGF0dHJzLCBmYWxzZSkpIDogX3ZtLl9lKCksIF92bS4kc2xvdHMucHJlZml4IHx8IF92bS5wcmVmaXhJY29uID8gX2MoInNwYW4iLCB7CiAgICAgICAgc3RhdGljQ2xhc3M6ICJlbC1pbnB1dF9fcHJlZml4IgogICAgICB9LCBbX3ZtLl90KCJwcmVmaXgiKSwgX3ZtLnByZWZpeEljb24gPyBfYygiaSIsIHsKICAgICAgICBzdGF0aWNDbGFzczogImVsLWlucHV0X19pY29uIiwKICAgICAgICBjbGFzczogX3ZtLnByZWZpeEljb24KICAgICAgfSkgOiBfdm0uX2UoKV0sIDIpIDogX3ZtLl9lKCksIF92bS5nZXRTdWZmaXhWaXNpYmxlKCkgPyBfYygic3BhbiIsIHsKICAgICAgICBzdGF0aWNDbGFzczogImVsLWlucHV0X19zdWZmaXgiCiAgICAgIH0sIFtfYygic3BhbiIsIHsKICAgICAgICBzdGF0aWNDbGFzczogImVsLWlucHV0X19zdWZmaXgtaW5uZXIiCiAgICAgIH0sIFshX3ZtLnNob3dDbGVhciB8fCAhX3ZtLnNob3dQd2RWaXNpYmxlIHx8ICFfdm0uaXNXb3JkTGltaXRWaXNpYmxlID8gW192bS5fdCgic3VmZml4IiksIF92bS5zdWZmaXhJY29uID8gX2MoImkiLCB7CiAgICAgICAgc3RhdGljQ2xhc3M6ICJlbC1pbnB1dF9faWNvbiIsCiAgICAgICAgY2xhc3M6IF92bS5zdWZmaXhJY29uCiAgICAgIH0pIDogX3ZtLl9lKCldIDogX3ZtLl9lKCksIF92bS5zaG93Q2xlYXIgPyBfYygiaSIsIHsKICAgICAgICBzdGF0aWNDbGFzczogImVsLWlucHV0X19pY29uIGVsLWljb24tY2lyY2xlLWNsb3NlIGVsLWlucHV0X19jbGVhciIsCiAgICAgICAgb246IHsKICAgICAgICAgIG1vdXNlZG93bjogZnVuY3Rpb24gbW91c2Vkb3duKCRldmVudCkgewogICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgIH0sCiAgICAgICAgICBjbGljazogX3ZtLmNsZWFyCiAgICAgICAgfQogICAgICB9KSA6IF92bS5fZSgpLCBfdm0uc2hvd1B3ZFZpc2libGUgPyBfYygiaSIsIHsKICAgICAgICBzdGF0aWNDbGFzczogImVsLWlucHV0X19pY29uIGVsLWljb24tdmlldyBlbC1pbnB1dF9fY2xlYXIiLAogICAgICAgIG9uOiB7CiAgICAgICAgICBjbGljazogX3ZtLmhhbmRsZVBhc3N3b3JkVmlzaWJsZQogICAgICAgIH0KICAgICAgfSkgOiBfdm0uX2UoKSwgX3ZtLmlzV29yZExpbWl0VmlzaWJsZSA/IF9jKCJzcGFuIiwgewogICAgICAgIHN0YXRpY0NsYXNzOiAiZWwtaW5wdXRfX2NvdW50IgogICAgICB9LCBbX2MoInNwYW4iLCB7CiAgICAgICAgc3RhdGljQ2xhc3M6ICJlbC1pbnB1dF9fY291bnQtaW5uZXIiCiAgICAgIH0sIFtfdm0uX3YoIlxuICAgICAgICAgICAgIiArIF92bS5fcyhfdm0udGV4dExlbmd0aCkgKyAiLyIgKyBfdm0uX3MoX3ZtLnVwcGVyTGltaXQpICsgIlxuICAgICAgICAgICIpXSldKSA6IF92bS5fZSgpXSwgMiksIF92bS52YWxpZGF0ZVN0YXRlID8gX2MoImkiLCB7CiAgICAgICAgc3RhdGljQ2xhc3M6ICJlbC1pbnB1dF9faWNvbiIsCiAgICAgICAgY2xhc3M6IFsiZWwtaW5wdXRfX3ZhbGlkYXRlSWNvbiIsIF92bS52YWxpZGF0ZUljb25dCiAgICAgIH0pIDogX3ZtLl9lKCldKSA6IF92bS5fZSgpLCBfdm0uJHNsb3RzLmFwcGVuZCA/IF9jKCJkaXYiLCB7CiAgICAgICAgc3RhdGljQ2xhc3M6ICJlbC1pbnB1dC1ncm91cF9fYXBwZW5kIgogICAgICB9LCBbX3ZtLl90KCJhcHBlbmQiKV0sIDIpIDogX3ZtLl9lKCldIDogX2MoInRleHRhcmVhIiwgX3ZtLl9iKHsKICAgICAgICByZWY6ICJ0ZXh0YXJlYSIsCiAgICAgICAgc3RhdGljQ2xhc3M6ICJlbC10ZXh0YXJlYV9faW5uZXIiLAogICAgICAgIHN0eWxlOiBfdm0udGV4dGFyZWFTdHlsZSwKICAgICAgICBhdHRyczogewogICAgICAgICAgdGFiaW5kZXg6IF92bS50YWJpbmRleCwKICAgICAgICAgIGRpc2FibGVkOiBfdm0uaW5wdXREaXNhYmxlZCwKICAgICAgICAgIHJlYWRvbmx5OiBfdm0ucmVhZG9ubHksCiAgICAgICAgICBhdXRvY29tcGxldGU6IF92bS5hdXRvQ29tcGxldGUgfHwgX3ZtLmF1dG9jb21wbGV0ZSwKICAgICAgICAgICJhcmlhLWxhYmVsIjogX3ZtLmxhYmVsCiAgICAgICAgfSwKICAgICAgICBvbjogewogICAgICAgICAgY29tcG9zaXRpb25zdGFydDogX3ZtLmhhbmRsZUNvbXBvc2l0aW9uU3RhcnQsCiAgICAgICAgICBjb21wb3NpdGlvbnVwZGF0ZTogX3ZtLmhhbmRsZUNvbXBvc2l0aW9uVXBkYXRlLAogICAgICAgICAgY29tcG9zaXRpb25lbmQ6IF92bS5oYW5kbGVDb21wb3NpdGlvbkVuZCwKICAgICAgICAgIGlucHV0OiBfdm0uaGFuZGxlSW5wdXQsCiAgICAgICAgICBmb2N1czogX3ZtLmhhbmRsZUZvY3VzLAogICAgICAgICAgYmx1cjogX3ZtLmhhbmRsZUJsdXIsCiAgICAgICAgICBjaGFuZ2U6IF92bS5oYW5kbGVDaGFuZ2UKICAgICAgICB9CiAgICAgIH0sICJ0ZXh0YXJlYSIsIF92bS4kYXR0cnMsIGZhbHNlKSksIF92bS5pc1dvcmRMaW1pdFZpc2libGUgJiYgX3ZtLnR5cGUgPT09ICJ0ZXh0YXJlYSIgPyBfYygic3BhbiIsIHsKICAgICAgICBzdGF0aWNDbGFzczogImVsLWlucHV0X19jb3VudCIKICAgICAgfSwgW192bS5fdihfdm0uX3MoX3ZtLnRleHRMZW5ndGgpICsgIi8iICsgX3ZtLl9zKF92bS51cHBlckxpbWl0KSldKSA6IF92bS5fZSgpXSwgMik7CiAgICB9OwoKICAgIHZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXTsKICAgIHJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZTsgLy8gQ09OQ0FURU5BVEVEIE1PRFVMRTogLi9wYWNrYWdlcy9pbnB1dC9zcmMvaW5wdXQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTM0M2RkNzc0JgogICAgLy8gRVhURVJOQUwgTU9EVUxFOiBleHRlcm5hbCAiZWxlbWVudC11aS9saWIvbWl4aW5zL2VtaXR0ZXIiCgogICAgdmFyIGVtaXR0ZXJfID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTsKCiAgICB2YXIgZW1pdHRlcl9kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihlbWl0dGVyXyk7IC8vIEVYVEVSTkFMIE1PRFVMRTogZXh0ZXJuYWwgImVsZW1lbnQtdWkvbGliL21peGlucy9taWdyYXRpbmciCgoKICAgIHZhciBtaWdyYXRpbmdfID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMSk7CgogICAgdmFyIG1pZ3JhdGluZ19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihtaWdyYXRpbmdfKTsgLy8gQ09OQ0FURU5BVEVEIE1PRFVMRTogLi9wYWNrYWdlcy9pbnB1dC9zcmMvY2FsY1RleHRhcmVhSGVpZ2h0LmpzCgoKICAgIHZhciBoaWRkZW5UZXh0YXJlYSA9IHZvaWQgMDsKICAgIHZhciBISURERU5fU1RZTEUgPSAnXG4gIGhlaWdodDowICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6aGlkZGVuICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjphYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB6LWluZGV4Oi0xMDAwICFpbXBvcnRhbnQ7XG4gIHRvcDowICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OjAgIWltcG9ydGFudFxuJzsKICAgIHZhciBDT05URVhUX1NUWUxFID0gWydsZXR0ZXItc3BhY2luZycsICdsaW5lLWhlaWdodCcsICdwYWRkaW5nLXRvcCcsICdwYWRkaW5nLWJvdHRvbScsICdmb250LWZhbWlseScsICdmb250LXdlaWdodCcsICdmb250LXNpemUnLCAndGV4dC1yZW5kZXJpbmcnLCAndGV4dC10cmFuc2Zvcm0nLCAnd2lkdGgnLCAndGV4dC1pbmRlbnQnLCAncGFkZGluZy1sZWZ0JywgJ3BhZGRpbmctcmlnaHQnLCAnYm9yZGVyLXdpZHRoJywgJ2JveC1zaXppbmcnXTsKCiAgICBmdW5jdGlvbiBjYWxjdWxhdGVOb2RlU3R5bGluZyh0YXJnZXRFbGVtZW50KSB7CiAgICAgIHZhciBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhcmdldEVsZW1lbnQpOwogICAgICB2YXIgYm94U2l6aW5nID0gc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm94LXNpemluZycpOwogICAgICB2YXIgcGFkZGluZ1NpemUgPSBwYXJzZUZsb2F0KHN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctYm90dG9tJykpICsgcGFyc2VGbG9hdChzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLXRvcCcpKTsKICAgICAgdmFyIGJvcmRlclNpemUgPSBwYXJzZUZsb2F0KHN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlci1ib3R0b20td2lkdGgnKSkgKyBwYXJzZUZsb2F0KHN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlci10b3Atd2lkdGgnKSk7CiAgICAgIHZhciBjb250ZXh0U3R5bGUgPSBDT05URVhUX1NUWUxFLm1hcChmdW5jdGlvbiAobmFtZSkgewogICAgICAgIHJldHVybiBuYW1lICsgJzonICsgc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKTsKICAgICAgfSkuam9pbignOycpOwogICAgICByZXR1cm4gewogICAgICAgIGNvbnRleHRTdHlsZTogY29udGV4dFN0eWxlLAogICAgICAgIHBhZGRpbmdTaXplOiBwYWRkaW5nU2l6ZSwKICAgICAgICBib3JkZXJTaXplOiBib3JkZXJTaXplLAogICAgICAgIGJveFNpemluZzogYm94U2l6aW5nCiAgICAgIH07CiAgICB9CgogICAgZnVuY3Rpb24gY2FsY1RleHRhcmVhSGVpZ2h0KHRhcmdldEVsZW1lbnQpIHsKICAgICAgdmFyIG1pblJvd3MgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IDE7CiAgICAgIHZhciBtYXhSb3dzID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBudWxsOwoKICAgICAgaWYgKCFoaWRkZW5UZXh0YXJlYSkgewogICAgICAgIGhpZGRlblRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTsKICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGhpZGRlblRleHRhcmVhKTsKICAgICAgfQoKICAgICAgdmFyIF9jYWxjdWxhdGVOb2RlU3R5bGluZyA9IGNhbGN1bGF0ZU5vZGVTdHlsaW5nKHRhcmdldEVsZW1lbnQpLAogICAgICAgICAgcGFkZGluZ1NpemUgPSBfY2FsY3VsYXRlTm9kZVN0eWxpbmcucGFkZGluZ1NpemUsCiAgICAgICAgICBib3JkZXJTaXplID0gX2NhbGN1bGF0ZU5vZGVTdHlsaW5nLmJvcmRlclNpemUsCiAgICAgICAgICBib3hTaXppbmcgPSBfY2FsY3VsYXRlTm9kZVN0eWxpbmcuYm94U2l6aW5nLAogICAgICAgICAgY29udGV4dFN0eWxlID0gX2NhbGN1bGF0ZU5vZGVTdHlsaW5nLmNvbnRleHRTdHlsZTsKCiAgICAgIGhpZGRlblRleHRhcmVhLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCBjb250ZXh0U3R5bGUgKyAnOycgKyBISURERU5fU1RZTEUpOwogICAgICBoaWRkZW5UZXh0YXJlYS52YWx1ZSA9IHRhcmdldEVsZW1lbnQudmFsdWUgfHwgdGFyZ2V0RWxlbWVudC5wbGFjZWhvbGRlciB8fCAnJzsKICAgICAgdmFyIGhlaWdodCA9IGhpZGRlblRleHRhcmVhLnNjcm9sbEhlaWdodDsKICAgICAgdmFyIHJlc3VsdCA9IHt9OwoKICAgICAgaWYgKGJveFNpemluZyA9PT0gJ2JvcmRlci1ib3gnKSB7CiAgICAgICAgaGVpZ2h0ID0gaGVpZ2h0ICsgYm9yZGVyU2l6ZTsKICAgICAgfSBlbHNlIGlmIChib3hTaXppbmcgPT09ICdjb250ZW50LWJveCcpIHsKICAgICAgICBoZWlnaHQgPSBoZWlnaHQgLSBwYWRkaW5nU2l6ZTsKICAgICAgfQoKICAgICAgaGlkZGVuVGV4dGFyZWEudmFsdWUgPSAnJzsKICAgICAgdmFyIHNpbmdsZVJvd0hlaWdodCA9IGhpZGRlblRleHRhcmVhLnNjcm9sbEhlaWdodCAtIHBhZGRpbmdTaXplOwoKICAgICAgaWYgKG1pblJvd3MgIT09IG51bGwpIHsKICAgICAgICB2YXIgbWluSGVpZ2h0ID0gc2luZ2xlUm93SGVpZ2h0ICogbWluUm93czsKCiAgICAgICAgaWYgKGJveFNpemluZyA9PT0gJ2JvcmRlci1ib3gnKSB7CiAgICAgICAgICBtaW5IZWlnaHQgPSBtaW5IZWlnaHQgKyBwYWRkaW5nU2l6ZSArIGJvcmRlclNpemU7CiAgICAgICAgfQoKICAgICAgICBoZWlnaHQgPSBNYXRoLm1heChtaW5IZWlnaHQsIGhlaWdodCk7CiAgICAgICAgcmVzdWx0Lm1pbkhlaWdodCA9IG1pbkhlaWdodCArICdweCc7CiAgICAgIH0KCiAgICAgIGlmIChtYXhSb3dzICE9PSBudWxsKSB7CiAgICAgICAgdmFyIG1heEhlaWdodCA9IHNpbmdsZVJvd0hlaWdodCAqIG1heFJvd3M7CgogICAgICAgIGlmIChib3hTaXppbmcgPT09ICdib3JkZXItYm94JykgewogICAgICAgICAgbWF4SGVpZ2h0ID0gbWF4SGVpZ2h0ICsgcGFkZGluZ1NpemUgKyBib3JkZXJTaXplOwogICAgICAgIH0KCiAgICAgICAgaGVpZ2h0ID0gTWF0aC5taW4obWF4SGVpZ2h0LCBoZWlnaHQpOwogICAgICB9CgogICAgICByZXN1bHQuaGVpZ2h0ID0gaGVpZ2h0ICsgJ3B4JzsKICAgICAgaGlkZGVuVGV4dGFyZWEucGFyZW50Tm9kZSAmJiBoaWRkZW5UZXh0YXJlYS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGhpZGRlblRleHRhcmVhKTsKICAgICAgaGlkZGVuVGV4dGFyZWEgPSBudWxsOwogICAgICByZXR1cm4gcmVzdWx0OwogICAgfQoKICAgIDsgLy8gRVhURVJOQUwgTU9EVUxFOiBleHRlcm5hbCAiZWxlbWVudC11aS9saWIvdXRpbHMvbWVyZ2UiCgogICAgdmFyIG1lcmdlXyA9IF9fd2VicGFja19yZXF1aXJlX18oOSk7CgogICAgdmFyIG1lcmdlX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKG1lcmdlXyk7IC8vIEVYVEVSTkFMIE1PRFVMRTogZXh0ZXJuYWwgImVsZW1lbnQtdWkvbGliL3V0aWxzL3NoYXJlZCIKCgogICAgdmFyIHNoYXJlZF8gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIxKTsgLy8gQ09OQ0FURU5BVEVEIE1PRFVMRTogLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYiEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYj8/dnVlLWxvYWRlci1vcHRpb25zIS4vcGFja2FnZXMvaW5wdXQvc3JjL2lucHV0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYKICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCiAgICAvLwogICAgLy8KICAgIC8vCgogICAgLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLwoKCiAgICB2YXIgaW5wdXR2dWVfdHlwZV9zY3JpcHRfbGFuZ19qc18gPSB7CiAgICAgIG5hbWU6ICdFbElucHV0JywKICAgICAgY29tcG9uZW50TmFtZTogJ0VsSW5wdXQnLAogICAgICBtaXhpbnM6IFtlbWl0dGVyX2RlZmF1bHQuYSwgbWlncmF0aW5nX2RlZmF1bHQuYV0sCiAgICAgIGluaGVyaXRBdHRyczogZmFsc2UsCiAgICAgIGluamVjdDogewogICAgICAgIGVsRm9ybTogewogICAgICAgICAgZGVmYXVsdDogJycKICAgICAgICB9LAogICAgICAgIGVsRm9ybUl0ZW06IHsKICAgICAgICAgIGRlZmF1bHQ6ICcnCiAgICAgICAgfQogICAgICB9LAogICAgICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICB0ZXh0YXJlYUNhbGNTdHlsZToge30sCiAgICAgICAgICBob3ZlcmluZzogZmFsc2UsCiAgICAgICAgICBmb2N1c2VkOiBmYWxzZSwKICAgICAgICAgIGlzQ29tcG9zaW5nOiBmYWxzZSwKICAgICAgICAgIHBhc3N3b3JkVmlzaWJsZTogZmFsc2UKICAgICAgICB9OwogICAgICB9LAogICAgICBwcm9wczogewogICAgICAgIHZhbHVlOiBbU3RyaW5nLCBOdW1iZXJdLAogICAgICAgIHNpemU6IFN0cmluZywKICAgICAgICByZXNpemU6IFN0cmluZywKICAgICAgICBmb3JtOiBTdHJpbmcsCiAgICAgICAgZGlzYWJsZWQ6IEJvb2xlYW4sCiAgICAgICAgcmVhZG9ubHk6IEJvb2xlYW4sCiAgICAgICAgdHlwZTogewogICAgICAgICAgdHlwZTogU3RyaW5nLAogICAgICAgICAgZGVmYXVsdDogJ3RleHQnCiAgICAgICAgfSwKICAgICAgICBhdXRvc2l6ZTogewogICAgICAgICAgdHlwZTogW0Jvb2xlYW4sIE9iamVjdF0sCiAgICAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgICAgIH0sCiAgICAgICAgYXV0b2NvbXBsZXRlOiB7CiAgICAgICAgICB0eXBlOiBTdHJpbmcsCiAgICAgICAgICBkZWZhdWx0OiAnb2ZmJwogICAgICAgIH0sCgogICAgICAgIC8qKiBARGVwcmVjYXRlZCBpbiBuZXh0IG1ham9yIHZlcnNpb24gKi8KICAgICAgICBhdXRvQ29tcGxldGU6IHsKICAgICAgICAgIHR5cGU6IFN0cmluZywKICAgICAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHZhbCkgewogICAgICAgICAgICBmYWxzZSAmJiBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB2YWxpZGF0ZUV2ZW50OiB7CiAgICAgICAgICB0eXBlOiBCb29sZWFuLAogICAgICAgICAgZGVmYXVsdDogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgc3VmZml4SWNvbjogU3RyaW5nLAogICAgICAgIHByZWZpeEljb246IFN0cmluZywKICAgICAgICBsYWJlbDogU3RyaW5nLAogICAgICAgIGNsZWFyYWJsZTogewogICAgICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAgICAgICAgfSwKICAgICAgICBzaG93UGFzc3dvcmQ6IHsKICAgICAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgICAgIH0sCiAgICAgICAgc2hvd1dvcmRMaW1pdDogewogICAgICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAgICAgICAgfSwKICAgICAgICB0YWJpbmRleDogU3RyaW5nCiAgICAgIH0sCiAgICAgIGNvbXB1dGVkOiB7CiAgICAgICAgX2VsRm9ybUl0ZW1TaXplOiBmdW5jdGlvbiBfZWxGb3JtSXRlbVNpemUoKSB7CiAgICAgICAgICByZXR1cm4gKHRoaXMuZWxGb3JtSXRlbSB8fCB7fSkuZWxGb3JtSXRlbVNpemU7CiAgICAgICAgfSwKICAgICAgICB2YWxpZGF0ZVN0YXRlOiBmdW5jdGlvbiB2YWxpZGF0ZVN0YXRlKCkgewogICAgICAgICAgcmV0dXJuIHRoaXMuZWxGb3JtSXRlbSA/IHRoaXMuZWxGb3JtSXRlbS52YWxpZGF0ZVN0YXRlIDogJyc7CiAgICAgICAgfSwKICAgICAgICBuZWVkU3RhdHVzSWNvbjogZnVuY3Rpb24gbmVlZFN0YXR1c0ljb24oKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy5lbEZvcm0gPyB0aGlzLmVsRm9ybS5zdGF0dXNJY29uIDogZmFsc2U7CiAgICAgICAgfSwKICAgICAgICB2YWxpZGF0ZUljb246IGZ1bmN0aW9uIHZhbGlkYXRlSWNvbigpIHsKICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHZhbGlkYXRpbmc6ICdlbC1pY29uLWxvYWRpbmcnLAogICAgICAgICAgICBzdWNjZXNzOiAnZWwtaWNvbi1jaXJjbGUtY2hlY2snLAogICAgICAgICAgICBlcnJvcjogJ2VsLWljb24tY2lyY2xlLWNsb3NlJwogICAgICAgICAgfVt0aGlzLnZhbGlkYXRlU3RhdGVdOwogICAgICAgIH0sCiAgICAgICAgdGV4dGFyZWFTdHlsZTogZnVuY3Rpb24gdGV4dGFyZWFTdHlsZSgpIHsKICAgICAgICAgIHJldHVybiBtZXJnZV9kZWZhdWx0KCkoe30sIHRoaXMudGV4dGFyZWFDYWxjU3R5bGUsIHsKICAgICAgICAgICAgcmVzaXplOiB0aGlzLnJlc2l6ZQogICAgICAgICAgfSk7CiAgICAgICAgfSwKICAgICAgICBpbnB1dFNpemU6IGZ1bmN0aW9uIGlucHV0U2l6ZSgpIHsKICAgICAgICAgIHJldHVybiB0aGlzLnNpemUgfHwgdGhpcy5fZWxGb3JtSXRlbVNpemUgfHwgKHRoaXMuJEVMRU1FTlQgfHwge30pLnNpemU7CiAgICAgICAgfSwKICAgICAgICBpbnB1dERpc2FibGVkOiBmdW5jdGlvbiBpbnB1dERpc2FibGVkKCkgewogICAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgKHRoaXMuZWxGb3JtIHx8IHt9KS5kaXNhYmxlZDsKICAgICAgICB9LAogICAgICAgIG5hdGl2ZUlucHV0VmFsdWU6IGZ1bmN0aW9uIG5hdGl2ZUlucHV0VmFsdWUoKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gbnVsbCB8fCB0aGlzLnZhbHVlID09PSB1bmRlZmluZWQgPyAnJyA6IFN0cmluZyh0aGlzLnZhbHVlKTsKICAgICAgICB9LAogICAgICAgIHNob3dDbGVhcjogZnVuY3Rpb24gc2hvd0NsZWFyKCkgewogICAgICAgICAgcmV0dXJuIHRoaXMuY2xlYXJhYmxlICYmICF0aGlzLmlucHV0RGlzYWJsZWQgJiYgIXRoaXMucmVhZG9ubHkgJiYgdGhpcy5uYXRpdmVJbnB1dFZhbHVlICYmICh0aGlzLmZvY3VzZWQgfHwgdGhpcy5ob3ZlcmluZyk7CiAgICAgICAgfSwKICAgICAgICBzaG93UHdkVmlzaWJsZTogZnVuY3Rpb24gc2hvd1B3ZFZpc2libGUoKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy5zaG93UGFzc3dvcmQgJiYgIXRoaXMuaW5wdXREaXNhYmxlZCAmJiAhdGhpcy5yZWFkb25seSAmJiAoISF0aGlzLm5hdGl2ZUlucHV0VmFsdWUgfHwgdGhpcy5mb2N1c2VkKTsKICAgICAgICB9LAogICAgICAgIGlzV29yZExpbWl0VmlzaWJsZTogZnVuY3Rpb24gaXNXb3JkTGltaXRWaXNpYmxlKCkgewogICAgICAgICAgcmV0dXJuIHRoaXMuc2hvd1dvcmRMaW1pdCAmJiB0aGlzLiRhdHRycy5tYXhsZW5ndGggJiYgKHRoaXMudHlwZSA9PT0gJ3RleHQnIHx8IHRoaXMudHlwZSA9PT0gJ3RleHRhcmVhJykgJiYgIXRoaXMuaW5wdXREaXNhYmxlZCAmJiAhdGhpcy5yZWFkb25seSAmJiAhdGhpcy5zaG93UGFzc3dvcmQ7CiAgICAgICAgfSwKICAgICAgICB1cHBlckxpbWl0OiBmdW5jdGlvbiB1cHBlckxpbWl0KCkgewogICAgICAgICAgcmV0dXJuIHRoaXMuJGF0dHJzLm1heGxlbmd0aDsKICAgICAgICB9LAogICAgICAgIHRleHRMZW5ndGg6IGZ1bmN0aW9uIHRleHRMZW5ndGgoKSB7CiAgICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdudW1iZXInKSB7CiAgICAgICAgICAgIHJldHVybiBTdHJpbmcodGhpcy52YWx1ZSkubGVuZ3RoOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiAodGhpcy52YWx1ZSB8fCAnJykubGVuZ3RoOwogICAgICAgIH0sCiAgICAgICAgaW5wdXRFeGNlZWQ6IGZ1bmN0aW9uIGlucHV0RXhjZWVkKCkgewogICAgICAgICAgLy8gc2hvdyBleGNlZWQgc3R5bGUgaWYgbGVuZ3RoIG9mIGluaXRpYWwgdmFsdWUgZ3JlYXRlciB0aGVuIG1heGxlbmd0aAogICAgICAgICAgcmV0dXJuIHRoaXMuaXNXb3JkTGltaXRWaXNpYmxlICYmIHRoaXMudGV4dExlbmd0aCA+IHRoaXMudXBwZXJMaW1pdDsKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHdhdGNoOiB7CiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKHZhbCkgewogICAgICAgICAgdGhpcy4kbmV4dFRpY2sodGhpcy5yZXNpemVUZXh0YXJlYSk7CgogICAgICAgICAgaWYgKHRoaXMudmFsaWRhdGVFdmVudCkgewogICAgICAgICAgICB0aGlzLmRpc3BhdGNoKCdFbEZvcm1JdGVtJywgJ2VsLmZvcm0uY2hhbmdlJywgW3ZhbF0pOwogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgLy8gbmF0aXZlIGlucHV0IHZhbHVlIGlzIHNldCBleHBsaWNpdGx5CiAgICAgICAgLy8gZG8gbm90IHVzZSB2LW1vZGVsIC8gOnZhbHVlIGluIHRlbXBsYXRlCiAgICAgICAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vRWxlbWVGRS9lbGVtZW50L2lzc3Vlcy8xNDUyMQogICAgICAgIG5hdGl2ZUlucHV0VmFsdWU6IGZ1bmN0aW9uIG5hdGl2ZUlucHV0VmFsdWUoKSB7CiAgICAgICAgICB0aGlzLnNldE5hdGl2ZUlucHV0VmFsdWUoKTsKICAgICAgICB9LAogICAgICAgIC8vIHdoZW4gY2hhbmdlIGJldHdlZW4gPGlucHV0PiBhbmQgPHRleHRhcmVhPiwKICAgICAgICAvLyB1cGRhdGUgRE9NIGRlcGVuZGVudCB2YWx1ZSBhbmQgc3R5bGVzCiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0VsZW1lRkUvZWxlbWVudC9pc3N1ZXMvMTQ4NTcKICAgICAgICB0eXBlOiBmdW5jdGlvbiB0eXBlKCkgewogICAgICAgICAgdmFyIF90aGlzID0gdGhpczsKCiAgICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIF90aGlzLnNldE5hdGl2ZUlucHV0VmFsdWUoKTsKCiAgICAgICAgICAgIF90aGlzLnJlc2l6ZVRleHRhcmVhKCk7CgogICAgICAgICAgICBfdGhpcy51cGRhdGVJY29uT2Zmc2V0KCk7CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0sCiAgICAgIG1ldGhvZHM6IHsKICAgICAgICBmb2N1czogZnVuY3Rpb24gZm9jdXMoKSB7CiAgICAgICAgICB0aGlzLmdldElucHV0KCkuZm9jdXMoKTsKICAgICAgICB9LAogICAgICAgIGJsdXI6IGZ1bmN0aW9uIGJsdXIoKSB7CiAgICAgICAgICB0aGlzLmdldElucHV0KCkuYmx1cigpOwogICAgICAgIH0sCiAgICAgICAgZ2V0TWlncmF0aW5nQ29uZmlnOiBmdW5jdGlvbiBnZXRNaWdyYXRpbmdDb25maWcoKSB7CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICBwcm9wczogewogICAgICAgICAgICAgICdpY29uJzogJ2ljb24gaXMgcmVtb3ZlZCwgdXNlIHN1ZmZpeC1pY29uIC8gcHJlZml4LWljb24gaW5zdGVhZC4nLAogICAgICAgICAgICAgICdvbi1pY29uLWNsaWNrJzogJ29uLWljb24tY2xpY2sgaXMgcmVtb3ZlZC4nCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGV2ZW50czogewogICAgICAgICAgICAgICdjbGljayc6ICdjbGljayBpcyByZW1vdmVkLicKICAgICAgICAgICAgfQogICAgICAgICAgfTsKICAgICAgICB9LAogICAgICAgIGhhbmRsZUJsdXI6IGZ1bmN0aW9uIGhhbmRsZUJsdXIoZXZlbnQpIHsKICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlOwogICAgICAgICAgdGhpcy4kZW1pdCgnYmx1cicsIGV2ZW50KTsKCiAgICAgICAgICBpZiAodGhpcy52YWxpZGF0ZUV2ZW50KSB7CiAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goJ0VsRm9ybUl0ZW0nLCAnZWwuZm9ybS5ibHVyJywgW3RoaXMudmFsdWVdKTsKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHNlbGVjdDogZnVuY3Rpb24gc2VsZWN0KCkgewogICAgICAgICAgdGhpcy5nZXRJbnB1dCgpLnNlbGVjdCgpOwogICAgICAgIH0sCiAgICAgICAgcmVzaXplVGV4dGFyZWE6IGZ1bmN0aW9uIHJlc2l6ZVRleHRhcmVhKCkgewogICAgICAgICAgaWYgKHRoaXMuJGlzU2VydmVyKSByZXR1cm47CiAgICAgICAgICB2YXIgYXV0b3NpemUgPSB0aGlzLmF1dG9zaXplLAogICAgICAgICAgICAgIHR5cGUgPSB0aGlzLnR5cGU7CiAgICAgICAgICBpZiAodHlwZSAhPT0gJ3RleHRhcmVhJykgcmV0dXJuOwoKICAgICAgICAgIGlmICghYXV0b3NpemUpIHsKICAgICAgICAgICAgdGhpcy50ZXh0YXJlYUNhbGNTdHlsZSA9IHsKICAgICAgICAgICAgICBtaW5IZWlnaHQ6IGNhbGNUZXh0YXJlYUhlaWdodCh0aGlzLiRyZWZzLnRleHRhcmVhKS5taW5IZWlnaHQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQoKICAgICAgICAgIHZhciBtaW5Sb3dzID0gYXV0b3NpemUubWluUm93czsKICAgICAgICAgIHZhciBtYXhSb3dzID0gYXV0b3NpemUubWF4Um93czsKICAgICAgICAgIHRoaXMudGV4dGFyZWFDYWxjU3R5bGUgPSBjYWxjVGV4dGFyZWFIZWlnaHQodGhpcy4kcmVmcy50ZXh0YXJlYSwgbWluUm93cywgbWF4Um93cyk7CiAgICAgICAgfSwKICAgICAgICBzZXROYXRpdmVJbnB1dFZhbHVlOiBmdW5jdGlvbiBzZXROYXRpdmVJbnB1dFZhbHVlKCkgewogICAgICAgICAgdmFyIGlucHV0ID0gdGhpcy5nZXRJbnB1dCgpOwogICAgICAgICAgaWYgKCFpbnB1dCkgcmV0dXJuOwogICAgICAgICAgaWYgKGlucHV0LnZhbHVlID09PSB0aGlzLm5hdGl2ZUlucHV0VmFsdWUpIHJldHVybjsKICAgICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5uYXRpdmVJbnB1dFZhbHVlOwogICAgICAgIH0sCiAgICAgICAgaGFuZGxlRm9jdXM6IGZ1bmN0aW9uIGhhbmRsZUZvY3VzKGV2ZW50KSB7CiAgICAgICAgICB0aGlzLmZvY3VzZWQgPSB0cnVlOwogICAgICAgICAgdGhpcy4kZW1pdCgnZm9jdXMnLCBldmVudCk7CiAgICAgICAgfSwKICAgICAgICBoYW5kbGVDb21wb3NpdGlvblN0YXJ0OiBmdW5jdGlvbiBoYW5kbGVDb21wb3NpdGlvblN0YXJ0KCkgewogICAgICAgICAgdGhpcy5pc0NvbXBvc2luZyA9IHRydWU7CiAgICAgICAgfSwKICAgICAgICBoYW5kbGVDb21wb3NpdGlvblVwZGF0ZTogZnVuY3Rpb24gaGFuZGxlQ29tcG9zaXRpb25VcGRhdGUoZXZlbnQpIHsKICAgICAgICAgIHZhciB0ZXh0ID0gZXZlbnQudGFyZ2V0LnZhbHVlOwogICAgICAgICAgdmFyIGxhc3RDaGFyYWN0ZXIgPSB0ZXh0W3RleHQubGVuZ3RoIC0gMV0gfHwgJyc7CiAgICAgICAgICB0aGlzLmlzQ29tcG9zaW5nID0gIU9iamVjdChzaGFyZWRfWyJpc0tvcmVhbiJdKShsYXN0Q2hhcmFjdGVyKTsKICAgICAgICB9LAogICAgICAgIGhhbmRsZUNvbXBvc2l0aW9uRW5kOiBmdW5jdGlvbiBoYW5kbGVDb21wb3NpdGlvbkVuZChldmVudCkgewogICAgICAgICAgaWYgKHRoaXMuaXNDb21wb3NpbmcpIHsKICAgICAgICAgICAgdGhpcy5pc0NvbXBvc2luZyA9IGZhbHNlOwogICAgICAgICAgICB0aGlzLmhhbmRsZUlucHV0KGV2ZW50KTsKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGhhbmRsZUlucHV0OiBmdW5jdGlvbiBoYW5kbGVJbnB1dChldmVudCkgewogICAgICAgICAgLy8gc2hvdWxkIG5vdCBlbWl0IGlucHV0IGR1cmluZyBjb21wb3NpdGlvbgogICAgICAgICAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vRWxlbWVGRS9lbGVtZW50L2lzc3Vlcy8xMDUxNgogICAgICAgICAgaWYgKHRoaXMuaXNDb21wb3NpbmcpIHJldHVybjsgLy8gaGFjayBmb3IgaHR0cHM6Ly9naXRodWIuY29tL0VsZW1lRkUvZWxlbWVudC9pc3N1ZXMvODU0OAogICAgICAgICAgLy8gc2hvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGxpbmUgd2hlbiB3ZSBkb24ndCBzdXBwb3J0IElFCgogICAgICAgICAgaWYgKGV2ZW50LnRhcmdldC52YWx1ZSA9PT0gdGhpcy5uYXRpdmVJbnB1dFZhbHVlKSByZXR1cm47CiAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIGV2ZW50LnRhcmdldC52YWx1ZSk7IC8vIGVuc3VyZSBuYXRpdmUgaW5wdXQgdmFsdWUgaXMgY29udHJvbGxlZAogICAgICAgICAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vRWxlbWVGRS9lbGVtZW50L2lzc3Vlcy8xMjg1MAoKICAgICAgICAgIHRoaXMuJG5leHRUaWNrKHRoaXMuc2V0TmF0aXZlSW5wdXRWYWx1ZSk7CiAgICAgICAgfSwKICAgICAgICBoYW5kbGVDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkgewogICAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgZXZlbnQudGFyZ2V0LnZhbHVlKTsKICAgICAgICB9LAogICAgICAgIGNhbGNJY29uT2Zmc2V0OiBmdW5jdGlvbiBjYWxjSWNvbk9mZnNldChwbGFjZSkgewogICAgICAgICAgdmFyIGVsTGlzdCA9IFtdLnNsaWNlLmNhbGwodGhpcy4kZWwucXVlcnlTZWxlY3RvckFsbCgnLmVsLWlucHV0X18nICsgcGxhY2UpIHx8IFtdKTsKICAgICAgICAgIGlmICghZWxMaXN0Lmxlbmd0aCkgcmV0dXJuOwogICAgICAgICAgdmFyIGVsID0gbnVsbDsKCiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsTGlzdC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAoZWxMaXN0W2ldLnBhcmVudE5vZGUgPT09IHRoaXMuJGVsKSB7CiAgICAgICAgICAgICAgZWwgPSBlbExpc3RbaV07CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KCiAgICAgICAgICBpZiAoIWVsKSByZXR1cm47CiAgICAgICAgICB2YXIgcGVuZGFudE1hcCA9IHsKICAgICAgICAgICAgc3VmZml4OiAnYXBwZW5kJywKICAgICAgICAgICAgcHJlZml4OiAncHJlcGVuZCcKICAgICAgICAgIH07CiAgICAgICAgICB2YXIgcGVuZGFudCA9IHBlbmRhbnRNYXBbcGxhY2VdOwoKICAgICAgICAgIGlmICh0aGlzLiRzbG90c1twZW5kYW50XSkgewogICAgICAgICAgICBlbC5zdHlsZS50cmFuc2Zvcm0gPSAndHJhbnNsYXRlWCgnICsgKHBsYWNlID09PSAnc3VmZml4JyA/ICctJyA6ICcnKSArIHRoaXMuJGVsLnF1ZXJ5U2VsZWN0b3IoJy5lbC1pbnB1dC1ncm91cF9fJyArIHBlbmRhbnQpLm9mZnNldFdpZHRoICsgJ3B4KSc7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoJ3N0eWxlJyk7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB1cGRhdGVJY29uT2Zmc2V0OiBmdW5jdGlvbiB1cGRhdGVJY29uT2Zmc2V0KCkgewogICAgICAgICAgdGhpcy5jYWxjSWNvbk9mZnNldCgncHJlZml4Jyk7CiAgICAgICAgICB0aGlzLmNhbGNJY29uT2Zmc2V0KCdzdWZmaXgnKTsKICAgICAgICB9LAogICAgICAgIGNsZWFyOiBmdW5jdGlvbiBjbGVhcigpIHsKICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgJycpOwogICAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgJycpOwogICAgICAgICAgdGhpcy4kZW1pdCgnY2xlYXInKTsKICAgICAgICB9LAogICAgICAgIGhhbmRsZVBhc3N3b3JkVmlzaWJsZTogZnVuY3Rpb24gaGFuZGxlUGFzc3dvcmRWaXNpYmxlKCkgewogICAgICAgICAgdGhpcy5wYXNzd29yZFZpc2libGUgPSAhdGhpcy5wYXNzd29yZFZpc2libGU7CiAgICAgICAgICB0aGlzLmZvY3VzKCk7CiAgICAgICAgfSwKICAgICAgICBnZXRJbnB1dDogZnVuY3Rpb24gZ2V0SW5wdXQoKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy4kcmVmcy5pbnB1dCB8fCB0aGlzLiRyZWZzLnRleHRhcmVhOwogICAgICAgIH0sCiAgICAgICAgZ2V0U3VmZml4VmlzaWJsZTogZnVuY3Rpb24gZ2V0U3VmZml4VmlzaWJsZSgpIHsKICAgICAgICAgIHJldHVybiB0aGlzLiRzbG90cy5zdWZmaXggfHwgdGhpcy5zdWZmaXhJY29uIHx8IHRoaXMuc2hvd0NsZWFyIHx8IHRoaXMuc2hvd1Bhc3N3b3JkIHx8IHRoaXMuaXNXb3JkTGltaXRWaXNpYmxlIHx8IHRoaXMudmFsaWRhdGVTdGF0ZSAmJiB0aGlzLm5lZWRTdGF0dXNJY29uOwogICAgICAgIH0KICAgICAgfSwKICAgICAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgICAgICB0aGlzLiRvbignaW5wdXRTZWxlY3QnLCB0aGlzLnNlbGVjdCk7CiAgICAgIH0sCiAgICAgIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICAgICAgdGhpcy5zZXROYXRpdmVJbnB1dFZhbHVlKCk7CiAgICAgICAgdGhpcy5yZXNpemVUZXh0YXJlYSgpOwogICAgICAgIHRoaXMudXBkYXRlSWNvbk9mZnNldCgpOwogICAgICB9LAogICAgICB1cGRhdGVkOiBmdW5jdGlvbiB1cGRhdGVkKCkgewogICAgICAgIHRoaXMuJG5leHRUaWNrKHRoaXMudXBkYXRlSWNvbk9mZnNldCk7CiAgICAgIH0KICAgIH07IC8vIENPTkNBVEVOQVRFRCBNT0RVTEU6IC4vcGFja2FnZXMvaW5wdXQvc3JjL2lucHV0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYKCiAgICAvKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovCgogICAgdmFyIHNyY19pbnB1dHZ1ZV90eXBlX3NjcmlwdF9sYW5nX2pzXyA9IGlucHV0dnVlX3R5cGVfc2NyaXB0X2xhbmdfanNfOyAvLyBFWFRFUk5BTCBNT0RVTEU6IC4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcwoKICAgIHZhciBjb21wb25lbnROb3JtYWxpemVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTsgLy8gQ09OQ0FURU5BVEVEIE1PRFVMRTogLi9wYWNrYWdlcy9pbnB1dC9zcmMvaW5wdXQudnVlCgogICAgLyogbm9ybWFsaXplIGNvbXBvbmVudCAqLwoKCiAgICB2YXIgY29tcG9uZW50ID0gT2JqZWN0KGNvbXBvbmVudE5vcm1hbGl6ZXJbImEiCiAgICAvKiBkZWZhdWx0ICovCiAgICBdKShzcmNfaW5wdXR2dWVfdHlwZV9zY3JpcHRfbGFuZ19qc18sIHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCBmYWxzZSwgbnVsbCwgbnVsbCwgbnVsbCk7CiAgICAvKiBob3QgcmVsb2FkICovCgogICAgaWYgKGZhbHNlKSB7CiAgICAgIHZhciBhcGk7CiAgICB9CgogICAgY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gInBhY2thZ2VzL2lucHV0L3NyYy9pbnB1dC52dWUiOwogICAgLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLwoKICAgIHZhciBpbnB1dCA9IGNvbXBvbmVudC5leHBvcnRzOyAvLyBDT05DQVRFTkFURUQgTU9EVUxFOiAuL3BhY2thZ2VzL2lucHV0L2luZGV4LmpzCgogICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8KCiAgICBpbnB1dC5pbnN0YWxsID0gZnVuY3Rpb24gKFZ1ZSkgewogICAgICBWdWUuY29tcG9uZW50KGlucHV0Lm5hbWUsIGlucHV0KTsKICAgIH07CiAgICAvKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovCgoKICAgIHZhciBwYWNrYWdlc19pbnB1dCA9IF9fd2VicGFja19leHBvcnRzX19bImRlZmF1bHQiXSA9IGlucHV0OwogICAgLyoqKi8KICB9LAoKICAvKioqLwogIDk6CiAgLyoqKi8KICBmdW5jdGlvbiBfKG1vZHVsZSwgZXhwb3J0cykgewogICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCJlbGVtZW50LXVpL2xpYi91dGlscy9tZXJnZSIpOwogICAgLyoqKi8KICB9CiAgLyoqKioqKi8KCn0pOw=="},{"version":3,"sources":["/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/element-ui/lib/input.js"],"names":["module","exports","modules","installedModules","__webpack_require__","moduleId","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","getDefault","getModuleExports","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","options","_compiled","functional","_scopeId","hook","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","renderWithStyleInjection","h","existing","beforeCreate","concat","require","_vm","_h","$createElement","_c","_self","class","type","inputSize","inputDisabled","inputExceed","$slots","prepend","append","prefix","prefixIcon","suffix","suffixIcon","clearable","showPassword","on","mouseenter","$event","hovering","mouseleave","staticClass","_t","_e","_b","ref","attrs","tabindex","passwordVisible","disabled","readonly","autocomplete","autoComplete","label","compositionstart","handleCompositionStart","compositionupdate","handleCompositionUpdate","compositionend","handleCompositionEnd","input","handleInput","focus","handleFocus","blur","handleBlur","change","handleChange","$attrs","getSuffixVisible","showClear","showPwdVisible","isWordLimitVisible","mousedown","preventDefault","click","clear","handlePasswordVisible","_v","_s","textLength","upperLimit","validateState","validateIcon","style","textareaStyle","_withStripped","emitter_","emitter_default","migrating_","migrating_default","hiddenTextarea","HIDDEN_STYLE","CONTEXT_STYLE","calculateNodeStyling","targetElement","window","getComputedStyle","boxSizing","getPropertyValue","paddingSize","parseFloat","borderSize","contextStyle","map","join","calcTextareaHeight","minRows","arguments","length","undefined","maxRows","document","createElement","body","appendChild","_calculateNodeStyling","setAttribute","placeholder","height","scrollHeight","result","singleRowHeight","minHeight","Math","max","maxHeight","min","parentNode","removeChild","merge_","merge_default","shared_","inputvue_type_script_lang_js_","componentName","mixins","a","inheritAttrs","inject","elForm","default","elFormItem","data","textareaCalcStyle","focused","isComposing","props","String","Number","size","resize","form","Boolean","autosize","validator","val","validateEvent","showWordLimit","computed","_elFormItemSize","elFormItemSize","needStatusIcon","statusIcon","validating","success","error","$ELEMENT","nativeInputValue","maxlength","watch","$nextTick","resizeTextarea","dispatch","setNativeInputValue","_this","updateIconOffset","methods","getInput","getMigratingConfig","events","event","$emit","select","$isServer","$refs","textarea","text","target","lastCharacter","calcIconOffset","place","elList","slice","$el","querySelectorAll","el","pendantMap","pendant","transform","querySelector","offsetWidth","removeAttribute","created","$on","mounted","updated","src_inputvue_type_script_lang_js_","componentNormalizer","component","api","__file","install","Vue","packages_input"],"mappings":"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AACDiB,QAAAA,MAAM,GAAGK,IAAI,CAACG,GAAL,CAASD,SAAT,EAAoBP,MAApB,CAAT;AACD;;AACDE,MAAAA,MAAM,CAACF,MAAP,GAAgBA,MAAM,GAAG,IAAzB;AACA5B,MAAAA,cAAc,CAACqC,UAAf,IAA6BrC,cAAc,CAACqC,UAAf,CAA0BC,WAA1B,CAAsCtC,cAAtC,CAA7B;AACAA,MAAAA,cAAc,GAAG,IAAjB;AACA,aAAO8B,MAAP;AACD;;AAAA,KA5SiE,CA6SlE;;AACA,QAAIS,MAAM,GAAGtL,mBAAmB,CAAC,CAAD,CAAhC;;AACA,QAAIuL,aAAa,GAAG,aAAavL,mBAAmB,CAAC0B,CAApB,CAAsB4J,MAAtB,CAAjC,CA/SkE,CAiTlE;;;AACA,QAAIE,OAAO,GAAGxL,mBAAmB,CAAC,EAAD,CAAjC,CAlTkE,CAoTlE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA;;;AAA6B,QAAIyL,6BAA6B,GAAI;AAChEjL,MAAAA,IAAI,EAAE,SAD0D;AAGhEkL,MAAAA,aAAa,EAAE,SAHiD;AAKhEC,MAAAA,MAAM,EAAE,CAAC/C,eAAe,CAACgD,CAAjB,EAAoB9C,iBAAiB,CAAC8C,CAAtC,CALwD;AAO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","sourcesContent":["module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 76);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/migrating\");\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/shared\");\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 76:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=template&id=343dd774&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n class: [\n _vm.type === \"textarea\" ? \"el-textarea\" : \"el-input\",\n _vm.inputSize ? \"el-input--\" + _vm.inputSize : \"\",\n {\n \"is-disabled\": _vm.inputDisabled,\n \"is-exceed\": _vm.inputExceed,\n \"el-input-group\": _vm.$slots.prepend || _vm.$slots.append,\n \"el-input-group--append\": _vm.$slots.append,\n \"el-input-group--prepend\": _vm.$slots.prepend,\n \"el-input--prefix\": _vm.$slots.prefix || _vm.prefixIcon,\n \"el-input--suffix\":\n _vm.$slots.suffix ||\n _vm.suffixIcon ||\n _vm.clearable ||\n _vm.showPassword\n }\n ],\n on: {\n mouseenter: function($event) {\n _vm.hovering = true\n },\n mouseleave: function($event) {\n _vm.hovering = false\n }\n }\n },\n [\n _vm.type !== \"textarea\"\n ? [\n _vm.$slots.prepend\n ? _c(\n \"div\",\n { staticClass: \"el-input-group__prepend\" },\n [_vm._t(\"prepend\")],\n 2\n )\n : _vm._e(),\n _vm.type !== \"textarea\"\n ? _c(\n \"input\",\n _vm._b(\n {\n ref: \"input\",\n staticClass: \"el-input__inner\",\n attrs: {\n tabindex: _vm.tabindex,\n type: _vm.showPassword\n ? _vm.passwordVisible\n ? \"text\"\n : \"password\"\n : _vm.type,\n disabled: _vm.inputDisabled,\n readonly: _vm.readonly,\n autocomplete: _vm.autoComplete || _vm.autocomplete,\n \"aria-label\": _vm.label\n },\n on: {\n compositionstart: _vm.handleCompositionStart,\n compositionupdate: _vm.handleCompositionUpdate,\n compositionend: _vm.handleCompositionEnd,\n input: _vm.handleInput,\n focus: _vm.handleFocus,\n blur: _vm.handleBlur,\n change: _vm.handleChange\n }\n },\n \"input\",\n _vm.$attrs,\n false\n )\n )\n : _vm._e(),\n _vm.$slots.prefix || _vm.prefixIcon\n ? _c(\n \"span\",\n { staticClass: \"el-input__prefix\" },\n [\n _vm._t(\"prefix\"),\n _vm.prefixIcon\n ? _c(\"i\", {\n staticClass: \"el-input__icon\",\n class: _vm.prefixIcon\n })\n : _vm._e()\n ],\n 2\n )\n : _vm._e(),\n _vm.getSuffixVisible()\n ? _c(\"span\", { staticClass: \"el-input__suffix\" }, [\n _c(\n \"span\",\n { staticClass: \"el-input__suffix-inner\" },\n [\n !_vm.showClear ||\n !_vm.showPwdVisible ||\n !_vm.isWordLimitVisible\n ? [\n _vm._t(\"suffix\"),\n _vm.suffixIcon\n ? _c(\"i\", {\n staticClass: \"el-input__icon\",\n class: _vm.suffixIcon\n })\n : _vm._e()\n ]\n : _vm._e(),\n _vm.showClear\n ? _c(\"i\", {\n staticClass:\n \"el-input__icon el-icon-circle-close el-input__clear\",\n on: {\n mousedown: function($event) {\n $event.preventDefault()\n },\n click: _vm.clear\n }\n })\n : _vm._e(),\n _vm.showPwdVisible\n ? _c(\"i\", {\n staticClass:\n \"el-input__icon el-icon-view el-input__clear\",\n on: { click: _vm.handlePasswordVisible }\n })\n : _vm._e(),\n _vm.isWordLimitVisible\n ? _c(\"span\", { staticClass: \"el-input__count\" }, [\n _c(\n \"span\",\n { staticClass: \"el-input__count-inner\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.textLength) +\n \"/\" +\n _vm._s(_vm.upperLimit) +\n \"\\n \"\n )\n ]\n )\n ])\n : _vm._e()\n ],\n 2\n ),\n _vm.validateState\n ? _c(\"i\", {\n staticClass: \"el-input__icon\",\n class: [\"el-input__validateIcon\", _vm.validateIcon]\n })\n : _vm._e()\n ])\n : _vm._e(),\n _vm.$slots.append\n ? _c(\n \"div\",\n { staticClass: \"el-input-group__append\" },\n [_vm._t(\"append\")],\n 2\n )\n : _vm._e()\n ]\n : _c(\n \"textarea\",\n _vm._b(\n {\n ref: \"textarea\",\n staticClass: \"el-textarea__inner\",\n style: _vm.textareaStyle,\n attrs: {\n tabindex: _vm.tabindex,\n disabled: _vm.inputDisabled,\n readonly: _vm.readonly,\n autocomplete: _vm.autoComplete || _vm.autocomplete,\n \"aria-label\": _vm.label\n },\n on: {\n compositionstart: _vm.handleCompositionStart,\n compositionupdate: _vm.handleCompositionUpdate,\n compositionend: _vm.handleCompositionEnd,\n input: _vm.handleInput,\n focus: _vm.handleFocus,\n blur: _vm.handleBlur,\n change: _vm.handleChange\n }\n },\n \"textarea\",\n _vm.$attrs,\n false\n )\n ),\n _vm.isWordLimitVisible && _vm.type === \"textarea\"\n ? _c(\"span\", { staticClass: \"el-input__count\" }, [\n _vm._v(_vm._s(_vm.textLength) + \"/\" + _vm._s(_vm.upperLimit))\n ])\n : _vm._e()\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=template&id=343dd774&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/migrating\"\nvar migrating_ = __webpack_require__(11);\nvar migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_);\n\n// CONCATENATED MODULE: ./packages/input/src/calcTextareaHeight.js\nvar hiddenTextarea = void 0;\n\nvar HIDDEN_STYLE = '\\n height:0 !important;\\n visibility:hidden !important;\\n overflow:hidden !important;\\n position:absolute !important;\\n z-index:-1000 !important;\\n top:0 !important;\\n right:0 !important\\n';\n\nvar CONTEXT_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing'];\n\nfunction calculateNodeStyling(targetElement) {\n var style = window.getComputedStyle(targetElement);\n\n var boxSizing = style.getPropertyValue('box-sizing');\n\n var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));\n\n var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));\n\n var contextStyle = CONTEXT_STYLE.map(function (name) {\n return name + ':' + style.getPropertyValue(name);\n }).join(';');\n\n return { contextStyle: contextStyle, paddingSize: paddingSize, borderSize: borderSize, boxSizing: boxSizing };\n}\n\nfunction calcTextareaHeight(targetElement) {\n var minRows = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var maxRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n document.body.appendChild(hiddenTextarea);\n }\n\n var _calculateNodeStyling = calculateNodeStyling(targetElement),\n paddingSize = _calculateNodeStyling.paddingSize,\n borderSize = _calculateNodeStyling.borderSize,\n boxSizing = _calculateNodeStyling.boxSizing,\n contextStyle = _calculateNodeStyling.contextStyle;\n\n hiddenTextarea.setAttribute('style', contextStyle + ';' + HIDDEN_STYLE);\n hiddenTextarea.value = targetElement.value || targetElement.placeholder || '';\n\n var height = hiddenTextarea.scrollHeight;\n var result = {};\n\n if (boxSizing === 'border-box') {\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n height = height - paddingSize;\n }\n\n hiddenTextarea.value = '';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null) {\n var minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n result.minHeight = minHeight + 'px';\n }\n if (maxRows !== null) {\n var maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n result.height = height + 'px';\n hiddenTextarea.parentNode && hiddenTextarea.parentNode.removeChild(hiddenTextarea);\n hiddenTextarea = null;\n return result;\n};\n// EXTERNAL MODULE: external \"element-ui/lib/utils/merge\"\nvar merge_ = __webpack_require__(9);\nvar merge_default = /*#__PURE__*/__webpack_require__.n(merge_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\nvar shared_ = __webpack_require__(21);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ var inputvue_type_script_lang_js_ = ({\n name: 'ElInput',\n\n componentName: 'ElInput',\n\n mixins: [emitter_default.a, migrating_default.a],\n\n inheritAttrs: false,\n\n inject: {\n elForm: {\n default: ''\n },\n elFormItem: {\n default: ''\n }\n },\n\n data: function data() {\n return {\n textareaCalcStyle: {},\n hovering: false,\n focused: false,\n isComposing: false,\n passwordVisible: false\n };\n },\n\n\n props: {\n value: [String, Number],\n size: String,\n resize: String,\n form: String,\n disabled: Boolean,\n readonly: Boolean,\n type: {\n type: String,\n default: 'text'\n },\n autosize: {\n type: [Boolean, Object],\n default: false\n },\n autocomplete: {\n type: String,\n default: 'off'\n },\n /** @Deprecated in next major version */\n autoComplete: {\n type: String,\n validator: function validator(val) {\n false && false;\n return true;\n }\n },\n validateEvent: {\n type: Boolean,\n default: true\n },\n suffixIcon: String,\n prefixIcon: String,\n label: String,\n clearable: {\n type: Boolean,\n default: false\n },\n showPassword: {\n type: Boolean,\n default: false\n },\n showWordLimit: {\n type: Boolean,\n default: false\n },\n tabindex: String\n },\n\n computed: {\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n validateState: function validateState() {\n return this.elFormItem ? this.elFormItem.validateState : '';\n },\n needStatusIcon: function needStatusIcon() {\n return this.elForm ? this.elForm.statusIcon : false;\n },\n validateIcon: function validateIcon() {\n return {\n validating: 'el-icon-loading',\n success: 'el-icon-circle-check',\n error: 'el-icon-circle-close'\n }[this.validateState];\n },\n textareaStyle: function textareaStyle() {\n return merge_default()({}, this.textareaCalcStyle, { resize: this.resize });\n },\n inputSize: function inputSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n inputDisabled: function inputDisabled() {\n return this.disabled || (this.elForm || {}).disabled;\n },\n nativeInputValue: function nativeInputValue() {\n return this.value === null || this.value === undefined ? '' : String(this.value);\n },\n showClear: function showClear() {\n return this.clearable && !this.inputDisabled && !this.readonly && this.nativeInputValue && (this.focused || this.hovering);\n },\n showPwdVisible: function showPwdVisible() {\n return this.showPassword && !this.inputDisabled && !this.readonly && (!!this.nativeInputValue || this.focused);\n },\n isWordLimitVisible: function isWordLimitVisible() {\n return this.showWordLimit && this.$attrs.maxlength && (this.type === 'text' || this.type === 'textarea') && !this.inputDisabled && !this.readonly && !this.showPassword;\n },\n upperLimit: function upperLimit() {\n return this.$attrs.maxlength;\n },\n textLength: function textLength() {\n if (typeof this.value === 'number') {\n return String(this.value).length;\n }\n\n return (this.value || '').length;\n },\n inputExceed: function inputExceed() {\n // show exceed style if length of initial value greater then maxlength\n return this.isWordLimitVisible && this.textLength > this.upperLimit;\n }\n },\n\n watch: {\n value: function value(val) {\n this.$nextTick(this.resizeTextarea);\n if (this.validateEvent) {\n this.dispatch('ElFormItem', 'el.form.change', [val]);\n }\n },\n\n // native input value is set explicitly\n // do not use v-model / :value in template\n // see: https://github.com/ElemeFE/element/issues/14521\n nativeInputValue: function nativeInputValue() {\n this.setNativeInputValue();\n },\n\n // when change between <input> and <textarea>,\n // update DOM dependent value and styles\n // https://github.com/ElemeFE/element/issues/14857\n type: function type() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.setNativeInputValue();\n _this.resizeTextarea();\n _this.updateIconOffset();\n });\n }\n },\n\n methods: {\n focus: function focus() {\n this.getInput().focus();\n },\n blur: function blur() {\n this.getInput().blur();\n },\n getMigratingConfig: function getMigratingConfig() {\n return {\n props: {\n 'icon': 'icon is removed, use suffix-icon / prefix-icon instead.',\n 'on-icon-click': 'on-icon-click is removed.'\n },\n events: {\n 'click': 'click is removed.'\n }\n };\n },\n handleBlur: function handleBlur(event) {\n this.focused = false;\n this.$emit('blur', event);\n if (this.validateEvent) {\n this.dispatch('ElFormItem', 'el.form.blur', [this.value]);\n }\n },\n select: function select() {\n this.getInput().select();\n },\n resizeTextarea: function resizeTextarea() {\n if (this.$isServer) return;\n var autosize = this.autosize,\n type = this.type;\n\n if (type !== 'textarea') return;\n if (!autosize) {\n this.textareaCalcStyle = {\n minHeight: calcTextareaHeight(this.$refs.textarea).minHeight\n };\n return;\n }\n var minRows = autosize.minRows;\n var maxRows = autosize.maxRows;\n\n this.textareaCalcStyle = calcTextareaHeight(this.$refs.textarea, minRows, maxRows);\n },\n setNativeInputValue: function setNativeInputValue() {\n var input = this.getInput();\n if (!input) return;\n if (input.value === this.nativeInputValue) return;\n input.value = this.nativeInputValue;\n },\n handleFocus: function handleFocus(event) {\n this.focused = true;\n this.$emit('focus', event);\n },\n handleCompositionStart: function handleCompositionStart() {\n this.isComposing = true;\n },\n handleCompositionUpdate: function handleCompositionUpdate(event) {\n var text = event.target.value;\n var lastCharacter = text[text.length - 1] || '';\n this.isComposing = !Object(shared_[\"isKorean\"])(lastCharacter);\n },\n handleCompositionEnd: function handleCompositionEnd(event) {\n if (this.isComposing) {\n this.isComposing = false;\n this.handleInput(event);\n }\n },\n handleInput: function handleInput(event) {\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (this.isComposing) return;\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (event.target.value === this.nativeInputValue) return;\n\n this.$emit('input', event.target.value);\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n this.$nextTick(this.setNativeInputValue);\n },\n handleChange: function handleChange(event) {\n this.$emit('change', event.target.value);\n },\n calcIconOffset: function calcIconOffset(place) {\n var elList = [].slice.call(this.$el.querySelectorAll('.el-input__' + place) || []);\n if (!elList.length) return;\n var el = null;\n for (var i = 0; i < elList.length; i++) {\n if (elList[i].parentNode === this.$el) {\n el = elList[i];\n break;\n }\n }\n if (!el) return;\n var pendantMap = {\n suffix: 'append',\n prefix: 'prepend'\n };\n\n var pendant = pendantMap[place];\n if (this.$slots[pendant]) {\n el.style.transform = 'translateX(' + (place === 'suffix' ? '-' : '') + this.$el.querySelector('.el-input-group__' + pendant).offsetWidth + 'px)';\n } else {\n el.removeAttribute('style');\n }\n },\n updateIconOffset: function updateIconOffset() {\n this.calcIconOffset('prefix');\n this.calcIconOffset('suffix');\n },\n clear: function clear() {\n this.$emit('input', '');\n this.$emit('change', '');\n this.$emit('clear');\n },\n handlePasswordVisible: function handlePasswordVisible() {\n this.passwordVisible = !this.passwordVisible;\n this.focus();\n },\n getInput: function getInput() {\n return this.$refs.input || this.$refs.textarea;\n },\n getSuffixVisible: function getSuffixVisible() {\n return this.$slots.suffix || this.suffixIcon || this.showClear || this.showPassword || this.isWordLimitVisible || this.validateState && this.needStatusIcon;\n }\n },\n\n created: function created() {\n this.$on('inputSelect', this.select);\n },\n mounted: function mounted() {\n this.setNativeInputValue();\n this.resizeTextarea();\n this.updateIconOffset();\n },\n updated: function updated() {\n this.$nextTick(this.updateIconOffset);\n }\n});\n// CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_inputvue_type_script_lang_js_ = (inputvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/input/src/input.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_inputvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/input/src/input.vue\"\n/* harmony default export */ var input = (component.exports);\n// CONCATENATED MODULE: ./packages/input/index.js\n\n\n/* istanbul ignore next */\ninput.install = function (Vue) {\n Vue.component(input.name, input);\n};\n\n/* harmony default export */ var packages_input = __webpack_exports__[\"default\"] = (input);\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/merge\");\n\n/***/ })\n\n/******/ });"]}]}
|