{
  "title": "Blacklight Inspection",
  "page_title": "Accueil - Allier — CIDFF",
  "uri_ins": "https://allier.cidff.info/",
  "uri_dest": "https://allier.cidff.info/",
  "uri_redirects": [],
  "secure_connection": {},
  "host": "allier.cidff.info",
  "config": {
    "emulateDevice": {
      "name": "iPhone 15 Pro",
      "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1",
      "viewport": {
        "width": 393,
        "height": 659,
        "deviceScaleFactor": 3,
        "isMobile": true,
        "hasTouch": true,
        "isLandscape": false
      }
    },
    "cleareCache": true,
    "captureHar": true,
    "captureLinks": false,
    "enableAdBlock": false,
    "saveBrowserProfile": false,
    "numPages": 2,
    "defaultTimeout": 35000,
    "defaultWaitUntil": "networkidle2",
    "headless": true,
    "headers": {},
    "extraChromiumArgs": [
      "--disable-features=TrackingProtection3pcd",
      "--website-analysis-scan=88e11a90-bac9-433b-b912-d0571aaf0a45"
    ],
    "extraPuppeteerOptions": {}
  },
  "browser": {
    "name": "Chromium",
    "version": "Chrome/127.0.6533.88",
    "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/127.0.0.0 Safari/537.36",
    "platform": {
      "name": "Linux",
      "version": "6.12.101+deb13-amd64"
    }
  },
  "script": {
    "host": "35d8fd4bd11b",
    "version": {
      "npm": "3.11.0",
      "commit": "dev"
    },
    "node_version": "v24.19.0"
  },
  "start_time": "2026-08-22T06:14:03.796Z",
  "end_time": "2026-08-22T06:14:16.290Z",
  "browsing_history": [
    "https://allier.cidff.info/",
    "https://allier.cidff.info/services/",
    "https://allier.cidff.info/metiers-degale-a-egal/"
  ],
  "hosts": {
    "requests": {
      "first_party": [
        "allier.cidff.info"
      ],
      "third_party": [
        "unpkg.com",
        "cdnjs.cloudflare.com",
        "c.basemaps.cartocdn.com",
        "a.basemaps.cartocdn.com",
        "b.basemaps.cartocdn.com",
        "static.xx.fbcdn.net"
      ]
    }
  },
  "reports": {
    "behaviour_event_listeners": {
      "MOUSE": {
        "https://allier.cidff.info/wp-content/cache/autoptimize/autoptimize_single_fa03f187c5d2fdfce7632be6f0a06478.php?ver=1.9.4": [
          "scroll"
        ]
      },
      "KEYBOARD": {
        "data:text/javascript;base64,CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXBJZCA9ICJjaWRmZi1tYXAiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwUmVmID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobWFwSWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwRGV0YWlsc1JlZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaWRmZi1zaXRlLWRldGFpbHMnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRyZXNzUG9pbnRzID0gWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vZGVsIDogWyBsYXQsIGxvbiwgdG9vbHRpcCwgc2l0ZURhdGEgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDYuNDA3NTMzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMDUzNDQ1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBQZXJtYW5lbmNlIGxlIE1vbnRldGAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjMiLCJjZW50cmVfaWQiOiIxIiwibm9tIjoiUGVybWFuZW5jZSBsZSBNb250ZXQiLCJub21fc2x1ZyI6InBlcm1hbmVuY2UtbGUtbW9udGV0IiwiYWRyZXNzZSI6IkNlbnRyZSBzb2NpYWwgMSwyLDMgQm9jYWdlIFxuNCBQbGFjZSBSaWNoZXZpZWlsbGUsIiwiY3AiOiIwMzI0MCIsInZpbGxlIjoiTW9udGV0IChMZSkiLCJ2aWxsZV9zbHVnIjoibW9udGV0LShsZSkiLCJjaXR5X2lkIjoiMTQxOCIsImVtYWlsIjoiY2lkZmYuMDNAb3JhbmdlLmZyIiwidGVsZXBob25lIjoiMDQgNzAgMzUgMTAgNjkiLCJxcHYiOiIwIiwienJyIjoiMSIsImFjY3VlaWwiOiJDZW50cmUgU29jaWFsIDEsIDIsIDMgQm9jYWdlIChSdXJhbCkiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiU3VyIFJEViwgbGUgMlx1MDBlOG1lIGpldWRpIGRlIGNoYXF1ZSBtb2lzIGRlIDEwaCBcdTAwZTAgMTZoIiwidm9sX2hyX2hlYmRvIjoiNWgiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMCIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjoiTCdhY2NvbXBhZ25lbWVudCBwYXJlbnRhbGl0XHUwMGU5IChFSUNDRiwgbVx1MDBlOWRpYXRpb24gZmFtaWxpYWxlKSIsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkFsbGllciIsInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJjb29yZHMiOnsibGF0Ijo0Ni40MDc1MzMsImxvbiI6My4wNTM0NDUsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDYuNDA3NTMzLDMuMDUzNDQ1LDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL2FsbGllci5jaWRmZi5pbmZvXC8ifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDYuNTYzNzQ2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMzM1MDg1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBBY2N1ZWlsIGRlIGpvdXIgTW91bGluc2AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjYiLCJjZW50cmVfaWQiOiIxIiwibm9tIjoiQWNjdWVpbCBkZSBqb3VyIE1vdWxpbnMiLCJub21fc2x1ZyI6ImFjY3VlaWwtZGUtam91ci1tb3VsaW5zIiwiYWRyZXNzZSI6IjE0IHJ1ZSBKZWFuLUphY3F1ZXMgUm91c3NlYXUiLCJjcCI6IjAzMDAwIiwidmlsbGUiOiJNb3VsaW5zIiwidmlsbGVfc2x1ZyI6Im1vdWxpbnMiLCJjaXR5X2lkIjoiMTQyNSIsImVtYWlsIjoiY2lkZmYuMDNAb3JhbmdlLmZyIiwidGVsZXBob25lIjoiMDQgNzAgMzUgMTAgNjkiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJcIkEgcG9ydFx1MDBlOWUgZCdFbGxlc1wiIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IlRvdXMgbGVzIGx1bmRpcyBkZSA5aDAwIFx1MDBlMCAxN2gwMCBzYW5zIFJEViIsInZvbF9ocl9oZWJkbyI6IjExaCIsImlpIjoiMSIsImljIjoiMSIsImUiOiIwIiwidiI6IjAiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOm51bGwsImNhZHJlMiI6bnVsbCwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjoiQXV0cmUiLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOm51bGwsInR5cGU0IjpudWxsLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxsaWVyIiwicmVnaW9uIjoiQXV2ZXJnbmUtUmhcdTAwZjRuZS1BbHBlcyIsImNvb3JkcyI6eyJsYXQiOjQ2LjU2Mzc0NiwibG9uIjozLjMzNTA4NSwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0Ni41NjM3NDYsMy4zMzUwODUsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvYWxsaWVyLmNpZGZmLmluZm9cLyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0Ni4xMjM4MzUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy40MzA3NzgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYEFjY3VlaWwgZGUgam91ciBWaWNoeWAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjciLCJjZW50cmVfaWQiOiIxIiwibm9tIjoiQWNjdWVpbCBkZSBqb3VyIFZpY2h5Iiwibm9tX3NsdWciOiJhY2N1ZWlsLWRlLWpvdXItdmljaHkiLCJhZHJlc3NlIjoiOCBiaXMgcnVlIFZvbHRhaXJlIiwiY3AiOiIwMzIwMCIsInZpbGxlIjoiVmljaHkiLCJ2aWxsZV9zbHVnIjoidmljaHkiLCJjaXR5X2lkIjoiMTU0NCIsImVtYWlsIjoiY2lkZmYuMDNAb3JhbmdlLmZyIiwidGVsZXBob25lIjoiMDQgNzAgMzUgMTAgNjkiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJcIkEgcG9ydFx1MDBlOWUgZCdFbGxlc1wiIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IlRvdXMgbGVzIHZlbmRyZWRpcyBkZSA5aCBcdTAwZTAgMTdoIHNhbnMgUkRWIiwidm9sX2hyX2hlYmRvIjoiMTBoMzAiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMCIsInYiOiIwIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjpudWxsLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6IkF1dHJlIiwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkFsbGllciIsInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJjb29yZHMiOnsibGF0Ijo0Ni4xMjM4MzUsImxvbiI6My40MzA3NzgsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDYuMTIzODM1LDMuNDMwNzc4LDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL2FsbGllci5jaWRmZi5pbmZvXC8ifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDYuMzM5MjgyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuNjA1MDI5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBBY2N1ZWlsIGRlIGpvdXIgTW9udGx1w6dvbmAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjgiLCJjZW50cmVfaWQiOiIxIiwibm9tIjoiQWNjdWVpbCBkZSBqb3VyIE1vbnRsdVx1MDBlN29uIiwibm9tX3NsdWciOiJhY2N1ZWlsLWRlLWpvdXItbW9udGx1Y29uIiwiYWRyZXNzZSI6IjYgcnVlIFNhaW50ZSBBbm5lIiwiY3AiOiIwMzEwMCIsInZpbGxlIjoiTW9udGx1XHUwMGU3b24iLCJ2aWxsZV9zbHVnIjoibW9udGx1Y29uIiwiY2l0eV9pZCI6IjE0MjAiLCJlbWFpbCI6ImNpZGZmLjAzQG9yYW5nZS5mciIsInRlbGVwaG9uZSI6IjA0IDcwIDM1IDEwIDY5IiwicXB2IjoiMCIsInpyciI6IjAiLCJhY2N1ZWlsIjoiXCJBIHBvcnRcdTAwZTllIGQnRWxsZXNcIiIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJUb3VzIGxlcyBqZXVkaXMgZGUgOWggXHUwMGUwIDE3aCBzYW5zIFJEViIsInZvbF9ocl9oZWJkbyI6IjIxaDQ1IiwiaWkiOiIxIiwiaWMiOiIxIiwiZSI6IjAiLCJ2IjoiMCIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6bnVsbCwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjpudWxsLCJjYWRyZTUiOiJBdXRyZSIsImFjY2Vzc2liaWxpdGUxIjoiQXVkaXRpZiIsImFjY2Vzc2liaWxpdGUyIjoiTWVudGFsXC9Qc3ljaGlxdWUiLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6IlRcdTAwZTlsXHUwMGU5cGhvbmlxdWUiLCJ0eXBlMyI6bnVsbCwidHlwZTQiOm51bGwsIm1mcyI6bnVsbCwiZGVwYXJ0ZW1lbnQiOiJBbGxpZXIiLCJyZWdpb24iOiJBdXZlcmduZS1SaFx1MDBmNG5lLUFscGVzIiwiY29vcmRzIjp7ImxhdCI6NDYuMzM5MjgyLCJsb24iOjIuNjA1MDI5LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQ2LjMzOTI4MiwyLjYwNTAyOSwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHBzOlwvXC9hbGxpZXIuY2lkZmYuaW5mb1wvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ2LjU4Mjg1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjA0OTIzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBQZXJtYW5lbmNlIEJvdXJib24gbFwnQXJjaGFtYmF1bHQgLSBDaMOidGVhdSBCaWdub25gLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIzMDI0IiwiY2VudHJlX2lkIjoiMSIsIm5vbSI6IlBlcm1hbmVuY2UgQm91cmJvbiBsJ0FyY2hhbWJhdWx0IC0gQ2hcdTAwZTJ0ZWF1IEJpZ25vbiIsIm5vbV9zbHVnIjoicGVybWFuZW5jZS1ib3VyYm9uLWxhcmNoYW1iYXVsdC0tY2hhdGVhdS1iaWdub24iLCJhZHJlc3NlIjoiQ2hcdTAwZTJ0ZWF1IEJpZ25vbiwgOTIgQmQgSmVhbiBCaWdub24sXG4iLCJjcCI6IjAzMTYwIiwidmlsbGUiOiJCb3VyYm9uLWwnQXJjaGFtYmF1bHQiLCJ2aWxsZV9zbHVnIjoiYm91cmJvbmxhcmNoYW1iYXVsdCIsImNpdHlfaWQiOiIxMjcxIiwiZW1haWwiOiJjaWRmZi4wM0BvcmFuZ2UuZnIiLCJ0ZWxlcGhvbmUiOiIwNCA3MCAzNSAxMCA2OSIsInFwdiI6IjAiLCJ6cnIiOiIxIiwiYWNjdWVpbCI6IiIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiI0XHUwMGU4bWUgbHVuZGkgbWF0aW4gZHUgbW9pcyBkZSA5aCBcdTAwZTAgMTJoIHN1ciBSRFYiLCJ2b2xfaHJfaGViZG8iOiIiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMCIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjpudWxsLCJjYWRyZTUiOm51bGwsImFjY2Vzc2liaWxpdGUxIjoiQXVkaXRpZiIsImFjY2Vzc2liaWxpdGUyIjoiTWVudGFsXC9Qc3ljaGlxdWUiLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6IlRcdTAwZTlsXHUwMGU5cGhvbmlxdWUiLCJ0eXBlMyI6IlZpc2lvY29uZlx1MDBlOXJlbmNlIiwidHlwZTQiOm51bGwsIm1mcyI6bnVsbCwiZGVwYXJ0ZW1lbnQiOiJBbGxpZXIiLCJyZWdpb24iOiJBdXZlcmduZS1SaFx1MDBmNG5lLUFscGVzIiwiY29vcmRzIjp7ImxhdCI6NDYuNTgyODU1LCJsb24iOjMuMDQ5MjMsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDYuNTgyODU1LDMuMDQ5MjMsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvYWxsaWVyLmNpZGZmLmluZm9cLyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0Ni4zMjgxOTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi41ODA2OTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFBlcm1hbmVuY2UgTW9udGx1w6dvbiAtIE1haXNvbiBkZSBsYSBqdXN0aWNlIGV0IGR1IGRyb2l0YCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTEiLCJjZW50cmVfaWQiOiIxIiwibm9tIjoiUGVybWFuZW5jZSBNb250bHVcdTAwZTdvbiAtIE1haXNvbiBkZSBsYSBqdXN0aWNlIGV0IGR1IGRyb2l0Iiwibm9tX3NsdWciOiJwZXJtYW5lbmNlLW1vbnRsdWNvbi0tbWFpc29uLWRlLWxhLWp1c3RpY2UtZXQtZHUtZHJvaXQiLCJhZHJlc3NlIjoiMTIgYXZlbnVlIEZvbnRib3VpbGxhbnQiLCJjcCI6IjAzMTAwIiwidmlsbGUiOiJNb250bHVcdTAwZTdvbiIsInZpbGxlX3NsdWciOiJtb250bHVjb24iLCJjaXR5X2lkIjoiMTQyMCIsImVtYWlsIjoiY2lkZmYuMDNAb3JhbmdlLmZyIiwidGVsZXBob25lIjoiMDQgNzAgNjQgNzUgOTUiLCJxcHYiOiIxIiwienJyIjoiMCIsImFjY3VlaWwiOiJNYWlzb24gZGUgbGEgSnVzdGljZSBldCBkdSBEcm9pdCIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJTdXIgUkRWIGxlIDJcdTAwZThtZSB2ZW5kcmVkaSBkZSBjaGFxdWUgbW9pcyBkZSAxM2gzMCBcdTAwZTAgMTZoIiwidm9sX2hyX2hlYmRvIjoiM2giLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMCIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjoiTCdhY2NvbXBhZ25lbWVudCBlbXBsb2kiLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjpudWxsLCJjYWRyZTUiOm51bGwsImFjY2Vzc2liaWxpdGUxIjoiQXVkaXRpZiIsImFjY2Vzc2liaWxpdGUyIjoiTWVudGFsXC9Qc3ljaGlxdWUiLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6IlRcdTAwZTlsXHUwMGU5cGhvbmlxdWUiLCJ0eXBlMyI6IlZpc2lvY29uZlx1MDBlOXJlbmNlIiwidHlwZTQiOm51bGwsIm1mcyI6bnVsbCwiZGVwYXJ0ZW1lbnQiOiJBbGxpZXIiLCJyZWdpb24iOiJBdXZlcmduZS1SaFx1MDBmNG5lLUFscGVzIiwiY29vcmRzIjp7ImxhdCI6NDYuMzI4MTk2LCJsb24iOjIuNTgwNjk1LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQ2LjMyODE5NiwyLjU4MDY5NSwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHBzOlwvXC9hbGxpZXIuY2lkZmYuaW5mb1wvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ2LjMzOTI4MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjYwNTAyOSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgUGVybWFuZW5jZSBNb250bHXDp29uYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMjEyOCIsImNlbnRyZV9pZCI6IjEiLCJub20iOiJQZXJtYW5lbmNlIE1vbnRsdVx1MDBlN29uIiwibm9tX3NsdWciOiJwZXJtYW5lbmNlLW1vbnRsdWNvbiIsImFkcmVzc2UiOiI2IHJ1ZSBTYWludGUgQW5uZSIsImNwIjoiMDMxMDAiLCJ2aWxsZSI6Ik1vbnRsdVx1MDBlN29uIiwidmlsbGVfc2x1ZyI6Im1vbnRsdWNvbiIsImNpdHlfaWQiOiIxNDIwIiwiZW1haWwiOiJjaWRmZi4wM0BvcmFuZ2UuZnIiLCJ0ZWxlcGhvbmUiOiIwNCA3MCAzNSAxMCA2OSIsInFwdiI6IjAiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6ImJ1cmVhdSIsImFjY3VlaWxfcHJlY2lzaW9uIjoiQnVyZWF1IiwiaG9yYWlyZXMiOiJFbXBsb2k6IHN1ciBSRFYgbGVzIG1hcmRpcyBkZSAxMGggXHUwMGUwIDEyaCBldCBkZSAxM2gzMCBcdTAwZTAgMTdoXG5KdXJpZGlxdWU6IHN1ciBSRFYgbGVzIHZlbmRyZWRpcyBkZSAxMGggXHUwMGUwIDEyaCBldCBkZSAxM2gzMCBcdTAwZTAgMTdoIiwidm9sX2hyX2hlYmRvIjoiMTJoIiwiaWkiOiIxIiwiaWMiOiIxIiwiZSI6IjEiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6IkwnYWNjb21wYWduZW1lbnQgZW1wbG9pIiwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6IkwnYWNjb21wYWduZW1lbnQgcGFyZW50YWxpdFx1MDBlOSAoRUlDQ0YsIG1cdTAwZTlkaWF0aW9uIGZhbWlsaWFsZSkiLCJjYWRyZTUiOm51bGwsImFjY2Vzc2liaWxpdGUxIjoiQXVkaXRpZiIsImFjY2Vzc2liaWxpdGUyIjoiTWVudGFsXC9Qc3ljaGlxdWUiLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6IlRcdTAwZTlsXHUwMGU5cGhvbmlxdWUiLCJ0eXBlMyI6IlZpc2lvY29uZlx1MDBlOXJlbmNlIiwidHlwZTQiOm51bGwsIm1mcyI6bnVsbCwiZGVwYXJ0ZW1lbnQiOiJBbGxpZXIiLCJyZWdpb24iOiJBdXZlcmduZS1SaFx1MDBmNG5lLUFscGVzIiwiY29vcmRzIjp7ImxhdCI6NDYuMzM5MjgyLCJsb24iOjIuNjA1MDI5LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQ2LjMzOTI4MiwyLjYwNTAyOSwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHBzOlwvXC9hbGxpZXIuY2lkZmYuaW5mb1wvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ2LjU2Mzc0NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjMzNTA4NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgUGVybWFuZW5jZSBNb3VsaW5zYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMjEzMiIsImNlbnRyZV9pZCI6IjEiLCJub20iOiJQZXJtYW5lbmNlIE1vdWxpbnMiLCJub21fc2x1ZyI6InBlcm1hbmVuY2UtbW91bGlucyIsImFkcmVzc2UiOiIxNCBydWUgSmVhbiBKYWNxdWVzIFJvdXNzZWF1IiwiY3AiOiIwMzAwMCIsInZpbGxlIjoiTW91bGlucyIsInZpbGxlX3NsdWciOiJtb3VsaW5zIiwiY2l0eV9pZCI6IjE0MjUiLCJlbWFpbCI6ImNpZGZmLjAzQG9yYW5nZS5mciIsInRlbGVwaG9uZSI6IjA0IDcwIDM1IDEwIDY5IiwicXB2IjoiMCIsInpyciI6IjAiLCJhY2N1ZWlsIjoiQ0lERkYgU0lFR0UiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiRW1wbG9pIDogc3VyIFJEViBsZXMgbHVuZGlzIGV0IHZlbmRyZWRpcyBkZSA5aCBcdTAwZTAgMTJoIGV0IGRlIDEzaDMwIFx1MDBlMCAxN2hcbkp1cmlkaXF1ZSA6IHN1ciBSRFYgbGVzIGx1bmRpcyBkZSA5aCBcdTAwZTAgMTJoIGV0IGRlIDEzaDMwIFx1MDBlMCAxN2giLCJ2b2xfaHJfaGViZG8iOiIzNWgiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMSIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjoiTCdhY2NvbXBhZ25lbWVudCBlbXBsb2kiLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjoiTCdhY2NvbXBhZ25lbWVudCBwYXJlbnRhbGl0XHUwMGU5IChFSUNDRiwgbVx1MDBlOWRpYXRpb24gZmFtaWxpYWxlKSIsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkFsbGllciIsInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJjb29yZHMiOnsibGF0Ijo0Ni41NjM3NDYsImxvbiI6My4zMzUwODUsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDYuNTYzNzQ2LDMuMzM1MDg1LDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL2FsbGllci5jaWRmZi5pbmZvXC8ifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDYuMjg5NTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi43NDE4OTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFBlcm1hbmVuY2UgQ29tbWVudHJ5IC0ganVyaWRpcXVlYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMjQxMSIsImNlbnRyZV9pZCI6IjEiLCJub20iOiJQZXJtYW5lbmNlIENvbW1lbnRyeSAtIGp1cmlkaXF1ZSIsIm5vbV9zbHVnIjoicGVybWFuZW5jZS1jb21tZW50cnktLWp1cmlkaXF1ZSIsImFkcmVzc2UiOiJNYWlzb24gRnJhbmNlIFNlcnZpY2VzLCA2IHJ1ZSBKZWFuIEphdXJcdTAwZThzIiwiY3AiOiIwMzYwMCIsInZpbGxlIjoiQ29tbWVudHJ5IiwidmlsbGVfc2x1ZyI6ImNvbW1lbnRyeSIsImNpdHlfaWQiOiIxMzE3IiwiZW1haWwiOiJjaWRmZi4wM0BvcmFuZ2UuZnIiLCJ0ZWxlcGhvbmUiOiIwNCA3MCAzNSAxMCA2OSIsInFwdiI6IjAiLCJ6cnIiOiIxIiwiYWNjdWVpbCI6IlNhbGxlIExhZmFuYWNoXHUwMGU4cmUiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IlNhbGxlIGNvbW11bmFsZSIsImhvcmFpcmVzIjoiU3VyIFJEViBsZSAxZXIgdmVuZHJlZGkgZGUgY2hhcXVlIG1vaXMgZGUgOWggXHUwMGUwIDE3aCIsInZvbF9ocl9oZWJkbyI6IjMiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMSIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjoiTCdhY2NvbXBhZ25lbWVudCBlbXBsb2kiLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjoiTCdhY2NvbXBhZ25lbWVudCBwYXJlbnRhbGl0XHUwMGU5IChFSUNDRiwgbVx1MDBlOWRpYXRpb24gZmFtaWxpYWxlKSIsImNhZHJlNSI6IkF1dHJlIiwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjoiVmlzaW9jb25mXHUwMGU5cmVuY2UiLCJ0eXBlNCI6bnVsbCwibWZzIjoiRnJhbmNlIFNlcnZpY2UiLCJkZXBhcnRlbWVudCI6IkFsbGllciIsInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJjb29yZHMiOnsibGF0Ijo0Ni4yODk1NCwibG9uIjoyLjc0MTg5NiwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0Ni4yODk1NCwyLjc0MTg5NiwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHBzOlwvXC9hbGxpZXIuY2lkZmYuaW5mb1wvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ2LjEyMzgzNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjQzMDc3OCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgUGVybWFuZW5jZXMgVmljaHlgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIyNzc3IiwiY2VudHJlX2lkIjoiMSIsIm5vbSI6IlBlcm1hbmVuY2VzIFZpY2h5Iiwibm9tX3NsdWciOiJwZXJtYW5lbmNlcy12aWNoeSIsImFkcmVzc2UiOiI4IGJpcyBydWUgVm9sdGFpcmUiLCJjcCI6IjAzMjAwIiwidmlsbGUiOiJWaWNoeSIsInZpbGxlX3NsdWciOiJ2aWNoeSIsImNpdHlfaWQiOiIxNTQ0IiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIwNCA3MCAzNSAxMCA2OSIsInFwdiI6IjAiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IkJ1cmVhdSBwZXJtYW5lbnQiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiRW1wbG9pIDogamV1ZGkgZGUgOWgwMCBcdTAwZTAgMTJoIGV0IGRlIDEzaDMwIFx1MDBlMCAxN2gwMCBzdXIgUkRWXG5KdXJpZGlxdWUgOiBtYXJkaSBkZSA5aDAwIFx1MDBlMCAxMmgwMCBldCBkZSAxM2gwMCBcdTAwZTAgMTdoMDAgc3VyIFJEViIsInZvbF9ocl9oZWJkbyI6IjE0aCIsImlpIjoiMSIsImljIjoiMSIsImUiOiIxIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOiJMJ2FjY29tcGFnbmVtZW50IHBhcmVudGFsaXRcdTAwZTkgKEVJQ0NGLCBtXHUwMGU5ZGlhdGlvbiBmYW1pbGlhbGUpIiwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOm51bGwsInR5cGU0IjpudWxsLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxsaWVyIiwicmVnaW9uIjoiQXV2ZXJnbmUtUmhcdTAwZjRuZS1BbHBlcyIsImNvb3JkcyI6eyJsYXQiOjQ2LjEyMzgzNSwibG9uIjozLjQzMDc3OCwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0Ni4xMjM4MzUsMy40MzA3NzgsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvYWxsaWVyLmNpZGZmLmluZm9cLyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0Ni4xMTc3NDYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4wODk2ODQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFBlcm1hbmVuY2UgRWJyZXVpbCAtIE1haXNvbiBGcmFuY2UgU2VydmljZXNgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIyODkxIiwiY2VudHJlX2lkIjoiMSIsIm5vbSI6IlBlcm1hbmVuY2UgRWJyZXVpbCAtIE1haXNvbiBGcmFuY2UgU2VydmljZXMiLCJub21fc2x1ZyI6InBlcm1hbmVuY2UtZWJyZXVpbC0tbWFpc29uLWZyYW5jZS1zZXJ2aWNlcyIsImFkcmVzc2UiOiIyMSBhbGxcdTAwZTllIGR1IENoZW1pbiBkZSBGZXIgXHUyMDEzIDAzNDUwIFx1MDBjOWJyZXVpbCIsImNwIjoiMDM0NTAiLCJ2aWxsZSI6Ilx1MDBjOWJyZXVpbCIsInZpbGxlX3NsdWciOiJlYnJldWlsIiwiY2l0eV9pZCI6IjEzNDIiLCJlbWFpbCI6ImNpZGZmLjAzQG9yYW5nZS5mciIsInRlbGVwaG9uZSI6IjA0IDcwIDM1IDEwIDY5IiwicXB2IjoiMCIsInpyciI6IjEiLCJhY2N1ZWlsIjoiTWFpc29uIEZyYW5jZSBTZXJ2aWNlcyIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJTdXIgUkRWIGxlIDFlciBtYXJkaSBkZSBjaGFxdWUgbW9pcyBkZSAxNGggXHUwMGUwIDE3aFxuU3VyIFJEViBsZSAzXHUwMGU4bWUgamV1ZGkgZGUgY2hhcXVlIG1vaXMgZGUgOWggXHUwMGUwIDEyaCIsInZvbF9ocl9oZWJkbyI6IjNoIiwiaWkiOiIxIiwiaWMiOiIxIiwiZSI6IjAiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6bnVsbCwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjpudWxsLCJtZnMiOiJGcmFuY2UgU2VydmljZSIsImRlcGFydGVtZW50IjoiQWxsaWVyIiwicmVnaW9uIjoiQXV2ZXJnbmUtUmhcdTAwZjRuZS1BbHBlcyIsImNvb3JkcyI6eyJsYXQiOjQ2LjExNzc0NiwibG9uIjozLjA4OTY4NCwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0Ni4xMTc3NDYsMy4wODk2ODQsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvYWxsaWVyLmNpZGZmLmluZm9cLyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0Ni4yODk1NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjc0MTg5NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgUGVybWFuZW5jZSBDb21tZW50cnkgLSBlbXBsb2lgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIzNTExIiwiY2VudHJlX2lkIjoiMSIsIm5vbSI6IlBlcm1hbmVuY2UgQ29tbWVudHJ5IC0gZW1wbG9pIiwibm9tX3NsdWciOiJwZXJtYW5lbmNlLWNvbW1lbnRyeS0tZW1wbG9pIiwiYWRyZXNzZSI6Ik1haXNvbiBGcmFuY2UgU2VydmljZXMsIDYgcnVlIEplYW4gSmF1clx1MDBlOHMiLCJjcCI6IjAzNjAwIiwidmlsbGUiOiJDb21tZW50cnkiLCJ2aWxsZV9zbHVnIjoiY29tbWVudHJ5IiwiY2l0eV9pZCI6IjEzMTciLCJlbWFpbCI6ImNpZGZmLjAzQG9yYW5nZS5mciIsInRlbGVwaG9uZSI6IjA0IDcwIDM1IDEwIDY5IiwicXB2IjoiMCIsInpyciI6IjEiLCJhY2N1ZWlsIjoiIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IkxlIDJcdTAwZThtZSBtYXJkaSBtYXRpbiBkZSBjaGFxdWUgbW9pcyBkZSA5aC0xMmgiLCJ2b2xfaHJfaGViZG8iOiIiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMSIsInYiOiIwIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjpudWxsLCJjYWRyZTIiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsImNhZHJlMyI6bnVsbCwiY2FkcmU0IjpudWxsLCJjYWRyZTUiOm51bGwsImFjY2Vzc2liaWxpdGUxIjoiQXVkaXRpZiIsImFjY2Vzc2liaWxpdGUyIjoiTWVudGFsXC9Qc3ljaGlxdWUiLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6IlRcdTAwZTlsXHUwMGU5cGhvbmlxdWUiLCJ0eXBlMyI6IlZpc2lvY29uZlx1MDBlOXJlbmNlIiwidHlwZTQiOm51bGwsIm1mcyI6IkZyYW5jZSBTZXJ2aWNlIiwiZGVwYXJ0ZW1lbnQiOiJBbGxpZXIiLCJyZWdpb24iOiJBdXZlcmduZS1SaFx1MDBmNG5lLUFscGVzIiwiY29vcmRzIjp7ImxhdCI6NDYuMjg5NTQsImxvbiI6Mi43NDE4OTYsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDYuMjg5NTQsMi43NDE4OTYsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvYWxsaWVyLmNpZGZmLmluZm9cLyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0Ni41ODIyMDYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4wNTc4MjMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFBlcm1hbmVuY2UgQm91cmJvbiBsXCdBcmNoYW1iYXVsdCAtIENlbnRyZSBzb2NpYWwgQWTDqXF1YXRgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIzNjAyIiwiY2VudHJlX2lkIjoiMSIsIm5vbSI6IlBlcm1hbmVuY2UgQm91cmJvbiBsJ0FyY2hhbWJhdWx0IC0gQ2VudHJlIHNvY2lhbCBBZFx1MDBlOXF1YXQiLCJub21fc2x1ZyI6InBlcm1hbmVuY2UtYm91cmJvbi1sYXJjaGFtYmF1bHQtLWNlbnRyZS1zb2NpYWwtYWRlcXVhdCIsImFkcmVzc2UiOiJQbGFjZSBkZSBsJ0VnbGlzZSIsImNwIjoiMDMxNjAiLCJ2aWxsZSI6IkJvdXJib24tbCdBcmNoYW1iYXVsdCIsInZpbGxlX3NsdWciOiJib3VyYm9ubGFyY2hhbWJhdWx0IiwiY2l0eV9pZCI6IjEyNzEiLCJlbWFpbCI6ImNpZGZmLjAzQG9yYW5nZS5mciIsInRlbGVwaG9uZSI6IjA0IDcwIDM1IDEwIDY5IiwicXB2IjoiMCIsInpyciI6IjEiLCJhY2N1ZWlsIjoiIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IlN1ciBSRFYgbGUgNFx1MDBlOG1lIGx1bmRpIGFwclx1MDBlOHMtbWlkaSBkdSBtb2lzIGRlIDEzaDMwIFx1MDBlMCAxNmgzMCIsInZvbF9ocl9oZWJkbyI6IiIsImlpIjoiMSIsImljIjoiMSIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjoiVmlzaW9jb25mXHUwMGU5cmVuY2UiLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkFsbGllciIsInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJjb29yZHMiOnsibGF0Ijo0Ni41ODIyMDYsImxvbiI6My4wNTc4MjMsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDYuNTgyMjA2LDMuMDU3ODIzLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL2FsbGllci5jaWRmZi5pbmZvXC8ifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDYuNTYzNzQ2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMzM1MDg1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBBbGxpZXIsIE1vdWxpbnNgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxIiwibm9tIjoiQWxsaWVyLCBNb3VsaW5zIiwiYWRyZXNzZSI6IjE0IHJ1ZSBKZWFuLUphY3F1ZXMgUm91c3NlYXUiLCJjcCI6IjAzMDAwIiwidmlsbGUiOiJNb3VsaW5zIiwidGVsZXBob25lIjoiMDQgNzAgMzUgMTAgNjkiLCJtYWlsIjoiY2lkZmYuMDNAb3JhbmdlLmZyIiwic2l0ZV9pbnRlcm5ldCI6Imh0dHBzOlwvXC9hbGxpZXIuY2lkZmYuaW5mb1wvIiwiYWNjZXNfZHJvaXQiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJlbXBsb2kiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsInZpb2xlbmNlcyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJwYXJlbnRhbGl0ZSI6IkwnYWNjb21wYWduZW1lbnQgcGFyZW50YWxpdFx1MDBlOSAoRUlDQ0YsIG1cdTAwZTlkaWF0aW9uIGZhbWlsaWFsZSkiLCJhdXRyZSI6IkF1dHJlIiwic2llZ2UiOnRydWUsImNvb3JkcyI6eyJsYXQiOjQ2LjU2Mzc0NiwibG9uIjozLjMzNTA4NSwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0Ni41NjM3NDYsMy4zMzUwODUsMTV6In0sInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJkZXBhcnRlbWVudCI6IkFsbGllciJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0Wm9vbSA9IDc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdFpvb21Nb2JpbGUgPSA2OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pblpvb20gPSA2OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1heFpvb20gPSAyMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1hcCA9IG51bGw7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaW5pdE1hcChzZWxlY3RlZENhdGVnb3JpZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAgPSBuZXcgTC5tYXAobWFwSWQsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBMLmNvbnRyb2wuem9vbSh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkuYWRkVG8obWFwKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHR0cHM6Ly97c30uYmFzZW1hcHMuY2FydG9jZG4uY29tL2xpZ2h0X2FsbC97en0ve3h9L3t5fXtyfS5wbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5ab29tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Wm9vbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5hZGRUbyhtYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllckNhdGVnb3J5MSA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnkyID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXRlZ29yeTMgPSBbXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllckNhdGVnb3J5NCA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnk1ID0gW107CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmtlcnMgPSBuZXcgTC5tYXJrZXJDbHVzdGVyR3JvdXAoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlkZXJMZWdQb2x5bGluZU9wdGlvbnM6IHsgd2VpZ2h0OiA2MDAsIGNvbG9yOiAnIzIyMicsIG9wYWNpdHk6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Q2x1c3RlclJhZGl1czogNDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFpbk1hcmtlcnMgPSBuZXcgTC5sYXllckdyb3VwKCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWRkcmVzc1BvaW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gYWRkcmVzc1BvaW50c1tpXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGl0bGUgPSBhWzJdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gYVszXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29vcmRzID0gbmV3IEwuTGF0TG5nKGFbMF0sIGFbMV0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmtlciA9IHsgZGF0YTogbmV3IEwubWFya2VyKGNvb3JkcywgeyB0aXRsZSB9KSwgc2llZ2U6IGRhdGEuc2llZ2UgfTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZGF0YVsnY2FkcmUxJ10gfHwgZGF0YVsnYWNjZXNfZHJvaXQnXSApIGxheWVyQ2F0ZWdvcnkxLnB1c2gobWFya2VyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTInXSB8fCBkYXRhWyd2aW9sZW5jZXMnXSApIGxheWVyQ2F0ZWdvcnkyLnB1c2gobWFya2VyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTMnXSB8fCBkYXRhWydlbXBsb2knXSApIGxheWVyQ2F0ZWdvcnkzLnB1c2gobWFya2VyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTQnXSB8fCBkYXRhWydwYXJlbnRhbGl0ZSddICkgbGF5ZXJDYXRlZ29yeTQucHVzaChtYXJrZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlNSddIHx8IGRhdGFbJ2F1dHJlJ10gKSBsYXllckNhdGVnb3J5NS5wdXNoKG1hcmtlcik7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrZXIuZGF0YS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAucGFuVG8oY29vcmRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcFJlZi5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnb24tbWFya2VyLWludGVyYWN0JywgeyBkZXRhaWw6IGRhdGEgfSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZExheWVyKG1haW5NYXJrZXJzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkTGF5ZXIobWFya2Vycyk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyc1RvRGlzcGxheSA9IFtdOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRDYXRlZ29yaWVzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRDYXRlZ29yaWVzLmluY2x1ZGVzKDEpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoMikgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5MikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcygzKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnkzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRDYXRlZ29yaWVzLmluY2x1ZGVzKDQpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoNSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5NSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnkxLCAuLi5sYXllckNhdGVnb3J5MiwgLi4ubGF5ZXJDYXRlZ29yeTMsIC4uLmxheWVyQ2F0ZWdvcnk0LCAuLi5sYXllckNhdGVnb3J5NSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmtlcnNUb1Nob3cgPSBbLi4ubmV3IFNldChsYXllcnNUb0Rpc3BsYXkpXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXJrZXJzVG9TaG93Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG0gPSBtYXJrZXJzVG9TaG93W2ldOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG0uc2llZ2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5hZGRUbyhtYWluTWFya2Vycyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmRhdGEuc2V0WkluZGV4T2Zmc2V0KDEwMDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLnNldEljb24oY3JlYXRlTWFpbk1hcmtlcigpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5hZGRUbyhtYXJrZXJzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5zZXRJY29uKGNyZWF0ZU1hcmtlcigpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBtYXJrZXJzLmdldExheWVycygpLmxlbmd0aCA+IDAgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuZml0Qm91bmRzKG1hcmtlcnMuZ2V0Qm91bmRzKCksIHsgcGFkZGluZzogWyAxMCwgMTAgXSB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtYWluTWFya2Vycy5nZXRMYXllcnMoKVswXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnNldFZpZXcobWFpbk1hcmtlcnMuZ2V0TGF5ZXJzKClbMF0uZ2V0TGF0TG5nKCksIDUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2V0VmlldyhbNDYuNSwgMi4zNDU0OTIzXSwgMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEludGVyYWN0aW9uIHJ1bGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnNjcm9sbFdoZWVsWm9vbS5kaXNhYmxlKCk7IC8vIERpc2FibGUgc2Nyb2xsIGludGVyYWN0aW9uIGF0IGZpcnN0CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2Nyb2xsV2hlZWxab29tLmVuYWJsZSgpOyAvLyBSZWVuYWJsZSBzY3JvbGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2Nyb2xsV2hlZWxab29tLmRpc2FibGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwUmVmLmFkZEV2ZW50TGlzdGVuZXIoJ29uLW1hcmtlci1pbnRlcmFjdCcsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNpdGVEZXRhaWxzKGUuZGV0YWlsKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaGlkZURldGFpbHNFdmVudHMgPSBbJ2NsaWNrJywgJ21vdmVzdGFydCddCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZURldGFpbHNFdmVudHMuZm9yRWFjaChlID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZEV2ZW50TGlzdGVuZXIoZSwgKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZVNpdGVEZXRhaWxzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gIkVzY2FwZSIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVTaXRlRGV0YWlscygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRNYXAoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBjcmVhdGVNYXJrZXIoY2xhc3NOYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBMLmljb24oewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uVXJsOiAnaHR0cHM6Ly9hbGxpZXIuY2lkZmYuaW5mby93cC1jb250ZW50L3RoZW1lcy9jaWRmZi13cC9hc3NldHMvaW1hZ2VzL3dlYnAvaWNvbi1waW5zLXNlY29uZGFyeS1maWxsZWQud2VicCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25TaXplOiBbMTgsIDIzXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93VXJsOiAnaHR0cHM6Ly9hbGxpZXIuY2lkZmYuaW5mby93cC1jb250ZW50L3RoZW1lcy9jaWRmZi13cC9hc3NldHMvaW1hZ2VzL3dlYnAvaWNvbi1waW5zLWZpbGxlZC1zaGFkb3cud2VicCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd1NpemU6IFsyNSwgMjVdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dBbmNob3I6IFs0LCAxNV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBjcmVhdGVNYWluTWFya2VyKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTC5pY29uKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblVybDogJ2h0dHBzOi8vYWxsaWVyLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1maWxsZWQud2VicCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25TaXplOiBbMjgsIDMzXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93VXJsOiAnaHR0cHM6Ly9hbGxpZXIuY2lkZmYuaW5mby93cC1jb250ZW50L3RoZW1lcy9jaWRmZi13cC9hc3NldHMvaW1hZ2VzL3dlYnAvaWNvbi1waW5zLWZpbGxlZC1zaGFkb3cud2VicCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd1NpemU6IFszMCwgMzBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dBbmNob3I6IFs0LCAxNl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBzZXRTaXRlRGV0YWlscyhkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NpdGVEZXRhaWxzKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWVNb3JlS2V5ID0gZGF0YS5zaWVnZSA/IGAke25ldyBTdHJpbmcoZGF0YS5ub20pLnJlcGxhY2UoL1xcfFwsfFxzL2dpLCAnLScpLnRvTG93ZXJDYXNlKCl9LSR7ZGF0YS5pZH1gIDogYCR7ZGF0YS5ub21fc2x1Z30tJHtkYXRhLmlkfWAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGRhdGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtdGl0bGUnXSIpLmlubmVySFRNTCA9IGRhdGEubm9tOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1zZWUtbW9yZSddIikuaHJlZiA9IGBodHRwczovL2FsbGllci5jaWRmZi5pbmZvL2xpc3RlLWRlcy1wZXJtYW5lbmNlcy8/ZGVwYXJ0ZW1lbnQ9JHtkYXRhLmRlcGFydGVtZW50fSZjZW50cmUtaWQ9JHtzZWVNb3JlS2V5fWA7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmhvcmFpcmVzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1ob3Vycy13cmFwcGVyJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtaG91cnMnXSIpLmlubmVySFRNTCA9IGRhdGEuaG9yYWlyZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWhvdXJzLXdyYXBwZXInXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtbG9jYXRpb24nXSIpLmlubmVySFRNTCA9IGAke2RhdGEuYWRyZXNzZX0sICR7ZGF0YS5jcH0gJHtkYXRhLnZpbGxlfWA7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnRlbGVwaG9uZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtdGVsLXdyYXBwZXInXSIpLnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS10ZWwnXSIpLmlubmVySFRNTCA9IGRhdGEudGVsZXBob25lOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS10ZWwtd3JhcHBlciddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmNhZHJlMSB8fCBkYXRhLmFjY2VzX2Ryb2l0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0xJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMSddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmNhZHJlMiB8fCBkYXRhLmVtcGxvaSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMiddIikuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTInXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5jYWRyZTMgfHwgZGF0YS52aW9sZW5jZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTMnXSIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0zJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuY2FkcmU0IHx8IGRhdGEucGFyZW50YWxpdGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTQnXSIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS00J10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBoaWRlU2l0ZURldGFpbHMoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHNob3dTaXRlRGV0YWlscygpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gcmVzZXRNYXBMYXlvdXQoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZVNpdGVEZXRhaWxzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLm9mZigpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib24tbWFwLXJlZnJlc2giLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0TWFwTGF5b3V0KCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsYXN0Q2F0ZWdvcmllcyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYXN0LWZpbHRlci1jYXRlZ29yaWVzJyk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYXN0Q2F0ZWdvcmllcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0Q2F0ZWdvcmllcyA9IEpTT04ucGFyc2UobGFzdENhdGVnb3JpZXMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRNYXAobGFzdENhdGVnb3JpZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0TWFwKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib24tY2F0ZWdvcnktZmlsdGVyLWNoYW5nZSIsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRDYXRlZ29yaWVzID0gZS5kZXRhaWw7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVTaXRlRGV0YWlscygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5vZmYoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdE1hcChzZWxlY3RlZENhdGVnb3JpZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIA==": [
          "keydown"
        ]
      }
    },
    "canvas_fingerprinters": {
      "data_url": {},
      "fingerprinters": [],
      "styles": {},
      "texts": {}
    },
    "canvas_font_fingerprinters": {
      "canvas_font": {},
      "text_measure": {}
    },
    "cookies": [],
    "fb_pixel_events": [],
    "tiktok_pixel_events": [],
    "twitter_pixel_events": [],
    "google_analytics_events": [],
    "key_logging": {},
    "session_recorders": {},
    "third_party_trackers": []
  }
}