Plugin Directory

Changeset 2929157


Ignore:
Timestamp:
06/21/2023 11:53:49 AM (3 years ago)
Author:
capuderg
Message:

WP Mail Logging v1.12.0

Location:
wp-mail-logging
Files:
175 added
33 edited

Legend:

Unmodified
Added
Removed
  • wp-mail-logging/trunk/assets/css/wp-mail-logging-admin.css

    r2880502 r2929157  
    2121#wp-mail-logging .subsubsub a.current {
    2222  font-weight: 600;
     23}
     24#wp-mail-logging #wp-mail-logging-setting-db-upgrade {
     25  background: #fff;
     26  border: 1px solid #c3c4c7;
     27  border-left: 4px solid #e77c5c;
     28  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
     29  margin-bottom: 30px;
     30  padding: 16px;
     31  position: relative;
     32}
     33#wp-mail-logging #wp-mail-logging-setting-db-upgrade h3 {
     34  font-size: 18px;
     35  line-height: 22px;
     36  margin-bottom: 10px;
     37}
     38#wp-mail-logging #wp-mail-logging-setting-db-upgrade ul {
     39  list-style-type: initial;
     40  list-style-position: inside;
     41}
     42#wp-mail-logging #wp-mail-logging-setting-db-upgrade #wp-mail-logging-btn-db-upgrade {
     43  height: inherit;
     44  padding: 11px 16px;
     45  line-height: 1.2;
    2346}
    2447#wp-mail-logging #wp-mail-logging-setting-tab-form #wp-mail-logging-setting-tab-row-log-rotation-limit-amout-keep, #wp-mail-logging #wp-mail-logging-setting-tab-form #wp-mail-logging-setting-tab-row-log-rotation-delete-time-days {
     
    412435  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEzIDciIGZpbGw9IiM4ZDhmOTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMyAwLjk5ODI4MUMxMyAwLjkwMjA2MiAxMi45NTE5IDAuNzkzODE0IDEyLjg3OTcgMC43MjE2NDlMMTIuMjc4NCAwLjEyMDI3NEMxMi4yMDYyIDAuMDQ4MTA5OCAxMi4wOTggMCAxMi4wMDE3IDBDMTEuOTA1NSAwIDExLjc5NzMgMC4wNDgxMDk4IDExLjcyNTEgMC4xMjAyNzRMNi45OTgzIDQuODQ3MDhMMi4yNzE1IDAuMTIwMjc0QzIuMTk5MzMgMC4wNDgxMDk4IDIuMDkxMDggMCAxLjk5NDg2IDBDMS44ODY2MiAwIDEuNzkwNCAwLjA0ODEwOTggMS43MTgyMyAwLjEyMDI3NEwxLjExNjg2IDAuNzIxNjQ5QzEuMDQ0NjkgMC43OTM4MTQgMC45OTY1ODIgMC45MDIwNjIgMC45OTY1ODIgMC45OTgyODFDMC45OTY1ODIgMS4wOTQ1IDEuMDQ0NjkgMS4yMDI3NSAxLjExNjg2IDEuMjc0OTFMNi43MjE2NyA2Ljg3OTcyQzYuNzkzODMgNi45NTE4OSA2LjkwMjA4IDcgNi45OTgzIDdDNy4wOTQ1MiA3IDcuMjAyNzcgNi45NTE4OSA3LjI3NDkzIDYuODc5NzJMMTIuODc5NyAxLjI3NDkxQzEyLjk1MTkgMS4yMDI3NSAxMyAxLjA5NDUgMTMgMC45OTgyODFaIiBmaWxsPSIjOGQ4Zjk1Ii8+Cjwvc3ZnPgo=");
    413436  background-position: right 12px center;
     437  background-repeat: no-repeat;
    414438}
    415439#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-label {
     
    613637@media (max-width: 600px) {
    614638  #wp-mail-logging #email-list p.search-box {
    615     width: inherit;
    616   }
     639    position: relative;
     640    bottom: auto;
     641    max-width: 600px;
     642    width: 100%;
     643    height: auto;
     644    clear: both;
     645    margin-bottom: 10px;
     646  }
     647  #wp-mail-logging #email-list p.search-box select, #wp-mail-logging #email-list p.search-box input[type=search] {
     648    width: 100%;
     649    max-width: unset;
     650    margin: 0 0 5px 0;
     651  }
     652}
     653#wp-mail-logging #email-list p.search-box select {
     654  vertical-align: unset;
    617655}
    618656
     
    878916  }
    879917}
    880 @media (max-width: 782px) {
     918@media (max-width: 600px) {
     919  #wp-mail-logging-product-education-email-logs-bottom {
     920    margin-top: 0;
     921  }
     922}
     923@media (min-width: 601px) and (max-width: 782px) {
    881924  #wp-mail-logging-product-education-email-logs-bottom {
    882925    margin-top: 100px;
     
    9601003  box-shadow: 0 0 0 1px #fff, 0 0 0 3px #cb5836;
    9611004}
    962 /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9nZW5lcmFsLnNjc3MiLCJfaW5jbHVkZS1tZWRpYS5zY3NzIiwid3AtbWFpbC1sb2dnaW5nLWFkbWluLnNjc3MiLCJfY29sb3JzLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJ3cC1tYWlsLWxvZ2dpbmctcHJvZHVjdC1lZHVjYXRpb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNJO0VBQ0E7O0FDNGlCSDtFRDlpQkQ7SUFLUTs7OztBQ3lpQlA7RURyaUJEO0lBRVE7Ozs7QUVQUjtFQUNJLE9DRmU7RURHZjs7QUFJSTtFQUNJLGFFSkk7O0FGVVI7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBS1o7RUFDSTs7QUFHSjtFQUNJOztBQUVBO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FEc2VYO0VDMWVPO0lBT1E7OztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNJOztBQUdJO0FBQUE7RUFFSTs7QUFJUjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFNSjtFQUNJO0VBQ0E7O0FBT0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBVUo7RUFDSTs7QUFPSjtFQUNJOztBQVNBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQU1aO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQVFJO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0ksa0JDdk1qQjs7QUR5TWlCO0VBQ0k7RUFDQTtFQUNBOztBQUtKO0VBRUk7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUlSO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUVJOztBQUtBO0VBQ0k7O0FBTUo7RUFDSTtFQUNBOztBQUtaO0FBQUE7RUFFSTtFQUNBLGFFcFFSO0VGcVFRLE9DMVFQO0VEMlFPOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFNaEI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0EsYUUzVFI7RUY0VFE7RUFDQTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFLWjtFQUNJOztBQUVBO0VBQ0k7O0FBTUo7QUFBQTtFQUVJOztBQUtKO0VBQ0ksYUU1VlI7O0FGa1dKO0VBQ0ksT0N6V0Q7RUQwV0M7RUFDQSxhRXJXQTtFRnNXQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSSxPQ3JYRDtFRHNYQztFQUNBO0VBQ0E7O0FBR0o7RUFDSSxPQzVYRDtFRDZYQztFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBLE9DeFlIOztBRDBZRztFQUNJOztBQUtaO0VBQ0k7O0FBR0k7RUFDSTtFQUNBOztBQU9KO0VBQ0k7RUFDQTs7QUFJQTtFQUNJOztBQUVKO0VBQ0k7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVJLE9DN2F6Qjs7QUQrYXlCO0VBQ0k7O0FBVzVCO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9DbGNIO0VEbWNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRDRGZjtFQzVHVztBQUFBO0FBQUE7QUFBQTtBQUFBO0lBbUJROzs7QUR5Rm5CO0VDNUdXO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUF1QlE7SUFDQTtJQUNBOztFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDSTs7O0FBSVI7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7QUFNSjtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUlSO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FEaUNYO0VDckNPO0lBT1E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJLE9DNWdCSDtFRDZnQkc7RUFDQSxhRWpoQkE7O0FGc2hCUjtFQUNJO0VBQ0E7RUFDQTs7QURjWDtFQ2pCTztJQU1ROzs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUtaO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0ksbUJDaGtCTDs7QURta0JDO0VBQ0k7O0FBR0o7RUFDSSxtQkN2a0JMOztBRDBrQkM7RUFDSTs7QUFJUjtBQUFBO0VBRUk7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJLGtCQzVvQkw7O0FEOG9CSztFQUNJO0VBQ0E7RUFDQTs7QUFNSjtFQUNJOztBQU1KO0VBQ0k7RUFDQTs7QUFLSjtFQUVJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFTWjtFQUVJOztBQUVBO0VBQ0k7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7QURsS2Y7RUM4Slc7QUFBQTtJQU9ROzs7QUFJUjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUQxTTNCO0VDaU5PO0lBRVE7Ozs7QUFNaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FEM09QO0VDdU9HO0lBT1E7SUFDQTs7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FEeFBYO0VDdVBPO0lBSVE7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhRTN5Qkk7RUY0eUJKO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRDdSWDtFQ3VSTztJQVNROzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1aO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0EsYUUzMkJRO0VGNDJCUjs7QUFHSjtFQUNJO0VBQ0E7O0FBRUE7RUFHSSxrQkN4M0JFO0VEeTNCRjtFQUNBOztBQUdKO0VBQ0k7OztBQU1aO0FBRUk7O0FBQ0E7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FEN1dYO0VDb1hBO0lBRUU7OztBQUlDO0VBQ0k7RUFDQTs7QUFFQTtFQUNJLGFFdDZCSTs7O0FGODZCWjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7O0FHeDdCUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUtaO0VBQ0k7O0FBRUE7RUFDSSxhRHZDSTs7QUMyQ0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFLWjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBLGFEM0VRO0VDNEVSO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFLQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTtBQUVBOztBQUNBO0VBTEo7SUFVUTs7O0FKMGFQO0VJcGJEO0lBY1E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0EsYURuTEE7O0FDc0xKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBT3BCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhRGhOUTtFQ2lOUjtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJIiwiZmlsZSI6ImFzc2V0cy9jc3Mvd3AtbWFpbC1sb2dnaW5nLWFkbWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgYWRtaW4gc3R5bGUgb3ZlcnJpZGVzLlxuI3dwY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PXBob25lXCIpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQ2cHg7XG4gICAgfVxufVxuXG4jd3Bib2R5IHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9cGhvbmVcIikge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgICAgICAgICBodHRwOi8vaW5jbHVkZS1tZWRpYS5jb21cbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuXHRAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuXHRAd2FybiAkbWVzc2FnZTtcblx0JF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcblx0QGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcblx0QGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcblx0ICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuXHQgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuXHQgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuXHQgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuXHRcdCAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG5cdFx0QHJldHVybiBmYWxzZTtcblx0ICB9XG5cdH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuXHQgIEByZXR1cm4gZmFsc2U7XG5cdH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuXHRAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcblx0ICBAcmV0dXJuICRvcGVyYXRvcjtcblx0fVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG5cdCRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcblx0JHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG5cdCR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcblx0Ly8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuXHQvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuXHQvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cblx0Ly8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcblx0Ly8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuXHQkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG5cdCR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuXHQkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcblx0QHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG5cdEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG5cdCRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG5cdEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG5cdCRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcblx0JHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcblx0JGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuXHRAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG5cdCAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcblx0fVxuXG5cdEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG5cdCAgJGRpZ2l0czogMTtcblx0fSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuXHQgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuXHR9IEBlbHNlIHtcblx0ICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG5cdCAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcblx0fVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuXHQkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG5cdCAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcblx0QGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuXHRAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG5cdCAgLy8gUmVjdXJzaXZlIGNhbGxcblx0ICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcblx0XHRAY29udGVudDtcblx0ICB9XG5cdH1cbiAgfVxufVxuIiwiQGltcG9ydCBcImluY2x1ZGUtbWVkaWFcIjtcbkBpbXBvcnQgXCJjb2xvcnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJnZW5lcmFsXCI7XG5cbiN3cC1tYWlsLWxvZ2dpbmcge1xuICAgIGNvbG9yOiAkZGVzY3JpcHRpb24tdGV4dDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAuc3Vic3Vic3ViIHtcblxuICAgICAgICBhLmN1cnJlbnQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtZWRpdW0td2VpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3dwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRhYi1mb3JtIHtcblxuICAgICAgICAjd3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdGFiLXJvdy1sb2ctcm90YXRpb24tbGltaXQtYW1vdXQta2VlcCwgI3dwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRhYi1yb3ctbG9nLXJvdGF0aW9uLWRlbGV0ZS10aW1lLWRheXMge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjd3AtbWFpbC1sb2dnaW5nLXNldHRpbmdzLWJvdHRvbSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU0ZTQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgI3dwLW1haWwtbG9nZ2luZy1zZXR0aW5ncy1yZXNldC1saW5rIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogIzIyNzFCMTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMxMzVlOTY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3AtbWFpbC1sb2dnaW5nLWhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC53cC1tYWlsLWxvZ2dpbmctcGFnZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgICN3cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1yb3ctaGVhZGluZy1nZW5lcmFsLXNldHRpbmdzIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0dGluZyByb3dzLCBlZyBmaWVsZCByb3cuXG4gICAgICAgIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1yb3cge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU0ZTQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMzBweCAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaW5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1taWQtcm93LXNlcCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2U0ZTRlNDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlY3Rpb24gaGVhZGluZy5cbiAgICAgICAgICAgICYuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMjBweCAwO1xuXG4gICAgICAgICAgICAgICAgJi5uby1kZXNjIHtcbiAgICAgICAgICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1maWVsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDA1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBJbnB1dCBzZXR0aW5ncyBmaWVsZC5cbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93LWlucHV0IHtcbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDaGVja2JveCBzZXR0aW5ncyBmaWVsZC5cbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93LWNoZWNrYm94IHtcblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMXB4IDAgMCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDhweDtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAzMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWwgKyAuZGVzYyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogOHB4IDAgMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVGV4dCBiYXNlZCBzZXR0aW5ncyBmaWVsZC5cbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93LXRleHQsXG4gICAgICAgICAgICAmLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXJvdy1wYXNzd29yZCxcbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93LW51bWJlcixcbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93LWVtYWlsIHtcblxuICAgICAgICAgICAgICAgIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWxlY3Qgc2V0dGluZ3MgZmllbGQuXG4gICAgICAgICAgICAmLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXJvdy1zZWxlY3Qge1xuXG4gICAgICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJhZGlvIHNldHRpbmdzIGZpZWxkLlxuICAgICAgICAgICAgJi53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1yb3ctcmFkaW8ge1xuXG4gICAgICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLWZpZWxkIHtcblxuICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IC0zcHggMTBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1yb3ctbm8tYm9yZGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXJvdy1uby1wYWRkaW5nIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBSYWRpbyBzZXR0aW5ncyBmaWVsZC5cbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93LWNoZWNrYm94LXRvZ2dsZSB7XG5cbiAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctZmllbGQge1xuXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpjaGVja2VkICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb3NpdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Y2hlY2tlZDpob3ZlciArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtc3dpdGNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bm90KDpjaGVja2VkKTpob3ZlciArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6Y2hlY2tlZCk6aG92ZXIgKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLXN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Y2hlY2tlZCArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkcG9zaXRpdmUsIDI1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpjaGVja2VkICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2ggKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLWNoZWNrZWQtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpjaGVja2VkICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2ggKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLWNoZWNrZWQtbGFiZWwgKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLXVuY2hlY2tlZC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpkaXNhYmxlZCArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtc3dpdGNoICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1jaGVja2VkLWxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpkaXNhYmxlZCArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtc3dpdGNoICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS11bmNoZWNrZWQtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCM0NDQsIDQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpjaGVja2VkOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgM3B4ICMyZTg3NmE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6Y2hlY2tlZCk6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6Y2hlY2tlZCk6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLXN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YzhmOTQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAzcHggIzk5OTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLXVuY2hlY2tlZC1sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1jaGVja2VkLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS10ZXh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1jaGVja2VkLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLXN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzNjNGM3O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246ICAgIGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246ICAgICBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICAgICAgICAgYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAtMXB4IDVweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246ICAgIGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiAgICAgYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogICAgICAgICBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1yb3ctYWxlcnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuXG4gICAgICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXJvdyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtZWRpdW0td2VpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubm90aWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNi41cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgICYgKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctZmllbGQge1xuXG4gICAgICAgICAgICAgICAgICAgIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtY2hlY2tlZC1sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS11bmNoZWNrZWQtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEdlbmVyYWwgZWxlbWVudHMuXG4gICAgICAgICAgICBoMiwgaDQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdGV4dDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdGV4dDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTJweCAwIDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgJi5kZXNjIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktdGV4dDtcblxuICAgICAgICAgICAgICAgICAgICAmICsgLmRlc2Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA4cHggMCAwO1xuXG4gICAgICAgICAgICAgICAgJi5saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgICAgICAmLmFjdGlvbnMtbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIHRkLCB0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggNXB4IDVweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYuZW1haWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYuc3RhdHVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmW2NsYXNzKj1kZWxldGVdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmW2NsYXNzKj1lcnJvcl0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuZWdhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oICRuZWdhdGl2ZSwgMjAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGb3JtIGVsZW1lbnRzLlxuICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSxcbiAgICAgICAgICAgIGlucHV0W3R5cGU9ZW1haWxdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1udW1iZXJdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZpZWxkLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZpZWxkLXRleHQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAgICAgICAgICAgICAmIH4gYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbcmVhZG9ubHldIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNtYWxsLXRleHQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAxNkFBQjtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMwMTZBQUI7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDE2QUFCO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzAxNkFBQjtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTVRNaUlHaGxhV2RvZEQwaU55SWdkbWxsZDBKdmVEMGlNQ0F3SURFeklEY2lJR1pwYkd3OUlpTTRaRGhtT1RVaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK0NqeHdZWFJvSUdROUlrMHhNeUF3TGprNU9ESTRNVU14TXlBd0xqa3dNakEyTWlBeE1pNDVOVEU1SURBdU56a3pPREUwSURFeUxqZzNPVGNnTUM0M01qRTJORGxNTVRJdU1qYzROQ0F3TGpFeU1ESTNORU14TWk0eU1EWXlJREF1TURRNE1UQTVPQ0F4TWk0d09UZ2dNQ0F4TWk0d01ERTNJREJETVRFdU9UQTFOU0F3SURFeExqYzVOek1nTUM0d05EZ3hNRGs0SURFeExqY3lOVEVnTUM0eE1qQXlOelJNTmk0NU9UZ3pJRFF1T0RRM01EaE1NaTR5TnpFMUlEQXVNVEl3TWpjMFF6SXVNVGs1TXpNZ01DNHdORGd4TURrNElESXVNRGt4TURnZ01DQXhMams1TkRnMklEQkRNUzQ0T0RZMk1pQXdJREV1Tnprd05DQXdMakEwT0RFd09UZ2dNUzQzTVRneU15QXdMakV5TURJM05Fd3hMakV4TmpnMklEQXVOekl4TmpRNVF6RXVNRFEwTmprZ01DNDNPVE00TVRRZ01DNDVPVFkxT0RJZ01DNDVNREl3TmpJZ01DNDVPVFkxT0RJZ01DNDVPVGd5T0RGRE1DNDVPVFkxT0RJZ01TNHdPVFExSURFdU1EUTBOamtnTVM0eU1ESTNOU0F4TGpFeE5qZzJJREV1TWpjME9URk1OaTQzTWpFMk55QTJMamczT1RjeVF6WXVOemt6T0RNZ05pNDVOVEU0T1NBMkxqa3dNakE0SURjZ05pNDVPVGd6SURkRE55NHdPVFExTWlBM0lEY3VNakF5TnpjZ05pNDVOVEU0T1NBM0xqSTNORGt6SURZdU9EYzVOekpNTVRJdU9EYzVOeUF4TGpJM05Ea3hRekV5TGprMU1Ua2dNUzR5TURJM05TQXhNeUF4TGpBNU5EVWdNVE1nTUM0NU9UZ3lPREZhSWlCbWFXeHNQU0lqT0dRNFpqazFJaTgrQ2p3dmMzWm5QZ289XCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEycHggY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUm93IGxhYmVsIChsZWZ0KS5cbiAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMjA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsYWJlbC10ZXh0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVkaXVtLXdlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJvdyBmaWVsZCAocmlnaHQpLlxuICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctZmllbGQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDIwNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGhyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLWZpZWxkLXJvdyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgICAgICAmID4gLndwLW1haWwtc210cC1idG4ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zdWJtaXQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMjVweCAwO1xuXG4gICAgICAgICAgICAuaGVscC10ZXh0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5vdGljZS1pbmxpbmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCAwIHJnYmEoIDAsIDAsIDAsIDAuMSApO1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMXB4IDEycHg7XG5cbiAgICAgICAgICAgICYubm90aWNlLXN1Y2Nlc3Mge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9zaXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubm90aWNlLXdhcm5pbmcge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZiOTAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm5vdGljZS1lcnJvciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRuZWdhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5ub3RpY2UtaW5mbyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMGEwZDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubm90aWNlIHAsXG4gICAgICAgIC5ub3RpY2UtaW5saW5lIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjVlbSAwO1xuICAgICAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcHJlIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAmX19zd2l0Y2gge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogLTFweCAwIDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAgICY6Y2hlY2tlZCArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGVfX3N3aXRjaCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBvc2l0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpjaGVja2VkOmhvdmVyLFxuICAgICAgICAgICAgJjpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAmICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZV9fc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDNweCAjMDBhMzJhO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoOmNoZWNrZWQpOmhvdmVyLFxuICAgICAgICAgICAgJjpub3QoOmNoZWNrZWQpOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAmICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZV9fc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDNweCAjOTk5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgJjpjaGVja2VkOmhvdmVyICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZV9fc3dpdGNoLFxuICAgICAgICAgICAgICAgICY6bm90KDpjaGVja2VkKTpob3ZlciArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGVfX3N3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpub3QoOmNoZWNrZWQpOmhvdmVyICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZV9fc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZV9fc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGVfX3N3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oIzAwYTMyYSwgMjUpO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRW1haWwgTG9ncy5cbiAgICAjZW1haWwtbGlzdCB7XG5cbiAgICAgICAgdGFibGUuZW1haWxzIHtcblxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2x1bW4tY2IsXG4gICAgICAgICAgICAuY2hlY2stY29sdW1uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXBob25lXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDAgM3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGgjdGltZXN0YW1wLCB0aCNhY3Rpb25zLCB0ZC5jb2x1bW4tdGltZXN0YW1wLCB0ZC5jb2x1bW4tYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkLmNvbHVtbi1hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1hY3Rpb24tY29sdW1uIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLWFjdGlvbi1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQ0QwRDQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzhDOEY5NDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzNjNDM0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzNjNDM0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwLnNlYXJjaC1ib3gge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXBob25lXCIpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3dwLW1haWwtbG9nZ2luZy1wYWdlLWhlYWRlci10ZW1wIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDk5O1xufVxuXG4jd3AtbWFpbC1sb2dnaW5nLXBhZ2UtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAud3AtbWFpbC1sb2dnaW5nLXBhZ2UtdGl0bGUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDRweCAyMHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXBob25lXCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAud3AtbWFpbC1sb2dnaW5nLWxvZ28taW1hZ2Uge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLndwLW1haWwtbG9nZ2luZy1sb2dvLXNlcCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXBob25lXCIpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYS50YWIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICM3ODdDODI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMThweCAwO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRTc3QzVDO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMkMzMzM4O1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0U3N0M1QztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2E3YWFhZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEuYWN0aW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIG1hcmdpbjogMTRweCAwIDE0cHggMTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1waG9uZVwiKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQnV0dG9ucy5cbi53cC1tYWlsLWxvZ2dpbmctYnRuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJi53cC1tYWlsLWxvZ2dpbmctYnRuLWxnIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICB9XG5cbiAgICAmLndwLW1haWwtbG9nZ2luZy1idG4tb3JhbmdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U3N0M1QztcbiAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS1kYXJrO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAzcHggJG9yYW5nZS1kYXJrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBMaWdodGJveC5cbi53cC1tYWlsLWxvZ2dpbmctYWRtaW4tcGFnZSB7XG5cbiAgICAvKiBMaWdodGJveCBsaWJyYXJ5IGdsb2JhbCBzdHlsZXMuICovXG4gICAgLmxpdHkge1xuICAgICAgICB6LWluZGV4OiA5OTk5OTk5OTk7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgfVxuXG4gICAgLmxpdHktY2xvc2Uge1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgfVxuXG4gICAgLmxpdHktY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogODB2dztcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogODB2aCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53cC1tYWlsLWxvZ2dpbmctYWRtaW4tcGFnZSB7XG5cblx0cC5zZWFyY2gtYm94IHtcblx0XHRAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcblx0XHRcdHdpZHRoOiA4MCU7XG5cdFx0fVxuXHR9XG5cbiAgICAjd3Bmb290ZXIgcCB7XG4gICAgICAgIGNvbG9yOiAjNTA1NzVFO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFV0aWxpdHkuXG4ud3AtbWFpbC1sb2dnaW5nLWNsZWFyZml4IHtcblxuICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbkBpbXBvcnQgXCJ3cC1tYWlsLWxvZ2dpbmctcHJvZHVjdC1lZHVjYXRpb25cIjtcbiIsIi8vIENvbG9yIHN0eWxlc1xuXG4kcHJpbWFyeS10ZXh0OiAjMUQyMzI3O1xuJHNlY29uZGFyeS10ZXh0OiAjNjQ2OTcwO1xuJGRlc2NyaXB0aW9uLXRleHQ6ICMzQzQzNEE7XG4kb3JhbmdlOiAjRTI3NzMwO1xuJG9yYW5nZS1kYXJrOiAjY2I1ODM2O1xuJHBvc2l0aXZlOiAjMzhhMTdlO1xuJG5lZ2F0aXZlOiAjRDYzNjM4O1xuJGZpZWxkLWJvcmRlcjogIzhiOGY5MztcbiRmaWVsZC10ZXh0OiAjMkMzMzM4O1xuJGxhYmVsLXRleHQ6ICMxRTIzMjc7XG4kbGluazogIzIxNzFCMTtcbiRsaW5rLWhvdmVyOiAjMTM1ZTk2O1xuIiwiJGJyZWFrcG9pbnRzOiAoXG4gICAgJ3hzLXBob25lJzogMzIwcHgsXG4gICAgJ3Bob25lJzogNjAwcHgsXG4gICAgJ2lwYWQnOiA3NjhweCxcbiAgICAndGFibGV0JzogNzgycHgsXG4gICAgJ2Rlc2t0b3AnOiA5NjBweFxuKTtcblxuJG1lZGl1bS13ZWlnaHQ6IDYwMDtcbiIsIkBpbXBvcnQgXCJpbmNsdWRlLW1lZGlhXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbi8vIFByb2R1Y3QgRWR1Y2F0aW9uLlxuLndwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgY29sb3I6ICM1MDU3NUU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICB1bCB7XG4gICAgICAgIGNvbG9yOiAjNjQ2OTcwO1xuICAgIH1cblxuICAgICYtZGlzbWlzcyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMTVweDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjYTdhYWFkO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNkNjM2Mzg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kYXNoaWNvbnMsIC5kYXNoaWNvbnMtYmVmb3JlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLWVkdWNhdGlvbi1idG4ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCAxMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNjQ2OTcwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRTc3QzVDO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjY2I1ODM2O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICMzQzQzNEE7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtZWRpdW0td2VpZ2h0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuI3dwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbi1lbWFpbC1sb2dzLXRvcCB7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgIC53cC1tYWlsLWxvZ2dpbmctcHJvZHVjdC1lZHVjYXRpb24tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6ICMyMjIyMjI7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNjQ2OTcwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2IHtcblxuICAgICAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYS53cC1tYWlsLWxvZ2dpbmctZWR1Y2F0aW9uLWJ0biB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3dwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbi1lbWFpbC1sb2dzLWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRiB1cmwoXCIuLi9pbWFnZXMvcGxhbmUtYmcucG5nXCIpIG5vLXJlcGVhdCByaWdodCBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MDFweCAxMTlweDtcblxuICAgIC8qIEAyeCBJbWFnZXMgKFBpeGVsIFJhdGlvIG9mIDEuMjUrKSAqL1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDUvNCksXG4gICAgICAgICAgIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjI1KSxcbiAgICAgICAgICAgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjI1KSxcbiAgICAgICAgICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMS4yNWRwcHgpIHtcblxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGxhbmUtYmdAMngucG5nXCIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLndwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbi1pbWFnZXMtcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDI1cHg7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgICAgICYtaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM3MHB4O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCAjRENEQ0RFO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSg2OCwgNjgsIDY4LCAuMTUpIHVybCgnLi4vaW1hZ2VzL3pvb20uc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzNDNDM0QTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtZWRpdW0td2VpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvYXJyb3ctcmlnaHQtcGxhaW4taWNvbi5zdmcnKSBuby1yZXBlYXQgbGVmdCAzcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndwLW1haWwtbG9nZ2luZy1lZHVjYXRpb24tYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0U3N0M1QztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRTc3QzVDO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtZWRpdW0td2VpZ2h0O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NiNTgzNjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2NiNTgzNjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDNweCAjY2I1ODM2O1xuICAgICAgICB9XG4gICAgfVxufVxuIl19 */
     1005
     1006body.wp-mail-logging-admin-page div.jconfirm *,
     1007body.wp-mail-logging-admin-page div.jconfirm *::before,
     1008body.wp-mail-logging-admin-page div.jconfirm *::after {
     1009  -webkit-box-sizing: border-box;
     1010  -moz-box-sizing: border-box;
     1011  box-sizing: border-box;
     1012}
     1013body.wp-mail-logging-admin-page div.jconfirm .jconfirm-bg {
     1014  background-color: rgba(114, 119, 124, 0.75);
     1015  opacity: 1;
     1016}
     1017body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box {
     1018  padding: 30px;
     1019  border-radius: 6px;
     1020  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
     1021  border-top-width: 4px;
     1022}
     1023body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-closeIcon {
     1024  color: rgba(0, 0, 0, 0.4);
     1025  top: 8px;
     1026  right: 8px;
     1027}
     1028body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-closeIcon:hover {
     1029  color: rgba(0, 0, 0, 0.8);
     1030}
     1031body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-title-c {
     1032  margin: 0 0 15px 0;
     1033  padding: 0;
     1034}
     1035body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c {
     1036  margin: 0 0 30px;
     1037  -webkit-transition: none;
     1038  transition: none;
     1039  -webkit-transform: none !important;
     1040  -ms-transform: none !important;
     1041  transform: none !important;
     1042}
     1043body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c:empty,
     1044body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c i:empty {
     1045  display: none;
     1046}
     1047body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title {
     1048  display: block;
     1049  color: #222222;
     1050  font-weight: 500;
     1051  font-size: 24px;
     1052}
     1053body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content-pane {
     1054  display: block;
     1055  margin-bottom: 30px;
     1056}
     1057body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content {
     1058  margin-bottom: 0;
     1059  overflow: inherit;
     1060}
     1061body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content {
     1062  font-size: 16px;
     1063  color: #222222;
     1064  line-height: 1.4;
     1065}
     1066body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content p {
     1067  margin: 0 0 20px;
     1068  font-size: 16px;
     1069  line-height: 1.5;
     1070}
     1071body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content p:last-of-type {
     1072  margin: 0;
     1073}
     1074body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content p.large {
     1075  font-size: 18px;
     1076}
     1077body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content p.small {
     1078  font-size: 14px;
     1079}
     1080body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content .wp-mail-smtp-debug-event-preview p {
     1081  font-size: 14px;
     1082}
     1083body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content .wp-mail-smtp-btn {
     1084  font-weight: 600;
     1085  text-transform: uppercase;
     1086  -webkit-transition: background 0.1s;
     1087  transition: background 0.1s;
     1088  padding: 10px 20px;
     1089  outline: none;
     1090  display: inline-block;
     1091  font-size: 14px;
     1092  line-height: 1.4;
     1093  -ms-touch-action: manipulation;
     1094  touch-action: manipulation;
     1095  cursor: pointer;
     1096  -webkit-user-select: none;
     1097  -moz-user-select: none;
     1098  -ms-user-select: none;
     1099  user-select: none;
     1100  border-radius: 4px;
     1101  min-height: 1em;
     1102  -webkit-tap-highlight-color: transparent;
     1103  border: 0;
     1104  background-image: none;
     1105}
     1106body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content .wp-mail-smtp-btn.with-loader {
     1107  padding: 12px 12px 7px;
     1108}
     1109body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons {
     1110  padding: 0;
     1111}
     1112body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button {
     1113  transition: 0.2s;
     1114  box-shadow: none;
     1115  margin: 0 10px 0;
     1116}
     1117body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button:hover {
     1118  box-shadow: inset 0 0 0 100px rgba(0, 0, 0, 0.1);
     1119}
     1120body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button.btn-confirm {
     1121  color: #fff;
     1122  outline: none;
     1123  border: 1px solid #e77c5c;
     1124  background-color: #e77c5c;
     1125}
     1126body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button.btn-cancel {
     1127  color: #777777;
     1128  outline: none;
     1129  background: #F8F8F8;
     1130  border: 1px solid #CCCCCC;
     1131}
     1132body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button, body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button.btn-default {
     1133  color: #666;
     1134}
     1135body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button.btn-hide {
     1136  display: none;
     1137}
     1138body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button.btn-block {
     1139  display: block;
     1140  text-align: center;
     1141  width: 100%;
     1142  margin: 0 0 10px 0 !important;
     1143}
     1144body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button.btn-normal-case {
     1145  text-transform: none !important;
     1146}
     1147body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.jconfirm-type-orange {
     1148  border-color: #e77c5c;
     1149}
     1150body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.jconfirm-type-orange div.jconfirm-buttons button.btn-confirm {
     1151  background-color: #e77c5c;
     1152  border-color: #e77c5c;
     1153}
     1154body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.loading {
     1155  border-top-color: #fff !important;
     1156  height: 160px;
     1157}
     1158body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.loading .jconfirm-title-c {
     1159  display: block !important;
     1160  position: relative;
     1161  z-index: 4;
     1162}
     1163body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.loading .jconfirm-title-c .jconfirm-icon-c {
     1164  display: none;
     1165}
     1166body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.loading:before {
     1167  z-index: 2;
     1168}
     1169body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.loading:after {
     1170  content: "";
     1171  position: absolute;
     1172  left: 50%;
     1173  top: 68%;
     1174  margin-left: -20px;
     1175  height: 40px;
     1176  width: 40px;
     1177  border: solid 6px transparent;
     1178  border-bottom-color: #e77c5c;
     1179  opacity: 1;
     1180  z-index: 3;
     1181}
     1182body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal {
     1183  padding: 30px 30px 15px;
     1184  border-top: none;
     1185}
     1186body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal div.jconfirm-title-c {
     1187  margin: 0 0 26px 0;
     1188  padding: 0;
     1189}
     1190body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal div.jconfirm-title-c .jconfirm-icon-c {
     1191  margin-bottom: 20px;
     1192  color: #c4c4c4 !important;
     1193}
     1194body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal div.jconfirm-title-c .jconfirm-icon-c svg {
     1195  height: 35px;
     1196}
     1197body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal div.jconfirm-content-pane {
     1198  margin-bottom: 25px;
     1199}
     1200body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal div.jconfirm-buttons button.btn-confirm {
     1201  background-color: #e77c5c;
     1202  border-color: #e77c5c;
     1203}
     1204body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal .discount-note {
     1205  text-align: center;
     1206  margin: 45px 0 0;
     1207}
     1208body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal .discount-note p {
     1209  background-color: #fcf9e8;
     1210  margin: 0 -30px;
     1211  padding: 24px 60px 20px;
     1212  font-size: 15px;
     1213  color: #4d4d4d;
     1214  position: relative;
     1215}
     1216body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal .discount-note p:after {
     1217  content: url(../images/font-awesome/check-circle-solid-green.svg);
     1218  width: 40px;
     1219  height: 40px;
     1220  background-color: #fff;
     1221  border-radius: 50%;
     1222  padding: 5px 6px;
     1223  position: absolute;
     1224  top: -20px;
     1225  right: 50%;
     1226  margin-right: -18px;
     1227}
     1228body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal .discount-note span {
     1229  font-weight: 600;
     1230  color: #00A32A;
     1231}
     1232body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal .discount-note a {
     1233  color: #aaa;
     1234  display: block;
     1235  margin-top: 12px;
     1236}
     1237/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9nZW5lcmFsLnNjc3MiLCJfaW5jbHVkZS1tZWRpYS5zY3NzIiwid3AtbWFpbC1sb2dnaW5nLWFkbWluLnNjc3MiLCJfY29sb3JzLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJ3cC1tYWlsLWxvZ2dpbmctcHJvZHVjdC1lZHVjYXRpb24uc2NzcyIsIl9jb25maXJtLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSTtFQUNBOztBQzRpQkg7RUQ5aUJEO0lBS1E7Ozs7QUN5aUJQO0VEcmlCRDtJQUVROzs7O0FFUFI7RUFDSSxPQ0ZlO0VER2Y7O0FBSUk7RUFDSSxhRUpJOztBRlFaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQU1KO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUtaO0VBQ0k7O0FBR0o7RUFDSTs7QUFFQTtBQUFBO0FBQUE7RUFHSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBRDJjWDtFQy9jTztJQU9ROzs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTs7QUFHSTtBQUFBO0VBRUk7O0FBSVI7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBTUo7RUFDSTtFQUNBOztBQU9KO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQVVKO0VBQ0k7O0FBT0o7RUFDSTs7QUFTQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFNWjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFRSTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJLGtCQ2xPakI7O0FEb09pQjtFQUNJO0VBQ0E7RUFDQTs7QUFLSjtFQUVJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFFSTs7QUFLQTtFQUNJOztBQU1KO0VBQ0k7RUFDQTs7QUFLWjtBQUFBO0VBRUk7RUFDQSxhRS9SUjtFRmdTUSxPQ3JTUDtFRHNTTzs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBTWhCO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBRUE7RUFDSTtFQUNBLGFFdFZSO0VGdVZRO0VBQ0E7O0FBR0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FBS1o7RUFDSTs7QUFFQTtFQUNJOztBQU1KO0FBQUE7RUFFSTs7QUFLSjtFQUNJLGFFdlhSOztBRjZYSjtFQUNJLE9DcFlEO0VEcVlDO0VBQ0EsYUVoWUE7RUZpWUE7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0ksT0NoWkQ7RURpWkM7RUFDQTtFQUNBOztBQUdKO0VBQ0ksT0N2WkQ7RUR3WkM7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQSxPQ25hSDs7QURxYUc7RUFDSTs7QUFLWjtFQUNJOztBQUdJO0VBQ0k7RUFDQTs7QUFPSjtFQUNJO0VBQ0E7O0FBSUE7RUFDSTs7QUFFSjtFQUNJOztBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFSSxPQ3hjekI7O0FEMGN5QjtFQUNJOztBQVc1QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQzdkSDtFRDhkRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURpRWY7RUNqRlc7QUFBQTtBQUFBO0FBQUE7QUFBQTtJQW1CUTs7O0FEOERuQjtFQ2pGVztBQUFBO0FBQUE7QUFBQTtBQUFBO0lBdUJRO0lBQ0E7SUFDQTs7RUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBQ0k7OztBQUlSO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7O0FBTUo7QUFBQTtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FES1g7RUNUTztJQU9RO0lBQ0E7SUFDQTs7O0FBR0o7RUFDSSxPQ3hpQkg7RUR5aUJHO0VBQ0EsYUU3aUJBOztBRmtqQlI7RUFDSTtFQUNBO0VBQ0E7O0FEZFg7RUNXTztJQU1ROzs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUtaO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0ksbUJDNWxCTDs7QUQrbEJDO0VBQ0k7O0FBR0o7RUFDSSxtQkNubUJMOztBRHNtQkM7RUFDSTs7QUFJUjtBQUFBO0VBRUk7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJLGtCQ3hxQkw7O0FEMHFCSztFQUNJO0VBQ0E7RUFDQTs7QUFNSjtFQUNJOztBQU1KO0VBQ0k7RUFDQTs7QUFLSjtFQUVJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFTWjtFQUVJOztBQUVBO0VBQ0k7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7QUQ5TGY7RUMwTFc7QUFBQTtJQU9ROzs7QUFJUjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUR0TzNCO0VDNk9PO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7OztBQU1oQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUR2UlA7RUNtUkc7SUFPUTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QURwU1g7RUNtU087SUFJUTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFFdjFCSTtFRncxQko7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FEelVYO0VDbVVPO0lBU1E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQSxhRXY1QlE7RUZ3NUJSOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUdJLGtCQ3A2QkU7RURxNkJGO0VBQ0E7O0FBR0o7RUFDSTs7O0FBTVo7QUFFSTs7QUFDQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOzs7QUR6Wlg7RUNnYUE7SUFFRTs7O0FBSUM7RUFDSTtFQUNBOztBQUVBO0VBQ0ksYUVsOUJJOzs7QUYwOUJaO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOzs7QUdwK0JSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBS1o7RUFDSTs7QUFFQTtFQUNJLGFEdkNJOztBQzJDSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUtaO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFNaEI7RUFDSTtFQUNBO0VBQ0EsYUQzRVE7RUM0RVI7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUtBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTtFQUNBO0FBRUE7O0FBQ0E7RUFMSjtJQVVROzs7QUowYVA7RUlwYkQ7SUFjUTs7O0FKc2FQO0VJcGJEO0lBa0JRO0lBQ0E7SUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBLGFEdkxBOztBQzBMSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQU9wQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYURwTlE7RUNxTlI7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7O0FDNU5KO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBRUk7O0FBSVI7RUFDSTtFQUNBLE9BM0RMO0VBNERLO0VBQ0E7O0FBSVI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0EsT0E3RUQ7RUE4RUM7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUtaO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBLGtCQWxKZjs7QUFxSlc7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUVJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUtaO0VBQ0ksY0FsTEQ7O0FBb0xDO0VBQ0ksa0JBckxMO0VBc0xLLGNBdExMOztBQTBMSDtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHFCQXROWDtFQXVOVztFQUNBOztBQUtaO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBS1o7RUFDSTs7QUFHSjtFQUNJLGtCQXBQUDtFQXFQTyxjQXJQUDs7QUF3UEc7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBLE9BbFJUOztBQXFSSztFQUNJO0VBQ0E7RUFDQSIsImZpbGUiOiJhc3NldHMvY3NzL3dwLW1haWwtbG9nZ2luZy1hZG1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3JlIGFkbWluIHN0eWxlIG92ZXJyaWRlcy5cbiN3cGNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1waG9uZVwiKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0NnB4O1xuICAgIH1cbn1cblxuI3dwYm9keSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PXBob25lXCIpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgICAgICAgICAgaHR0cDovL2luY2x1ZGUtbWVkaWEuY29tXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuXG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcblx0QGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcblx0QHdhcm4gJG1lc3NhZ2U7XG5cdCRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG5cdEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG5cdEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG5cdCAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcblx0ICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcblx0ICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cblx0ICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3Jcblx0XHQgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuXHRcdEByZXR1cm4gZmFsc2U7XG5cdCAgfVxuXHR9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcblx0ICBAcmV0dXJuIGZhbHNlO1xuXHR9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcblx0QGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG5cdCAgQHJldHVybiAkb3BlcmF0b3I7XG5cdH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuXHQkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG5cdCR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuXHQkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG5cdC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cblx0Ly8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2Vcblx0Ly8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG5cdC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG5cdC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cblx0JF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuXHQkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcblx0JHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG5cdEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuXHRAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuXHQkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuXHRAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuXHQkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG5cdCR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG5cdCRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cblx0QGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuXHQgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG5cdH1cblxuXHRAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuXHQgICRkaWdpdHM6IDE7XG5cdH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcblx0ICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcblx0fSBAZWxzZSB7XG5cdCAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuXHQgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG5cdH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcblx0JF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuXHQgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG5cdEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcblx0QG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuXHQgIC8vIFJlY3Vyc2l2ZSBjYWxsXG5cdCAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdCAgfVxuXHR9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJpbmNsdWRlLW1lZGlhXCI7XG5AaW1wb3J0IFwiY29sb3JzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiZ2VuZXJhbFwiO1xuXG4jd3AtbWFpbC1sb2dnaW5nIHtcbiAgICBjb2xvcjogJGRlc2NyaXB0aW9uLXRleHQ7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgLnN1YnN1YnN1YiB7XG5cbiAgICAgICAgYS5jdXJyZW50IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVkaXVtLXdlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICN3cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1kYi11cGdyYWRlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MzYzRjNztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZTc3YzVjO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBpbml0aWFsO1xuICAgICAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3dwLW1haWwtbG9nZ2luZy1idG4tZGItdXBncmFkZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDE2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3dwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRhYi1mb3JtIHtcblxuICAgICAgICAjd3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdGFiLXJvdy1sb2ctcm90YXRpb24tbGltaXQtYW1vdXQta2VlcCwgI3dwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRhYi1yb3ctbG9nLXJvdGF0aW9uLWRlbGV0ZS10aW1lLWRheXMge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjd3AtbWFpbC1sb2dnaW5nLXNldHRpbmdzLWJvdHRvbSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU0ZTQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgI3dwLW1haWwtbG9nZ2luZy1zZXR0aW5ncy1yZXNldC1saW5rIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogIzIyNzFCMTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMxMzVlOTY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3AtbWFpbC1sb2dnaW5nLWhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC53cC1tYWlsLWxvZ2dpbmctcGFnZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgICN3cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1yb3ctaGVhZGluZy1nZW5lcmFsLXNldHRpbmdzIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0dGluZyByb3dzLCBlZyBmaWVsZCByb3cuXG4gICAgICAgIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1yb3cge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU0ZTQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMzBweCAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaW5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1taWQtcm93LXNlcCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2U0ZTRlNDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNlY3Rpb24gaGVhZGluZy5cbiAgICAgICAgICAgICYuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMjBweCAwO1xuXG4gICAgICAgICAgICAgICAgJi5uby1kZXNjIHtcbiAgICAgICAgICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1maWVsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDA1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBJbnB1dCBzZXR0aW5ncyBmaWVsZC5cbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93LWlucHV0IHtcbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDaGVja2JveCBzZXR0aW5ncyBmaWVsZC5cbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93LWNoZWNrYm94IHtcblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMXB4IDAgMCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDhweDtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAzMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWwgKyAuZGVzYyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogOHB4IDAgMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVGV4dCBiYXNlZCBzZXR0aW5ncyBmaWVsZC5cbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93LXRleHQsXG4gICAgICAgICAgICAmLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXJvdy1wYXNzd29yZCxcbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93LW51bWJlcixcbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93LWVtYWlsIHtcblxuICAgICAgICAgICAgICAgIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWxlY3Qgc2V0dGluZ3MgZmllbGQuXG4gICAgICAgICAgICAmLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXJvdy1zZWxlY3Qge1xuXG4gICAgICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJhZGlvIHNldHRpbmdzIGZpZWxkLlxuICAgICAgICAgICAgJi53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1yb3ctcmFkaW8ge1xuXG4gICAgICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLWZpZWxkIHtcblxuICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IC0zcHggMTBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1yb3ctbm8tYm9yZGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXJvdy1uby1wYWRkaW5nIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBSYWRpbyBzZXR0aW5ncyBmaWVsZC5cbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93LWNoZWNrYm94LXRvZ2dsZSB7XG5cbiAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctZmllbGQge1xuXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpjaGVja2VkICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwb3NpdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Y2hlY2tlZDpob3ZlciArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtc3dpdGNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bm90KDpjaGVja2VkKTpob3ZlciArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6Y2hlY2tlZCk6aG92ZXIgKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLXN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Y2hlY2tlZCArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkcG9zaXRpdmUsIDI1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpjaGVja2VkICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2ggKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLWNoZWNrZWQtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpjaGVja2VkICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2ggKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLWNoZWNrZWQtbGFiZWwgKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLXVuY2hlY2tlZC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpkaXNhYmxlZCArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtc3dpdGNoICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1jaGVja2VkLWxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpkaXNhYmxlZCArIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtc3dpdGNoICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS11bmNoZWNrZWQtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCM0NDQsIDQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpjaGVja2VkOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1zd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgM3B4ICMyZTg3NmE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6Y2hlY2tlZCk6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6Y2hlY2tlZCk6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLXN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YzhmOTQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAzcHggIzk5OTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLXVuY2hlY2tlZC1sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1jaGVja2VkLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS10ZXh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS1jaGVja2VkLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlLXN3aXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzNjNGM3O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246ICAgIGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246ICAgICBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICAgICAgICAgYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAtMXB4IDVweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246ICAgIGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiAgICAgYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogICAgICAgICBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1yb3ctYWxlcnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuXG4gICAgICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXJvdyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtZWRpdW0td2VpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubm90aWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNi41cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgICYgKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctcm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctZmllbGQge1xuXG4gICAgICAgICAgICAgICAgICAgIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy10b2dnbGUtY2hlY2tlZC1sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZS11bmNoZWNrZWQtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEdlbmVyYWwgZWxlbWVudHMuXG4gICAgICAgICAgICBoMiwgaDQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdGV4dDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdGV4dDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTJweCAwIDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgJi5kZXNjIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktdGV4dDtcblxuICAgICAgICAgICAgICAgICAgICAmICsgLmRlc2Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA4cHggMCAwO1xuXG4gICAgICAgICAgICAgICAgJi5saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgICAgICAmLmFjdGlvbnMtbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIHRkLCB0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggNXB4IDVweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYuZW1haWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYuc3RhdHVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmW2NsYXNzKj1kZWxldGVdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmW2NsYXNzKj1lcnJvcl0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuZWdhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oICRuZWdhdGl2ZSwgMjAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGb3JtIGVsZW1lbnRzLlxuICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSxcbiAgICAgICAgICAgIGlucHV0W3R5cGU9ZW1haWxdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1udW1iZXJdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZpZWxkLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZpZWxkLXRleHQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAgICAgICAgICAgICAmIH4gYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbcmVhZG9ubHldIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNtYWxsLXRleHQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAxNkFBQjtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMwMTZBQUI7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDE2QUFCO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzAxNkFBQjtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTVRNaUlHaGxhV2RvZEQwaU55SWdkbWxsZDBKdmVEMGlNQ0F3SURFeklEY2lJR1pwYkd3OUlpTTRaRGhtT1RVaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK0NqeHdZWFJvSUdROUlrMHhNeUF3TGprNU9ESTRNVU14TXlBd0xqa3dNakEyTWlBeE1pNDVOVEU1SURBdU56a3pPREUwSURFeUxqZzNPVGNnTUM0M01qRTJORGxNTVRJdU1qYzROQ0F3TGpFeU1ESTNORU14TWk0eU1EWXlJREF1TURRNE1UQTVPQ0F4TWk0d09UZ2dNQ0F4TWk0d01ERTNJREJETVRFdU9UQTFOU0F3SURFeExqYzVOek1nTUM0d05EZ3hNRGs0SURFeExqY3lOVEVnTUM0eE1qQXlOelJNTmk0NU9UZ3pJRFF1T0RRM01EaE1NaTR5TnpFMUlEQXVNVEl3TWpjMFF6SXVNVGs1TXpNZ01DNHdORGd4TURrNElESXVNRGt4TURnZ01DQXhMams1TkRnMklEQkRNUzQ0T0RZMk1pQXdJREV1Tnprd05DQXdMakEwT0RFd09UZ2dNUzQzTVRneU15QXdMakV5TURJM05Fd3hMakV4TmpnMklEQXVOekl4TmpRNVF6RXVNRFEwTmprZ01DNDNPVE00TVRRZ01DNDVPVFkxT0RJZ01DNDVNREl3TmpJZ01DNDVPVFkxT0RJZ01DNDVPVGd5T0RGRE1DNDVPVFkxT0RJZ01TNHdPVFExSURFdU1EUTBOamtnTVM0eU1ESTNOU0F4TGpFeE5qZzJJREV1TWpjME9URk1OaTQzTWpFMk55QTJMamczT1RjeVF6WXVOemt6T0RNZ05pNDVOVEU0T1NBMkxqa3dNakE0SURjZ05pNDVPVGd6SURkRE55NHdPVFExTWlBM0lEY3VNakF5TnpjZ05pNDVOVEU0T1NBM0xqSTNORGt6SURZdU9EYzVOekpNTVRJdU9EYzVOeUF4TGpJM05Ea3hRekV5TGprMU1Ua2dNUzR5TURJM05TQXhNeUF4TGpBNU5EVWdNVE1nTUM0NU9UZ3lPREZhSWlCbWFXeHNQU0lqT0dRNFpqazFJaTgrQ2p3dmMzWm5QZ289XCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEycHggY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSb3cgbGFiZWwgKGxlZnQpLlxuICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAyMDVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxhYmVsLXRleHQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtZWRpdW0td2VpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUm93IGZpZWxkIChyaWdodCkuXG4gICAgICAgIC53cC1tYWlsLWxvZ2dpbmctc2V0dGluZy1maWVsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMjA1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaHIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctZmllbGQtcm93IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgICAgICYgPiAud3AtbWFpbC1zbXRwLWJ0biB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAud3AtbWFpbC1sb2dnaW5nLXN1Ym1pdCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XG5cbiAgICAgICAgICAgIC5oZWxwLXRleHQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubm90aWNlLWlubGluZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IDAgcmdiYSggMCwgMCwgMCwgMC4xICk7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcHggMTJweDtcblxuICAgICAgICAgICAgJi5ub3RpY2Utc3VjY2VzcyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3NpdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5ub3RpY2Utd2FybmluZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmI5MDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubm90aWNlLWVycm9yIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJG5lZ2F0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm5vdGljZS1pbmZvIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwYTBkMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ub3RpY2UgcCxcbiAgICAgICAgLm5vdGljZS1pbmxpbmUgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAgIH1cblxuICAgICAgICBwcmUge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICZfX3N3aXRjaCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAtMXB4IDAgMCAwO1xuICAgICAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgJjpjaGVja2VkICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZV9fc3dpdGNoIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9zaXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2cHgpO1xuICAgICAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2cHgpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmNoZWNrZWQ6aG92ZXIsXG4gICAgICAgICAgICAmOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgICAgICAgICAgICYgKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlX19zd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgM3B4ICMwMGEzMmE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCg6Y2hlY2tlZCk6aG92ZXIsXG4gICAgICAgICAgICAmOm5vdCg6Y2hlY2tlZCk6Zm9jdXMge1xuICAgICAgICAgICAgICAgICYgKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlX19zd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgM3B4ICM5OTk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICAmOmNoZWNrZWQ6aG92ZXIgKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlX19zd2l0Y2gsXG4gICAgICAgICAgICAgICAgJjpub3QoOmNoZWNrZWQpOmhvdmVyICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZV9fc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm5vdCg6Y2hlY2tlZCk6aG92ZXIgKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlX19zd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgKyAud3AtbWFpbC1sb2dnaW5nLXNldHRpbmctdG9nZ2xlX19zd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpjaGVja2VkICsgLndwLW1haWwtbG9nZ2luZy1zZXR0aW5nLXRvZ2dsZV9fc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigjMDBhMzJhLCAyNSk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbWFpbCBMb2dzLlxuICAgICNlbWFpbC1saXN0IHtcblxuICAgICAgICB0YWJsZS5lbWFpbHMge1xuXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAgICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbHVtbi1jYixcbiAgICAgICAgICAgIC5jaGVjay1jb2x1bW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9cGhvbmVcIikge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMCAzcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aCN0aW1lc3RhbXAsIHRoI2FjdGlvbnMsIHRkLmNvbHVtbi10aW1lc3RhbXAsIHRkLmNvbHVtbi1hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQuY29sdW1uLWFjdGlvbnMge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgICAgICAud3AtbWFpbC1sb2dnaW5nLWFjdGlvbi1jb2x1bW4ge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICAgICAgICAgIC53cC1tYWlsLWxvZ2dpbmctYWN0aW9uLWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NDRDBENDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjOEM4Rjk0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2M0MzRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjM2M0MzRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAuc2VhcmNoLWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9cGhvbmVcIikge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgICAgICAgIHNlbGVjdCwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jd3AtbWFpbC1sb2dnaW5nLXBhZ2UtaGVhZGVyLXRlbXAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMXB4O1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogOTk7XG59XG5cbiN3cC1tYWlsLWxvZ2dpbmctcGFnZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC53cC1tYWlsLWxvZ2dpbmctcGFnZS10aXRsZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcGFkZGluZzogNHB4IDIwcHggMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9cGhvbmVcIikge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53cC1tYWlsLWxvZ2dpbmctbG9nby1pbWFnZSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAud3AtbWFpbC1sb2dnaW5nLWxvZ28tc2VwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9cGhvbmVcIikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhLnRhYiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogIzc4N0M4MjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVkaXVtLXdlaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAxOHB4IDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNFNzdDNUM7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMyQzMzMzg7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRTc3QzVDO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYTdhYWFkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYS5hY3Rpb24ge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbWFyZ2luOiAxNHB4IDAgMTRweCAxMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXBob25lXCIpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBCdXR0b25zLlxuLndwLW1haWwtbG9nZ2luZy1idG4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICAmLndwLW1haWwtbG9nZ2luZy1idG4tbGcge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVkaXVtLXdlaWdodDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIH1cblxuICAgICYud3AtbWFpbC1sb2dnaW5nLWJ0bi1vcmFuZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTc3QzVDO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLWRhcms7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDNweCAkb3JhbmdlLWRhcms7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIExpZ2h0Ym94LlxuLndwLW1haWwtbG9nZ2luZy1hZG1pbi1wYWdlIHtcblxuICAgIC8qIExpZ2h0Ym94IGxpYnJhcnkgZ2xvYmFsIHN0eWxlcy4gKi9cbiAgICAubGl0eSB7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTk5OTtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG5cbiAgICAubGl0eS1jbG9zZSB7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICB9XG5cbiAgICAubGl0eS1jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MHZ3O1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwdncgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndwLW1haWwtbG9nZ2luZy1hZG1pbi1wYWdlIHtcblxuXHRwLnNlYXJjaC1ib3gge1xuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuXHRcdFx0d2lkdGg6IDgwJTtcblx0XHR9XG5cdH1cblxuICAgICN3cGZvb3RlciBwIHtcbiAgICAgICAgY29sb3I6ICM1MDU3NUU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVkaXVtLXdlaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gVXRpbGl0eS5cbi53cC1tYWlsLWxvZ2dpbmctY2xlYXJmaXgge1xuXG4gICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuQGltcG9ydCBcIndwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvblwiO1xuQGltcG9ydCBcImNvbmZpcm1cIjtcbiIsIi8vIENvbG9yIHN0eWxlc1xuXG4kcHJpbWFyeS10ZXh0OiAjMUQyMzI3O1xuJHNlY29uZGFyeS10ZXh0OiAjNjQ2OTcwO1xuJGRlc2NyaXB0aW9uLXRleHQ6ICMzQzQzNEE7XG4kb3JhbmdlOiAjRTI3NzMwO1xuJG9yYW5nZS1kYXJrOiAjY2I1ODM2O1xuJHBvc2l0aXZlOiAjMzhhMTdlO1xuJG5lZ2F0aXZlOiAjRDYzNjM4O1xuJGZpZWxkLWJvcmRlcjogIzhiOGY5MztcbiRmaWVsZC10ZXh0OiAjMkMzMzM4O1xuJGxhYmVsLXRleHQ6ICMxRTIzMjc7XG4kbGluazogIzIxNzFCMTtcbiRsaW5rLWhvdmVyOiAjMTM1ZTk2O1xuIiwiJGJyZWFrcG9pbnRzOiAoXG4gICAgJ3hzLXBob25lJzogMzIwcHgsXG4gICAgJ3Bob25lJzogNjAwcHgsXG4gICAgJ2lwYWQnOiA3NjhweCxcbiAgICAndGFibGV0JzogNzgycHgsXG4gICAgJ2Rlc2t0b3AnOiA5NjBweFxuKTtcblxuJG1lZGl1bS13ZWlnaHQ6IDYwMDtcbiIsIkBpbXBvcnQgXCJpbmNsdWRlLW1lZGlhXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbi8vIFByb2R1Y3QgRWR1Y2F0aW9uLlxuLndwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgY29sb3I6ICM1MDU3NUU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICB1bCB7XG4gICAgICAgIGNvbG9yOiAjNjQ2OTcwO1xuICAgIH1cblxuICAgICYtZGlzbWlzcyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMTVweDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjYTdhYWFkO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNkNjM2Mzg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kYXNoaWNvbnMsIC5kYXNoaWNvbnMtYmVmb3JlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLWVkdWNhdGlvbi1idG4ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCAxMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNjQ2OTcwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRTc3QzVDO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjY2I1ODM2O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICMzQzQzNEE7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtZWRpdW0td2VpZ2h0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuI3dwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbi1lbWFpbC1sb2dzLXRvcCB7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgIC53cC1tYWlsLWxvZ2dpbmctcHJvZHVjdC1lZHVjYXRpb24tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6ICMyMjIyMjI7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNjQ2OTcwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2IHtcblxuICAgICAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYS53cC1tYWlsLWxvZ2dpbmctZWR1Y2F0aW9uLWJ0biB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3dwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbi1lbWFpbC1sb2dzLWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRiB1cmwoXCIuLi9pbWFnZXMvcGxhbmUtYmcucG5nXCIpIG5vLXJlcGVhdCByaWdodCBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MDFweCAxMTlweDtcblxuICAgIC8qIEAyeCBJbWFnZXMgKFBpeGVsIFJhdGlvIG9mIDEuMjUrKSAqL1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDUvNCksXG4gICAgICAgICAgIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjI1KSxcbiAgICAgICAgICAgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjI1KSxcbiAgICAgICAgICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMS4yNWRwcHgpIHtcblxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGxhbmUtYmdAMngucG5nXCIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1waG9uZVwiKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+cGhvbmVcIiwgXCI8PXRhYmxldFwiKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAud3AtbWFpbC1sb2dnaW5nLXByb2R1Y3QtZWR1Y2F0aW9uLWltYWdlcy1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogMjVweDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICAgICAgJi1pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzcwcHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkICNEQ0RDREU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDY4LCA2OCwgNjgsIC4xNSkgdXJsKCcuLi9pbWFnZXMvem9vbS5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjM0M0MzRBO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9hcnJvdy1yaWdodC1wbGFpbi1pY29uLnN2ZycpIG5vLXJlcGVhdCBsZWZ0IDNweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3AtbWFpbC1sb2dnaW5nLWVkdWNhdGlvbi1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRTc3QzVDO1xuICAgICAgICBib3JkZXItY29sb3I6ICNFNzdDNUM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2I1ODM2O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2I1ODM2O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgM3B4ICNjYjU4MzY7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIkcHJpbWFyeS10ZXh0OiAjMjIyMjIyO1xuJG9yYW5nZTogI2U3N2M1YztcbiRtb2RhbC1vcmFuZ2U6ICNlNzdjNWM7XG4kcG9zaXRpdmU6ICMwMEEzMkE7XG5cbi8vIFN0eWxpbmcgdHdlYWtzIGZvciBqUXVlcnktY29uZmlybSBKUyBhbGVydCBsaWJyYXJ5LlxuYm9keS53cC1tYWlsLWxvZ2dpbmctYWRtaW4tcGFnZSB7XG5cbiAgICBkaXYuamNvbmZpcm0ge1xuXG4gICAgICAgICosXG4gICAgICAgICo6OmJlZm9yZSxcbiAgICAgICAgKjo6YWZ0ZXIge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5qY29uZmlybS1iZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExNCwgMTE5LCAxMjQsIDAuNzUpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5qY29uZmlybS1ib3gge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xuXG4gICAgICAgICAgICBkaXYuamNvbmZpcm0tY2xvc2VJY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA4cHg7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44MCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXYuamNvbmZpcm0tdGl0bGUtYyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAuamNvbmZpcm0taWNvbi1jIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgICY6ZW1wdHksXG4gICAgICAgICAgICAgICAgICAgIGk6ZW1wdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5qY29uZmlybS10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdGV4dDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGl2Lmpjb25maXJtLWNvbnRlbnQtcGFuZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICAgICAgICAgIC5qY29uZmlybS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXYuamNvbmZpcm0tY29udGVudCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYubGFyZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAud3AtbWFpbC1zbXRwLWRlYnVnLWV2ZW50LXByZXZpZXcgcCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAud3AtbWFpbC1zbXRwLWJ0biB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMXM7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjFzO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgICAgICAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgICAgICAgICAgICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJi53aXRoLWxvYWRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDEycHggN3B4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXYuamNvbmZpcm0tYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnM7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxMDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmJ0bi1jb25maXJtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5idG4tY2FuY2VsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgICAgICAgJi5idG4tZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuYnRuLWhpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuYnRuLWJsb2NrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuYnRuLW5vcm1hbC1jYXNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuamNvbmZpcm0tdHlwZS1vcmFuZ2Uge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1vZGFsLW9yYW5nZTtcblxuICAgICAgICAgICAgICAgIGRpdi5qY29uZmlybS1idXR0b25zIGJ1dHRvbi5idG4tY29uZmlybSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1vcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1vZGFsLW9yYW5nZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubG9hZGluZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTYwcHg7XG5cbiAgICAgICAgICAgICAgICAuamNvbmZpcm0tdGl0bGUtYyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogNDtcblxuICAgICAgICAgICAgICAgICAgICAuamNvbmZpcm0taWNvbi1jIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA2OCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCA2cHggdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmpjb25maXJtLWJveC53cC1tYWlsLXNtdHAtdXBncmFkZS1tYWlsZXItZWR1Y2F0aW9uLW1vZGFsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMzBweCAxNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcblxuICAgICAgICAgICAgZGl2Lmpjb25maXJtLXRpdGxlLWMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDI2cHggMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgLmpjb25maXJtLWljb24tYyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYzRjNGM0ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGl2Lmpjb25maXJtLWNvbnRlbnQtcGFuZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGl2Lmpjb25maXJtLWJ1dHRvbnMgYnV0dG9uLmJ0bi1jb25maXJtIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRpc2NvdW50LW5vdGUge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDQ1cHggMCAwO1xuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2Y5ZTg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtMzBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjRweCA2MHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM0ZDRkNGQ7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybCguLi9pbWFnZXMvZm9udC1hd2Vzb21lL2NoZWNrLWNpcmNsZS1zb2xpZC1ncmVlbi5zdmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMThweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBvc2l0aXZlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2FhYTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19 */
  • wp-mail-logging/trunk/assets/css/wp-mail-logging-admin.min.css

    r2880502 r2929157  
    1 #wpcontent{padding-left:0 !important;position:relative}@media(max-width: 600px){#wpcontent{padding-top:46px}}@media(max-width: 600px){#wpbody{padding-top:0}}#wp-mail-logging{color:#3c434a;margin:0}#wp-mail-logging .subsubsub a.current{font-weight:600}#wp-mail-logging #wp-mail-logging-setting-tab-form #wp-mail-logging-setting-tab-row-log-rotation-limit-amout-keep,#wp-mail-logging #wp-mail-logging-setting-tab-form #wp-mail-logging-setting-tab-row-log-rotation-delete-time-days{padding-top:0}#wp-mail-logging #wp-mail-logging-setting-tab-form #wp-mail-logging-settings-bottom{align-items:center;border-top:1px solid #e4e4e4;display:flex;justify-content:space-between;margin-top:15px;padding-top:30px}#wp-mail-logging #wp-mail-logging-setting-tab-form #wp-mail-logging-settings-reset-link{background:none;border:none;color:#2271b1;cursor:pointer;font-size:14px;font-weight:400;line-height:35px;margin:0;outline:0;text-decoration:underline}#wp-mail-logging #wp-mail-logging-setting-tab-form #wp-mail-logging-settings-reset-link:hover{color:#135e96}#wp-mail-logging .wp-mail-logging-hide{display:none}#wp-mail-logging .wp-mail-logging-page-content{padding:0 20px}#wp-mail-logging .wp-mail-logging-page-content *,#wp-mail-logging .wp-mail-logging-page-content *::before,#wp-mail-logging .wp-mail-logging-page-content *::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-mail-logging .wp-mail-logging-page-content #wp-mail-logging-setting-row-heading-general-settings{padding-top:10px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row{border-bottom:1px solid #e4e4e4;padding:15px 0 30px 0;font-size:14px;line-height:1.3}@media(max-width: 781px){#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row{padding:20px 0}}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.inactive{display:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row .wp-mail-logging-setting-mid-row-sep{background:#e4e4e4;height:1px;border:0;margin:15px 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.section-heading{padding:30px 0 20px 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.section-heading.no-desc h2,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.section-heading.no-desc h4{margin:0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.section-heading .wp-mail-logging-setting-field{margin:0;max-width:1005px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.section-heading .desc{font-style:normal}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-input input{max-width:80px;padding:8px 12px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox input[type=checkbox]{float:left;margin:1px 0 0 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox input[type=checkbox]+label{margin:0 0 0 8px;vertical-align:baseline}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox .desc{margin:0 0 0 30px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox input[type=checkbox]+label+.desc{margin:8px 0 0 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-text .wp-mail-logging-setting-label,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-password .wp-mail-logging-setting-label,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-number .wp-mail-logging-setting-label,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-email .wp-mail-logging-setting-label{padding-top:8px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-select .wp-mail-logging-setting-label{padding-top:8px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-radio .wp-mail-logging-setting-field input[type=radio]{margin:-3px 10px 0 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-radio .wp-mail-logging-setting-field label{margin-right:30px;display:inline-block}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-no-border{border-bottom:none;padding-bottom:15px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-no-padding{padding:0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field label{vertical-align:middle;display:inline-block}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]{position:absolute;top:auto;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;white-space:nowrap}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:checked+.wp-mail-logging-setting-toggle-switch{background-color:#38a17e}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:checked+.wp-mail-logging-setting-toggle-switch:before{-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px)}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled:checked:hover+.wp-mail-logging-setting-toggle-switch,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled:not(:checked):hover+.wp-mail-logging-setting-toggle-switch{box-shadow:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled:not(:checked):hover+.wp-mail-logging-setting-toggle-switch{background-color:#ddd}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled+.wp-mail-logging-setting-toggle-switch{background-color:#ddd;cursor:default}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled:checked+.wp-mail-logging-setting-toggle-switch{background-color:#84d4ba;cursor:default}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:checked+.wp-mail-logging-setting-toggle-switch+.wp-mail-logging-setting-toggle-checked-label{display:inline-block}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:checked+.wp-mail-logging-setting-toggle-switch+.wp-mail-logging-setting-toggle-checked-label+.wp-mail-logging-setting-toggle-unchecked-label{display:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled+.wp-mail-logging-setting-toggle-switch+.wp-mail-logging-setting-toggle-checked-label,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled+.wp-mail-logging-setting-toggle-switch+.wp-mail-logging-setting-toggle-unchecked-label{color:#aaa}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:checked:hover+.wp-mail-logging-setting-toggle-switch,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:checked:focus+.wp-mail-logging-setting-toggle-switch{box-shadow:0 0 0 1px #fff,0 0 0 3px #2e876a}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:not(:checked):hover+.wp-mail-logging-setting-toggle-switch,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:not(:checked):focus+.wp-mail-logging-setting-toggle-switch{background-color:#8c8f94;box-shadow:0 0 0 1px #fff,0 0 0 3px #999}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-unchecked-label,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-checked-label{text-transform:uppercase;font-weight:600;color:#646970;font-size:12px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-checked-label{display:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-switch{position:relative;cursor:pointer;background-color:#c3c4c7;border-radius:15px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out;vertical-align:middle;display:inline-block;margin:-1px 5px 0 0;width:36px;height:20px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-switch:before{position:absolute;content:"";height:16px;width:16px;left:2px;top:2px;background-color:#fff;border-radius:50%;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert{padding-top:20px;padding-bottom:25px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .wp-mail-logging-setting-row{border:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .section-heading{margin-bottom:25px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .section-heading h3{margin-bottom:10px;font-weight:600;font-size:18px;line-height:22px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .section-heading .notice{margin-top:20px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .section-heading .notice p{margin:6.5px 0;font-size:13px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .wp-mail-logging-setting-row{padding:0 !important}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .wp-mail-logging-setting-row+.wp-mail-logging-setting-row{margin-top:20px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-checked-label,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-unchecked-label{text-transform:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .wp-mail-logging-setting-label label{font-weight:600}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row h2,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row h4{color:#1d2327;font-size:18px;font-weight:600;line-height:22px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row h2{margin-top:0;margin-bottom:10px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row h3{color:#1d2327;font-size:24px;font-weight:600;margin:0 0 20px 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row h5{color:#1d2327;font-size:16px;font-weight:600;margin:0 0 20px 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row p{margin:12px 0 0;font-size:14px;line-height:20px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row p.desc{margin:10px 0 0;color:#646970}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row p.desc+.desc{font-style:normal}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row ul{margin:8px 0 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row ul.list li{margin-left:20px;list-style-type:disc}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list th{padding:5px 5px 5px 0;text-align:left}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.email{padding-right:2em}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.status{width:100px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a{border-bottom:1px solid;display:inline-block;margin-right:5px;text-decoration:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=delete],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=error]{color:#d63638}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=delete]:hover,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=delete]:active,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=delete]:focus,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=error]:hover,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=error]:active,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=error]:focus{color:#8a1c1d}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select{background-color:#fff;border:1px solid #8b8f93;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0 10px 0 0;width:400px;min-height:35px;line-height:1.3}@media(max-width: 959px){#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select{width:300px}}@media(max-width: 599px){#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select{width:100%;max-width:unset;margin-right:0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text]~button,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email]~button,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number]~button,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password]~button,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select~button{margin-top:8px}}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text][readonly],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email][readonly],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number][readonly],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password][readonly],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select[readonly]{background-color:#f9f9f9}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text].small-text,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email].small-text,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number].small-text,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password].small-text,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select.small-text{width:75px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text]:focus,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email]:focus,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number]:focus,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password]:focus,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select:focus{border:1px solid #016aab;box-shadow:0 0 0 1px #016aab;outline:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text]:disabled,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email]:disabled,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number]:disabled,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password]:disabled,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select:disabled{opacity:.6}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=checkbox]:focus,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=radio]:focus{border:1px solid #016aab;box-shadow:0 0 0 1px #016aab;outline:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number]{width:80px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEzIDciIGZpbGw9IiM4ZDhmOTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMyAwLjk5ODI4MUMxMyAwLjkwMjA2MiAxMi45NTE5IDAuNzkzODE0IDEyLjg3OTcgMC43MjE2NDlMMTIuMjc4NCAwLjEyMDI3NEMxMi4yMDYyIDAuMDQ4MTA5OCAxMi4wOTggMCAxMi4wMDE3IDBDMTEuOTA1NSAwIDExLjc5NzMgMC4wNDgxMDk4IDExLjcyNTEgMC4xMjAyNzRMNi45OTgzIDQuODQ3MDhMMi4yNzE1IDAuMTIwMjc0QzIuMTk5MzMgMC4wNDgxMDk4IDIuMDkxMDggMCAxLjk5NDg2IDBDMS44ODY2MiAwIDEuNzkwNCAwLjA0ODEwOTggMS43MTgyMyAwLjEyMDI3NEwxLjExNjg2IDAuNzIxNjQ5QzEuMDQ0NjkgMC43OTM4MTQgMC45OTY1ODIgMC45MDIwNjIgMC45OTY1ODIgMC45OTgyODFDMC45OTY1ODIgMS4wOTQ1IDEuMDQ0NjkgMS4yMDI3NSAxLjExNjg2IDEuMjc0OTFMNi43MjE2NyA2Ljg3OTcyQzYuNzkzODMgNi45NTE4OSA2LjkwMjA4IDcgNi45OTgzIDdDNy4wOTQ1MiA3IDcuMjAyNzcgNi45NTE4OSA3LjI3NDkzIDYuODc5NzJMMTIuODc5NyAxLjI3NDkxQzEyLjk1MTkgMS4yMDI3NSAxMyAxLjA5NDUgMTMgMC45OTgyODFaIiBmaWxsPSIjOGQ4Zjk1Ii8+Cjwvc3ZnPgo=");background-position:right 12px center}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-label{display:block;float:left;width:205px;padding:0 20px 0 0}@media(max-width: 781px){#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-label{float:none;width:100%;padding-bottom:15px}}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-label label{color:#1e2327;display:block;font-weight:600}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-field{display:block;margin:0 0 0 205px;max-width:800px}@media(max-width: 781px){#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-field{margin:0}}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-field hr{margin:20px 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-field .wp-mail-logging-setting-field-row{display:flex;flex-wrap:wrap}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-field .wp-mail-logging-setting-field-row>.wp-mail-smtp-btn{margin-right:10px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-submit{margin:0;padding:25px 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-submit .help-text{margin-left:10px;vertical-align:middle}#wp-mail-logging .wp-mail-logging-page-content .notice-inline{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 0 15px;padding:1px 12px}#wp-mail-logging .wp-mail-logging-page-content .notice-inline.notice-success{border-left-color:#38a17e}#wp-mail-logging .wp-mail-logging-page-content .notice-inline.notice-warning{border-left-color:#ffb900}#wp-mail-logging .wp-mail-logging-page-content .notice-inline.notice-error{border-left-color:#d63638}#wp-mail-logging .wp-mail-logging-page-content .notice-inline.notice-info{border-left-color:#00a0d2}#wp-mail-logging .wp-mail-logging-page-content .notice p,#wp-mail-logging .wp-mail-logging-page-content .notice-inline p{margin:.5em 0;padding:2px}#wp-mail-logging .wp-mail-logging-page-content pre{white-space:pre-line}#wp-mail-logging .wp-mail-logging-page-content.active{display:block}#wp-mail-logging .wp-mail-logging-setting-toggle{vertical-align:middle;display:inline-block}#wp-mail-logging .wp-mail-logging-setting-toggle__switch{position:relative;cursor:pointer;background-color:#ccc;border-radius:15px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out;vertical-align:middle;display:inline-block;margin:-1px 0 0 0;width:36px;height:20px}#wp-mail-logging .wp-mail-logging-setting-toggle__switch:before{position:absolute;content:"";height:16px;width:16px;left:2px;top:2px;background-color:#fff;border-radius:50%;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]{position:absolute;top:auto;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;white-space:nowrap}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:checked+.wp-mail-logging-setting-toggle__switch{background-color:#38a17e}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:checked+.wp-mail-logging-setting-toggle__switch:before{-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px)}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:checked:hover+.wp-mail-logging-setting-toggle__switch,#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:checked:focus+.wp-mail-logging-setting-toggle__switch{box-shadow:0 0 0 1px #fff,0 0 0 3px #00a32a}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:not(:checked):hover+.wp-mail-logging-setting-toggle__switch,#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:not(:checked):focus+.wp-mail-logging-setting-toggle__switch{background-color:#999;box-shadow:0 0 0 1px #fff,0 0 0 3px #999}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:disabled:checked:hover+.wp-mail-logging-setting-toggle__switch,#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:disabled:not(:checked):hover+.wp-mail-logging-setting-toggle__switch{box-shadow:none}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:disabled:not(:checked):hover+.wp-mail-logging-setting-toggle__switch{background-color:#ddd}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:disabled+.wp-mail-logging-setting-toggle__switch{background-color:#ddd;cursor:default}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:disabled:checked+.wp-mail-logging-setting-toggle__switch{background-color:#24ff5c;cursor:default}#wp-mail-logging #email-list table.emails{border-radius:4px}#wp-mail-logging #email-list table.emails th,#wp-mail-logging #email-list table.emails td{vertical-align:middle}#wp-mail-logging #email-list table.emails .column-cb,#wp-mail-logging #email-list table.emails .check-column{padding:0;text-align:center;vertical-align:middle}@media(max-width: 600px){#wp-mail-logging #email-list table.emails .column-cb,#wp-mail-logging #email-list table.emails .check-column{padding:10px 0 0 3px}}#wp-mail-logging #email-list table.emails th#timestamp,#wp-mail-logging #email-list table.emails th#actions,#wp-mail-logging #email-list table.emails td.column-timestamp,#wp-mail-logging #email-list table.emails td.column-actions{width:200px;max-width:200px}#wp-mail-logging #email-list table.emails td.column-actions{text-align:right;vertical-align:middle}#wp-mail-logging #email-list table.emails td.column-actions .wp-mail-logging-action-column{align-items:center;display:flex;justify-content:flex-end}#wp-mail-logging #email-list table.emails td.column-actions .wp-mail-logging-action-column .wp-mail-logging-action-item{align-items:center;display:flex;background-color:#fff;border:1px solid #ccd0d4;border-radius:5px;color:#8c8f94;line-height:0;margin:0 4px;padding:5px}#wp-mail-logging #email-list table.emails td.column-actions .wp-mail-logging-action-column .wp-mail-logging-action-item img{width:16px;height:16px}#wp-mail-logging #email-list table.emails td.column-actions .wp-mail-logging-action-column .wp-mail-logging-action-item:hover,#wp-mail-logging #email-list table.emails td.column-actions .wp-mail-logging-action-column .wp-mail-logging-action-item:focus{border-color:#3c434a;color:#3c434a;cursor:pointer}@media(max-width: 600px){#wp-mail-logging #email-list p.search-box{width:inherit}}#wp-mail-logging-page-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}#wp-mail-logging-page-header{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.05);margin-bottom:20px}#wp-mail-logging-page-header .wp-mail-logging-page-title{align-items:center;display:flex;font-size:14px;padding:4px 20px 0}@media(max-width: 600px){#wp-mail-logging-page-header .wp-mail-logging-page-title{display:block;padding-top:20px}}#wp-mail-logging-page-header .wp-mail-logging-page-title .wp-mail-logging-logo-image{align-items:center;justify-content:center}#wp-mail-logging-page-header .wp-mail-logging-page-title .wp-mail-logging-logo-sep{margin:0 15px}@media(max-width: 600px){#wp-mail-logging-page-header .wp-mail-logging-page-title .wp-mail-logging-logo-sep{display:none}}#wp-mail-logging-page-header .wp-mail-logging-page-title a.tab{border-bottom:4px solid #fff;box-shadow:none;color:#787c82;display:inline-block;font-weight:600;margin-right:30px;padding:20px 0 18px 0;text-decoration:none}#wp-mail-logging-page-header .wp-mail-logging-page-title a.tab.active{border-color:#e77c5c;color:#2c3338}#wp-mail-logging-page-header .wp-mail-logging-page-title a.tab.active:hover{border-color:#e77c5c}#wp-mail-logging-page-header .wp-mail-logging-page-title a.tab:hover{border-color:#a7aaad}#wp-mail-logging-page-header .wp-mail-logging-page-title a.action{color:#fff;font-weight:600;margin:14px 0 14px 10px;line-height:28px;min-height:30px;vertical-align:top}@media(max-width: 600px){#wp-mail-logging-page-header .wp-mail-logging-page-title a.action{margin-left:0}}#wp-mail-logging-page-header .wp-mail-logging-page-title .page-title{background-color:#fff;display:inline-block;font-size:23px;margin:0;padding:20px 20px 20px 0}.wp-mail-logging-btn{border:0;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;text-shadow:none;box-shadow:none;outline:none}.wp-mail-logging-btn:disabled{opacity:.5;cursor:not-allowed}.wp-mail-logging-btn.wp-mail-logging-btn-lg{font-size:16px;font-weight:600;padding:12px 16px}.wp-mail-logging-btn.wp-mail-logging-btn-orange{background-color:#e77c5c;color:#fff}.wp-mail-logging-btn.wp-mail-logging-btn-orange:hover,.wp-mail-logging-btn.wp-mail-logging-btn-orange:active,.wp-mail-logging-btn.wp-mail-logging-btn-orange:focus{background-color:#cb5836;border:0;color:#fff}.wp-mail-logging-btn.wp-mail-logging-btn-orange:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #cb5836}.wp-mail-logging-admin-page .lity{z-index:999999999;padding:20px}.wp-mail-logging-admin-page .lity-close{margin:10px}.wp-mail-logging-admin-page .lity-content{max-width:80vw;max-height:80vh}.wp-mail-logging-admin-page .lity-content img{max-height:80vh !important;max-width:80vw !important}@media(max-width: 782px){.wp-mail-logging-admin-page p.search-box{width:80%}}.wp-mail-logging-admin-page #wpfooter p{color:#50575e;font-weight:400}.wp-mail-logging-admin-page #wpfooter p strong{font-weight:600}.wp-mail-logging-clearfix:after,.wp-mail-logging-clearfix:before{content:" ";display:table}.wp-mail-logging-clearfix:after{clear:both}.wp-mail-logging-product-education{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.05);border-radius:6px;color:#50575e;font-size:14px;font-weight:400;margin-top:20px;position:relative}.wp-mail-logging-product-education ul{color:#646970}.wp-mail-logging-product-education-dismiss{position:absolute;right:15px;top:15px}.wp-mail-logging-product-education-dismiss button{background:none;border:none;color:#a7aaad;cursor:pointer;margin:0;padding:0}.wp-mail-logging-product-education-dismiss button:focus,.wp-mail-logging-product-education-dismiss button:hover{color:#d63638}.wp-mail-logging-product-education-dismiss button .dashicons,.wp-mail-logging-product-education-dismiss button .dashicons-before::before{width:16px;height:16px;font-size:16px}.wp-mail-logging-product-education-content{padding:20px}.wp-mail-logging-product-education-content strong{font-weight:600}.wp-mail-logging-product-education-content a.wp-mail-logging-education-btn{border-radius:3px;color:#fff;display:inline-block;font-size:14px;padding:7px 10px;text-decoration:none}.wp-mail-logging-product-education-content a.wp-mail-logging-education-btn:hover{color:#fff}.wp-mail-logging-product-education-content p{color:#646970;font-size:14px;margin:10px 0}.wp-mail-logging-product-education-content p a{color:#e77c5c}.wp-mail-logging-product-education-content p a:hover,.wp-mail-logging-product-education-content p a:focus{color:#cb5836}.wp-mail-logging-product-education h3{color:#3c434a;font-size:18px;font-weight:600;margin-bottom:10px;margin-top:0}#wp-mail-logging-product-education-email-logs-top{border-radius:7px;margin-bottom:20px;margin-top:0}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content{padding:15px}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content h2{color:#222}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content p{color:#646970;line-height:18px;margin:5px 0}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content div p:last-child{margin-top:0}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content a.wp-mail-logging-education-btn{border-width:0;font-size:13px;line-height:16px;margin-top:7px}#wp-mail-logging-product-education-email-logs-bottom{background:#fff url("../images/plane-bg.png") no-repeat right bottom;background-size:401px 119px}@media only screen and (-o-min-device-pixel-ratio: 5/4),only screen and (-webkit-min-device-pixel-ratio: 1.25),only screen and (min-device-pixel-ratio: 1.25),only screen and (min-resolution: 1.25dppx){#wp-mail-logging-product-education-email-logs-bottom{background-image:url("../images/[email protected]")}}@media(max-width: 782px){#wp-mail-logging-product-education-email-logs-bottom{margin-top:100px;margin-right:20px;position:absolute}}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row{display:flex;flex-wrap:wrap;gap:25px;margin:20px 0}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image{display:flex;flex-direction:column;max-width:370px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image a{border:5px solid #dcdcde;border-radius:4px;box-sizing:border-box;margin-bottom:10px;position:relative}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image a:hover::after{opacity:1}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image a::after{background:rgba(68,68,68,.15) url("../images/zoom.svg") no-repeat center;background-size:50px;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:all .3s;width:100%}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image img{display:block;height:auto;width:100%}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image span{color:#3c434a;font-size:16px;font-weight:600}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image ul{font-size:13px;line-height:20px;margin-bottom:0;margin-top:10px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image ul li{background:rgba(0,0,0,0) url("../images/arrow-right-plain-icon.svg") no-repeat left 3px;background-size:12px;padding-left:18px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image ul li::before{left:0;position:absolute;top:-1px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn{background:#e77c5c;border-color:#e77c5c;border-radius:4px;border-width:0;font-weight:600;line-height:16px;padding:12px 16px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn:hover,#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn:focus{background-color:#cb5836;border-color:#cb5836}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #cb5836}
     1#wpcontent{padding-left:0 !important;position:relative}@media(max-width: 600px){#wpcontent{padding-top:46px}}@media(max-width: 600px){#wpbody{padding-top:0}}#wp-mail-logging{color:#3c434a;margin:0}#wp-mail-logging .subsubsub a.current{font-weight:600}#wp-mail-logging #wp-mail-logging-setting-db-upgrade{background:#fff;border:1px solid #c3c4c7;border-left:4px solid #e77c5c;box-shadow:0 1px 1px rgba(0,0,0,.04);margin-bottom:30px;padding:16px;position:relative}#wp-mail-logging #wp-mail-logging-setting-db-upgrade h3{font-size:18px;line-height:22px;margin-bottom:10px}#wp-mail-logging #wp-mail-logging-setting-db-upgrade ul{list-style-type:initial;list-style-position:inside}#wp-mail-logging #wp-mail-logging-setting-db-upgrade #wp-mail-logging-btn-db-upgrade{height:inherit;padding:11px 16px;line-height:1.2}#wp-mail-logging #wp-mail-logging-setting-tab-form #wp-mail-logging-setting-tab-row-log-rotation-limit-amout-keep,#wp-mail-logging #wp-mail-logging-setting-tab-form #wp-mail-logging-setting-tab-row-log-rotation-delete-time-days{padding-top:0}#wp-mail-logging #wp-mail-logging-setting-tab-form #wp-mail-logging-settings-bottom{align-items:center;border-top:1px solid #e4e4e4;display:flex;justify-content:space-between;margin-top:15px;padding-top:30px}#wp-mail-logging #wp-mail-logging-setting-tab-form #wp-mail-logging-settings-reset-link{background:none;border:none;color:#2271b1;cursor:pointer;font-size:14px;font-weight:400;line-height:35px;margin:0;outline:0;text-decoration:underline}#wp-mail-logging #wp-mail-logging-setting-tab-form #wp-mail-logging-settings-reset-link:hover{color:#135e96}#wp-mail-logging .wp-mail-logging-hide{display:none}#wp-mail-logging .wp-mail-logging-page-content{padding:0 20px}#wp-mail-logging .wp-mail-logging-page-content *,#wp-mail-logging .wp-mail-logging-page-content *::before,#wp-mail-logging .wp-mail-logging-page-content *::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-mail-logging .wp-mail-logging-page-content #wp-mail-logging-setting-row-heading-general-settings{padding-top:10px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row{border-bottom:1px solid #e4e4e4;padding:15px 0 30px 0;font-size:14px;line-height:1.3}@media(max-width: 781px){#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row{padding:20px 0}}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.inactive{display:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row .wp-mail-logging-setting-mid-row-sep{background:#e4e4e4;height:1px;border:0;margin:15px 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.section-heading{padding:30px 0 20px 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.section-heading.no-desc h2,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.section-heading.no-desc h4{margin:0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.section-heading .wp-mail-logging-setting-field{margin:0;max-width:1005px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.section-heading .desc{font-style:normal}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-input input{max-width:80px;padding:8px 12px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox input[type=checkbox]{float:left;margin:1px 0 0 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox input[type=checkbox]+label{margin:0 0 0 8px;vertical-align:baseline}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox .desc{margin:0 0 0 30px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox input[type=checkbox]+label+.desc{margin:8px 0 0 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-text .wp-mail-logging-setting-label,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-password .wp-mail-logging-setting-label,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-number .wp-mail-logging-setting-label,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-email .wp-mail-logging-setting-label{padding-top:8px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-select .wp-mail-logging-setting-label{padding-top:8px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-radio .wp-mail-logging-setting-field input[type=radio]{margin:-3px 10px 0 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-radio .wp-mail-logging-setting-field label{margin-right:30px;display:inline-block}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-no-border{border-bottom:none;padding-bottom:15px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-no-padding{padding:0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field label{vertical-align:middle;display:inline-block}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]{position:absolute;top:auto;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;white-space:nowrap}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:checked+.wp-mail-logging-setting-toggle-switch{background-color:#38a17e}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:checked+.wp-mail-logging-setting-toggle-switch:before{-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px)}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled:checked:hover+.wp-mail-logging-setting-toggle-switch,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled:not(:checked):hover+.wp-mail-logging-setting-toggle-switch{box-shadow:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled:not(:checked):hover+.wp-mail-logging-setting-toggle-switch{background-color:#ddd}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled+.wp-mail-logging-setting-toggle-switch{background-color:#ddd;cursor:default}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled:checked+.wp-mail-logging-setting-toggle-switch{background-color:#84d4ba;cursor:default}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:checked+.wp-mail-logging-setting-toggle-switch+.wp-mail-logging-setting-toggle-checked-label{display:inline-block}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:checked+.wp-mail-logging-setting-toggle-switch+.wp-mail-logging-setting-toggle-checked-label+.wp-mail-logging-setting-toggle-unchecked-label{display:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled+.wp-mail-logging-setting-toggle-switch+.wp-mail-logging-setting-toggle-checked-label,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:disabled+.wp-mail-logging-setting-toggle-switch+.wp-mail-logging-setting-toggle-unchecked-label{color:#aaa}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:checked:hover+.wp-mail-logging-setting-toggle-switch,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:checked:focus+.wp-mail-logging-setting-toggle-switch{box-shadow:0 0 0 1px #fff,0 0 0 3px #2e876a}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:not(:checked):hover+.wp-mail-logging-setting-toggle-switch,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field input[type=checkbox]:not(:checked):focus+.wp-mail-logging-setting-toggle-switch{background-color:#8c8f94;box-shadow:0 0 0 1px #fff,0 0 0 3px #999}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-unchecked-label,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-checked-label{text-transform:uppercase;font-weight:600;color:#646970;font-size:12px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-checked-label{display:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-switch{position:relative;cursor:pointer;background-color:#c3c4c7;border-radius:15px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out;vertical-align:middle;display:inline-block;margin:-1px 5px 0 0;width:36px;height:20px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-checkbox-toggle .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-switch:before{position:absolute;content:"";height:16px;width:16px;left:2px;top:2px;background-color:#fff;border-radius:50%;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert{padding-top:20px;padding-bottom:25px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .wp-mail-logging-setting-row{border:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .section-heading{margin-bottom:25px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .section-heading h3{margin-bottom:10px;font-weight:600;font-size:18px;line-height:22px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .section-heading .notice{margin-top:20px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .section-heading .notice p{margin:6.5px 0;font-size:13px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .wp-mail-logging-setting-row{padding:0 !important}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .wp-mail-logging-setting-row+.wp-mail-logging-setting-row{margin-top:20px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-checked-label,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .wp-mail-logging-setting-field .wp-mail-logging-setting-toggle-unchecked-label{text-transform:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row.wp-mail-logging-setting-row-alert .wp-mail-logging-setting-label label{font-weight:600}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row h2,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row h4{color:#1d2327;font-size:18px;font-weight:600;line-height:22px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row h2{margin-top:0;margin-bottom:10px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row h3{color:#1d2327;font-size:24px;font-weight:600;margin:0 0 20px 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row h5{color:#1d2327;font-size:16px;font-weight:600;margin:0 0 20px 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row p{margin:12px 0 0;font-size:14px;line-height:20px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row p.desc{margin:10px 0 0;color:#646970}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row p.desc+.desc{font-style:normal}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row ul{margin:8px 0 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row ul.list li{margin-left:20px;list-style-type:disc}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list th{padding:5px 5px 5px 0;text-align:left}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.email{padding-right:2em}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.status{width:100px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a{border-bottom:1px solid;display:inline-block;margin-right:5px;text-decoration:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=delete],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=error]{color:#d63638}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=delete]:hover,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=delete]:active,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=delete]:focus,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=error]:hover,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=error]:active,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row table.actions-list td.actions a[class*=error]:focus{color:#8a1c1d}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select{background-color:#fff;border:1px solid #8b8f93;border-radius:4px;box-shadow:none;color:#2c3338;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0 10px 0 0;width:400px;min-height:35px;line-height:1.3}@media(max-width: 959px){#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select{width:300px}}@media(max-width: 599px){#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select{width:100%;max-width:unset;margin-right:0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text]~button,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email]~button,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number]~button,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password]~button,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select~button{margin-top:8px}}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text][readonly],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email][readonly],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number][readonly],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password][readonly],#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select[readonly]{background-color:#f9f9f9}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text].small-text,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email].small-text,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number].small-text,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password].small-text,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select.small-text{width:75px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text]:focus,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email]:focus,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number]:focus,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password]:focus,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select:focus{border:1px solid #016aab;box-shadow:0 0 0 1px #016aab;outline:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=text]:disabled,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=email]:disabled,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number]:disabled,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=password]:disabled,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select:disabled{opacity:.6}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=checkbox]:focus,#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=radio]:focus{border:1px solid #016aab;box-shadow:0 0 0 1px #016aab;outline:none}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row input[type=number]{width:80px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-row select{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEzIDciIGZpbGw9IiM4ZDhmOTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMyAwLjk5ODI4MUMxMyAwLjkwMjA2MiAxMi45NTE5IDAuNzkzODE0IDEyLjg3OTcgMC43MjE2NDlMMTIuMjc4NCAwLjEyMDI3NEMxMi4yMDYyIDAuMDQ4MTA5OCAxMi4wOTggMCAxMi4wMDE3IDBDMTEuOTA1NSAwIDExLjc5NzMgMC4wNDgxMDk4IDExLjcyNTEgMC4xMjAyNzRMNi45OTgzIDQuODQ3MDhMMi4yNzE1IDAuMTIwMjc0QzIuMTk5MzMgMC4wNDgxMDk4IDIuMDkxMDggMCAxLjk5NDg2IDBDMS44ODY2MiAwIDEuNzkwNCAwLjA0ODEwOTggMS43MTgyMyAwLjEyMDI3NEwxLjExNjg2IDAuNzIxNjQ5QzEuMDQ0NjkgMC43OTM4MTQgMC45OTY1ODIgMC45MDIwNjIgMC45OTY1ODIgMC45OTgyODFDMC45OTY1ODIgMS4wOTQ1IDEuMDQ0NjkgMS4yMDI3NSAxLjExNjg2IDEuMjc0OTFMNi43MjE2NyA2Ljg3OTcyQzYuNzkzODMgNi45NTE4OSA2LjkwMjA4IDcgNi45OTgzIDdDNy4wOTQ1MiA3IDcuMjAyNzcgNi45NTE4OSA3LjI3NDkzIDYuODc5NzJMMTIuODc5NyAxLjI3NDkxQzEyLjk1MTkgMS4yMDI3NSAxMyAxLjA5NDUgMTMgMC45OTgyODFaIiBmaWxsPSIjOGQ4Zjk1Ii8+Cjwvc3ZnPgo=");background-position:right 12px center;background-repeat:no-repeat}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-label{display:block;float:left;width:205px;padding:0 20px 0 0}@media(max-width: 781px){#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-label{float:none;width:100%;padding-bottom:15px}}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-label label{color:#1e2327;display:block;font-weight:600}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-field{display:block;margin:0 0 0 205px;max-width:800px}@media(max-width: 781px){#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-field{margin:0}}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-field hr{margin:20px 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-field .wp-mail-logging-setting-field-row{display:flex;flex-wrap:wrap}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-setting-field .wp-mail-logging-setting-field-row>.wp-mail-smtp-btn{margin-right:10px}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-submit{margin:0;padding:25px 0}#wp-mail-logging .wp-mail-logging-page-content .wp-mail-logging-submit .help-text{margin-left:10px;vertical-align:middle}#wp-mail-logging .wp-mail-logging-page-content .notice-inline{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 0 15px;padding:1px 12px}#wp-mail-logging .wp-mail-logging-page-content .notice-inline.notice-success{border-left-color:#38a17e}#wp-mail-logging .wp-mail-logging-page-content .notice-inline.notice-warning{border-left-color:#ffb900}#wp-mail-logging .wp-mail-logging-page-content .notice-inline.notice-error{border-left-color:#d63638}#wp-mail-logging .wp-mail-logging-page-content .notice-inline.notice-info{border-left-color:#00a0d2}#wp-mail-logging .wp-mail-logging-page-content .notice p,#wp-mail-logging .wp-mail-logging-page-content .notice-inline p{margin:.5em 0;padding:2px}#wp-mail-logging .wp-mail-logging-page-content pre{white-space:pre-line}#wp-mail-logging .wp-mail-logging-page-content.active{display:block}#wp-mail-logging .wp-mail-logging-setting-toggle{vertical-align:middle;display:inline-block}#wp-mail-logging .wp-mail-logging-setting-toggle__switch{position:relative;cursor:pointer;background-color:#ccc;border-radius:15px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out;vertical-align:middle;display:inline-block;margin:-1px 0 0 0;width:36px;height:20px}#wp-mail-logging .wp-mail-logging-setting-toggle__switch:before{position:absolute;content:"";height:16px;width:16px;left:2px;top:2px;background-color:#fff;border-radius:50%;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]{position:absolute;top:auto;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;white-space:nowrap}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:checked+.wp-mail-logging-setting-toggle__switch{background-color:#38a17e}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:checked+.wp-mail-logging-setting-toggle__switch:before{-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px)}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:checked:hover+.wp-mail-logging-setting-toggle__switch,#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:checked:focus+.wp-mail-logging-setting-toggle__switch{box-shadow:0 0 0 1px #fff,0 0 0 3px #00a32a}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:not(:checked):hover+.wp-mail-logging-setting-toggle__switch,#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:not(:checked):focus+.wp-mail-logging-setting-toggle__switch{background-color:#999;box-shadow:0 0 0 1px #fff,0 0 0 3px #999}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:disabled:checked:hover+.wp-mail-logging-setting-toggle__switch,#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:disabled:not(:checked):hover+.wp-mail-logging-setting-toggle__switch{box-shadow:none}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:disabled:not(:checked):hover+.wp-mail-logging-setting-toggle__switch{background-color:#ddd}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:disabled+.wp-mail-logging-setting-toggle__switch{background-color:#ddd;cursor:default}#wp-mail-logging .wp-mail-logging-setting-toggle input[type=checkbox]:disabled:checked+.wp-mail-logging-setting-toggle__switch{background-color:#24ff5c;cursor:default}#wp-mail-logging #email-list table.emails{border-radius:4px}#wp-mail-logging #email-list table.emails th,#wp-mail-logging #email-list table.emails td{vertical-align:middle}#wp-mail-logging #email-list table.emails .column-cb,#wp-mail-logging #email-list table.emails .check-column{padding:0;text-align:center;vertical-align:middle}@media(max-width: 600px){#wp-mail-logging #email-list table.emails .column-cb,#wp-mail-logging #email-list table.emails .check-column{padding:10px 0 0 3px}}#wp-mail-logging #email-list table.emails th#timestamp,#wp-mail-logging #email-list table.emails th#actions,#wp-mail-logging #email-list table.emails td.column-timestamp,#wp-mail-logging #email-list table.emails td.column-actions{width:200px;max-width:200px}#wp-mail-logging #email-list table.emails td.column-actions{text-align:right;vertical-align:middle}#wp-mail-logging #email-list table.emails td.column-actions .wp-mail-logging-action-column{align-items:center;display:flex;justify-content:flex-end}#wp-mail-logging #email-list table.emails td.column-actions .wp-mail-logging-action-column .wp-mail-logging-action-item{align-items:center;display:flex;background-color:#fff;border:1px solid #ccd0d4;border-radius:5px;color:#8c8f94;line-height:0;margin:0 4px;padding:5px}#wp-mail-logging #email-list table.emails td.column-actions .wp-mail-logging-action-column .wp-mail-logging-action-item img{width:16px;height:16px}#wp-mail-logging #email-list table.emails td.column-actions .wp-mail-logging-action-column .wp-mail-logging-action-item:hover,#wp-mail-logging #email-list table.emails td.column-actions .wp-mail-logging-action-column .wp-mail-logging-action-item:focus{border-color:#3c434a;color:#3c434a;cursor:pointer}@media(max-width: 600px){#wp-mail-logging #email-list p.search-box{position:relative;bottom:auto;max-width:600px;width:100%;height:auto;clear:both;margin-bottom:10px}#wp-mail-logging #email-list p.search-box select,#wp-mail-logging #email-list p.search-box input[type=search]{width:100%;max-width:unset;margin:0 0 5px 0}}#wp-mail-logging #email-list p.search-box select{vertical-align:unset}#wp-mail-logging-page-header-temp{margin:0;position:absolute;top:-1px;left:20px;right:0;z-index:99}#wp-mail-logging-page-header{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.05);margin-bottom:20px}#wp-mail-logging-page-header .wp-mail-logging-page-title{align-items:center;display:flex;font-size:14px;padding:4px 20px 0}@media(max-width: 600px){#wp-mail-logging-page-header .wp-mail-logging-page-title{display:block;padding-top:20px}}#wp-mail-logging-page-header .wp-mail-logging-page-title .wp-mail-logging-logo-image{align-items:center;justify-content:center}#wp-mail-logging-page-header .wp-mail-logging-page-title .wp-mail-logging-logo-sep{margin:0 15px}@media(max-width: 600px){#wp-mail-logging-page-header .wp-mail-logging-page-title .wp-mail-logging-logo-sep{display:none}}#wp-mail-logging-page-header .wp-mail-logging-page-title a.tab{border-bottom:4px solid #fff;box-shadow:none;color:#787c82;display:inline-block;font-weight:600;margin-right:30px;padding:20px 0 18px 0;text-decoration:none}#wp-mail-logging-page-header .wp-mail-logging-page-title a.tab.active{border-color:#e77c5c;color:#2c3338}#wp-mail-logging-page-header .wp-mail-logging-page-title a.tab.active:hover{border-color:#e77c5c}#wp-mail-logging-page-header .wp-mail-logging-page-title a.tab:hover{border-color:#a7aaad}#wp-mail-logging-page-header .wp-mail-logging-page-title a.action{color:#fff;font-weight:600;margin:14px 0 14px 10px;line-height:28px;min-height:30px;vertical-align:top}@media(max-width: 600px){#wp-mail-logging-page-header .wp-mail-logging-page-title a.action{margin-left:0}}#wp-mail-logging-page-header .wp-mail-logging-page-title .page-title{background-color:#fff;display:inline-block;font-size:23px;margin:0;padding:20px 20px 20px 0}.wp-mail-logging-btn{border:0;border-radius:4px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;text-shadow:none;box-shadow:none;outline:none}.wp-mail-logging-btn:disabled{opacity:.5;cursor:not-allowed}.wp-mail-logging-btn.wp-mail-logging-btn-lg{font-size:16px;font-weight:600;padding:12px 16px}.wp-mail-logging-btn.wp-mail-logging-btn-orange{background-color:#e77c5c;color:#fff}.wp-mail-logging-btn.wp-mail-logging-btn-orange:hover,.wp-mail-logging-btn.wp-mail-logging-btn-orange:active,.wp-mail-logging-btn.wp-mail-logging-btn-orange:focus{background-color:#cb5836;border:0;color:#fff}.wp-mail-logging-btn.wp-mail-logging-btn-orange:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #cb5836}.wp-mail-logging-admin-page .lity{z-index:999999999;padding:20px}.wp-mail-logging-admin-page .lity-close{margin:10px}.wp-mail-logging-admin-page .lity-content{max-width:80vw;max-height:80vh}.wp-mail-logging-admin-page .lity-content img{max-height:80vh !important;max-width:80vw !important}@media(max-width: 782px){.wp-mail-logging-admin-page p.search-box{width:80%}}.wp-mail-logging-admin-page #wpfooter p{color:#50575e;font-weight:400}.wp-mail-logging-admin-page #wpfooter p strong{font-weight:600}.wp-mail-logging-clearfix:after,.wp-mail-logging-clearfix:before{content:" ";display:table}.wp-mail-logging-clearfix:after{clear:both}.wp-mail-logging-product-education{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.05);border-radius:6px;color:#50575e;font-size:14px;font-weight:400;margin-top:20px;position:relative}.wp-mail-logging-product-education ul{color:#646970}.wp-mail-logging-product-education-dismiss{position:absolute;right:15px;top:15px}.wp-mail-logging-product-education-dismiss button{background:none;border:none;color:#a7aaad;cursor:pointer;margin:0;padding:0}.wp-mail-logging-product-education-dismiss button:focus,.wp-mail-logging-product-education-dismiss button:hover{color:#d63638}.wp-mail-logging-product-education-dismiss button .dashicons,.wp-mail-logging-product-education-dismiss button .dashicons-before::before{width:16px;height:16px;font-size:16px}.wp-mail-logging-product-education-content{padding:20px}.wp-mail-logging-product-education-content strong{font-weight:600}.wp-mail-logging-product-education-content a.wp-mail-logging-education-btn{border-radius:3px;color:#fff;display:inline-block;font-size:14px;padding:7px 10px;text-decoration:none}.wp-mail-logging-product-education-content a.wp-mail-logging-education-btn:hover{color:#fff}.wp-mail-logging-product-education-content p{color:#646970;font-size:14px;margin:10px 0}.wp-mail-logging-product-education-content p a{color:#e77c5c}.wp-mail-logging-product-education-content p a:hover,.wp-mail-logging-product-education-content p a:focus{color:#cb5836}.wp-mail-logging-product-education h3{color:#3c434a;font-size:18px;font-weight:600;margin-bottom:10px;margin-top:0}#wp-mail-logging-product-education-email-logs-top{border-radius:7px;margin-bottom:20px;margin-top:0}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content{padding:15px}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content h2{color:#222}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content p{color:#646970;line-height:18px;margin:5px 0}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content div p:last-child{margin-top:0}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content a.wp-mail-logging-education-btn{border-width:0;font-size:13px;line-height:16px;margin-top:7px}#wp-mail-logging-product-education-email-logs-bottom{background:#fff url("../images/plane-bg.png") no-repeat right bottom;background-size:401px 119px}@media only screen and (-o-min-device-pixel-ratio: 5/4),only screen and (-webkit-min-device-pixel-ratio: 1.25),only screen and (min-device-pixel-ratio: 1.25),only screen and (min-resolution: 1.25dppx){#wp-mail-logging-product-education-email-logs-bottom{background-image:url("../images/[email protected]")}}@media(max-width: 600px){#wp-mail-logging-product-education-email-logs-bottom{margin-top:0}}@media(min-width: 601px)and (max-width: 782px){#wp-mail-logging-product-education-email-logs-bottom{margin-top:100px;margin-right:20px;position:absolute}}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row{display:flex;flex-wrap:wrap;gap:25px;margin:20px 0}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image{display:flex;flex-direction:column;max-width:370px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image a{border:5px solid #dcdcde;border-radius:4px;box-sizing:border-box;margin-bottom:10px;position:relative}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image a:hover::after{opacity:1}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image a::after{background:rgba(68,68,68,.15) url("../images/zoom.svg") no-repeat center;background-size:50px;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:all .3s;width:100%}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image img{display:block;height:auto;width:100%}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image span{color:#3c434a;font-size:16px;font-weight:600}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image ul{font-size:13px;line-height:20px;margin-bottom:0;margin-top:10px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image ul li{background:rgba(0,0,0,0) url("../images/arrow-right-plain-icon.svg") no-repeat left 3px;background-size:12px;padding-left:18px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image ul li::before{left:0;position:absolute;top:-1px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn{background:#e77c5c;border-color:#e77c5c;border-radius:4px;border-width:0;font-weight:600;line-height:16px;padding:12px 16px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn:hover,#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn:focus{background-color:#cb5836;border-color:#cb5836}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #cb5836}body.wp-mail-logging-admin-page div.jconfirm *,body.wp-mail-logging-admin-page div.jconfirm *::before,body.wp-mail-logging-admin-page div.jconfirm *::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-bg{background-color:rgba(114,119,124,.75);opacity:1}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box{padding:30px;border-radius:6px;box-shadow:0 3px 6px rgba(0,0,0,.15);border-top-width:4px}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,.4);top:8px;right:8px}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-closeIcon:hover{color:rgba(0,0,0,.8)}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-title-c{margin:0 0 15px 0;padding:0}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{margin:0 0 30px;-webkit-transition:none;transition:none;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c:empty,body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c i:empty{display:none}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title{display:block;color:#222;font-weight:500;font-size:24px}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content-pane{display:block;margin-bottom:30px}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content{margin-bottom:0;overflow:inherit}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content{font-size:16px;color:#222;line-height:1.4}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content p{margin:0 0 20px;font-size:16px;line-height:1.5}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content p:last-of-type{margin:0}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content p.large{font-size:18px}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content p.small{font-size:14px}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content .wp-mail-smtp-debug-event-preview p{font-size:14px}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content .wp-mail-smtp-btn{font-weight:600;text-transform:uppercase;-webkit-transition:background .1s;transition:background .1s;padding:10px 20px;outline:none;display:inline-block;font-size:14px;line-height:1.4;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:4px;min-height:1em;-webkit-tap-highlight-color:rgba(0,0,0,0);border:0;background-image:none}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-content .wp-mail-smtp-btn.with-loader{padding:12px 12px 7px}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons{padding:0}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button{transition:.2s;box-shadow:none;margin:0 10px 0}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button:hover{box-shadow:inset 0 0 0 100px rgba(0,0,0,.1)}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button.btn-confirm{color:#fff;outline:none;border:1px solid #e77c5c;background-color:#e77c5c}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button.btn-cancel{color:#777;outline:none;background:#f8f8f8;border:1px solid #ccc}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button,body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button.btn-default{color:#666}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button.btn-hide{display:none}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button.btn-block{display:block;text-align:center;width:100%;margin:0 0 10px 0 !important}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box div.jconfirm-buttons button.btn-normal-case{text-transform:none !important}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.jconfirm-type-orange{border-color:#e77c5c}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.jconfirm-type-orange div.jconfirm-buttons button.btn-confirm{background-color:#e77c5c;border-color:#e77c5c}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.loading{border-top-color:#fff !important;height:160px}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.loading .jconfirm-title-c{display:block !important;position:relative;z-index:4}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.loading .jconfirm-title-c .jconfirm-icon-c{display:none}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.loading:before{z-index:2}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.loading:after{content:"";position:absolute;left:50%;top:68%;margin-left:-20px;height:40px;width:40px;border:solid 6px rgba(0,0,0,0);border-bottom-color:#e77c5c;opacity:1;z-index:3}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal{padding:30px 30px 15px;border-top:none}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal div.jconfirm-title-c{margin:0 0 26px 0;padding:0}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal div.jconfirm-title-c .jconfirm-icon-c{margin-bottom:20px;color:#c4c4c4 !important}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal div.jconfirm-title-c .jconfirm-icon-c svg{height:35px}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal div.jconfirm-content-pane{margin-bottom:25px}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal div.jconfirm-buttons button.btn-confirm{background-color:#e77c5c;border-color:#e77c5c}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal .discount-note{text-align:center;margin:45px 0 0}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal .discount-note p{background-color:#fcf9e8;margin:0 -30px;padding:24px 60px 20px;font-size:15px;color:#4d4d4d;position:relative}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal .discount-note p:after{content:url(../images/font-awesome/check-circle-solid-green.svg);width:40px;height:40px;background-color:#fff;border-radius:50%;padding:5px 6px;position:absolute;top:-20px;right:50%;margin-right:-18px}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal .discount-note span{font-weight:600;color:#00a32a}body.wp-mail-logging-admin-page div.jconfirm .jconfirm-box.wp-mail-smtp-upgrade-mailer-education-modal .discount-note a{color:#aaa;display:block;margin-top:12px}
  • wp-mail-logging/trunk/assets/css/wp-mail-logging-product-education.css

    r2880502 r2929157  
    105105  }
    106106}
    107 @media (max-width: 782px) {
     107@media (max-width: 600px) {
     108  #wp-mail-logging-product-education-email-logs-bottom {
     109    margin-top: 0;
     110  }
     111}
     112@media (min-width: 601px) and (max-width: 782px) {
    108113  #wp-mail-logging-product-education-email-logs-bottom {
    109114    margin-top: 100px;
     
    187192  box-shadow: 0 0 0 1px #fff, 0 0 0 3px #cb5836;
    188193}
    189 /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbi5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX2luY2x1ZGUtbWVkaWEuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUtaO0VBQ0k7O0FBRUE7RUFDSSxhQ3ZDSTs7QUQyQ0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFLWjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBLGFDM0VRO0VENEVSO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFLQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTtBQUVBOztBQUNBO0VBTEo7SUFVUTs7O0FFMGFQO0VGcGJEO0lBY1E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0EsYUNuTEE7O0FEc0xKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBT3BCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhQ2hOUTtFRGlOUjtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJIiwiZmlsZSI6ImFzc2V0cy9jc3Mvd3AtbWFpbC1sb2dnaW5nLXByb2R1Y3QtZWR1Y2F0aW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJpbmNsdWRlLW1lZGlhXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbi8vIFByb2R1Y3QgRWR1Y2F0aW9uLlxuLndwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgY29sb3I6ICM1MDU3NUU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICB1bCB7XG4gICAgICAgIGNvbG9yOiAjNjQ2OTcwO1xuICAgIH1cblxuICAgICYtZGlzbWlzcyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMTVweDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjYTdhYWFkO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNkNjM2Mzg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kYXNoaWNvbnMsIC5kYXNoaWNvbnMtYmVmb3JlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgICYud3AtbWFpbC1sb2dnaW5nLWVkdWNhdGlvbi1idG4ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCAxMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNjQ2OTcwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRTc3QzVDO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjY2I1ODM2O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICMzQzQzNEE7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtZWRpdW0td2VpZ2h0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuI3dwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbi1lbWFpbC1sb2dzLXRvcCB7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgIC53cC1tYWlsLWxvZ2dpbmctcHJvZHVjdC1lZHVjYXRpb24tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6ICMyMjIyMjI7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNjQ2OTcwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2IHtcblxuICAgICAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYS53cC1tYWlsLWxvZ2dpbmctZWR1Y2F0aW9uLWJ0biB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3dwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbi1lbWFpbC1sb2dzLWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRiB1cmwoXCIuLi9pbWFnZXMvcGxhbmUtYmcucG5nXCIpIG5vLXJlcGVhdCByaWdodCBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MDFweCAxMTlweDtcblxuICAgIC8qIEAyeCBJbWFnZXMgKFBpeGVsIFJhdGlvIG9mIDEuMjUrKSAqL1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDUvNCksXG4gICAgICAgICAgIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjI1KSxcbiAgICAgICAgICAgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjI1KSxcbiAgICAgICAgICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMS4yNWRwcHgpIHtcblxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGxhbmUtYmdAMngucG5nXCIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLndwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbi1pbWFnZXMtcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDI1cHg7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgICAgICYtaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM3MHB4O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCAjRENEQ0RFO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSg2OCwgNjgsIDY4LCAuMTUpIHVybCgnLi4vaW1hZ2VzL3pvb20uc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzNDNDM0QTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtZWRpdW0td2VpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvYXJyb3ctcmlnaHQtcGxhaW4taWNvbi5zdmcnKSBuby1yZXBlYXQgbGVmdCAzcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndwLW1haWwtbG9nZ2luZy1lZHVjYXRpb24tYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0U3N0M1QztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRTc3QzVDO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtZWRpdW0td2VpZ2h0O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NiNTgzNjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2NiNTgzNjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDNweCAjY2I1ODM2O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJGJyZWFrcG9pbnRzOiAoXG4gICAgJ3hzLXBob25lJzogMzIwcHgsXG4gICAgJ3Bob25lJzogNjAwcHgsXG4gICAgJ2lwYWQnOiA3NjhweCxcbiAgICAndGFibGV0JzogNzgycHgsXG4gICAgJ2Rlc2t0b3AnOiA5NjBweFxuKTtcblxuJG1lZGl1bS13ZWlnaHQ6IDYwMDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICAgICAgICAgIGh0dHA6Ly9pbmNsdWRlLW1lZGlhLmNvbVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcblxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG5cdEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG5cdEB3YXJuICRtZXNzYWdlO1xuXHQkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuXHRAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuXHRAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuXHQgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG5cdCAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG5cdCAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG5cdCAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG5cdFx0ICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcblx0XHRAcmV0dXJuIGZhbHNlO1xuXHQgIH1cblx0fSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG5cdCAgQHJldHVybiBmYWxzZTtcblx0fVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG5cdEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuXHQgIEByZXR1cm4gJG9wZXJhdG9yO1xuXHR9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcblx0JGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuXHQkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcblx0JHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuXHQvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG5cdC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG5cdC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuXHQvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuXHQvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG5cdCRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcblx0JHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG5cdCR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuXHRAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcblx0QHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcblx0JHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcblx0QHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcblx0JF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuXHQkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuXHQkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG5cdEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcblx0ICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuXHR9XG5cblx0QGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcblx0ICAkZGlnaXRzOiAxO1xuXHR9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG5cdCAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG5cdH0gQGVsc2Uge1xuXHQgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcblx0ICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuXHR9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG5cdCRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3Jcblx0ICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuXHRAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG5cdEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcblx0ICAvLyBSZWN1cnNpdmUgY2FsbFxuXHQgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuXHRcdEBjb250ZW50O1xuXHQgIH1cblx0fVxuICB9XG59XG4iXX0= */
     194/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbi5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX2luY2x1ZGUtbWVkaWEuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUtaO0VBQ0k7O0FBRUE7RUFDSSxhQ3ZDSTs7QUQyQ0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFLWjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBLGFDM0VRO0VENEVSO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFLQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTtBQUVBOztBQUNBO0VBTEo7SUFVUTs7O0FFMGFQO0VGcGJEO0lBY1E7OztBRXNhUDtFRnBiRDtJQWtCUTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQSxhQ3ZMQTs7QUQwTEo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFPcEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFDcE5RO0VEcU5SO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQ0kiLCJmaWxlIjoiYXNzZXRzL2Nzcy93cC1tYWlsLWxvZ2dpbmctcHJvZHVjdC1lZHVjYXRpb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImluY2x1ZGUtbWVkaWFcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuLy8gUHJvZHVjdCBFZHVjYXRpb24uXG4ud3AtbWFpbC1sb2dnaW5nLXByb2R1Y3QtZWR1Y2F0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBjb2xvcjogIzUwNTc1RTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHVsIHtcbiAgICAgICAgY29sb3I6ICM2NDY5NzA7XG4gICAgfVxuXG4gICAgJi1kaXNtaXNzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgdG9wOiAxNXB4O1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICNhN2FhYWQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAmOmZvY3VzLCAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2Q2MzYzODtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRhc2hpY29ucywgLmRhc2hpY29ucy1iZWZvcmU6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVkaXVtLXdlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgJi53cC1tYWlsLWxvZ2dpbmctZWR1Y2F0aW9uLWJ0biB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDEwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICM2NDY5NzA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNFNzdDNUM7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNjYjU4MzY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBjb2xvcjogIzNDNDM0QTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4jd3AtbWFpbC1sb2dnaW5nLXByb2R1Y3QtZWR1Y2F0aW9uLWVtYWlsLWxvZ3MtdG9wIHtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgLndwLW1haWwtbG9nZ2luZy1wcm9kdWN0LWVkdWNhdGlvbi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMTVweDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogIzIyMjIyMjtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICM2NDY5NzA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICBkaXYge1xuXG4gICAgICAgICAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhLndwLW1haWwtbG9nZ2luZy1lZHVjYXRpb24tYnRuIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jd3AtbWFpbC1sb2dnaW5nLXByb2R1Y3QtZWR1Y2F0aW9uLWVtYWlsLWxvZ3MtYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGIHVybChcIi4uL2ltYWdlcy9wbGFuZS1iZy5wbmdcIikgbm8tcmVwZWF0IHJpZ2h0IGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDQwMXB4IDExOXB4O1xuXG4gICAgLyogQDJ4IEltYWdlcyAoUGl4ZWwgUmF0aW8gb2YgMS4yNSspICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogNS80KSxcbiAgICAgICAgICAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMjUpLFxuICAgICAgICAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMjUpLFxuICAgICAgICAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxLjI1ZHBweCkge1xuXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wbGFuZS1iZ0AyeC5wbmdcIik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PXBob25lXCIpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj5waG9uZVwiLCBcIjw9dGFibGV0XCIpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC53cC1tYWlsLWxvZ2dpbmctcHJvZHVjdC1lZHVjYXRpb24taW1hZ2VzLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiAyNXB4O1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcblxuICAgICAgICAmLWltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzNzBweDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgI0RDRENERTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNjgsIDY4LCA2OCwgLjE1KSB1cmwoJy4uL2ltYWdlcy96b29tLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMzQzQzNEE7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVkaXVtLXdlaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2Fycm93LXJpZ2h0LXBsYWluLWljb24uc3ZnJykgbm8tcmVwZWF0IGxlZnQgM3B4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMThweDtcblxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53cC1tYWlsLWxvZ2dpbmctZWR1Y2F0aW9uLWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNFNzdDNUM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0U3N0M1QztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVkaXVtLXdlaWdodDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYjU4MzY7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNjYjU4MzY7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAzcHggI2NiNTgzNjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiRicmVha3BvaW50czogKFxuICAgICd4cy1waG9uZSc6IDMyMHB4LFxuICAgICdwaG9uZSc6IDYwMHB4LFxuICAgICdpcGFkJzogNzY4cHgsXG4gICAgJ3RhYmxldCc6IDc4MnB4LFxuICAgICdkZXNrdG9wJzogOTYwcHhcbik7XG5cbiRtZWRpdW0td2VpZ2h0OiA2MDA7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgICAgICAgICBodHRwOi8vaW5jbHVkZS1tZWRpYS5jb21cbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuXHRAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuXHRAd2FybiAkbWVzc2FnZTtcblx0JF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcblx0QGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcblx0QGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcblx0ICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuXHQgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuXHQgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuXHQgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuXHRcdCAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG5cdFx0QHJldHVybiBmYWxzZTtcblx0ICB9XG5cdH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuXHQgIEByZXR1cm4gZmFsc2U7XG5cdH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuXHRAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcblx0ICBAcmV0dXJuICRvcGVyYXRvcjtcblx0fVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG5cdCRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcblx0JHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG5cdCR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcblx0Ly8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuXHQvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuXHQvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cblx0Ly8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcblx0Ly8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuXHQkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG5cdCR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuXHQkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcblx0QHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG5cdEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG5cdCRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG5cdEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG5cdCRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcblx0JHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcblx0JGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuXHRAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG5cdCAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcblx0fVxuXG5cdEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG5cdCAgJGRpZ2l0czogMTtcblx0fSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuXHQgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuXHR9IEBlbHNlIHtcblx0ICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG5cdCAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcblx0fVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuXHQkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG5cdCAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcblx0QGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuXHRAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG5cdCAgLy8gUmVjdXJzaXZlIGNhbGxcblx0ICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcblx0XHRAY29udGVudDtcblx0ICB9XG5cdH1cbiAgfVxufVxuIl19 */
  • wp-mail-logging/trunk/assets/css/wp-mail-logging-product-education.min.css

    r2880502 r2929157  
    1 .wp-mail-logging-product-education{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.05);border-radius:6px;color:#50575e;font-size:14px;font-weight:400;margin-top:20px;position:relative}.wp-mail-logging-product-education ul{color:#646970}.wp-mail-logging-product-education-dismiss{position:absolute;right:15px;top:15px}.wp-mail-logging-product-education-dismiss button{background:none;border:none;color:#a7aaad;cursor:pointer;margin:0;padding:0}.wp-mail-logging-product-education-dismiss button:focus,.wp-mail-logging-product-education-dismiss button:hover{color:#d63638}.wp-mail-logging-product-education-dismiss button .dashicons,.wp-mail-logging-product-education-dismiss button .dashicons-before::before{width:16px;height:16px;font-size:16px}.wp-mail-logging-product-education-content{padding:20px}.wp-mail-logging-product-education-content strong{font-weight:600}.wp-mail-logging-product-education-content a.wp-mail-logging-education-btn{border-radius:3px;color:#fff;display:inline-block;font-size:14px;padding:7px 10px;text-decoration:none}.wp-mail-logging-product-education-content a.wp-mail-logging-education-btn:hover{color:#fff}.wp-mail-logging-product-education-content p{color:#646970;font-size:14px;margin:10px 0}.wp-mail-logging-product-education-content p a{color:#e77c5c}.wp-mail-logging-product-education-content p a:hover,.wp-mail-logging-product-education-content p a:focus{color:#cb5836}.wp-mail-logging-product-education h3{color:#3c434a;font-size:18px;font-weight:600;margin-bottom:10px;margin-top:0}#wp-mail-logging-product-education-email-logs-top{border-radius:7px;margin-bottom:20px;margin-top:0}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content{padding:15px}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content h2{color:#222}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content p{color:#646970;line-height:18px;margin:5px 0}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content div p:last-child{margin-top:0}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content a.wp-mail-logging-education-btn{border-width:0;font-size:13px;line-height:16px;margin-top:7px}#wp-mail-logging-product-education-email-logs-bottom{background:#fff url("../images/plane-bg.png") no-repeat right bottom;background-size:401px 119px}@media only screen and (-o-min-device-pixel-ratio: 5/4),only screen and (-webkit-min-device-pixel-ratio: 1.25),only screen and (min-device-pixel-ratio: 1.25),only screen and (min-resolution: 1.25dppx){#wp-mail-logging-product-education-email-logs-bottom{background-image:url("../images/[email protected]")}}@media(max-width: 782px){#wp-mail-logging-product-education-email-logs-bottom{margin-top:100px;margin-right:20px;position:absolute}}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row{display:flex;flex-wrap:wrap;gap:25px;margin:20px 0}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image{display:flex;flex-direction:column;max-width:370px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image a{border:5px solid #dcdcde;border-radius:4px;box-sizing:border-box;margin-bottom:10px;position:relative}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image a:hover::after{opacity:1}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image a::after{background:rgba(68,68,68,.15) url("../images/zoom.svg") no-repeat center;background-size:50px;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:all .3s;width:100%}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image img{display:block;height:auto;width:100%}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image span{color:#3c434a;font-size:16px;font-weight:600}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image ul{font-size:13px;line-height:20px;margin-bottom:0;margin-top:10px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image ul li{background:rgba(0,0,0,0) url("../images/arrow-right-plain-icon.svg") no-repeat left 3px;background-size:12px;padding-left:18px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image ul li::before{left:0;position:absolute;top:-1px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn{background:#e77c5c;border-color:#e77c5c;border-radius:4px;border-width:0;font-weight:600;line-height:16px;padding:12px 16px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn:hover,#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn:focus{background-color:#cb5836;border-color:#cb5836}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #cb5836}
     1.wp-mail-logging-product-education{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.05);border-radius:6px;color:#50575e;font-size:14px;font-weight:400;margin-top:20px;position:relative}.wp-mail-logging-product-education ul{color:#646970}.wp-mail-logging-product-education-dismiss{position:absolute;right:15px;top:15px}.wp-mail-logging-product-education-dismiss button{background:none;border:none;color:#a7aaad;cursor:pointer;margin:0;padding:0}.wp-mail-logging-product-education-dismiss button:focus,.wp-mail-logging-product-education-dismiss button:hover{color:#d63638}.wp-mail-logging-product-education-dismiss button .dashicons,.wp-mail-logging-product-education-dismiss button .dashicons-before::before{width:16px;height:16px;font-size:16px}.wp-mail-logging-product-education-content{padding:20px}.wp-mail-logging-product-education-content strong{font-weight:600}.wp-mail-logging-product-education-content a.wp-mail-logging-education-btn{border-radius:3px;color:#fff;display:inline-block;font-size:14px;padding:7px 10px;text-decoration:none}.wp-mail-logging-product-education-content a.wp-mail-logging-education-btn:hover{color:#fff}.wp-mail-logging-product-education-content p{color:#646970;font-size:14px;margin:10px 0}.wp-mail-logging-product-education-content p a{color:#e77c5c}.wp-mail-logging-product-education-content p a:hover,.wp-mail-logging-product-education-content p a:focus{color:#cb5836}.wp-mail-logging-product-education h3{color:#3c434a;font-size:18px;font-weight:600;margin-bottom:10px;margin-top:0}#wp-mail-logging-product-education-email-logs-top{border-radius:7px;margin-bottom:20px;margin-top:0}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content{padding:15px}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content h2{color:#222}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content p{color:#646970;line-height:18px;margin:5px 0}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content div p:last-child{margin-top:0}#wp-mail-logging-product-education-email-logs-top .wp-mail-logging-product-education-content a.wp-mail-logging-education-btn{border-width:0;font-size:13px;line-height:16px;margin-top:7px}#wp-mail-logging-product-education-email-logs-bottom{background:#fff url("../images/plane-bg.png") no-repeat right bottom;background-size:401px 119px}@media only screen and (-o-min-device-pixel-ratio: 5/4),only screen and (-webkit-min-device-pixel-ratio: 1.25),only screen and (min-device-pixel-ratio: 1.25),only screen and (min-resolution: 1.25dppx){#wp-mail-logging-product-education-email-logs-bottom{background-image:url("../images/[email protected]")}}@media(max-width: 600px){#wp-mail-logging-product-education-email-logs-bottom{margin-top:0}}@media(min-width: 601px)and (max-width: 782px){#wp-mail-logging-product-education-email-logs-bottom{margin-top:100px;margin-right:20px;position:absolute}}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row{display:flex;flex-wrap:wrap;gap:25px;margin:20px 0}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image{display:flex;flex-direction:column;max-width:370px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image a{border:5px solid #dcdcde;border-radius:4px;box-sizing:border-box;margin-bottom:10px;position:relative}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image a:hover::after{opacity:1}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image a::after{background:rgba(68,68,68,.15) url("../images/zoom.svg") no-repeat center;background-size:50px;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:all .3s;width:100%}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image img{display:block;height:auto;width:100%}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image span{color:#3c434a;font-size:16px;font-weight:600}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image ul{font-size:13px;line-height:20px;margin-bottom:0;margin-top:10px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image ul li{background:rgba(0,0,0,0) url("../images/arrow-right-plain-icon.svg") no-repeat left 3px;background-size:12px;padding-left:18px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-product-education-images-row-image ul li::before{left:0;position:absolute;top:-1px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn{background:#e77c5c;border-color:#e77c5c;border-radius:4px;border-width:0;font-weight:600;line-height:16px;padding:12px 16px}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn:hover,#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn:focus{background-color:#cb5836;border-color:#cb5836}#wp-mail-logging-product-education-email-logs-bottom .wp-mail-logging-education-btn:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #cb5836}
  • wp-mail-logging/trunk/assets/js/modal.js

    r2880502 r2929157  
    166166                redirectUrl = utils.updateQueryString( wp_mail_logging_admin_logs.single_log_action_key, wp_mail_logging_admin_logs.single_log_action_nonce, redirectUrl );
    167167
     168                if ( action === 'delete' ) {
     169
     170                    $.confirm( {
     171                        animateFromElement: false,
     172                        animationBounce: 1,
     173                        backgroundDismiss: false,
     174                        buttons: {
     175                            confirm: {
     176                                text: WPMailLoggingJqueryConfirm.yes,
     177                                btnClass: 'btn-confirm',
     178                                keys: [ 'enter' ],
     179                                action: function() {
     180                                    window.location.href = redirectUrl;
     181                                }
     182                            },
     183                            cancel: {
     184                                text: WPMailLoggingJqueryConfirm.cancel,
     185                                btnClass: 'btn-cancel',
     186                            }
     187                        },
     188                        content: WPMailLoggingJqueryConfirm.delete_log_confirm_msg,
     189                        draggable: false,
     190                        escapeKey: true,
     191                        theme: 'modern',
     192                        type: 'orange',
     193                        typeAnimated: false,
     194                        title: WPMailLoggingJqueryConfirm.headsup,
     195                        useBootstrap: false,
     196                        boxWidth: '400px',
     197                        icon: '"></i><img src="' + WPMailLoggingJqueryConfirm.icon + '" style="width: 40px; height: 40px;" alt="' + WPMailLoggingJqueryConfirm.warning + '"><i class="'
     198                    } );
     199                    return;
     200                }
     201
    168202            window.location.href = redirectUrl;
    169203            return;
  • wp-mail-logging/trunk/assets/js/modal.min.js

    r2880502 r2929157  
    1 jQuery(function(l){var i={};i.modal={self:this,id:void 0,selectedFormat:void 0,init:function(){var o=l(".wp-mail-logging-active-format"),a=wpml_modal_ajax.default_format;0<o.length&&o.data("format")&&(a=o.data("format")),i.modal.setSelectedFormat(a),i.modal.bindActions()},bindActions:function(){l(document).on("click",".wp-mail-logging-modal-format",function(o){o.preventDefault();o=l(this).data("format");o&&i.modal.setSelectedFormat(o)}),l(document).on("click",".wp-mail-logging-html-error-notice > .notice-dismiss",function(o){o.preventDefault(),($noticeElem=l(this).parent(".wp-mail-logging-html-error-notice")).length<=0||$noticeElem.fadeTo(100,0,function(){$noticeElem.slideUp(100,function(){$noticeElem.remove()})})})},clear:function(){l("#wp-mail-logging-modal-content-body-content").html("")},set:function(o){l(".wp-mail-logging-modal-format").removeClass("wp-mail-logging-active-format"),l("#wp-mail-logging-modal-format-"+i.modal.selectedFormat).addClass("wp-mail-logging-active-format"),l("#wp-mail-logging-modal-content-body-content").html(o)},show:function(){l("#wp-mail-logging-product-education-email-logs-bottom").css("z-index",-1),l("#wp-mail-logging-modal-wrap").fadeIn()},hide:function(){l("#wp-mail-logging-modal-wrap").fadeOut(400,function(){l("#wp-mail-logging-product-education-email-logs-bottom").css("z-index","")})},setSelectedFormat:function(o){i.modal.selectedFormat=o,jQuery.ajax({type:"POST",url:ajaxurl,data:{action:wpml_modal_ajax.action,_ajax_nonce:wpml_modal_ajax.nonce,id:i.modal.id,format:i.modal.selectedFormat},success:i.modal.ajaxResponse,error:i.modal.ajaxError})},ajaxResponse:function(o,a,l){o.success?i.modal.set(o.data):i.modal.set("Error ("+o.data.code+"): '"+o.data.message+"'")},ajaxError:function(o,a,l){i.modal.set(l)}};var n=function(o,a,l){var i,n=new RegExp("([?&])"+o+"=.*?(&|#|$)(.*)","gi");return n.test(l)?null!=a?l.replace(n,"$1"+o+"="+a+"$2$3"):(l=(i=l.split("#"))[0].replace(n,"$1$3").replace(/(&|\?)$/,""),void 0!==i[1]&&null!==i[1]&&(l+="#"+i[1]),l):(null!=a&&(n=-1!==l.indexOf("?")?"&":"?",l=(i=l.split("#"))[0]+n+o+"="+a,void 0!==i[1])&&null!==i[1]&&(l+="#"+i[1]),l)};l(".wp-mail-logging-action-item").click(function(o){var a;o.preventDefault(),"undefined"==typeof wp_mail_logging_admin_logs||void 0===wp_mail_logging_admin_logs.single_log_action_nonce||void 0===wp_mail_logging_admin_logs.single_log_action_key||void 0===wp_mail_logging_admin_logs.admin_email_logs_url||(a=(o=l(this)).parent(".wp-mail-logging-action-column")).length<=0||(a=a.data("mail-id"),o=o.data("action"),a&&o&&("resend"===o||"delete"===o?(o=n("action",o,wp_mail_logging_admin_logs.admin_email_logs_url),o=n("email_log_id",a,o),o=n(wp_mail_logging_admin_logs.single_log_action_key,wp_mail_logging_admin_logs.single_log_action_nonce,o),window.location.href=o):(i.modal.id=a,i.modal.init(),i.modal.show())))}),l(".wp-mail-logging-modal-close").click(function(o){o.preventDefault(),i.modal.hide()}),l(document).keyup(function(o){27===o.keyCode&&i.modal.hide()})});
     1jQuery(function(n){var e={};e.modal={self:this,id:void 0,selectedFormat:void 0,init:function(){var o=n(".wp-mail-logging-active-format"),i=wpml_modal_ajax.default_format;0<o.length&&o.data("format")&&(i=o.data("format")),e.modal.setSelectedFormat(i),e.modal.bindActions()},bindActions:function(){n(document).on("click",".wp-mail-logging-modal-format",function(o){o.preventDefault();o=n(this).data("format");o&&e.modal.setSelectedFormat(o)}),n(document).on("click",".wp-mail-logging-html-error-notice > .notice-dismiss",function(o){o.preventDefault(),($noticeElem=n(this).parent(".wp-mail-logging-html-error-notice")).length<=0||$noticeElem.fadeTo(100,0,function(){$noticeElem.slideUp(100,function(){$noticeElem.remove()})})})},clear:function(){n("#wp-mail-logging-modal-content-body-content").html("")},set:function(o){n(".wp-mail-logging-modal-format").removeClass("wp-mail-logging-active-format"),n("#wp-mail-logging-modal-format-"+e.modal.selectedFormat).addClass("wp-mail-logging-active-format"),n("#wp-mail-logging-modal-content-body-content").html(o)},show:function(){n("#wp-mail-logging-product-education-email-logs-bottom").css("z-index",-1),n("#wp-mail-logging-modal-wrap").fadeIn()},hide:function(){n("#wp-mail-logging-modal-wrap").fadeOut(400,function(){n("#wp-mail-logging-product-education-email-logs-bottom").css("z-index","")})},setSelectedFormat:function(o){e.modal.selectedFormat=o,jQuery.ajax({type:"POST",url:ajaxurl,data:{action:wpml_modal_ajax.action,_ajax_nonce:wpml_modal_ajax.nonce,id:e.modal.id,format:e.modal.selectedFormat},success:e.modal.ajaxResponse,error:e.modal.ajaxError})},ajaxResponse:function(o,i,a){o.success?e.modal.set(o.data):e.modal.set("Error ("+o.data.code+"): '"+o.data.message+"'")},ajaxError:function(o,i,a){e.modal.set(a)}};var l=function(o,i,a){var n,e=new RegExp("([?&])"+o+"=.*?(&|#|$)(.*)","gi");return e.test(a)?null!=i?a.replace(e,"$1"+o+"="+i+"$2$3"):(a=(n=a.split("#"))[0].replace(e,"$1$3").replace(/(&|\?)$/,""),void 0!==n[1]&&null!==n[1]&&(a+="#"+n[1]),a):(null!=i&&(e=-1!==a.indexOf("?")?"&":"?",a=(n=a.split("#"))[0]+e+o+"="+i,void 0!==n[1])&&null!==n[1]&&(a+="#"+n[1]),a)};n(".wp-mail-logging-action-item").click(function(o){if(o.preventDefault(),"undefined"!=typeof wp_mail_logging_admin_logs&&void 0!==wp_mail_logging_admin_logs.single_log_action_nonce&&void 0!==wp_mail_logging_admin_logs.single_log_action_key&&void 0!==wp_mail_logging_admin_logs.admin_email_logs_url){var o=n(this),i=o.parent(".wp-mail-logging-action-column");if(!(i.length<=0)){var a,i=i.data("mail-id"),o=o.data("action");if(i&&o){if("resend"===o||"delete"===o)return a=l("action",o,wp_mail_logging_admin_logs.admin_email_logs_url),a=l("email_log_id",i,a),a=l(wp_mail_logging_admin_logs.single_log_action_key,wp_mail_logging_admin_logs.single_log_action_nonce,a),"delete"===o?void n.confirm({animateFromElement:!1,animationBounce:1,backgroundDismiss:!1,buttons:{confirm:{text:WPMailLoggingJqueryConfirm.yes,btnClass:"btn-confirm",keys:["enter"],action:function(){window.location.href=a}},cancel:{text:WPMailLoggingJqueryConfirm.cancel,btnClass:"btn-cancel"}},content:WPMailLoggingJqueryConfirm.delete_log_confirm_msg,draggable:!1,escapeKey:!0,theme:"modern",type:"orange",typeAnimated:!1,title:WPMailLoggingJqueryConfirm.headsup,useBootstrap:!1,boxWidth:"400px",icon:'"></i><img src="'+WPMailLoggingJqueryConfirm.icon+'" style="width: 40px; height: 40px;" alt="'+WPMailLoggingJqueryConfirm.warning+'"><i class="'}):void(window.location.href=a);e.modal.id=i,e.modal.init(),e.modal.show()}}}}),n(".wp-mail-logging-modal-close").click(function(o){o.preventDefault(),e.modal.hide()}),n(document).keyup(function(o){27===o.keyCode&&e.modal.hide()})});
  • wp-mail-logging/trunk/assets/js/wp-mail-logging-admin-logs.js

    r2880502 r2929157  
    4040
    4141            $( document ).on( 'click', '.wp-mail-logging-product-education-dismiss', app.productEducationDismiss );
     42            $( document ).on( 'click', '#wp-mail-logging-db-upgrade-admin-notice .notice-dismiss', app.dbUpgradeAdminNoticeDismiss );
    4243        },
    4344
     
    8990                }
    9091            );
     92        },
     93
     94        /**
     95         * Event triggered when DB upgrade admin notice is dismissed.
     96         *
     97         * @since 1.12.0
     98         *
     99         * @param {Event} e Event object.
     100         */
     101        dbUpgradeAdminNoticeDismiss: function( e ) {
     102
     103            var $notice = $( this ).parents( '#wp-mail-logging-db-upgrade-admin-notice' ).first();
     104
     105            if ( $notice.length <= 0 || ! $notice.data( 'nonce' ) ) {
     106                return;
     107            }
     108
     109            $.post(
     110                ajaxurl,
     111                {
     112                    action: 'wp_mail_logging_dismiss_db_upgrade_notice',
     113                    nonce: $notice.data( 'nonce' ),
     114                    type: 'admin-notice'
     115                }
     116            )
    91117        }
    92118    };
  • wp-mail-logging/trunk/assets/js/wp-mail-logging-admin-logs.min.js

    r2880502 r2929157  
    1 "use strict";var WPMailLogging=window.WPMailLogging||{};WPMailLogging.Admin=WPMailLogging.Admin||{},WPMailLogging.Admin.Logs=WPMailLogging.Admin.Logs||function(i,t){var n={init:function(){t(n.ready)},ready:function(){t("#screen-meta-links, #screen-meta").prependTo("#wp-mail-logging-page-header-temp").show(),n.bindActions()},bindActions:function(){t(i).on("click",".wp-mail-logging-product-education-dismiss",n.productEducationDismiss)},productEducationDismiss:function(i){i.preventDefault();var n,o=t(this).parents(".wp-mail-logging-product-education").first();o.length<=0||(i=o.data("productEducationId"),n=o.data("nonce"),i&&n&&t.post(wp_mail_logging_admin_logs.ajaxurl,{action:"wp_mail_logging_product_education_dismiss",nonce:n,productEducationID:i},function(i){i.success?o.fadeTo(100,0,function(){o.slideUp(100,function(){o.remove()})}):alert(i.data)}))}};return n}(document,(window,jQuery)),WPMailLogging.Admin.Logs.init();
     1"use strict";var WPMailLogging=window.WPMailLogging||{};WPMailLogging.Admin=WPMailLogging.Admin||{},WPMailLogging.Admin.Logs=WPMailLogging.Admin.Logs||function(i,a){var n={init:function(){a(n.ready)},ready:function(){a("#screen-meta-links, #screen-meta").prependTo("#wp-mail-logging-page-header-temp").show(),n.bindActions()},bindActions:function(){a(i).on("click",".wp-mail-logging-product-education-dismiss",n.productEducationDismiss),a(i).on("click","#wp-mail-logging-db-upgrade-admin-notice .notice-dismiss",n.dbUpgradeAdminNoticeDismiss)},productEducationDismiss:function(i){i.preventDefault();var n,o=a(this).parents(".wp-mail-logging-product-education").first();o.length<=0||(i=o.data("productEducationId"),n=o.data("nonce"),i&&n&&a.post(wp_mail_logging_admin_logs.ajaxurl,{action:"wp_mail_logging_product_education_dismiss",nonce:n,productEducationID:i},function(i){i.success?o.fadeTo(100,0,function(){o.slideUp(100,function(){o.remove()})}):alert(i.data)}))},dbUpgradeAdminNoticeDismiss:function(i){var n=a(this).parents("#wp-mail-logging-db-upgrade-admin-notice").first();n.length<=0||!n.data("nonce")||a.post(ajaxurl,{action:"wp_mail_logging_dismiss_db_upgrade_notice",nonce:n.data("nonce"),type:"admin-notice"})}};return n}(document,(window,jQuery)),WPMailLogging.Admin.Logs.init();
  • wp-mail-logging/trunk/assets/js/wp-mail-logging-admin-settings.js

    r2880502 r2929157  
    3131         *
    3232         * @since 1.11.0
     33         * @since 1.12.0 Add support for dismissing the database upgrade notice.
    3334         */
    3435        bindActions: function() {
     
    4950                }
    5051            } );
     52
     53            $( document ).on( 'click', '#wp-mail-logging-setting-db-upgrade .notice-dismiss', function ( e ) {
     54
     55                e.preventDefault();
     56
     57                var $notice = $( this ).closest( '#wp-mail-logging-setting-db-upgrade' );
     58
     59                if ( $notice.length <= 0 ) {
     60                    return;
     61                }
     62
     63                $notice.fadeTo( 100, 0, function() {
     64                    $notice.slideUp( 100, function() {
     65                        $notice.remove();
     66                    } );
     67                } );
     68
     69                // Get nonce.
     70                var $nonce = $notice.data( 'dismiss' );
     71
     72                if ( ! $nonce ) {
     73                    return;
     74                }
     75
     76                $.post(
     77                    ajaxurl,
     78                    {
     79                        'action': 'wp_mail_logging_dismiss_db_upgrade_notice',
     80                        'nonce': $nonce
     81                    }
     82                )
     83            } );
     84
     85            $( document ).on( 'click', '#wp-mail-logging-btn-db-upgrade', function( e ) {
     86
     87                e.preventDefault();
     88
     89                $.confirm( {
     90                    animateFromElement: false,
     91                    animationBounce: 1,
     92                    backgroundDismiss: false,
     93                    buttons: {
     94                        confirm: {
     95                            text: WPMailLoggingJqueryConfirm.yes,
     96                            btnClass: 'btn-confirm',
     97                            keys: [ 'enter' ],
     98                            action: function() {
     99                                window.location = WPMailLoggingJqueryConfirm.db_upgrade_url;
     100                            }
     101                        },
     102                        cancel: {
     103                            text: WPMailLoggingJqueryConfirm.cancel,
     104                            btnClass: 'btn-cancel',
     105                        }
     106                    },
     107                    content: WPMailLoggingJqueryConfirm.db_upgrade_message,
     108                    draggable: false,
     109                    escapeKey: true,
     110                    theme: 'modern',
     111                    type: 'orange',
     112                    typeAnimated: false,
     113                    title: WPMailLoggingJqueryConfirm.headsup,
     114                    useBootstrap: false,
     115                    boxWidth: '400px',
     116                    icon: '"></i><img src="' + WPMailLoggingJqueryConfirm.icon + '" style="width: 40px; height: 40px;" alt="' + WPMailLoggingJqueryConfirm.warning + '"><i class="'
     117                } );
     118            } );
    51119        }
    52120    };
  • wp-mail-logging/trunk/assets/js/wp-mail-logging-admin-settings.min.js

    r2880502 r2929157  
    1 "use strict";var WPMailLogging=window.WPMailLogging||{};WPMailLogging.Admin=WPMailLogging.Admin||{},WPMailLogging.Admin.Settings=WPMailLogging.Admin.Settings||function(i,t){var n={init:function(){t(n.ready)},ready:function(){n.bindActions()},bindActions:function(){t(i).on("click",".wp-mail-logging-settings-toggle",function(){var i=t(this),n=i.data("toggles-id"),g=t("#wp-mail-logging-setting-tab-row-"+n);!n||g.length<=0||(i.is(":checked")?g.show():g.hide())})}};return n}(document,(window,jQuery)),WPMailLogging.Admin.Settings.init();
     1"use strict";var WPMailLogging=window.WPMailLogging||{};WPMailLogging.Admin=WPMailLogging.Admin||{},WPMailLogging.Admin.Settings=WPMailLogging.Admin.Settings||function(i,n,t){var g={init:function(){t(g.ready)},ready:function(){g.bindActions()},bindActions:function(){t(i).on("click",".wp-mail-logging-settings-toggle",function(){var i=t(this),n=i.data("toggles-id"),g=t("#wp-mail-logging-setting-tab-row-"+n);!n||g.length<=0||(i.is(":checked")?g.show():g.hide())}),t(i).on("click","#wp-mail-logging-setting-db-upgrade .notice-dismiss",function(i){i.preventDefault();var n=t(this).closest("#wp-mail-logging-setting-db-upgrade");n.length<=0||(n.fadeTo(100,0,function(){n.slideUp(100,function(){n.remove()})}),(i=n.data("dismiss"))&&t.post(ajaxurl,{action:"wp_mail_logging_dismiss_db_upgrade_notice",nonce:i}))}),t(i).on("click","#wp-mail-logging-btn-db-upgrade",function(i){i.preventDefault(),t.confirm({animateFromElement:!1,animationBounce:1,backgroundDismiss:!1,buttons:{confirm:{text:WPMailLoggingJqueryConfirm.yes,btnClass:"btn-confirm",keys:["enter"],action:function(){n.location=WPMailLoggingJqueryConfirm.db_upgrade_url}},cancel:{text:WPMailLoggingJqueryConfirm.cancel,btnClass:"btn-cancel"}},content:WPMailLoggingJqueryConfirm.db_upgrade_message,draggable:!1,escapeKey:!0,theme:"modern",type:"orange",typeAnimated:!1,title:WPMailLoggingJqueryConfirm.headsup,useBootstrap:!1,boxWidth:"400px",icon:'"></i><img src="'+WPMailLoggingJqueryConfirm.icon+'" style="width: 40px; height: 40px;" alt="'+WPMailLoggingJqueryConfirm.warning+'"><i class="'})})}};return g}(document,window,jQuery),WPMailLogging.Admin.Settings.init();
  • wp-mail-logging/trunk/assets/js/wp-mail-logging-admin-smtp.js

    r2880502 r2929157  
    7474            // Step 'Setup' button click.
    7575            el.$stepSetup.on( 'click', 'button', app.gotoURL );
     76
     77            // DB upgrade admin notice dismiss.
     78            $( document ).on( 'click', '#wp-mail-logging-db-upgrade-admin-notice .notice-dismiss', app.dbUpgradeAdminNoticeDismiss );
    7679        },
    7780
     
    242245            window.location.href = $btn.attr( 'data-url' );
    243246        },
     247
     248        /**
     249         * Event triggered when DB upgrade admin notice is dismissed.
     250         *
     251         * @since 1.12.0
     252         *
     253         * @param {Event} e Event object.
     254         */
     255        dbUpgradeAdminNoticeDismiss: function( e ) {
     256
     257            var $notice = $( this ).parents( '#wp-mail-logging-db-upgrade-admin-notice' ).first();
     258
     259            if ( $notice.length <= 0 || ! $notice.data( 'nonce' ) ) {
     260                return;
     261            }
     262
     263            $.post(
     264                ajaxurl,
     265                {
     266                    action: 'wp_mail_logging_dismiss_db_upgrade_notice',
     267                    nonce: $notice.data( 'nonce' ),
     268                    type: 'admin-notice'
     269                }
     270            )
     271        }
    244272    };
    245273
  • wp-mail-logging/trunk/assets/js/wp-mail-logging-admin-smtp.min.js

    r2880502 r2929157  
    1 "use strict";var WPMailLogging=window.WPMailLogging||{};WPMailLogging.Admin=WPMailLogging.Admin||{},WPMailLogging.Admin.SMTP=WPMailLogging.Admin.SMTP||function(s,l){var e={},p={init:function(){l(p.ready)},ready:function(){p.initVars(),p.bindActions()},initVars:function(){e={$stepInstall:l("section.step-install"),$stepInstallNum:l("section.step-install .num img"),$stepSetup:l("section.step-setup"),$stepSetupNum:l("section.step-setup .num img")}},bindActions:function(){e.$stepInstall.on("click","button",p.stepInstallClick),e.$stepSetup.on("click","button",p.gotoURL)},stepInstallClick:function(){var a=l(this),n=a.attr("data-action"),t=a.attr("data-plugin"),i="";if(!a.hasClass("disabled")){switch(n){case"activate":i="wp_mail_logging_activate_smtp",a.text(wp_mail_logging_admin_smtp.activating);break;case"install":i="wp_mail_logging_install_smtp",a.text(wp_mail_logging_admin_smtp.installing);break;case"goto-url":return void(s.location.href=a.attr("data-url"));default:return}a.addClass("disabled"),p.showSpinner(e.$stepInstallNum);t={action:i,nonce:wp_mail_logging_admin_smtp.nonce,plugin:t};l.post(wp_mail_logging_admin_smtp.ajaxurl,t).done(function(t){p.stepInstallDone(t,a,n)}).always(function(){p.hideSpinner(e.$stepInstallNum)})}},showSpinner:function(t){t.siblings(".loader").removeClass("hidden")},stepInstallDone:function(t,a,n){var i;("install"===n?t.success&&t.data.is_activated:t.success)?(e.$stepInstallNum.attr("src",e.$stepInstallNum.attr("src").replace("step-1.","step-complete.")),a.addClass("grey").removeClass("button-primary").text(wp_mail_logging_admin_smtp.activated),p.stepInstallPluginStatus()):(n=(t="install"===n&&t.success&&!t.data.is_activated||"activate"===n)?wp_mail_logging_admin_smtp.manual_activate_url:wp_mail_logging_admin_smtp.manual_install_url,i=t?wp_mail_logging_admin_smtp.error_could_not_activate:wp_mail_logging_admin_smtp.error_could_not_install,t=t?wp_mail_logging_admin_smtp.plugins_page:wp_mail_logging_admin_smtp.download_now,a.removeClass("grey disabled").text(t).attr("data-action","goto-url").attr("data-url",n),a.after('<p class="error">'+i+"</p>"))},stepInstallPluginStatus:function(){l.post(wp_mail_logging_admin_smtp.ajaxurl,{action:"wp_mail_logging_smtp_page_check_plugin_status",nonce:wp_mail_logging_admin_smtp.nonce}).done(p.stepInstallPluginStatusDone)},stepInstallPluginStatusDone:function(t){t.success&&(e.$stepSetup.removeClass("grey"),e.$stepSetupBtn=e.$stepSetup.find("button"),e.$stepSetupBtn.removeClass("grey disabled").addClass("button-primary"),0<t.data.setup_status?(e.$stepSetupNum.attr("src",e.$stepSetupNum.attr("src").replace("step-2.svg","step-complete.svg")),e.$stepSetupBtn.attr("data-url",wp_mail_logging_admin_smtp.smtp_settings_url).text(wp_mail_logging_admin_smtp.smtp_settings)):e.$stepSetupBtn.attr("data-url",wp_mail_logging_admin_smtp.smtp_wizard_url).text(wp_mail_logging_admin_smtp.smtp_wizard))},hideSpinner:function(t){t.siblings(".loader").addClass("hidden")},gotoURL:function(){var t=l(this);t.hasClass("disabled")||(s.location.href=t.attr("data-url"))}};return p}((document,window),jQuery),WPMailLogging.Admin.SMTP.init();
     1"use strict";var WPMailLogging=window.WPMailLogging||{};WPMailLogging.Admin=WPMailLogging.Admin||{},WPMailLogging.Admin.SMTP=WPMailLogging.Admin.SMTP||function(t,s,l){var e={},g={init:function(){l(g.ready)},ready:function(){g.initVars(),g.bindActions()},initVars:function(){e={$stepInstall:l("section.step-install"),$stepInstallNum:l("section.step-install .num img"),$stepSetup:l("section.step-setup"),$stepSetupNum:l("section.step-setup .num img")}},bindActions:function(){e.$stepInstall.on("click","button",g.stepInstallClick),e.$stepSetup.on("click","button",g.gotoURL),l(t).on("click","#wp-mail-logging-db-upgrade-admin-notice .notice-dismiss",g.dbUpgradeAdminNoticeDismiss)},stepInstallClick:function(){var a=l(this),i=a.attr("data-action"),t=a.attr("data-plugin"),n="";if(!a.hasClass("disabled")){switch(i){case"activate":n="wp_mail_logging_activate_smtp",a.text(wp_mail_logging_admin_smtp.activating);break;case"install":n="wp_mail_logging_install_smtp",a.text(wp_mail_logging_admin_smtp.installing);break;case"goto-url":return void(s.location.href=a.attr("data-url"));default:return}a.addClass("disabled"),g.showSpinner(e.$stepInstallNum);t={action:n,nonce:wp_mail_logging_admin_smtp.nonce,plugin:t};l.post(wp_mail_logging_admin_smtp.ajaxurl,t).done(function(t){g.stepInstallDone(t,a,i)}).always(function(){g.hideSpinner(e.$stepInstallNum)})}},showSpinner:function(t){t.siblings(".loader").removeClass("hidden")},stepInstallDone:function(t,a,i){var n;("install"===i?t.success&&t.data.is_activated:t.success)?(e.$stepInstallNum.attr("src",e.$stepInstallNum.attr("src").replace("step-1.","step-complete.")),a.addClass("grey").removeClass("button-primary").text(wp_mail_logging_admin_smtp.activated),g.stepInstallPluginStatus()):(i=(t="install"===i&&t.success&&!t.data.is_activated||"activate"===i)?wp_mail_logging_admin_smtp.manual_activate_url:wp_mail_logging_admin_smtp.manual_install_url,n=t?wp_mail_logging_admin_smtp.error_could_not_activate:wp_mail_logging_admin_smtp.error_could_not_install,t=t?wp_mail_logging_admin_smtp.plugins_page:wp_mail_logging_admin_smtp.download_now,a.removeClass("grey disabled").text(t).attr("data-action","goto-url").attr("data-url",i),a.after('<p class="error">'+n+"</p>"))},stepInstallPluginStatus:function(){l.post(wp_mail_logging_admin_smtp.ajaxurl,{action:"wp_mail_logging_smtp_page_check_plugin_status",nonce:wp_mail_logging_admin_smtp.nonce}).done(g.stepInstallPluginStatusDone)},stepInstallPluginStatusDone:function(t){t.success&&(e.$stepSetup.removeClass("grey"),e.$stepSetupBtn=e.$stepSetup.find("button"),e.$stepSetupBtn.removeClass("grey disabled").addClass("button-primary"),0<t.data.setup_status?(e.$stepSetupNum.attr("src",e.$stepSetupNum.attr("src").replace("step-2.svg","step-complete.svg")),e.$stepSetupBtn.attr("data-url",wp_mail_logging_admin_smtp.smtp_settings_url).text(wp_mail_logging_admin_smtp.smtp_settings)):e.$stepSetupBtn.attr("data-url",wp_mail_logging_admin_smtp.smtp_wizard_url).text(wp_mail_logging_admin_smtp.smtp_wizard))},hideSpinner:function(t){t.siblings(".loader").addClass("hidden")},gotoURL:function(){var t=l(this);t.hasClass("disabled")||(s.location.href=t.attr("data-url"))},dbUpgradeAdminNoticeDismiss:function(t){var a=l(this).parents("#wp-mail-logging-db-upgrade-admin-notice").first();a.length<=0||!a.data("nonce")||l.post(ajaxurl,{action:"wp_mail_logging_dismiss_db_upgrade_notice",nonce:a.data("nonce"),type:"admin-notice"})}};return g}(document,window,jQuery),WPMailLogging.Admin.SMTP.init();
  • wp-mail-logging/trunk/assets/languages/wp-mail-logging.pot

    r2880502 r2929157  
    11msgid ""
    22msgstr ""
    3 "Project-Id-Version: WP Mail Logging 1.11.0\n"
     3"Project-Id-Version: WP Mail Logging 1.12.0\n"
    44"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-mail-logging\n"
    55"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    88"Content-Type: text/plain; charset=UTF-8\n"
    99"Content-Transfer-Encoding: 8bit\n"
    10 "POT-Creation-Date: 2023-03-15T04:08:54+00:00\n"
     10"POT-Creation-Date: 2023-06-21T10:18:59+00:00\n"
    1111"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1212"X-Generator: WP-CLI 2.6.0\n"
     
    3636msgstr ""
    3737
    38 #: src/inc/Admin/EmailLogsTab.php:242
     38#: src/inc/Admin/EmailLogsTab.php:270
    3939msgid "To solve email delivery issues, install WP Mail SMTP (free) - trusted by over 3,000,00 sites!"
    4040msgstr ""
    4141
    42 #: src/inc/Admin/EmailLogsTab.php:243
     42#: src/inc/Admin/EmailLogsTab.php:271
    4343msgid "Use the one-click install and setup wizard to fix your emails in minutes."
    4444msgstr ""
    4545
    46 #: src/inc/Admin/EmailLogsTab.php:248
     46#: src/inc/Admin/EmailLogsTab.php:276
    4747msgid "Heads up! WP Mail Logging has detected a problem sending emails."
    4848msgstr ""
    4949
    50 #: src/inc/Admin/EmailLogsTab.php:252
     50#: src/inc/Admin/EmailLogsTab.php:280
    5151#: src/inc/Admin/SMTPTab.php:532
    5252msgid "Install WP Mail SMTP"
    5353msgstr ""
    5454
    55 #: src/inc/Admin/EmailLogsTab.php:305
    56 #: src/inc/Admin/EmailLogsTab.php:405
     55#: src/inc/Admin/EmailLogsTab.php:333
     56#: src/inc/Admin/EmailLogsTab.php:433
    5757msgid "Email Logs"
    5858msgstr ""
    5959
    60 #: src/inc/Admin/EmailLogsTab.php:307
     60#: src/inc/Admin/EmailLogsTab.php:335
    6161msgid "See delivery status"
    6262msgstr ""
    6363
    64 #: src/inc/Admin/EmailLogsTab.php:308
     64#: src/inc/Admin/EmailLogsTab.php:336
    6565msgid "Resend emails"
    6666msgstr ""
    6767
    68 #: src/inc/Admin/EmailLogsTab.php:309
     68#: src/inc/Admin/EmailLogsTab.php:337
    6969msgid "View original email content"
    7070msgstr ""
    7171
    72 #: src/inc/Admin/EmailLogsTab.php:314
     72#: src/inc/Admin/EmailLogsTab.php:342
    7373msgid "Individual Log"
    7474msgstr ""
    7575
    76 #: src/inc/Admin/EmailLogsTab.php:316
     76#: src/inc/Admin/EmailLogsTab.php:344
    7777msgid "Review technical details"
    7878msgstr ""
    7979
    80 #: src/inc/Admin/EmailLogsTab.php:317
     80#: src/inc/Admin/EmailLogsTab.php:345
    8181msgid "Track open and click data"
    8282msgstr ""
    8383
    84 #: src/inc/Admin/EmailLogsTab.php:318
     84#: src/inc/Admin/EmailLogsTab.php:346
    8585msgid "Download sent attachments"
    8686msgstr ""
    8787
    88 #: src/inc/Admin/EmailLogsTab.php:323
     88#: src/inc/Admin/EmailLogsTab.php:351
    8989msgid "Email Reports"
    9090msgstr ""
    9191
    92 #: src/inc/Admin/EmailLogsTab.php:325
     92#: src/inc/Admin/EmailLogsTab.php:353
    9393msgid "Generate deliverability charts"
    9494msgstr ""
    9595
    96 #: src/inc/Admin/EmailLogsTab.php:326
     96#: src/inc/Admin/EmailLogsTab.php:354
    9797msgid "Review open & click statistics"
    9898msgstr ""
    9999
    100 #: src/inc/Admin/EmailLogsTab.php:327
     100#: src/inc/Admin/EmailLogsTab.php:355
    101101msgid "Get weekly email summary"
    102102msgstr ""
    103103
    104104#. translators: 1: URL to WP Mail SMTP pricing page 2: URL to WP Forms pricing page
    105 #: src/inc/Admin/EmailLogsTab.php:339
     105#: src/inc/Admin/EmailLogsTab.php:367
    106106msgid "Want more from your email logs? <strong><a target=\"_blank\" href=\"%1$s\">WP Mail SMTP Pro</a></strong> offers advanced email logging, failed email alerts, backup connections, email reports, email tracking, and much more!"
    107107msgstr ""
    108108
    109 #: src/inc/Admin/EmailLogsTab.php:353
     109#: src/inc/Admin/EmailLogsTab.php:381
    110110msgid "We know you'll love the powerful features in WP Mail SMTP. It's used by over 3,000,000 websites."
    111111msgstr ""
    112112
    113 #: src/inc/Admin/EmailLogsTab.php:385
     113#: src/inc/Admin/EmailLogsTab.php:413
    114114msgid "Take Your Email Logs to the Next level"
    115115msgstr ""
    116116
    117 #: src/inc/Admin/EmailLogsTab.php:389
     117#: src/inc/Admin/EmailLogsTab.php:417
    118118msgid "Get WP Mail SMTP Pro"
    119119msgstr ""
    120120
    121 #: src/inc/Admin/EmailLogsTab.php:453
    122 #: src/Renderer/Format/BaseRenderer.php:44
     121#: src/inc/Admin/EmailLogsTab.php:481
     122#: src/Renderer/Format/BaseRenderer.php:46
     123#: src/WPML_Email_Log_List.php:511
    123124msgid "Message"
    124125msgstr ""
    125126
    126 #: src/inc/Admin/EmailLogsTab.php:498
     127#: src/inc/Admin/EmailLogsTab.php:526
    127128msgid "Search"
     129msgstr ""
     130
     131#: src/inc/Admin/EmailLogsTab.php:560
     132msgid "Are you sure you want to delete this log?"
    128133msgstr ""
    129134
     
    394399msgstr ""
    395400
    396 #: src/Model/Email_Log_Collection.php:414
     401#: src/inc/Migration/Migration.php:327
     402msgid "An optional database optimization upgrade is available. Click <a href=\"%s\">here</a> to learn more."
     403msgstr ""
     404
     405#: src/inc/Migration/Migration.php:368
     406msgid "Database upgrade completed."
     407msgstr ""
     408
     409#: src/inc/Migration/Migration.php:393
     410msgid "Database Upgrade"
     411msgstr ""
     412
     413#: src/inc/Migration/Migration.php:398
     414msgid "This upgrade will include the following:"
     415msgstr ""
     416
     417#: src/inc/Migration/Migration.php:406
     418msgid "Support for non-UTF8 characters like emojis (%s)."
     419msgstr ""
     420
     421#: src/inc/Migration/Migration.php:412
     422msgid "Faster email log search by message."
     423msgstr ""
     424
     425#: src/inc/Migration/Migration.php:417
     426msgid "If you do not need these improvements, you can keep using the plugin as is and dismiss this banner in the top right corner."
     427msgstr ""
     428
     429#: src/inc/Migration/Migration.php:423
     430msgid "<strong>Important!</strong> By performing this upgrade, <strong>ALL your existing logs will be deleted</strong>."
     431msgstr ""
     432
     433#: src/inc/Migration/Migration.php:434
     434msgid "<i>If you wish to keep all email logs and get the above improvements as well, please <a href=\"https://wordpress.org/support/topic/how-to-keep-your-email-logs-with-manual-v1-12-0-database-upgrade/\" target=\"_blank\">read our manual upgrade guide</a> for more information.</i>"
     435msgstr ""
     436
     437#: src/inc/Migration/Migration.php:451
     438msgid "Please create a backup of your database before performing the upgrade."
     439msgstr ""
     440
     441#: src/inc/Migration/Migration.php:455
     442msgid "Upgrade"
     443msgstr ""
     444
     445#: src/inc/Migration/Migration.php:458
     446#: src/Renderer/Format/BaseRenderer.php:200
     447#: src/WPML_Email_Log_List.php:862
     448msgid "Dismiss this notice."
     449msgstr ""
     450
     451#: src/inc/Migration/Migration.php:593
     452msgid "This upgrade will delete all of your existings logs. Are you sure you want to proceed?"
     453msgstr ""
     454
     455#: src/Model/Email_Log_Collection.php:482
    397456msgid "All"
    398457msgstr ""
    399458
    400 #: src/Model/Email_Log_Collection.php:415
     459#: src/Model/Email_Log_Collection.php:483
    401460msgid "Successful"
    402461msgstr ""
    403462
    404 #: src/Model/Email_Log_Collection.php:416
     463#: src/Model/Email_Log_Collection.php:484
    405464msgid "Failed"
    406465msgstr ""
     
    412471msgstr ""
    413472
    414 #: src/Renderer/Format/BaseRenderer.php:39
     473#: src/Renderer/Format/BaseRenderer.php:41
     474#: src/Renderer/WPML_ColumnManager.php:34
     475msgid "Time"
     476msgstr ""
     477
     478#: src/Renderer/Format/BaseRenderer.php:42
     479#: src/Renderer/WPML_ColumnManager.php:36
     480msgid "Receiver"
     481msgstr ""
     482
     483#: src/Renderer/Format/BaseRenderer.php:43
     484#: src/Renderer/WPML_ColumnManager.php:37
     485msgid "Subject"
     486msgstr ""
     487
     488#: src/Renderer/Format/BaseRenderer.php:44
     489#: src/Renderer/WPML_ColumnManager.php:39
     490msgid "Error"
     491msgstr ""
     492
     493#: src/Renderer/Format/BaseRenderer.php:45
     494msgid "Headers"
     495msgstr ""
     496
     497#: src/Renderer/Format/BaseRenderer.php:47
     498#: src/Renderer/WPML_ColumnManager.php:38
     499msgid "Attachments"
     500msgstr ""
     501
     502#: src/Renderer/Format/BaseRenderer.php:53
     503#: src/Renderer/WPML_ColumnManager.php:35
     504msgid "Host"
     505msgstr ""
     506
     507#. translators: %s - Link to the SMTP page.
     508#: src/Renderer/Format/BaseRenderer.php:188
     509msgid "<strong>This email failed to send.</strong> <a href=\"%s\">Install WP Mail SMTP</a> to solve your deliverability issues."
     510msgstr ""
     511
    415512#: src/Renderer/WPML_ColumnManager.php:33
    416 msgid "Time"
    417 msgstr ""
    418 
    419 #: src/Renderer/Format/BaseRenderer.php:40
    420 #: src/Renderer/WPML_ColumnManager.php:35
    421 msgid "Receiver"
    422 msgstr ""
    423 
    424 #: src/Renderer/Format/BaseRenderer.php:41
    425 #: src/Renderer/WPML_ColumnManager.php:36
    426 msgid "Subject"
    427 msgstr ""
    428 
    429 #: src/Renderer/Format/BaseRenderer.php:42
    430 #: src/Renderer/WPML_ColumnManager.php:38
    431 msgid "Error"
    432 msgstr ""
    433 
    434 #: src/Renderer/Format/BaseRenderer.php:43
    435 msgid "Headers"
    436 msgstr ""
    437 
    438 #: src/Renderer/Format/BaseRenderer.php:45
    439 #: src/Renderer/WPML_ColumnManager.php:37
    440 msgid "Attachments"
    441 msgstr ""
    442 
    443 #: src/Renderer/Format/BaseRenderer.php:51
    444 #: src/Renderer/WPML_ColumnManager.php:34
    445 msgid "Host"
    446 msgstr ""
    447 
    448 #. translators: %s - Link to the SMTP page.
    449 #: src/Renderer/Format/BaseRenderer.php:169
    450 msgid "<strong>This email failed to send.</strong> <a href=\"%s\">Install WP Mail SMTP</a> to solve your deliverability issues."
    451 msgstr ""
    452 
    453 #: src/Renderer/Format/BaseRenderer.php:181
    454 #: src/WPML_Email_Log_List.php:759
    455 msgid "Dismiss this notice."
    456 msgstr ""
    457 
    458 #: src/Renderer/WPML_ColumnManager.php:32
    459513msgid "ID"
    460514msgstr ""
     
    510564msgstr ""
    511565
    512 #: src/WPML_Email_Log_List.php:519
     566#: src/WPML_Email_Log_List.php:601
    513567msgid "Invalid request!"
     568msgstr ""
     569
     570#. translators: %d: Email Log ID to view.
     571#: src/WPML_Email_Log_List.php:757
     572msgid "View log #%d"
     573msgstr ""
     574
     575#. translators: %d: Email Log ID to resend.
     576#: src/WPML_Email_Log_List.php:764
     577msgid "Resend log #%d"
     578msgstr ""
     579
     580#. translators: %d: Email Log ID to delete.
     581#: src/WPML_Email_Log_List.php:771
     582msgid "Delete log #%d"
    514583msgstr ""
    515584
     
    524593#: src/WPML_OptionsManager.php:406
    525594#: src/WPML_OptionsManager.php:407
    526 #: src/WPML_Plugin.php:248
     595#: src/WPML_Plugin.php:291
    527596msgid "Email Log"
    528597msgstr ""
    529598
    530 #: src/WPML_OptionsManager.php:413
    531 #: src/WPML_OptionsManager.php:414
    532 #: src/WPML_Plugin.php:252
     599#: src/WPML_OptionsManager.php:417
     600#: src/WPML_OptionsManager.php:418
     601#: src/WPML_Plugin.php:301
    533602msgid "Settings"
    534603msgstr ""
    535604
    536 #: src/WPML_OptionsManager.php:421
    537 #: src/WPML_OptionsManager.php:422
    538 #: src/WPML_Plugin.php:256
     605#: src/WPML_OptionsManager.php:425
     606#: src/WPML_OptionsManager.php:426
     607#: src/WPML_Plugin.php:305
    539608msgid "SMTP"
    540609msgstr ""
    541610
    542 #: src/WPML_OptionsManager.php:505
    543 #: src/WPML_OptionsManager.php:534
     611#: src/WPML_OptionsManager.php:509
     612#: src/WPML_OptionsManager.php:547
    544613msgid "You do not have sufficient permissions to access this page."
    545614msgstr ""
    546615
    547 #: src/WPML_OptionsManager.php:574
     616#: src/WPML_OptionsManager.php:587
    548617msgid "true"
    549618msgstr ""
    550619
    551 #: src/WPML_OptionsManager.php:576
     620#: src/WPML_OptionsManager.php:589
    552621msgid "false"
    553622msgstr ""
    554623
    555 #: src/WPML_OptionsManager.php:579
     624#: src/WPML_OptionsManager.php:592
    556625msgid "Administrator"
    557626msgstr ""
    558627
    559 #: src/WPML_OptionsManager.php:581
     628#: src/WPML_OptionsManager.php:594
    560629msgid "Editor"
    561630msgstr ""
    562631
    563 #: src/WPML_OptionsManager.php:583
     632#: src/WPML_OptionsManager.php:596
    564633msgid "Author"
    565634msgstr ""
    566635
    567 #: src/WPML_OptionsManager.php:585
     636#: src/WPML_OptionsManager.php:598
    568637msgid "Contributor"
    569638msgstr ""
    570639
    571 #: src/WPML_OptionsManager.php:587
     640#: src/WPML_OptionsManager.php:600
    572641msgid "Subscriber"
    573642msgstr ""
    574643
    575 #: src/WPML_OptionsManager.php:589
     644#: src/WPML_OptionsManager.php:602
    576645msgid "Anyone"
    577646msgstr ""
    578647
     648#: src/WPML_Plugin.php:420
     649msgid "Heads up!"
     650msgstr ""
     651
     652#: src/WPML_Plugin.php:421
     653#: src/WPML_UserFeedback.php:116
     654msgid "Yes"
     655msgstr ""
     656
     657#: src/WPML_Plugin.php:422
     658msgid "Cancel"
     659msgstr ""
     660
     661#: src/WPML_Plugin.php:424
     662msgid "Warning!"
     663msgstr ""
     664
    579665#. translators: $1$s - WP Mail Logging plugin name; $2$s - WP.org review link; $3$s - WP.org review link.
    580 #: src/WPML_Plugin.php:375
     666#: src/WPML_Plugin.php:559
    581667msgid "Please rate %1$s <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">&#9733;&#9733;&#9733;&#9733;&#9733;</a> on <a href=\"%3$s\" target=\"_blank\" rel=\"noopener\">WordPress.org</a> to help us spread the word."
    582668msgstr ""
     
    595681msgstr ""
    596682
    597 #: src/WPML_UserFeedback.php:90
     683#: src/WPML_UserFeedback.php:113
    598684msgid "Are you enjoying WP Mail Logging?"
    599685msgstr ""
    600686
    601 #: src/WPML_UserFeedback.php:93
    602 msgid "Yes"
    603 msgstr ""
    604 
    605 #: src/WPML_UserFeedback.php:95
     687#: src/WPML_UserFeedback.php:118
    606688msgid "Not Really"
    607689msgstr ""
    608690
    609 #: src/WPML_UserFeedback.php:99
     691#: src/WPML_UserFeedback.php:122
    610692msgid "We're sorry to hear you aren't enjoying WP Mail Logging. We would love a chance to improve. Could you take a minute and let us know what we can do better?"
    611693msgstr ""
    612694
    613 #: src/WPML_UserFeedback.php:104
     695#: src/WPML_UserFeedback.php:127
    614696msgid "Give Feedback"
    615697msgstr ""
    616698
    617 #: src/WPML_UserFeedback.php:109
     699#: src/WPML_UserFeedback.php:132
    618700msgid "No thanks"
    619701msgstr ""
    620702
    621 #: src/WPML_UserFeedback.php:114
     703#: src/WPML_UserFeedback.php:137
    622704msgid "That’s awesome! Could you please do me a BIG favor and give it a 5-star rating on WordPress to help us spread the word and boost our motivation?"
    623705msgstr ""
    624706
    625 #: src/WPML_UserFeedback.php:115
     707#: src/WPML_UserFeedback.php:138
    626708msgid "~ WP Mail Logging team"
    627709msgstr ""
    628710
    629 #: src/WPML_UserFeedback.php:120
     711#: src/WPML_UserFeedback.php:143
    630712msgid "OK, you deserve it"
    631713msgstr ""
    632714
    633 #: src/WPML_UserFeedback.php:123
     715#: src/WPML_UserFeedback.php:146
    634716msgid "Nope, maybe later"
    635717msgstr ""
    636718
    637 #: src/WPML_UserFeedback.php:125
     719#: src/WPML_UserFeedback.php:148
    638720msgid "I already did"
    639721msgstr ""
  • wp-mail-logging/trunk/readme.txt

    r2925728 r2929157  
    55License URI: http://www.gnu.org/licenses/gpl-3.0.html
    66Requires at least: 5.0
    7 Tested up to: 6.1
     7Tested up to: 6.2
    88Requires PHP: 7.1
    9 Stable tag: 1.11.2
     9Stable tag: 1.12.0
    1010
    1111Log, view, and resend all emails sent from your WordPress site. Great for resolving email sending issues or keeping a copy for auditing.
     
    8282Yes, it logs all emails sent from your site, including any emails that are created by your plugins or your theme.
    8383
     84= Why are some attachments not logged? =
     85
     86This plugin only stores the file path of the attachments and not the attachments file themselves. If the attachment file path does not exist or the file was deleted, then it will not show up in the logs.
     87
    8488= I need help! =
    8589
     
    105109
    106110== Changelog ==
     111= 1.12.0 - 2023-06-21 =
     112Added: Support UTF-8 encoded subjects.
     113Added: Search by filter.
     114Added: New filter hook for mail data before it’s saved.
     115Improved: Hide unrelated notices in admin plugin pages.
     116Improved: Use transient to cache certain DB calls.
     117Improved: Search logs by message optimization.
     118Fixed: Missing security checks in AJAX dismiss notices feature.
     119Fixed: MySQL 8 syntax error when `sql-mode = ANSI_QUOTES`.
     120Fixed: PHP Deprecated: Constant FILTER_SANITIZE_STRING.
     121Fixed: Logger breaks if no array passed from wp_mail.
     122Fixed: Line breaks on plain text email on “HTML” preview.
     123Fixed: Non-admin users can see and access “Settings” and “SMTP” pages.
     124Fixed: Escape the subject in logs table and single view.
     125
    107126= 1.11.2 - 2023-06-14 =
    108127- Fixed: Email Log JSON preview security.
     
    116135- Improved: overall UI/UX.
    117136- Removed: Redux Framework.
     137- Fixed: resend with HTML type email not working all the time due to headers parsing error.
    118138
    119139= 1.10.5 - 2022-12-21 =
  • wp-mail-logging/trunk/src/Model/Email_Log_Collection.php

    r2880502 r2929157  
    44
    55// Exit if accessed directly
     6use No3x\WPML\Migration\Migration;
     7
    68if ( ! defined( 'ABSPATH' ) ) {
    79    exit;
     
    114116
    115117    /**
     118     * What field to search in.
     119     *
     120     * @since 1.12.0
     121     *
     122     * @var string
     123     */
     124    private $search_place = '';
     125
     126    /**
    116127     * Sorting of the email logs.
    117128     *
     
    240251
    241252        $this->search = $search;
     253
     254        return $this;
     255    }
     256
     257    /**
     258     * Set the field where we want to search in.
     259     *
     260     * @since 1.12.0
     261     *
     262     * @param string $search_place Field to search in.
     263     *
     264     * @return $this
     265     */
     266    public function search_place( $search_place ) {
     267
     268        $this->search_place = $search_place;
    242269
    243270        return $this;
     
    338365        switch( $this->status ) {
    339366            case self::STATUS_SUCCESSFUL:
    340                 $status_where .= " WHERE `error` IS NULL";
     367                $status_where .= " WHERE `error` IS NULL OR `error` = ''";
    341368                break;
    342369            case self::STATUS_FAILED:
     
    356383            }
    357384
    358             foreach ( $this->searchable_fields as $field ) {
    359                 $search_where .= '`' . esc_sql( $field ) . '` LIKE "%' . esc_sql( $this->search ) . '%" OR ';
     385            foreach ( $this->get_search_place() as $field ) {
     386
     387                $search_where .= $this->get_search_sql( $field );
    360388            }
    361389
     
    400428
    401429        return $results;
     430    }
     431
     432    /**
     433     * Get the fields where the search term will be searched.
     434     *
     435     * @since 1.12.0
     436     *
     437     * @return string[]
     438     */
     439    private function get_search_place() {
     440
     441        if ( empty( $this->search_place ) || ! in_array( $this->search_place, $this->searchable_fields, true ) ) {
     442            return $this->searchable_fields;
     443        }
     444
     445        return [ $this->search_place ];
     446    }
     447
     448    /**
     449     * Get the search SQL.
     450     *
     451     * @since 1.12.0
     452     *
     453     * @param string $field Field we are trying to search to.
     454     *
     455     * @return string
     456     */
     457    private function get_search_sql( $field ) {
     458
     459        $db_migrate_version = absint( get_option( Migration::OPTION_NAME, 0 ) );
     460
     461        /*
     462         * We use `MATCH AGAINST` for the `message` field if the database is migrated to version 2 or higher.
     463         * We add the FULL TEXT index to the `message` field in version 2.
     464         */
     465        if ( $field === 'message' && version_compare( $db_migrate_version, 2, '>=' ) ) {
     466            return "MATCH (`message`) AGAINST ('" . esc_sql( $this->search ) . "') OR ";
     467        }
     468
     469        return '`' . esc_sql( $field ) . '` LIKE "%' . esc_sql( $this->search ) . '%" OR ';
    402470    }
    403471
  • wp-mail-logging/trunk/src/Renderer/Format/BaseRenderer.php

    r2880502 r2929157  
    99use No3x\WPML\Renderer\Column\AttachmentsColumn;
    1010use No3x\WPML\Renderer\Column\ColumnFormat;
     11use No3x\WPML\Renderer\Column\SubjectColumn;
    1112use No3x\WPML\Renderer\WPML_ColumnManager;
     13use No3x\WPML\Renderer\WPML_MailRenderer;
    1214use No3x\WPML\WPML_Utils;
    1315
     
    147149     *
    148150     * @since 1.11.0
     151     * @since 1.12.0
    149152     *
    150153     * @param string $key   Key of the value to render.
     
    154157     */
    155158    private function render_column_value( $key, $value ) {
     159        $format = empty( $_POST['format'] ) ? 'html' : $_POST['format'];
    156160        ?>
    157161        <div class="wp-mail-logging-modal-row-value wp-mail-logging-modal-row-value-<?php echo esc_attr( $key ); ?>">
    158162            <?php
    159163
    160             echo wp_kses_post( $value );
     164            if ( $key === WPML_ColumnManager::COLUMN_SUBJECT && $format === WPML_MailRenderer::FORMAT_HTML ) {
     165                try {
     166                    $value = ( new SubjectColumn() )->render(
     167                    [
     168                        'subject' => $value,
     169                    ],
     170                    ColumnFormat::SIMPLE
     171                );
     172                } catch ( \Exception $e ) {}
     173            }
     174
     175            if ( $key === WPML_ColumnManager::COLUMN_SUBJECT ) {
     176                echo esc_html( $value );
     177            } else {
     178                echo wp_kses_post( $value );
     179            }
    161180
    162181            if ( $key === 'error' ) {
  • wp-mail-logging/trunk/src/Renderer/WPML_ColumnManager.php

    r2880502 r2929157  
    88use No3x\WPML\Renderer\Column\GenericColumn;
    99use No3x\WPML\Renderer\Column\IColumn;
     10use No3x\WPML\Renderer\Column\SubjectColumn;
    1011use No3x\WPML\Renderer\Column\TimestampColumn;
    1112
     
    5253            case self::COLUMN_ERROR:
    5354                return new ErrorColumn();
     55            case self::COLUMN_SUBJECT:
     56                return new SubjectColumn();
    5457            default:
    5558                return new GenericColumn($column_name);
  • wp-mail-logging/trunk/src/WPML_Email_Log_List.php

    r2880502 r2929157  
    461461        $per_page = $this->get_items_per_page( 'per_page', 25 );
    462462
     463        $search_place = ! empty( $_REQUEST['search']['place'] ) ? sanitize_key( $_REQUEST['search']['place'] ) : '';
     464        $search       = ! empty( $_REQUEST['search']['term'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['search']['term'] ) ) : $search;
     465
    463466        $log_collection = new Email_Log_Collection( Mail::get_table(), Mail::get_searchable_fields() );
     467        $log_collection->search( $search )->search_place( $search_place );
    464468        $this->statuses_counts = $log_collection->get_statuses_count();
    465469
    466470        $this->items = $log_collection->status( $this->get_current_status() )
    467             ->search( $search )
    468471            ->sort_by( $this->sanitize_orderby() )
    469472            ->order( $this->sanitize_order() )
     
    479482
    480483    /**
     484     * Display the search box.
     485     *
     486     * @since 1.12.0
     487     *
     488     * @param string $text     The 'submit' button label.
     489     * @param string $input_id ID attribute value for the search input field.
     490     */
     491    public function search_box( $text, $input_id ) {
     492
     493        if ( ! $this->has_items() ) {
     494            return;
     495        }
     496
     497        $search_place = ! empty( $_REQUEST['search']['place'] ) ? sanitize_key( $_REQUEST['search']['place'] ) : 'people';
     498        $search_term  = ! empty( $_REQUEST['search']['term'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['search']['term'] ) ) : '';
     499
     500        if ( ! empty( $_REQUEST['orderby'] ) && in_array( $_REQUEST['orderby'], [ 'timestamp', 'host', 'receiver', 'subject' ], true ) ) {
     501            echo '<input type="hidden" name="orderby" value="' . esc_attr( sanitize_key( $_REQUEST['orderby'] ) ) . '" />';
     502        }
     503
     504        if ( ! empty( $_REQUEST['order'] ) ) {
     505            $order = strtoupper( sanitize_key( $_REQUEST['order'] ) );
     506            $order = $order === 'ASC' ? 'ASC' : 'DESC';
     507            echo '<input type="hidden" name="order" value="' . esc_attr( $order ) . '" />';
     508        }
     509
     510        $columns            = $this->columnManager->getColumns();
     511        $columns['message'] = __( 'Message', 'wp-mail-logging' );
     512        ?>
     513
     514        <p class="search-box">
     515            <label class="screen-reader-text" for="<?php echo esc_attr( $input_id ); ?>"><?php echo esc_html( $text ); ?>:</label>
     516            <select name="search[place]">
     517                <?php
     518                foreach ( $this->get_search_dropdown_fields() as $field ) {
     519
     520                    if ( ! isset( $columns[ $field ] ) ) {
     521                        continue;
     522                    }
     523                    ?>
     524                    <option value="<?php echo esc_attr( $field ); ?>" <?php selected( esc_attr( $field ), $search_place ); ?>><?php echo esc_html( $columns[ $field ] ); ?></option>
     525                    <?php
     526                }
     527                ?>
     528            </select>
     529            <input type="search" id="<?php echo esc_attr( $input_id ); ?>" name="search[term]" value="<?php echo esc_attr( $search_term ); ?>" />
     530            <?php submit_button( $text, '', '', false, array( 'id' => 'search-submit' ) ); ?>
     531        </p>
     532
     533        <?php
     534    }
     535
     536    /**
     537     * Get the dropdown search fields.
     538     *
     539     * @since 1.12.0
     540     *
     541     * @return array
     542     */
     543    private function get_search_dropdown_fields() {
     544
     545        $searchable_fields = Mail::get_searchable_fields();
     546        $settings          = SettingsTab::get_settings([]);
     547
     548        foreach ( $searchable_fields as $k => $v ) {
     549
     550            // Check if we need to remove host or attachment.
     551            if (
     552                ( $v === 'host' && empty( $settings['display-host'] ) ) ||
     553                ( $v === 'attachments' && empty( $settings['display-attachments'] ) )
     554            ) {
     555                unset( $searchable_fields[ $k ] );
     556            }
     557        }
     558
     559        return $searchable_fields;
     560    }
     561
     562    /**
    481563     * Process action for a single log.
    482564     *
     
    668750    private function display_actions_icons( $email_log_id ) {
    669751
    670         $assets_url = WPML_Init::getInstance()->getService( 'plugin' )->get_assets_url();
     752        $assets_url   = WPML_Init::getInstance()->getService( 'plugin' )->get_assets_url();
     753        $view_title   = sprintf(
     754            /*
     755             * translators: %d: Email Log ID to view.
     756             */
     757            __( 'View log #%d', 'wp-mail-logging' ),
     758            $email_log_id
     759        );
     760        $resend_title = sprintf(
     761            /*
     762             * translators: %d: Email Log ID to resend.
     763             */
     764            __( 'Resend log #%d', 'wp-mail-logging' ),
     765            $email_log_id
     766        );
     767        $delete_title = sprintf(
     768            /*
     769             * translators: %d: Email Log ID to delete.
     770             */
     771            __( 'Delete log #%d', 'wp-mail-logging' ),
     772            $email_log_id
     773        );
    671774
    672775        return '<div class="wp-mail-logging-action-column" data-mail-id="' . esc_attr( $email_log_id )  . '">
    673             <button class="wp-mail-logging-action-item" data-action="view">
     776            <button title="' . esc_attr( $view_title ) . '" class="wp-mail-logging-action-item" data-action="view">
    674777                <svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
    675778                    <path d="M8 10C9.10457 10 10 9.10457 10 8C10 6.89543 9.10457 6 8 6C6.89543 6 6 6.89543 6 8C6 9.10457 6.89543 10 8 10Z" fill="#50575E" fill-opacity="0.8"/>
     
    677780                </svg>
    678781            </button>
    679             <button class="wp-mail-logging-action-item" data-action="resend">
     782            <button title="' . esc_attr( $resend_title ) . '" class="wp-mail-logging-action-item" data-action="resend">
    680783                 <svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
    681784                    <path d="M2.39998 3.3079C2.39998 3.06708 2.49832 2.83613 2.67338 2.66585C2.84844 2.49557 3.08586 2.3999 3.33343 2.3999C3.581 2.3999 3.81843 2.49557 3.99348 2.66585C4.16854 2.83613 4.26688 3.06708 4.26688 3.3079V4.08998C5.18891 3.28835 6.35776 2.8061 7.59112 2.71844C8.82447 2.63078 10.053 2.94265 11.085 3.6054C12.117 4.26815 12.8945 5.24452 13.2962 6.38219C13.698 7.51987 13.7013 8.75488 13.3057 9.8946C12.9101 11.0343 12.1379 12.0146 11.1095 12.6826C10.0811 13.3506 8.85425 13.6688 7.62044 13.5874C6.38663 13.5061 5.21519 13.0298 4.28885 12.2329C3.36251 11.436 2.73337 10.3632 2.49954 9.18202C2.39002 8.61906 2.8779 8.15054 3.4666 8.15054C3.90844 8.15054 4.25817 8.50284 4.35152 8.92294C4.52107 9.68189 4.93619 10.368 5.53598 10.8807C6.13577 11.3933 6.88867 11.7055 7.68423 11.7715C8.47978 11.8374 9.27613 11.6537 9.95646 11.2471C10.6368 10.8406 11.1653 10.2327 11.4644 9.51259C11.7636 8.7925 11.8176 7.99811 11.6186 7.24595C11.4196 6.49379 10.9781 5.82345 10.3588 5.33327C9.73944 4.84308 8.97493 4.55884 8.17737 4.52225C7.37982 4.48566 6.5912 4.69863 5.92719 5.12994H6.44495C6.69251 5.12994 6.92994 5.2256 7.105 5.39589C7.28006 5.56617 7.3784 5.79712 7.3784 6.03794C7.3784 6.27875 7.28006 6.5097 7.105 6.67999C6.92994 6.85027 6.69251 6.94593 6.44495 6.94593H3.33343C3.08586 6.94593 2.84844 6.85027 2.67338 6.67999C2.49832 6.5097 2.39998 6.27875 2.39998 6.03794V3.3079Z" fill="currentColor"/>
    682785                </svg>
    683786            </button>
    684             <button class="wp-mail-logging-action-item"  data-action="delete">
     787            <button title="' . esc_attr( $delete_title ) . '" class="wp-mail-logging-action-item"  data-action="delete">
    685788                <svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
    686789                    <path d="M4 4.66683H3.33333V13.3335C3.33333 13.6871 3.47381 14.0263 3.72386 14.2763C3.97391 14.5264 4.31304 14.6668 4.66667 14.6668H11.3333C11.687 14.6668 12.0261 14.5264 12.2761 14.2763C12.5262 14.0263 12.6667 13.6871 12.6667 13.3335V4.66683H4ZM6.66667 12.6668H5.33333V6.66683H6.66667V12.6668ZM10.6667 12.6668H9.33333V6.66683H10.6667V12.6668ZM11.0787 2.66683L10 1.3335H6L4.92133 2.66683H2V4.00016H14V2.66683H11.0787Z" fill="currentColor"/>
  • wp-mail-logging/trunk/src/WPML_Init.php

    r2880502 r2929157  
    2222namespace No3x\WPML;
    2323
     24use No3x\WPML\Migration\Migration;
    2425use No3x\WPML\Model\DefaultMailService;
    2526use No3x\WPML\Renderer\WPML_MailRenderer;
     
    152153            // Perform any version-upgrade activities prior to activation (e.g. database changes).
    153154            $this->container['plugin']->upgrade();
     155
     156            // Perform DB migrations.
     157            new Migration();
    154158        }
    155159
  • wp-mail-logging/trunk/src/WPML_InstallIndicator.php

    r2187843 r2929157  
    3737     */
    3838    public function isInstalled() {
    39         $installed = false;
    4039
    41         // We don't use the cached value, only its presence.
    42         // This is because we never cache not installed state.
    43         wp_cache_get(self::CACHE_INSTALLED_KEY, self::CACHE_GROUP, false, $installed);
    44         if (!$installed) {
    45             global $wpdb;
     40        $installed = (bool) get_transient( self::CACHE_GROUP . '_' . self::CACHE_INSTALLED_KEY );
    4641
    47             $mails = $this->getTablename('mails');
    48             $query = $wpdb->query("SHOW TABLES LIKE \"$mails\"");
    49             $installed = (bool) $query;
     42        if ( $installed ) {
     43            return true;
     44        }
    5045
    51             if ($installed) {
    52                 wp_cache_set(self::CACHE_INSTALLED_KEY, true, self::CACHE_GROUP, 3600);
    53             }
     46        global $wpdb;
     47
     48        $query = $wpdb->query(
     49            $wpdb->prepare(
     50                "SHOW TABLES LIKE %s",
     51                $this->getTablename( 'mails' )
     52            )
     53        );
     54
     55        $installed = (bool) $query;
     56
     57        if ( $installed ) {
     58            set_transient( self::CACHE_GROUP . '_' . self::CACHE_INSTALLED_KEY, true, 3600 );
    5459        }
     60
    5561        return $installed;
    5662    }
  • wp-mail-logging/trunk/src/WPML_LifeCycle.php

    r2880502 r2929157  
    4747
    4848        if ( $this->getSetting('delete-on-deactivation', false) == true ) {
     49
     50            // Delete some options.
     51            delete_option( 'wp_mail_logging_activated_time' );
     52            delete_option( 'wp_mail_logging_user_feedback_notice' );
     53            delete_option( 'wp_mail_logging_db_version' );
     54
     55            // Remove some transient.
     56            delete_transient( self::CACHE_GROUP . '_' . self::CACHE_INSTALLED_KEY );
     57
    4958            //TOOD: is multi site?
    5059            $this->unInstallDatabaseTables();
  • wp-mail-logging/trunk/src/WPML_OptionsManager.php

    r2880502 r2929157  
    410410        );
    411411
     412        if ( ! current_user_can( WPML_Plugin::get_view_settings_capability() ) ) {
     413            return;
     414        }
     415
    412416        add_submenu_page( $menu_slug,
    413417            __( 'Settings', 'wp-mail-logging' ),
     
    515519            <div class="wp-mail-logging-page-content">
    516520                <?php
     521                /**
     522                 * Hook before the tab content.
     523                 *
     524                 * @since 1.12.0
     525                 *
     526                 * @param string $tab Current active tab.
     527                 */
     528                do_action( 'wp_mail_logging_admin_tab_content_before', $tab );
     529
    517530                /**
    518531                 * Hook the tab content here.
  • wp-mail-logging/trunk/src/WPML_Plugin.php

    r2880502 r2929157  
    66use No3x\WPML\Admin\SettingsTab;
    77use No3x\WPML\Admin\SMTPTab;
     8use No3x\WPML\Migration\Migration;
    89use No3x\WPML\Model\WPML_Mail as Mail;
    910use No3x\WPML\Renderer\WPML_MailRenderer_AJAX_Handler;
     
    5556    protected function installDatabaseTables() {
    5657        global $wpdb;
     58
     59        $collate = ! empty( $wpdb->collate ) ? "COLLATE='{$wpdb->collate}'" : '';
     60
    5761        $tableName = WPML_Plugin::getTablename('mails');
    58         $wpdb->query("CREATE TABLE IF NOT EXISTS `$tableName` (
    59                 `mail_id` INT NOT NULL AUTO_INCREMENT,
    60                 `timestamp` TIMESTAMP NOT NULL,
    61                 `host` VARCHAR(200) NOT NULL DEFAULT '0',
    62                 `receiver` VARCHAR(200) NOT NULL DEFAULT '0',
    63                 `subject` VARCHAR(200) NOT NULL DEFAULT '0',
    64                 `message` TEXT NULL,
    65                 `headers` TEXT NULL,
    66                 `attachments` VARCHAR(800) NOT NULL DEFAULT '0',
    67                 `error` VARCHAR(400) NULL DEFAULT '',
    68                 `plugin_version` VARCHAR(200) NOT NULL DEFAULT '0',
    69                 PRIMARY KEY (`mail_id`)
    70             ) DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE utf8_general_ci;");
     62        $result    = $wpdb->query("
     63            CREATE TABLE IF NOT EXISTS `$tableName` (
     64                `mail_id` INT NOT NULL AUTO_INCREMENT,
     65                `timestamp` TIMESTAMP NOT NULL,
     66                `host` VARCHAR(200) NOT NULL DEFAULT '0',
     67                `receiver` VARCHAR(200) NOT NULL DEFAULT '0',
     68                `subject` VARCHAR(200) NOT NULL DEFAULT '0',
     69                `message` TEXT NULL,
     70                `headers` TEXT NULL,
     71                `attachments` VARCHAR(800) NOT NULL DEFAULT '0',
     72                `error` VARCHAR(400) NULL DEFAULT '',
     73                `plugin_version` VARCHAR(200) NOT NULL DEFAULT '0',
     74                PRIMARY KEY (`mail_id`),
     75                FULLTEXT INDEX `idx_message` (`message`)
     76            )
     77            ENGINE='InnoDB'
     78            {$collate};");
     79
     80        if ( $result !== false ) {
     81            /*
     82             * Set the option to `2` to indicate that previous migrations are no longer needed.
     83             */
     84            update_option( Migration::OPTION_NAME, 2, false );
     85        }
    7186    }
    7287
     
    199214
    200215        add_filter( 'in_admin_header', [ $this, 'admin_header' ] );
     216
     217        add_filter( 'admin_body_class', [ $this, 'add_admin_body_class' ] );
     218    }
     219
     220    /**
     221     * Add admin body class for WP Mail Logging admin pages.
     222     *
     223     * @since 1.12.0
     224     *
     225     * @param string $classes Space-separated list of CSS classes.
     226     *
     227     * @return string
     228     */
     229    public function add_admin_body_class( $classes ) {
     230
     231        global $wp_logging_list_page;
     232
     233        $current_screen = get_current_screen();
     234
     235        if (
     236            empty( $current_screen ) ||
     237            ! is_a( $current_screen, 'WP_Screen' ) ||
     238            $current_screen->id !== $wp_logging_list_page
     239        ) {
     240            return $classes;
     241        }
     242
     243        return $classes . ' wp-mail-logging-admin-page';
    201244    }
    202245
     
    248291                        'label' => __( 'Email Log', 'wp-mail-logging' ),
    249292                    ],
    250                     [
    251                         'slug'  => 'settings',
    252                         'label' => __( 'Settings', 'wp-mail-logging' ),
    253                     ],
    254                     [
    255                         'slug'  => 'smtp',
    256                         'label' => __( 'SMTP', 'wp-mail-logging' ),
    257                     ],
    258293                ];
     294
     295                if ( current_user_can( self::get_view_settings_capability() ) ) {
     296                    $menu_tabs = array_merge(
     297                        $menu_tabs,
     298                        [
     299                            [
     300                                'slug'  => 'settings',
     301                                'label' => __( 'Settings', 'wp-mail-logging' ),
     302                            ],
     303                            [
     304                                'slug'  => 'smtp',
     305                                'label' => __( 'SMTP', 'wp-mail-logging' ),
     306                            ],
     307                        ]
     308                    );
     309                }
    259310
    260311                foreach ( $menu_tabs as $menu_tab ) {
     
    274325
    275326    /**
     327     * Get the user capability that is required to view the settings page.
     328     *
     329     * @since 1.12.0
     330     *
     331     * @return string
     332     */
     333    public static function get_view_settings_capability() {
     334
     335        return apply_filters( 'wp_mail_logging_view_settings_capability', 'manage_options' );
     336    }
     337
     338    /**
    276339     * Create WP Mail Logging screens.
    277340     *
     
    290353        }
    291354
    292         $tab = filter_input( INPUT_GET, 'tab' );
    293 
    294         switch ( $tab ) {
    295             case 'settings':
    296                 $tabObj = SettingsTab::get_instance();
    297                 break;
    298             case 'smtp':
    299                 $tabObj = SMTPTab::get_instance();
    300                 break;
    301             default:
    302                 $tabObj = EmailLogsTab::get_instance();
    303                 break;
    304         }
    305 
    306         if ( is_null( $tabObj ) ) {
     355        // Hide all unrelated to the plugin notices on the plugin admin pages.
     356        add_action( 'admin_print_scripts', [ $this, 'hide_unrelated_notices' ] );
     357
     358        if ( current_user_can( self::get_view_settings_capability() ) ) {
     359            $allowed_screens = [
     360                'settings' => SettingsTab::get_instance(),
     361                'smtp'     => SMTPTab::get_instance(),
     362            ];
     363        }
     364
     365        $tab = ! empty( $_GET['tab'] ) ? sanitize_text_field( $_GET['tab'] ): 'logs';
     366
     367        if ( ! isset( $allowed_screens[ $tab ] ) ) {
     368            EmailLogsTab::get_instance()->screen_hooks();
     369        }
     370        else {
     371            $allowed_screens[ $tab ]->screen_hooks();
     372        }
     373
     374        if ( $tab === 'logs' || $tab === 'settings' ) {
     375            add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_jquery_confirm' ] );
     376        }
     377    }
     378
     379    /**
     380     * Enqueue the jQuery confirm library.
     381     *
     382     * @since 1.12.0
     383     *
     384     * @return void
     385     *
     386     * @throws \Exception
     387     */
     388    public function enqueue_jquery_confirm() {
     389
     390        $plugin_meta = WPML_Init::getInstance()->getService( 'plugin-meta' );
     391
     392        wp_enqueue_script(
     393            'wp-mail-logging-jquery-confirm',
     394            $plugin_meta['uri'] . "lib/jquery-confirm/jquery-confirm.min.js",
     395            [ 'jquery' ],
     396            '3.3.4',
     397            true
     398        );
     399
     400        wp_enqueue_style(
     401            'wp-mail-logging-jquery-confirm',
     402            $plugin_meta['uri'] . "lib/jquery-confirm/jquery-confirm.min.css",
     403            [],
     404            '3.3.4'
     405        );
     406
     407        $assets_url = WPML_Init::getInstance()->getService( 'plugin' )->get_assets_url();
     408
     409        wp_localize_script(
     410            'wp-mail-logging-jquery-confirm',
     411            'WPMailLoggingJqueryConfirm',
     412            /**
     413             * Filter the jQuery Confirm localized strings.
     414             *
     415             * @since 1.12.0
     416             */
     417            apply_filters(
     418                'wp_mail_logging_jquery_confirm_localized_strings',
     419                [
     420                    'headsup' => esc_html__( 'Heads up!', 'wp-mail-logging' ),
     421                    'yes'     => esc_html__( 'Yes', 'wp-mail-logging' ),
     422                    'cancel'  => esc_html__( 'Cancel', 'wp-mail-logging' ),
     423                    'icon'    => esc_url( $assets_url . '/images/font-awesome/exclamation-circle-solid-orange.svg' ),
     424                    'warning' => esc_html__( 'Warning!', 'wp-mail-logging' ),
     425                ]
     426            )
     427        );
     428    }
     429
     430    /**
     431     * Remove all non-WP Mail Logging plugin notices from our plugin pages.
     432     *
     433     * @since 1.12.0
     434     */
     435    public function hide_unrelated_notices() {
     436
     437        $this->remove_unrelated_actions( 'user_admin_notices' );
     438        $this->remove_unrelated_actions( 'admin_notices' );
     439        $this->remove_unrelated_actions( 'all_admin_notices' );
     440        $this->remove_unrelated_actions( 'network_admin_notices' );
     441    }
     442
     443    /**
     444     * Remove all non-WP Mail Logging notices from the our plugin pages based on the provided action hook.
     445     *
     446     * @since 1.12.0
     447     *
     448     * @param string $action The name of the action.
     449     */
     450    private function remove_unrelated_actions( $action ) {
     451
     452        global $wp_filter;
     453
     454        if ( empty( $wp_filter[ $action ]->callbacks ) || ! is_array( $wp_filter[ $action ]->callbacks ) ) {
    307455            return;
    308456        }
    309457
    310         $tabObj->screen_hooks();
     458        foreach ( $wp_filter[ $action ]->callbacks as $priority => $hooks ) {
     459            foreach ( $hooks as $name => $arr ) {
     460
     461                if ( strpos( strtolower( $name ), 'no3x\wpml' ) !== false ) {
     462                    continue;
     463                }
     464
     465                // Handle the case when the callback is an array.
     466                if (
     467                    is_array( $arr ) && ! empty( $arr['function'] ) && is_array( $arr['function'] )
     468                    && ! empty( $arr['function'][0] ) && is_object( $arr['function'][0] )
     469                    && ( strpos( strtolower( get_class( $arr['function'][0] ) ), 'no3x\wpml' ) !== false )
     470                ) {
     471                    continue;
     472                }
     473
     474                unset( $wp_filter[ $action ]->callbacks[ $priority ][ $name ] );
     475            }
     476        }
    311477    }
    312478
     
    329495     * Logs mail to database.
    330496     *
     497     * @global $wpml_current_mail_id
     498     *
    331499     * @param array $mailArray
    332      * @global $wpml_current_mail_id
     500     *
    333501     * @since 1.0
     502     * @since 1.12.0 Short-circuit if $mailArray is not an array.
     503     *
    334504     * @return array $mailOriginal
    335505     */
    336506    public function log_email( $mailArray ) {
     507
     508        /**
     509         * Filters mail data before it is logged.
     510         *
     511         * @since 1.12.0
     512         *
     513         * @param array $mailArray Array containing the mail data to be logged.
     514         */
     515        $mailArray = apply_filters( 'wp_mail_logging_before_log_email', $mailArray );
     516
     517        if ( ! is_array( $mailArray ) ) {
     518            return $mailArray;
     519        }
     520
    337521        global $wpml_current_mail_id;
    338522
  • wp-mail-logging/trunk/src/WPML_ProductEducation.php

    r2880502 r2929157  
    6565        check_ajax_referer( self::DISMISS_NONCE_ACTION, 'nonce' );
    6666
    67         if ( empty( $_POST['productEducationID'] ) ) {
     67        if ( empty( $_POST['productEducationID'] || ! is_super_admin() ) ) {
    6868
    6969            wp_send_json_error(
  • wp-mail-logging/trunk/src/WPML_UserFeedback.php

    r2837381 r2929157  
    1414 */
    1515class WPML_UserFeedback implements IHooks {
     16
     17    /**
     18     * The ajax action for notice dismissal.
     19     *
     20     * @since 1.12.0
     21     *
     22     * @var string
     23     */
     24    const AJAX_ACTION_NONCE = 'wp_mail_logging_user_feedback_notice_dismiss_nonce';
     25
     26    /**
     27     * Transient key for mail logs count.
     28     *
     29     * @since 1.12.0
     30     *
     31     * @var string
     32     */
     33    const MAIL_LOGS_COUNT_TRANSIENT_KEY = 'wp_mail_logging_total_logs_count';
    1634
    1735    /**
     
    7896        }
    7997
     98        $total_logs = get_transient( self::MAIL_LOGS_COUNT_TRANSIENT_KEY );
     99
     100        if ( $total_logs === false ) {
     101            $total_logs = Mail::query()->search( false )->find( true );
     102            set_transient( self::MAIL_LOGS_COUNT_TRANSIENT_KEY, absint( $total_logs ), DAY_IN_SECONDS );
     103        }
     104
    80105        // Only display the notice if our plugin is being used (has at least 10 email logs).
    81         $total_logs = Mail::query()->search( false )->find( true );
    82 
    83106        if ( $total_logs < 10 ) {
    84107            return;
     
    86109
    87110        ?>
    88         <div class="notice notice-info is-dismissible wp-mail-logging-review-notice">
     111        <div class="notice notice-info is-dismissible wp-mail-logging-review-notice" data-nonce="<?php echo esc_attr( wp_create_nonce( self::AJAX_ACTION_NONCE ) ); ?>">
    89112            <div class="wp-mail-logging-review-step wp-mail-logging-review-step-1">
    90113                <p><?php esc_html_e( 'Are you enjoying WP Mail Logging?', 'wp-mail-logging' ); ?></p>
     
    130153            jQuery( document ).ready( function( $ ) {
    131154                $( document ).on( 'click', '.wp-mail-logging-dismiss-review-notice, .wp-mail-logging-review-notice button', function( e ) {
     155
     156                    var $parent = $( this ).parent( '.wp-mail-logging-review-notice' );
     157
     158                    if ( $parent.length <= 0 || ! $parent.data( 'nonce' ) ) {
     159                        return;
     160                    }
     161
    132162                    if (! $( this ).hasClass( 'wp-mail-logging-review-out' )) {
    133163                        e.preventDefault();
    134164                    }
    135                     $.post( ajaxurl, {action: 'wp_mail_logging_feedback_notice_dismiss'} );
     165
     166                    $.post(
     167                        ajaxurl,
     168                        {
     169                            action: 'wp_mail_logging_feedback_notice_dismiss',
     170                            nonce: $parent.data( 'nonce' )
     171                        }
     172                    );
     173
    136174                    $( '.wp-mail-logging-review-notice' ).remove();
    137175                } );
     
    162200    public function feedback_notice_dismiss() {
    163201
     202        if ( empty( $_POST['nonce'] ) || ! check_admin_referer( self::AJAX_ACTION_NONCE, 'nonce' ) || ! is_super_admin() ) {
     203            wp_send_json_error();
     204        }
     205
    164206        $options              = get_option( self::OPTION_NAME, [] );
    165207        $options['time']      = time();
     
    168210        update_option( self::OPTION_NAME, $options );
    169211
    170         if ( is_super_admin() && is_multisite() ) {
     212        if ( is_multisite() ) {
    171213            $site_list = get_sites();
    172214            foreach ( (array) $site_list as $site ) {
  • wp-mail-logging/trunk/src/inc/Admin/EmailLogsTab.php

    r2923464 r2929157  
    174174        add_filter( 'admin_body_class', [ $this, 'add_admin_body_class' ] );
    175175        add_action( 'wp_mail_logging_admin_tab_content', [ $this, 'display_tab_content' ] );
     176        add_filter( 'wp_mail_logging_jquery_confirm_localized_strings', [ $this, 'jquery_confirm_localized_string' ] );
    176177    }
    177178
     
    535536     *
    536537     * @since 1.11.0
    537      *
    538      * @param $classes Space-separated list of CSS classes.
     538     * @deprecated 1.12.0 We are now adding this class in all the WP Mail Logging pages.
     539     *
     540     * @param string $classes Space-separated list of CSS classes.
    539541     *
    540542     * @return string
     
    542544    public function add_admin_body_class( $classes ) {
    543545
    544         global $wp_logging_list_page;
    545 
    546         $current_screen = get_current_screen();
    547 
    548         if ( empty( $current_screen ) || ! is_a( $current_screen, 'WP_Screen' ) || $current_screen->id !== $wp_logging_list_page ) {
    549             return $classes;
    550         }
    551 
    552         return $classes . ' wp-mail-logging-admin-page';
     546        return $classes;
     547    }
     548
     549    /**
     550     * The localised strings for the jQuery confirm dialog.
     551     *
     552     * @since 1.12.0
     553     *
     554     * @param array $strings Localized strings.
     555     *
     556     * @return mixed
     557     */
     558    public function jquery_confirm_localized_string( $strings ) {
     559
     560        $strings['delete_log_confirm_msg'] = esc_html__( 'Are you sure you want to delete this log?', 'wp-mail-logging' );
     561
     562        return $strings;
    553563    }
    554564}
  • wp-mail-logging/trunk/src/inc/Admin/SettingsTab.php

    r2880502 r2929157  
    119119
    120120         // Check if we need to save data.
    121         $data = filter_input( INPUT_POST, 'wp-mail-logging-setting', FILTER_SANITIZE_STRING, FILTER_REQUIRE_ARRAY );
     121        $data = filter_input( INPUT_POST, 'wp-mail-logging-setting', FILTER_SANITIZE_FULL_SPECIAL_CHARS, FILTER_REQUIRE_ARRAY );
    122122
    123123        if ( empty( $data ) || empty( $_POST[ self::SAVE_SETTINGS_NONCE_ACTION ] ) || ! wp_verify_nonce( $_POST[ self::SAVE_SETTINGS_NONCE_ACTION ], self::SAVE_SETTINGS_NONCE_ACTION ) ) {
     
    177177            'wp-mail-logging-admin-settings',
    178178            $assets_url . '/js/wp-mail-logging-admin-settings.js',
    179             [ 'jquery' ],
     179            [ 'jquery', 'wp-mail-logging-jquery-confirm' ],
    180180            $plugin_meta['version']
    181181        );
  • wp-mail-logging/trunk/vendor/autoload.php

    r2880502 r2929157  
    55require_once __DIR__ . '/composer/autoload_real.php';
    66
    7 return ComposerAutoloaderInitdf2ae46301f4573d07a68bb090e3e922::getLoader();
     7return ComposerAutoloaderInit69a7d59a98d30eebcee330fbb3951b1e::getLoader();
  • wp-mail-logging/trunk/vendor/composer/autoload_classmap.php

    r2880502 r2929157  
    1212    'No3x\\WPML\\Helpers\\PluginSilentUpgrader' => $baseDir . '/src/inc/Helpers/PluginSilentUpgrader.php',
    1313    'No3x\\WPML\\Helpers\\PluginSilentUpgraderSkin' => $baseDir . '/src/inc/Helpers/PluginSilentUpgraderSkin.php',
     14    'No3x\\WPML\\Migration\\Migration' => $baseDir . '/src/inc/Migration/Migration.php',
    1415    'No3x\\WPML\\Tests\\Helper\\WPML_IntegrationTestCase' => $baseDir . '/tests/helper/WPML_IntegrationTestCase.php',
    1516    'No3x\\WPML\\Tests\\Helper\\WPMailArrayBuilder' => $baseDir . '/tests/helper/WPMailArrayBuilder.php',
  • wp-mail-logging/trunk/vendor/composer/autoload_psr4.php

    r2880502 r2929157  
    99    'No3x\\WPML\\Tests\\Helper\\' => array($baseDir . '/tests/helper'),
    1010    'No3x\\WPML\\Tests\\' => array($baseDir . '/tests/phpunit/tests'),
     11    'No3x\\WPML\\Migration\\' => array($baseDir . '/src/inc/Migration'),
    1112    'No3x\\WPML\\Helpers\\' => array($baseDir . '/src/inc/Helpers'),
    1213    'No3x\\WPML\\Admin\\' => array($baseDir . '/src/inc/Admin'),
  • wp-mail-logging/trunk/vendor/composer/autoload_real.php

    r2880502 r2929157  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInitdf2ae46301f4573d07a68bb090e3e922
     5class ComposerAutoloaderInit69a7d59a98d30eebcee330fbb3951b1e
    66{
    77    private static $loader;
     
    2323        }
    2424
    25         spl_autoload_register(array('ComposerAutoloaderInitdf2ae46301f4573d07a68bb090e3e922', 'loadClassLoader'), true, true);
     25        spl_autoload_register(array('ComposerAutoloaderInit69a7d59a98d30eebcee330fbb3951b1e', 'loadClassLoader'), true, true);
    2626        self::$loader = $loader = new \Composer\Autoload\ClassLoader();
    27         spl_autoload_unregister(array('ComposerAutoloaderInitdf2ae46301f4573d07a68bb090e3e922', 'loadClassLoader'));
     27        spl_autoload_unregister(array('ComposerAutoloaderInit69a7d59a98d30eebcee330fbb3951b1e', 'loadClassLoader'));
    2828
    2929        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
     
    3131            require_once __DIR__ . '/autoload_static.php';
    3232
    33             call_user_func(\Composer\Autoload\ComposerStaticInitdf2ae46301f4573d07a68bb090e3e922::getInitializer($loader));
     33            call_user_func(\Composer\Autoload\ComposerStaticInit69a7d59a98d30eebcee330fbb3951b1e::getInitializer($loader));
    3434        } else {
    3535            $map = require __DIR__ . '/autoload_namespaces.php';
  • wp-mail-logging/trunk/vendor/composer/autoload_static.php

    r2880502 r2929157  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInitdf2ae46301f4573d07a68bb090e3e922
     7class ComposerStaticInit69a7d59a98d30eebcee330fbb3951b1e
    88{
    99    public static $prefixLengthsPsr4 = array (
     
    1212            'No3x\\WPML\\Tests\\Helper\\' => 23,
    1313            'No3x\\WPML\\Tests\\' => 16,
     14            'No3x\\WPML\\Migration\\' => 20,
    1415            'No3x\\WPML\\Helpers\\' => 18,
    1516            'No3x\\WPML\\Admin\\' => 16,
     
    2526        array (
    2627            0 => __DIR__ . '/../..' . '/tests/phpunit/tests',
     28        ),
     29        'No3x\\WPML\\Migration\\' =>
     30        array (
     31            0 => __DIR__ . '/../..' . '/src/inc/Migration',
    2732        ),
    2833        'No3x\\WPML\\Helpers\\' =>
     
    4247        'No3x\\WPML\\Helpers\\PluginSilentUpgrader' => __DIR__ . '/../..' . '/src/inc/Helpers/PluginSilentUpgrader.php',
    4348        'No3x\\WPML\\Helpers\\PluginSilentUpgraderSkin' => __DIR__ . '/../..' . '/src/inc/Helpers/PluginSilentUpgraderSkin.php',
     49        'No3x\\WPML\\Migration\\Migration' => __DIR__ . '/../..' . '/src/inc/Migration/Migration.php',
    4450        'No3x\\WPML\\Tests\\Helper\\WPML_IntegrationTestCase' => __DIR__ . '/../..' . '/tests/helper/WPML_IntegrationTestCase.php',
    4551        'No3x\\WPML\\Tests\\Helper\\WPMailArrayBuilder' => __DIR__ . '/../..' . '/tests/helper/WPMailArrayBuilder.php',
     
    4955    {
    5056        return \Closure::bind(function () use ($loader) {
    51             $loader->prefixLengthsPsr4 = ComposerStaticInitdf2ae46301f4573d07a68bb090e3e922::$prefixLengthsPsr4;
    52             $loader->prefixDirsPsr4 = ComposerStaticInitdf2ae46301f4573d07a68bb090e3e922::$prefixDirsPsr4;
    53             $loader->classMap = ComposerStaticInitdf2ae46301f4573d07a68bb090e3e922::$classMap;
     57            $loader->prefixLengthsPsr4 = ComposerStaticInit69a7d59a98d30eebcee330fbb3951b1e::$prefixLengthsPsr4;
     58            $loader->prefixDirsPsr4 = ComposerStaticInit69a7d59a98d30eebcee330fbb3951b1e::$prefixDirsPsr4;
     59            $loader->classMap = ComposerStaticInit69a7d59a98d30eebcee330fbb3951b1e::$classMap;
    5460
    5561        }, null, ClassLoader::class);
  • wp-mail-logging/trunk/wp-mail-logging.php

    r2925728 r2929157  
    33 * Plugin Name: WP Mail Logging
    44 * Plugin URI: https://wordpress.org/plugins/wp-mail-logging/
    5  * Version: 1.11.2
     5 * Version: 1.12.0
    66 * Requires at least: 5.0
    77 * Requires PHP: 7.1
Note: See TracChangeset for help on using the changeset viewer.