Jmx0OyFET0NUWVBFIGh0bWwmZ3Q7CiZsdDtodG1sIGxhbmc9JnF1b3Q7emgtQ04mcXVvdDsmZ3Q7CiZsdDtoZWFkJmd0OwogICAgJmx0O21ldGEgY2hhcnNldD0mcXVvdDtVVEYtOCZxdW90OyZndDsKICAgICZsdDttZXRhIG5hbWU9JnF1b3Q7dmlld3BvcnQmcXVvdDsgY29udGVudD0mcXVvdDt3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wLCB2aWV3cG9ydC1maXQ9Y292ZXIsIHVzZXItc2NhbGFibGU9bm8mcXVvdDsmZ3Q7CiAgICAmbHQ7dGl0bGUmZ3Q75Lyg5aWH6Zy45LiaICZtaWRkb3Q7IEJvc3PorqHml7blmagmbHQ7L3RpdGxlJmd0OwogICAgJmx0O3N0eWxlJmd0OwogICAgICAgICogewogICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIH0KICAgICAgICBib2R5IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAyMCUgMTAlLCAjMGEwNTAyIDAlLCAjMDEwMDAwIDEwMCUpOwogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2Vnb2UgVUknLCAnUG9wcGlucycsICdPcmJpdHJvbicsIG1vbm9zcGFjZTsKICAgICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB9CiAgICAgICAgLmJvc3MtYXBwIHsKICAgICAgICAgICAgbWF4LXdpZHRoOiA2ODBweDsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMywgMiwgMCwgMC44NSk7CiAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNzJweDsKICAgICAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCByZ2JhKDIxMiwgMTc1LCA1NSwgMC44NSk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNDBweCA1MHB4IHJnYmEoMCwwLDAsMC43KSwgMCAwIDAgM3B4IHJnYmEoMjEyLDE3NSw1NSwwLjI1KSBpbnNldCwgMCAwIDQwcHggcmdiYSgyMTIsMTc1LDU1LDAuNCk7CiAgICAgICAgICAgIHBhZGRpbmc6IDI0cHggMjBweCAzNnB4OwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgfQogICAgICAgIC50aXRsZS1hcmVhIGgxIHsKICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiA1cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsICNmOWU2YjMsICNlNmJjNWMsICNmYWQ0OGMpOwogICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsKICAgICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICAgICAgfQogICAgICAgIC50aXRsZS1hcmVhIC5zdWJ0aXRsZSB7CiAgICAgICAgICAgIGNvbG9yOiAjZGFhNzQyOwogICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuNXB4OwogICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2M5OTEzYTsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxOHB4OwogICAgICAgIH0KICAgICAgICAuYm9zcy1iYWRnZSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBnYXA6IDE0cHg7CiAgICAgICAgICAgIG1hcmdpbjogMThweCAwIDEycHg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CiAgICAgICAgLmJvc3MtYmFkZ2Ugc3BhbiB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxZTE4MGI7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDYwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAyMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtOwogICAgICAgICAgICBjb2xvcjogI2YyY2Y3YTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VjYzQ1OTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDIxMiwxNzUsNTUsMC42KTsKICAgICAgICB9CiAgICAgICAgLmJvc3MtdGl0bGUgewogICAgICAgICAgICBmb250LXNpemU6IDEuOXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2YzZGE5NCwgI2M0OTMzZik7CiAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7CiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgICAgICAgbWFyZ2luOiA2cHggMCA1cHg7CiAgICAgICAgfQogICAgICAgIC50aW1lci1zYW5jdHVtIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzAzMDEwMGUwOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA3MHB4OwogICAgICAgICAgICBwYWRkaW5nOiAyMnB4IDEycHg7CiAgICAgICAgICAgIG1hcmdpbjogMTZweCAwIDE4cHg7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmNWNmN2E7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAyOHB4IHJnYmEoMjEyLDE3NSw1NSwwLjY1KSwgaW5zZXQgMCAwIDhweCAjMDAwOwogICAgICAgIH0KICAgICAgICAjdGltZXJEaXNwbGF5IHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdPcmJpdHJvbicsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAzLjJyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiA1cHg7CiAgICAgICAgICAgIGNvbG9yOiAjZmZmMGJkOwogICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDE2cHggI2YwYTUwMCwgMCAwIDZweCAjZmZjZjdlOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CiAgICAgICAgLnRpbWUtdW5pdCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzJhMjMxN2IzOwogICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGNvbG9yOiAjZjNjZTdjOwogICAgICAgIH0KICAgICAgICAubWVzc2FnZS1hcmVhIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzFiMTUwOTgwOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0OHB4OwogICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE4cHg7CiAgICAgICAgICAgIG1hcmdpbjogMTJweCAwIDE0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44OHJlbTsKICAgICAgICAgICAgY29sb3I6ICNmMmNkN2M7CiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2Y3Y2Y3NDsKICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgI2Y3Y2Y3NDsKICAgICAgICB9CiAgICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMTRweDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgICAgbWFyZ2luOiAxOHB4IDAgMTZweDsKICAgICAgICB9CiAgICAgICAgLmJ0biB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyNDFlMTA7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGI2NTI7CiAgICAgICAgICAgIGNvbG9yOiAjZmJlNmEyOwogICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjJweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNjBweDsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4wOHMgbGluZWFyOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCA2cHggYmxhY2s7CiAgICAgICAgfQogICAgICAgIC5idG46YWN0aXZlIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk2KTsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzNjMzExYjsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDEycHggI2Y1YmM0ZTsKICAgICAgICB9CiAgICAgICAgLmJ0bi1nb2xkIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2I2N2QzMjsKICAgICAgICAgICAgY29sb3I6ICMxZjE3MDc7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZTBhMzsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgICAgICB9CiAgICAgICAgLmN1c3RvbS1wYW5lbCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwYzA5MDRhMDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNjBweDsKICAgICAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgICAgICBtYXJnaW4tdG9wOiAxNHB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgfQogICAgICAgIC5jdXN0b20tcGFuZWwgaW5wdXQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMWUxOTBkOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2Q5ZjQ0OwogICAgICAgICAgICBwYWRkaW5nOiA5cHggMTRweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDhweDsKICAgICAgICAgICAgY29sb3I6ICNmZmVhYWQ7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgd2lkdGg6IDE5NXB4OwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgfQogICAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzI0MWYxMjsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgICBwYWRkaW5nOiA1cHggMjBweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzJweDsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMTRweDsKICAgICAgICAgICAgY29sb3I6ICNkNmFhNGE7CiAgICAgICAgfQogICAgICAgIGZvb3RlciB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42cmVtOwogICAgICAgICAgICBjb2xvcjogIzhlNzQzYzsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMjJweDsKICAgICAgICAgICAgcGFkZGluZy10b3A6IDEycHg7CiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuNXB4IHNvbGlkICNiZjk1M2Y1NTsKICAgICAgICB9CiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7CiAgICAgICAgICAgICN0aW1lckRpc3BsYXkgeyBmb250LXNpemU6IDIuMnJlbTsgfQogICAgICAgICAgICAuYnRuIHsgcGFkZGluZzogN3B4IDE2cHg7IGZvbnQtc2l6ZTogMC44cmVtOyB9CiAgICAgICAgICAgIC5ib3NzLXRpdGxlIHsgZm9udC1zaXplOiAxLjVyZW07IH0KICAgICAgICAgICAgLnRpdGxlLWFyZWEgaDEgeyBmb250LXNpemU6IDJyZW07IH0KICAgICAgICB9CiAgICAgICAgLnNoaW5lIHsgYW5pbWF0aW9uOiByYWlkRmxhc2ggMC40cyBlYXNlLW91dDsgfQogICAgICAgIEBrZXlmcmFtZXMgcmFpZEZsYXNoIHsKICAgICAgICAgICAgMCUgeyB0ZXh0LXNoYWRvdzogMCAwIDAgZ29sZDsgYmFja2dyb3VuZC1jb2xvcjogIzJmMjgxNjsgfQogICAgICAgICAgICA1MCUgeyB0ZXh0LXNoYWRvdzogMCAwIDIwcHggI2ZmY2M0NDsgYmFja2dyb3VuZC1jb2xvcjogIzRhM2IxZTsgfQogICAgICAgIH0KICAgICZsdDsvc3R5bGUmZ3Q7CiZsdDsvaGVhZCZndDsKJmx0O2JvZHkmZ3Q7CiZsdDtkaXYgY2xhc3M9JnF1b3Q7Ym9zcy1hcHAmcXVvdDsmZ3Q7CiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O3RpdGxlLWFyZWEmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2gxJmd0O+KalO+4jyDkvKDlpYfpnLjkuJog4pqU77iPJmx0Oy9oMSZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O3N1YnRpdGxlJnF1b3Q7Jmd0O+KXhiDpnLjkuLvkuYvnnrMgJm1pZGRvdDsg5LiW55WMQk9TU+iuoeaXtuWZqCDil4YmbHQ7L2RpdiZndDsKICAgICZsdDsvZGl2Jmd0OwogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtib3NzLWJhZGdlJnF1b3Q7Jmd0OwogICAgICAgICZsdDtzcGFuJmd0O/CfkIkg6a2U6b6Z6Zy45Li7Jmx0Oy9zcGFuJmd0OwogICAgICAgICZsdDtzcGFuJmd0O/CfkZEg56WW546b5pWZ55qHJmx0Oy9zcGFuJmd0OwogICAgICAgICZsdDtzcGFuJmd0O/CflKUg6LWk54KO6a2U5ZCbJmx0Oy9zcGFuJmd0OwogICAgJmx0Oy9kaXYmZ3Q7CiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2Jvc3MtdGl0bGUmcXVvdDsmZ3Q74piFIOi/nOWPpCZtaWRkb3Q76Zy45Lia5LmL5Li7IOKYhSZsdDsvZGl2Jmd0OwogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDt0aW1lci1zYW5jdHVtJnF1b3Q7Jmd0OwogICAgICAgICZsdDtkaXYgaWQ9JnF1b3Q7dGltZXJEaXNwbGF5JnF1b3Q7Jmd0Oy0tIOaXtiAtLSDliIYgLS0g56eSJmx0Oy9kaXYmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7bWVzc2FnZS1hcmVhJnF1b3Q7IGlkPSZxdW90O2luZm9NZXNzYWdlJnF1b3Q7Jmd0O/CflbnvuI8g5LiW55WMQk9TU+eyvuWHhuWAkuiuoeaXtiB8IOWPrOmbhuWFhOW8n++8jOWIgOWIgOaatOWHuyZsdDsvZGl2Jmd0OwogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtidXR0b24tZ3JvdXAmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2J1dHRvbiBjbGFzcz0mcXVvdDtidG4gYnRuLWdvbGQmcXVvdDsgaWQ9JnF1b3Q7cmVmcmVzaE5vd0J0biZxdW90OyZndDvimqEg56uL5Y2z5Yi35pawJmx0Oy9idXR0b24mZ3Q7CiAgICAgICAgJmx0O2J1dHRvbiBjbGFzcz0mcXVvdDtidG4mcXVvdDsgaWQ9JnF1b3Q7cmVzZXREZWZhdWx0QnRuJnF1b3Q7Jmd0O/CflIQg6YeN572u5pe26Ze0Jmx0Oy9idXR0b24mZ3Q7CiAgICAgICAgJmx0O2J1dHRvbiBjbGFzcz0mcXVvdDtidG4mcXVvdDsgaWQ9JnF1b3Q7YWRkSG91ckJ0biZxdW90OyZndDvij6kgKzHlsI/ml7YmbHQ7L2J1dHRvbiZndDsKICAgICAgICAmbHQ7YnV0dG9uIGNsYXNzPSZxdW90O2J0biZxdW90OyBpZD0mcXVvdDtzdWJIb3VyQnRuJnF1b3Q7Jmd0O+KPqiAtMeWwj+aXtiZsdDsvYnV0dG9uJmd0OwogICAgJmx0Oy9kaXYmZ3Q7CiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2N1c3RvbS1wYW5lbCZxdW90OyZndDsKICAgICAgICAmbHQ7c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjojZWZjMzZiOyZxdW90OyZndDvwn5OFIOiHquWumuS5iUJPU1Pml7bpl7QmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgJmx0O2lucHV0IHR5cGU9JnF1b3Q7ZGF0ZXRpbWUtbG9jYWwmcXVvdDsgaWQ9JnF1b3Q7Ym9zc0RhdGVUaW1lJnF1b3Q7IHZhbHVlPSZxdW90OzIwMjYtMDQtMDFUMTA6MDAmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2J1dHRvbiBjbGFzcz0mcXVvdDtidG4mcXVvdDsgaWQ9JnF1b3Q7c2V0Q3VzdG9tQnRuJnF1b3Q7IHN0eWxlPSZxdW90O3BhZGRpbmc6IDZweCAxNnB4OyZxdW90OyZndDvimpnvuI8g6K6+5a6aJmx0Oy9idXR0b24mZ3Q7CiAgICAmbHQ7L2RpdiZndDsKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7c3RhdHVzLWJhZGdlJnF1b3Q7IGlkPSZxdW90O3RhcmdldFN0YXR1cyZxdW90OyZndDvwn46vIOW9k+WJjeebruaghzogMjAyNi8wNC8wMSAxMDowMDowMCZsdDsvZGl2Jmd0OwogICAgJmx0O2Zvb3RlciZndDvwn5uh77iPIOS8oOWlh+mcuOS4miAmbWlkZG90OyDlrpjmlrnovoXliqkgfCDlgJLorqHml7bnsr7noa7oh7Pnp5LvvIzlpIfmiJjlpLrlrp3mlLvmspkmbHQ7L2Zvb3RlciZndDsKJmx0Oy9kaXYmZ3Q7CiZsdDtzY3JpcHQmZ3Q7CiAgICBsZXQgYm9zc1RpbWVzdGFtcCA9IG5ldyBEYXRlKDIwMjYsIDMsIDEsIDEwLCAwLCAwKS5nZXRUaW1lKCk7CiAgICBsZXQgdGltZXJJbnRlcnZhbCA9IG51bGw7CiAgICBjb25zdCB0aW1lckRpc3BsYXlEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgmcXVvdDt0aW1lckRpc3BsYXkmcXVvdDspOwogICAgY29uc3QgaW5mb01zZ0RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O2luZm9NZXNzYWdlJnF1b3Q7KTsKICAgIGNvbnN0IHRhcmdldFN0YXR1c1NwYW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgmcXVvdDt0YXJnZXRTdGF0dXMmcXVvdDspOwogICAgY29uc3QgZGF0ZVRpbWVQaWNrZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgmcXVvdDtib3NzRGF0ZVRpbWUmcXVvdDspOwoKICAgIGZ1bmN0aW9uIGdldFRpbWVQYXJ0cyhkaWZmTXMpIHsKICAgICAgICBpZiAoZGlmZk1zICZsdDs9IDApIHJldHVybiBudWxsOwogICAgICAgIGNvbnN0IHRvdGFsU2VjID0gTWF0aC5mbG9vcihkaWZmTXMgLyAxMDAwKTsKICAgICAgICByZXR1cm4gewogICAgICAgICAgICBob3VyczogTWF0aC5mbG9vcih0b3RhbFNlYyAvIDM2MDApLAogICAgICAgICAgICBtaW51dGVzOiBNYXRoLmZsb29yKCh0b3RhbFNlYyAlIDM2MDApIC8gNjApLAogICAgICAgICAgICBzZWNvbmRzOiB0b3RhbFNlYyAlIDYwCiAgICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiB1cGRhdGVTdGF0dXNUZXh0KCkgewogICAgICAgIGNvbnN0IGQgPSBuZXcgRGF0ZShib3NzVGltZXN0YW1wKTsKICAgICAgICBjb25zdCB5ID0gZC5nZXRGdWxsWWVhcigpLCBtID0gU3RyaW5nKGQuZ2V0TW9udGgoKSsxKS5wYWRTdGFydCgyLCcwJyksIGRheSA9IFN0cmluZyhkLmdldERhdGUoKSkucGFkU3RhcnQoMiwnMCcpOwogICAgICAgIGNvbnN0IGggPSBTdHJpbmcoZC5nZXRIb3VycygpKS5wYWRTdGFydCgyLCcwJyksIG1pbiA9IFN0cmluZyhkLmdldE1pbnV0ZXMoKSkucGFkU3RhcnQoMiwnMCcpLCBzZWMgPSBTdHJpbmcoZC5nZXRTZWNvbmRzKCkpLnBhZFN0YXJ0KDIsJzAnKTsKICAgICAgICB0YXJnZXRTdGF0dXNTcGFuLmlubmVySFRNTCA9IGDwn46vIOW9k+WJjeebruaghzogJHt5fS8ke219LyR7ZGF5fSAke2h9OiR7bWlufToke3NlY31gOwogICAgICAgIGNvbnN0IGlzb0xvY2FsID0gYCR7eX0tJHttfS0ke2RheX1UJHtofToke21pbn1gOwogICAgICAgIGlmIChkYXRlVGltZVBpY2tlci52YWx1ZSAhPT0gaXNvTG9jYWwpIGRhdGVUaW1lUGlja2VyLnZhbHVlID0gaXNvTG9jYWw7CiAgICB9CgogICAgZnVuY3Rpb24gcmVuZGVyQ291bnRkb3duKCkgewogICAgICAgIGNvbnN0IGRpZmYgPSBib3NzVGltZXN0YW1wIC0gRGF0ZS5ub3coKTsKICAgICAgICBpZiAoZGlmZiAmbHQ7PSAwKSB7CiAgICAgICAgICAgIHRpbWVyRGlzcGxheURpdi5pbm5lckhUTUwgPSBgJmx0O3NwYW4gc3R5bGU9JnF1b3Q7Zm9udC1zaXplOjIuNHJlbTsmcXVvdDsmZ3Q78J+UpSDpnLjkuLvpmY3kuLQmbWlkZG90O+mAn+aUuyDwn5SlJmx0Oy9zcGFuJmd0O2A7CiAgICAgICAgICAgIGluZm9Nc2dEaXYuaW5uZXJIVE1MID0gJnF1b3Q74pqg77iPIOS8oOivtEJPU1Plt7LnjrDkuJbvvIHpm4bnu5PooYzkvJrvvIzlh7vmnYDlvpfnpZ7oo4XvvIHimqDvuI8mcXVvdDs7CiAgICAgICAgICAgIGluZm9Nc2dEaXYuc3R5bGUuY29sb3IgPSAmcXVvdDsjZmZjYzY2JnF1b3Q7OwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGNvbnN0IHBhcnRzID0gZ2V0VGltZVBhcnRzKGRpZmYpOwogICAgICAgIGlmIChwYXJ0cykgewogICAgICAgICAgICB0aW1lckRpc3BsYXlEaXYuaW5uZXJIVE1MID0gYCZsdDtzcGFuJmd0OyR7cGFydHMuaG91cnN9Jmx0Oy9zcGFuJmd0OyZsdDtzcGFuIGNsYXNzPSZxdW90O3RpbWUtdW5pdCZxdW90OyZndDvml7YmbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4mZ3Q7JHtwYXJ0cy5taW51dGVzfSZsdDsvc3BhbiZndDsmbHQ7c3BhbiBjbGFzcz0mcXVvdDt0aW1lLXVuaXQmcXVvdDsmZ3Q75YiGJmx0Oy9zcGFuJmd0OyZsdDtzcGFuJmd0OyR7cGFydHMuc2Vjb25kc30mbHQ7L3NwYW4mZ3Q7Jmx0O3NwYW4gY2xhc3M9JnF1b3Q7dGltZS11bml0JnF1b3Q7Jmd0O+enkiZsdDsvc3BhbiZndDtgOwogICAgICAgIH0KICAgICAgICBpZiAoZGlmZiAmbHQ7IDMwMDAwMCkgaW5mb01zZ0Rpdi5pbm5lckhUTUwgPSAmcXVvdDvwn5KiIOe0p+aApeWGm+aDhe+8gUJPU1MgNeWIhumSn+WGheWIt+aWsO+8geWFqOWRmOWkh+aImO+8gSDwn5KiJnF1b3Q7OwogICAgICAgIGVsc2UgaWYgKGRpZmYgJmx0OyAxODAwMDAwKSBpbmZvTXNnRGl2LmlubmVySFRNTCA9ICZxdW90O+KalO+4jyDooYDmiJjliY3lpJXvvIFCT1NT5Y2z5bCG546w5LiW77yM5qOA5p+l6KOF5aSH6I2v5ZOB77yB4pqU77iPJnF1b3Q7OwogICAgICAgIGVsc2UgaWYgKGRpZmYgJmx0OyAzNjAwMDAwKSBpbmZvTXNnRGl2LmlubmVySFRNTCA9ICZxdW90O+KPsCDpu4Tph5HlpIfmiJjml7bmrrXvvIHoubLlrohCT1NT77yM5oqi5aS66aaW5p2A5aWW5Yqx77yBJnF1b3Q7OwogICAgICAgIGVsc2UgaW5mb01zZ0Rpdi5pbm5lckhUTUwgPSAmcXVvdDvwn5CJIOmcuOS4muS5i+W3he+8jOWHhuaXtui5suS8j0JPU1PvvIzlj7Lor5fmjonokL3nrYnkvaDmi7/vvIEmcXVvdDs7CiAgICAgICAgaW5mb01zZ0Rpdi5zdHlsZS5jb2xvciA9ICZxdW90OyNmMmNkN2MmcXVvdDs7CiAgICB9CgogICAgZnVuY3Rpb24gZnVsbFVJVXBkYXRlKCkgeyByZW5kZXJDb3VudGRvd24oKTsgdXBkYXRlU3RhdHVzVGV4dCgpOyB9CgogICAgZnVuY3Rpb24gc2V0TmV3Qm9zc1RpbWUodHMpIHsKICAgICAgICBpZiAoaXNOYU4odHMpKSByZXR1cm47CiAgICAgICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTsKICAgICAgICBpZiAodHMgJmx0OyBub3cgLSA4NjQwMDAwMCkgdHMgPSBub3cgKyA3MjAwMDAwOwogICAgICAgIGJvc3NUaW1lc3RhbXAgPSB0czsKICAgICAgICBmdWxsVUlVcGRhdGUoKTsKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCZxdW90Oy50aW1lci1zYW5jdHVtJnF1b3Q7KT8uY2xhc3NMaXN0LmFkZCgmcXVvdDtzaGluZSZxdW90Oyk7CiAgICAgICAgc2V0VGltZW91dCgoKSA9Jmd0OyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCZxdW90Oy50aW1lci1zYW5jdHVtJnF1b3Q7KT8uY2xhc3NMaXN0LnJlbW92ZSgmcXVvdDtzaGluZSZxdW90OyksIDQwMCk7CiAgICB9CgogICAgZnVuY3Rpb24gcmVzZXRUb0RlZmF1bHQoKSB7IHNldE5ld0Jvc3NUaW1lKG5ldyBEYXRlKDIwMjYsIDMsIDEsIDEwLCAwLCAwKS5nZXRUaW1lKCkpOyBpbmZvTXNnRGl2LmlubmVySFRNTCA9ICZxdW90O+KchSDlt7Lph43nva7lrpjmlrnliLfmlrDml7bpl7QmcXVvdDs7IH0KICAgIGZ1bmN0aW9uIHRyaWdnZXJJbnN0YW50UmVmcmVzaCgpIHsgc2V0TmV3Qm9zc1RpbWUoRGF0ZS5ub3coKSAtIDEwMDApOyBpbmZvTXNnRGl2LmlubmVySFRNTCA9ICZxdW90O+KaoSDpnLjkuJrkuYvkuLvlt7LpmY3kuLTvvIHli4flo6vku6zpgJ/pgJ/pm4bnu5PvvIHimqEmcXVvdDs7IH0KICAgIGZ1bmN0aW9uIGFkZE9uZUhvdXIoKSB7IGxldCBudCA9IGJvc3NUaW1lc3RhbXAgKyAzNjAwMDAwOyBpZiAoYm9zc1RpbWVzdGFtcCAmbHQ7IERhdGUubm93KCkgJmFtcDsmYW1wOyBudCAmbHQ7IERhdGUubm93KCkpIG50ID0gRGF0ZS5ub3coKSArIDM2MDAwMDA7IHNldE5ld0Jvc3NUaW1lKG50KTsgaW5mb01zZ0Rpdi5pbm5lckhUTUwgPSAmcXVvdDvij7AgQm9zc+aXtumXtOaOqOi/nyArMSDlsI/ml7YmcXVvdDs7IH0KICAgIGZ1bmN0aW9uIHN1Yk9uZUhvdXIoKSB7IGxldCBudCA9IGJvc3NUaW1lc3RhbXAgLSAzNjAwMDAwOyBpZiAobnQgJmx0OyBEYXRlLm5vdygpIC0gODY0MDAwMDApIG50ID0gRGF0ZS5ub3coKSArIDE4MDAwMDA7IHNldE5ld0Jvc3NUaW1lKG50KTsgaW5mb01zZ0Rpdi5pbm5lckhUTUwgPSAmcXVvdDvij6ogQm9zc+aXtumXtOaPkOWJjSAtMSDlsI/ml7YmcXVvdDs7IH0KICAgIGZ1bmN0aW9uIHNldEN1c3RvbURhdGVUaW1lKCkgewogICAgICAgIGxldCB2YWwgPSBkYXRlVGltZVBpY2tlci52YWx1ZTsKICAgICAgICBpZiAoIXZhbCkgcmV0dXJuOwogICAgICAgIGxldCBkID0gbmV3IERhdGUodmFsKTsKICAgICAgICBpZiAoaXNOYU4oZC5nZXRUaW1lKCkpKSByZXR1cm47CiAgICAgICAgZC5zZXRTZWNvbmRzKDApOwogICAgICAgIGlmIChkLmdldFRpbWUoKSAmbHQ7PSBEYXRlLm5vdygpICZhbXA7JmFtcDsgIWNvbmZpcm0oJnF1b3Q76K6+5a6a5pe26Ze0JmxlO+W9k+WJjeaXtumXtO+8jEJPU1PlsIbnq4vljbPpmY3kuLTvvIzmmK/lkKbnu6fnu63vvJ8mcXVvdDspKSByZXR1cm47CiAgICAgICAgc2V0TmV3Qm9zc1RpbWUoZC5nZXRUaW1lKCkpOwogICAgICAgIGluZm9Nc2dEaXYuaW5uZXJIVE1MID0gYOKame+4jyDlt7Lorr7lrpo6ICR7ZC50b0xvY2FsZVN0cmluZygpfWA7CiAgICB9CgogICAgZnVuY3Rpb24gaW5pdCgpIHsKICAgICAgICBzZXROZXdCb3NzVGltZShuZXcgRGF0ZSgyMDI2LCAzLCAxLCAxMCwgMCwgMCkuZ2V0VGltZSgpKTsKICAgICAgICBpZiAodGltZXJJbnRlcnZhbCkgY2xlYXJJbnRlcnZhbCh0aW1lckludGVydmFsKTsKICAgICAgICB0aW1lckludGVydmFsID0gc2V0SW50ZXJ2YWwoZnVsbFVJVXBkYXRlLCAxMDAwKTsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgmcXVvdDtyZWZyZXNoTm93QnRuJnF1b3Q7KS5vbmNsaWNrID0gdHJpZ2dlckluc3RhbnRSZWZyZXNoOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O3Jlc2V0RGVmYXVsdEJ0biZxdW90Oykub25jbGljayA9IHJlc2V0VG9EZWZhdWx0OwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O2FkZEhvdXJCdG4mcXVvdDspLm9uY2xpY2sgPSBhZGRPbmVIb3VyOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O3N1YkhvdXJCdG4mcXVvdDspLm9uY2xpY2sgPSBzdWJPbmVIb3VyOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O3NldEN1c3RvbUJ0biZxdW90Oykub25jbGljayA9IHNldEN1c3RvbURhdGVUaW1lOwogICAgfQogICAgaW5pdCgpOwogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJnF1b3Q7YmVmb3JldW5sb2FkJnF1b3Q7LCAoKSA9Jmd0OyB7IGlmICh0aW1lckludGVydmFsKSBjbGVhckludGVydmFsKHRpbWVySW50ZXJ2YWwpOyB9KTsKJmx0Oy9zY3JpcHQmZ3Q7CiZsdDsvYm9keSZndDsKJmx0Oy9odG1sJmd0Ow==
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover, user-scalable=no">
<title>传奇霸业 · Boss计时器</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
user-select: none;
-webkit-tap-highlight-color: transparent;
}
body {
background: radial-gradient(circle at 20% 10%, #0a0502 0%, #010000 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
font-family: 'Segoe UI', 'Poppins', 'Orbitron', monospace;
padding: 16px;
}
.boss-app {
max-width: 680px;
width: 100%;
background: rgba(3, 2, 0, 0.85);
backdrop-filter: blur(20px);
border-radius: 72px;
border: 1.5px solid rgba(212, 175, 55, 0.85);
box-shadow: 0 40px 50px rgba(0,0,0,0.7), 0 0 0 3px rgba(212,175,55,0.25) inset, 0 0 40px rgba(212,175,55,0.4);
padding: 24px 20px 36px;
text-align: center;
}
.title-area h1 {
font-size: 2.5rem;
letter-spacing: 5px;
background: linear-gradient(145deg, #f9e6b3, #e6bc5c, #fad48c);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
font-weight: 900;
}
.title-area .subtitle {
color: #daa742;
font-size: 0.7rem;
letter-spacing: 2.5px;
border-top: 1px solid #c9913a;
display: inline-block;
margin-top: 8px;
padding: 5px 18px;
}
.boss-badge {
display: flex;
justify-content: center;
gap: 14px;
margin: 18px 0 12px;
flex-wrap: wrap;
}
.boss-badge span {
background: #1e180b;
border-radius: 60px;
padding: 6px 22px;
font-weight: bold;
font-size: 0.85rem;
color: #f2cf7a;
border: 1px solid #ecc459;
box-shadow: 0 0 8px rgba(212,175,55,0.6);
}
.boss-title {
font-size: 1.9rem;
font-weight: 800;
background: linear-gradient(135deg, #f3da94, #c4933f);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
margin: 6px 0 5px;
}
.timer-sanctum {
background: #030100e0;
border-radius: 70px;
padding: 22px 12px;
margin: 16px 0 18px;
border: 1px solid #f5cf7a;
box-shadow: 0 0 28px rgba(212,175,55,0.65), inset 0 0 8px #000;
}
#timerDisplay {
font-family: 'Orbitron', monospace;
font-size: 3.2rem;
font-weight: 800;
letter-spacing: 5px;
color: #fff0bd;
text-shadow: 0 0 16px #f0a500, 0 0 6px #ffcf7e;
display: flex;
justify-content: center;
align-items: baseline;
gap: 10px;
flex-wrap: wrap;
}
.time-unit {
font-size: 1rem;
background: #2a2317b3;
padding: 0 10px;
border-radius: 50px;
font-weight: 600;
color: #f3ce7c;
}
.message-area {
background: #1b150980;
border-radius: 48px;
padding: 12px 18px;
margin: 12px 0 14px;
font-size: 0.88rem;
color: #f2cd7c;
border-left: 3px solid #f7cf74;
border-right: 3px solid #f7cf74;
}
.button-group {
display: flex;
gap: 14px;
justify-content: center;
flex-wrap: wrap;
margin: 18px 0 16px;
}
.btn {
background: #241e10;
border: 1px solid #ddb652;
color: #fbe6a2;
font-weight: bold;
font-size: 0.9rem;
padding: 10px 22px;
border-radius: 60px;
cursor: pointer;
backdrop-filter: blur(4px);
transition: 0.08s linear;
box-shadow: 0 3px 6px black;
}
.btn:active {
transform: scale(0.96);
background: #3c311b;
box-shadow: 0 0 12px #f5bc4e;
}
.btn-gold {
background: #b67d32;
color: #1f1707;
border-color: #ffe0a3;
font-weight: 800;
}
.custom-panel {
background: #0c0904a0;
border-radius: 60px;
padding: 12px 16px;
margin-top: 14px;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 12px;
}
.custom-panel input {
background: #1e190d;
border: 1px solid #cd9f44;
padding: 9px 14px;
border-radius: 48px;
color: #ffeaad;
font-family: monospace;
font-size: 0.85rem;
width: 195px;
text-align: center;
outline: none;
}
.status-badge {
font-size: 0.7rem;
background: #241f12;
display: inline-block;
padding: 5px 20px;
border-radius: 32px;
margin-top: 14px;
color: #d6aa4a;
}
footer {
font-size: 0.6rem;
color: #8e743c;
margin-top: 22px;
padding-top: 12px;
border-top: 0.5px solid #bf953f55;
}
@media (max-width: 520px) {
#timerDisplay { font-size: 2.2rem; }
.btn { padding: 7px 16px; font-size: 0.8rem; }
.boss-title { font-size: 1.5rem; }
.title-area h1 { font-size: 2rem; }
}
.shine { animation: raidFlash 0.4s ease-out; }
@keyframes raidFlash {
0% { text-shadow: 0 0 0 gold; background-color: #2f2816; }
50% { text-shadow: 0 0 20px #ffcc44; background-color: #4a3b1e; }
}
</style>
</head>
<body>
<div class="boss-app">
<div class="title-area">
<h1>⚔️ 传奇霸业 ⚔️</h1>
<div class="subtitle">◆ 霸主之瞳 · 世界BOSS计时器 ◆</div>
</div>
<div class="boss-badge">
<span>🐉 魔龙霸主</span>
<span>👑 祖玛教皇</span>
<span>🔥 赤炎魔君</span>
</div>
<div class="boss-title">★ 远古·霸业之主 ★</div>
<div class="timer-sanctum">
<div id="timerDisplay">-- 时 -- 分 -- 秒</div>
</div>
<div class="message-area" id="infoMessage">🕹️ 世界BOSS精准倒计时 | 召集兄弟,刀刀暴击</div>
<div class="button-group">
<button class="btn btn-gold" id="refreshNowBtn">⚡ 立即刷新</button>
<button class="btn" id="resetDefaultBtn">🔄 重置时间</button>
<button class="btn" id="addHourBtn">⏩ +1小时</button>
<button class="btn" id="subHourBtn">⏪ -1小时</button>
</div>
<div class="custom-panel">
<span style="color:#efc36b;">📅 自定义BOSS时间</span>
<input type="datetime-local" id="bossDateTime" value="2026-04-01T10:00">
<button class="btn" id="setCustomBtn" style="padding: 6px 16px;">⚙️ 设定</button>
</div>
<div class="status-badge" id="targetStatus">🎯 当前目标: 2026/04/01 10:00:00</div>
<footer>🛡️ 传奇霸业 · 官方辅助 | 倒计时精确至秒,备战夺宝攻沙</footer>
</div>
<script>
let bossTimestamp = new Date(2026, 3, 1, 10, 0, 0).getTime();
let timerInterval = null;
const timerDisplayDiv = document.getElementById("timerDisplay");
const infoMsgDiv = document.getElementById("infoMessage");
const targetStatusSpan = document.getElementById("targetStatus");
const dateTimePicker = document.getElementById("bossDateTime");
function getTimeParts(diffMs) {
if (diffMs <= 0) return null;
const totalSec = Math.floor(diffMs / 1000);
return {
hours: Math.floor(totalSec / 3600),
minutes: Math.floor((totalSec % 3600) / 60),
seconds: totalSec % 60
};
}
function updateStatusText() {
const d = new Date(bossTimestamp);
const y = d.getFullYear(), m = String(d.getMonth()+1).padStart(2,'0'), day = String(d.getDate()).padStart(2,'0');
const h = String(d.getHours()).padStart(2,'0'), min = String(d.getMinutes()).padStart(2,'0'), sec = String(d.getSeconds()).padStart(2,'0');
targetStatusSpan.innerHTML = `🎯 当前目标: ${y}/${m}/${day} ${h}:${min}:${sec}`;
const isoLocal = `${y}-${m}-${day}T${h}:${min}`;
if (dateTimePicker.value !== isoLocal) dateTimePicker.value = isoLocal;
}
function renderCountdown() {
const diff = bossTimestamp - Date.now();
if (diff <= 0) {
timerDisplayDiv.innerHTML = `<span style="font-size:2.4rem;">🔥 霸主降临·速攻 🔥</span>`;
infoMsgDiv.innerHTML = "⚠️ 传说BOSS已现世!集结行会,击杀得神装!⚠️";
infoMsgDiv.style.color = "#ffcc66";
return;
}
const parts = getTimeParts(diff);
if (parts) {
timerDisplayDiv.innerHTML = `<span>${parts.hours}</span><span class="time-unit">时</span><span>${parts.minutes}</span><span class="time-unit">分</span><span>${parts.seconds}</span><span class="time-unit">秒</span>`;
}
if (diff < 300000) infoMsgDiv.innerHTML = "💢 紧急军情!BOSS 5分钟内刷新!全员备战! 💢";
else if (diff < 1800000) infoMsgDiv.innerHTML = "⚔️ 血战前夕!BOSS即将现世,检查装备药品!⚔️";
else if (diff < 3600000) infoMsgDiv.innerHTML = "⏰ 黄金备战时段!蹲守BOSS,抢夺首杀奖励!";
else infoMsgDiv.innerHTML = "🐉 霸业之巅,准时蹲伏BOSS,史诗掉落等你拿!";
infoMsgDiv.style.color = "#f2cd7c";
}
function fullUIUpdate() { renderCountdown(); updateStatusText(); }
function setNewBossTime(ts) {
if (isNaN(ts)) return;
const now = Date.now();
if (ts < now - 86400000) ts = now + 7200000;
bossTimestamp = ts;
fullUIUpdate();
document.querySelector(".timer-sanctum")?.classList.add("shine");
setTimeout(() => document.querySelector(".timer-sanctum")?.classList.remove("shine"), 400);
}
function resetToDefault() { setNewBossTime(new Date(2026, 3, 1, 10, 0, 0).getTime()); infoMsgDiv.innerHTML = "✅ 已重置官方刷新时间"; }
function triggerInstantRefresh() { setNewBossTime(Date.now() - 1000); infoMsgDiv.innerHTML = "⚡ 霸业之主已降临!勇士们速速集结!⚡"; }
function addOneHour() { let nt = bossTimestamp + 3600000; if (bossTimestamp < Date.now() && nt < Date.now()) nt = Date.now() + 3600000; setNewBossTime(nt); infoMsgDiv.innerHTML = "⏰ Boss时间推迟 +1 小时"; }
function subOneHour() { let nt = bossTimestamp - 3600000; if (nt < Date.now() - 86400000) nt = Date.now() + 1800000; setNewBossTime(nt); infoMsgDiv.innerHTML = "⏪ Boss时间提前 -1 小时"; }
function setCustomDateTime() {
let val = dateTimePicker.value;
if (!val) return;
let d = new Date(val);
if (isNaN(d.getTime())) return;
d.setSeconds(0);
if (d.getTime() <= Date.now() && !confirm("设定时间≤当前时间,BOSS将立即降临,是否继续?")) return;
setNewBossTime(d.getTime());
infoMsgDiv.innerHTML = `⚙️ 已设定: ${d.toLocaleString()}`;
}
function init() {
setNewBossTime(new Date(2026, 3, 1, 10, 0, 0).getTime());
if (timerInterval) clearInterval(timerInterval);
timerInterval = setInterval(fullUIUpdate, 1000);
document.getElementById("refreshNowBtn").onclick = triggerInstantRefresh;
document.getElementById("resetDefaultBtn").onclick = resetToDefault;
document.getElementById("addHourBtn").onclick = addOneHour;
document.getElementById("subHourBtn").onclick = subOneHour;
document.getElementById("setCustomBtn").onclick = setCustomDateTime;
}
init();
window.addEventListener("beforeunload", () => { if (timerInterval) clearInterval(timerInterval); });
</script>
</body>
</html>