diff --git a/runtime/history/SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1.json b/runtime/history/SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1.json new file mode 100644 index 00000000..4c150644 --- /dev/null +++ b/runtime/history/SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "pvepro-visual-style-766-render-rca-readonly", + "started_at_utc": "2026-09-20T14:45:07Z", + "finished_at_utc": "2026-09-20T14:45:12Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "a9a1338cd5621b76108b4400fa705529149572bec716d1a42c5f78d3e508f4fb", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": false, + "result_contract_valid": true, + "result_contract_status": null, + "result_contract_error": null, + "command_rc": 0, + "changes_made": false, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "NO_MUTATION", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "2f9d3c9b46eb0c8780cc0a118628414cf48f304f0642386963e403495f97eca8", + "sanitized_output_sha256": "2f9d3c9b46eb0c8780cc0a118628414cf48f304f0642386963e403495f97eca8", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "COMMAND_ID=SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1\nMODE=read-only\nCOMPONENT=pvepro-visual-style-766-render-rca-readonly\nWINDOW_MODE=VISIBLE_SYNCHRONOUS_WAIT\n766_FAILURE_SHA_MATCH_STYLE_RENDER=True\nISSUED_766_VERIFIER_SHA256=fe38fc81d08cb80fc66f1934ae84757ec8f09f790c1cd912f7e626ec9afbcd29\nVERIFIER_REQUIRES_EXACT_MARKER_SPACE=True\nVERIFIER_REQUIRES_CHILD_STYLE_REF=True\nVERIFIER_REQUIRES_BRAND_REF=True\nVERIFIER_REQUIRES_RUSSIAN_TITLES=True\nVERIFIER_SOURCE={\"bytes\":1939,\"content\":\"import hashlib,html,json,re,subprocess,sys,urllib.parse\\nsid=int(sys.argv[1])\\ndef get(path,ua=\\\"Workers2-Style757\\\"):\\n marker=b\\\"\\\\n__W2S757__\\\"\\n p=subprocess.run([\\\"/usr/bin/curl\\\",\\\"-q\\\",\\\"-sS\\\",\\\"--connect-timeout\\\",\\\"5\\\",\\\"--max-time\\\",\\\"30\\\",\\n \\\"-A\\\",ua,\\\"-H\\\",\\\"Host: pvepro.ru\\\",\\\"-o\\\",\\\"-\\\",\\\"-w\\\",\\\"\\\\n__W2S757__%{http_code}|%{size_download}\\\",\\n \\\"http://127.0.0.1/\\\"+path.lstrip(\\\"/\\\")],stdout=subprocess.PIPE,stderr=subprocess.PIPE,timeout=40)\\n pos=p.stdout.rfind(marker)\\n if pos<0:return None,None,p.returncode\\n tail=p.stdout[pos+len(marker):].strip().split(b\\\"|\\\",1)\\n return p.stdout[:pos],int(tail[0]) if len(tail)==2 else None,p.returncode\\ndef check(ua):\\n body,code,rc=get(\\\"index.php\\\",ua)\\n text=body.decode(\\\"utf-8\\\",\\\"strict\\\") if body else \\\"\\\"\\n refs=[html.unescape(x) for x in re.findall(r']*href=[\\\"\\\\']([^\\\"\\\\']*css\\\\.php[^\\\"\\\\']*)[\\\"\\\\']',text,re.I)]\\n css=[]\\n css_codes=[]\\n for u in refs[:8]:\\n b,c,r=get(u,ua);css_codes.append([c,r,len(b or b\\\"\\\")])\\n if b: css.append(b)\\n combo=b\\\"\\\\n\\\".join(css)\\n style_ref=any(re.search(r'(?:[?&])s='+str(sid)+r'(?:&|$)',u) for u in refs)\\n return {\\n \\\"ok\\\":code==200 and rc==0 and len(body or b\\\"\\\")>1000 and \\\"PVEPro\\\" in text and\\n \\\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0430\\u044f \\u043a\\u0430\\u0442\\u0435\\u0433\\u043e\\u0440\\u0438\\u044f\\\" in text and \\\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u043e\\u0439 \\u0444\\u043e\\u0440\\u0443\\u043c\\\" in text and\\n \\\"brand753r4\\\" in text and style_ref and b\\\"--pvepro-style757: 1\\\" in combo,\\n \\\"code\\\":code,\\\"bytes\\\":len(body or b\\\"\\\"),\\\"sha256\\\":hashlib.sha256(body or b\\\"\\\").hexdigest(),\\n \\\"css_ref_count\\\":len(refs),\\\"style_ref\\\":style_ref,\\\"css_bytes\\\":len(combo),\\n \\\"css_marker\\\":b\\\"--pvepro-style757: 1\\\" in combo,\\\"css_codes\\\":css_codes,\\n \\\"mobile_ua\\\":\\\"Mobile\\\" in ua\\n }\\nrows=[check(\\\"Workers2-Style757-Desktop\\\"),check(\\\"Mozilla/5.0 Mobile Workers2-Style757\\\")]\\nok=all(x[\\\"ok\\\"] for x in rows)\\nprint(json.dumps({\\\"ok\\\":ok,\\\"style_id\\\":sid,\\\"rows\\\":rows},ensure_ascii=True,sort_keys=True,separators=(\\\",\\\",\\\":\\\")))\\nraise SystemExit(0 if ok else 23)\\n\",\"sha256\":\"fe38fc81d08cb80fc66f1934ae84757ec8f09f790c1cd912f7e626ec9afbcd29\"}\nCURRENT_HOST_STATE={\"conf_sha256\":\"bb64db5a9f6348480e42d876c995789b7d277605f16034e7675ae0375ac5b6eb\",\"config_sha256\":\"19cb1ed5b0966da28ae390b6f65dd90f2db5e599a6ad24355fc33fdd8d6a76a0\",\"production_status\":\"running\",\"snapshot_766_present\":true,\"staging_snapshots\":[\"w2-pre-style-766r1\"],\"staging_status\":\"stopped\"}\nRECENT_TASK_COUNT=24\nRECENT_TASK_01=UPID:pve01:0036EBDD:0BDA29A6:6AAFE52A:qmstop:101:root@pam: 6AAFE52B OK\nRECENT_TASK_02=UPID:pve01:0036EC00:0BDA29E2:6AAFE52B:qmrollback:101:root@pam: 6AAFE52B OK\nRECENT_TASK_03=UPID:pve01:0036EC14:0BDA2A28:6AAFE52C:qmstart:101:root@pam: 6AAFE52C OK\nRECENT_TASK_04=UPID:pve01:0036F039:0BDA5CD1:6AAFE5AD:qmstop:101:root@pam: 6AAFE5AE OK\nRECENT_TASK_05=UPID:pve01:00377575:0BDB2C1D:6AAFE7C0:qmrollback:101:root@pam: 6AAFE7C0 OK\nRECENT_TASK_06=UPID:pve01:0037759A:0BDB2C66:6AAFE7C1:qmstart:101:root@pam: 6AAFE7C1 OK\nRECENT_TASK_07=UPID:pve01:00377EA0:0BDB5F55:6AAFE843:qmstop:101:root@pam: 6AAFE843 OK\nRECENT_TASK_08=UPID:pve01:00378012:0BDB602C:6AAFE845:qmdelsnapshot:101:root@pam: 6AAFE845 OK\nRECENT_TASK_09=UPID:pve01:0037B979:0BDBE056:6AAFE98D:qmsnapshot:101:root@pam: 6AAFE98E OK\nRECENT_TASK_10=UPID:pve01:0037B987:0BDBE08E:6AAFE98E:qmstart:101:root@pam: 6AAFE98F OK\nRECENT_TASK_11=UPID:pve01:0037E929:0BDC175C:6AAFEA1A:qmstop:101:root@pam: 6AAFEA1A OK\nRECENT_TASK_12=UPID:pve01:0037E93C:0BDC1795:6AAFEA1B:qmrollback:101:root@pam: 6AAFEA1B OK\nRECENT_TASK_13=UPID:pve01:0037E950:0BDC17DA:6AAFEA1C:qmstart:101:root@pam: 6AAFEA1C OK\nRECENT_TASK_14=UPID:pve01:0037EF65:0BDC4AB0:6AAFEA9E:qmstop:101:root@pam: 6AAFEA9E OK\nRECENT_TASK_15=UPID:pve01:00387B3A:0BDD6D58:6AAFED86:qmrollback:101:root@pam: 6AAFED86 OK\nRECENT_TASK_16=UPID:pve01:00387B51:0BDD6D9E:6AAFED86:qmstart:101:root@pam: 6AAFED87 OK\nRECENT_TASK_17=UPID:pve01:0038AB59:0BDDA07C:6AAFEE09:qmstop:101:root@pam: 6AAFEE09 OK\nRECENT_TASK_18=UPID:pve01:0038AB73:0BDDA14F:6AAFEE0B:qmdelsnapshot:101:root@pam: 6AAFEE0B OK\nRECENT_TASK_19=UPID:pve01:0038FC7E:0BDE06B4:6AAFEF0E:qmsnapshot:101:root@pam: 6AAFEF0E OK\nRECENT_TASK_20=UPID:pve01:0038FC8B:0BDE06EB:6AAFEF0F:qmstart:101:root@pam: 6AAFEF10 OK\nRECENT_TASK_21=UPID:pve01:00390BAE:0BDE5F10:6AAFEFF1:qmstop:101:root@pam: 6AAFEFF1 OK\nRECENT_TASK_22=UPID:pve01:00390BC0:0BDE5F4C:6AAFEFF1:qmrollback:101:root@pam: 6AAFEFF1 OK\nRECENT_TASK_23=UPID:pve01:00390BD4:0BDE5F91:6AAFEFF2:qmstart:101:root@pam: 6AAFEFF3 OK\nRECENT_TASK_24=UPID:pve01:00393C8B:0BDE924D:6AAFF074:qmstop:101:root@pam: 6AAFF074 OK\nPRODUCTION_APP_STATE=W2STYLE767PROD={\"defaultStyleId\":1,\"boardActive\":true,\"styleCount\":1}\nPRODUCTION_CSS_HREF_SHAPE={\"has_s1\":true,\"ref_count\":2,\"refs\":[\"/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Avariations.less%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=1&l=2&d=1789884768&k=0132df9e8895f22d33adf6486e0d8f92e71895c4\",\"/css.php?css=public%3Anode_list.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Aextra.less&s=1&l=2&d=1789884768&k=43d19352348ea7e33297a5400d94a1ac53993513\"]}\nCSS_SOURCE_HIT_01={\"bytes\":94945,\"file\":\"/var/www/pvepro/src/XF/App.php\",\"selected\":[{\"line\":480,\"text\":\"\\t\\t\\t\\t$response->compressIfAble(false);\"},{\"line\":2433,\"text\":\"\\t\\t\\t'versionVisible' => preg_replace('/^(\\\\d+)\\\\.(\\\\d+)\\\\..+$/', '$1.$2', \\\\XF::$version),\"}],\"sha256\":\"fad88af3a5e175661725e9261eb8ef5642d59594b822d25e4e7d733d306f8519\"}\nCSS_SOURCE_HIT_02={\"bytes\":7593,\"file\":\"/var/www/pvepro/src/XF/Api/Controller/AuthController.php\",\"selected\":[{\"line\":71,\"text\":\"\\t * This can be used to help with seamless SSO with XF, assuming the session or remember cookies are\"}],\"sha256\":\"0b4dbaf67ceaccc118101dff31c937419b276195b466ede926129c5a96e1fc32\"}\nCSS_SOURCE_HIT_03={\"bytes\":6859,\"file\":\"/var/www/pvepro/src/XF/Api/Controller/UserController.php\",\"selected\":[{\"line\":243,\"text\":\"\\t\\t// this function should always be checked, regardless of bypass permission options\"}],\"sha256\":\"e6b845d5717321fa634862c5fdf1e1a12945f4c5c9960314a7d57d2088de8012\"}\nCSS_SOURCE_HIT_04={\"bytes\":3093,\"file\":\"/var/www/pvepro/src/XF/Api/Controller/SearchForumController.php\",\"selected\":[{\"line\":70,\"text\":\"\\t * @api-out Thread[] $threads Threads on this page. Note: this will always respect viewing user permissions regardless of whether the API is set to bypass permissions.\"}],\"sha256\":\"e80b74c0908a3944033794bf0b51f342d015c4fb186ed06d30e0d2d12720d00e\"}\nCSS_SOURCE_HIT_05={\"bytes\":6728,\"file\":\"/var/www/pvepro/src/XF/Import/ParallelRunner.php\",\"selected\":[{\"line\":179,\"text\":\"\\t\\t\\t$error = \\\"startAfter less than the step state startAfter value.\\\";\"},{\"line\":191,\"text\":\"\\t\\t\\t$error = \\\"End less than the step state end value.\\\";\"}],\"sha256\":\"820f063b923594649fc07d8c3b329e0435b446fe0948ead38a45bd0e94d33cb7\"}\nCSS_SOURCE_HIT_06={\"bytes\":18724,\"file\":\"/var/www/pvepro/src/XF/Import/PlatformUtil/Ips.php\",\"selected\":[{\"line\":66,\"text\":\"\\t\\t$baseConfig['db']['tablePrefix'] = preg_replace('/[^a-z0-9_]/i', '', $baseConfig['db']['tablePrefix']);\"},{\"line\":393,\"text\":\"\\t\\t$content = preg_replace('/(\\\\r?\\\\n)?/si', \\\"\\\\n\\\", $content);\"},{\"line\":394,\"text\":\"\\t\\t$content = str_replace(' ', ' ', $content);\"},{\"line\":403,\"text\":\"\\t\\t$content = preg_replace('/(\\\\r?\\\\n)?/si', \\\"\\\\n\\\", $content);\"},{\"line\":404,\"text\":\"\\t\\t$content = str_replace(' ', ' ', $content);\"},{\"line\":410,\"text\":\"\\t\\t$content = preg_replace(array_keys($replacements), $replacements, $content);\"},{\"line\":425,\"text\":\"\\t\\t\\t$content = preg_replace_callback(\"},{\"line\":456,\"text\":\"\\t\\t\\t$content = preg_replace_callback(\"},{\"line\":500,\"text\":\"\\t\\t\\t\\t\\t$newContent = preg_replace($pattern, $replacement, $content);\"},{\"line\":606,\"text\":\"\\t\\t$content = preg_replace_callback(\"},{\"line\":650,\"text\":\"\\t\\t\\t\\t// less common attachment links - attached image no link\"},{\"line\":667,\"text\":\"\\t\\t\\t\\t\\t\\t// protocol-less link, which won't work\"}],\"sha256\":\"000eab4dca3e3aff569cbf9412e099052833f4598265bcb8e01c694eda3704e9\"}\nCSS_SOURCE_HIT_07={\"bytes\":9475,\"file\":\"/var/www/pvepro/src/XF/Import/Data/User.php\",\"selected\":[{\"line\":260,\"text\":\"\\t\\t\\t// unless a language ID has been set, set the default (as XF doesn't use 0).\"}],\"sha256\":\"28abfe84654f7173611d16dc97df886faa6fd75d8c2b21eabb17b0025b48616f\"}\nCSS_SOURCE_HIT_08={\"bytes\":12763,\"file\":\"/var/www/pvepro/src/XF/Style.php\",\"selected\":[{\"line\":426,\"text\":\"\\t\\treturn $this->compileCssPropertyValue($value, $filters);\"},{\"line\":435,\"text\":\"\\tpublic function compileCssPropertyValue(array $css, array $filters = [])\"},{\"line\":579,\"text\":\"\\t\\t$return = \\\"\\\\t\\\" . str_replace(\\\"\\\\n\\\", \\\"\\\\n\\\\t\\\", $return);\"}],\"sha256\":\"2567bf9504b6a700cd91963118cdb94e4281f439cde41e4e583a7a40942883e9\"}\nCSS_SOURCE_HIT_09={\"bytes\":16173,\"file\":\"/var/www/pvepro/src/XF/DevelopmentOutput.php\",\"selected\":[{\"line\":27,\"text\":\"\\tprotected $validFileExtensions = ['txt', 'html', 'less', 'css', 'xhtml', 'json', 'xml', ''];\"},{\"line\":149,\"text\":\"\\t\\t\\t$addOnId = str_replace('/', \\\\XF::$DS, $addOnId);\"},{\"line\":647,\"text\":\"\\t\\t$contents = str_replace(\\\"\\\\r\\\", '', $contents);\"}],\"sha256\":\"4e0c88c24ae71837b5eda0d15c474256c89a69d8e081ff1fea26bc405c5b29bd\"}\nCSS_SOURCE_HIT_10={\"bytes\":3772,\"file\":\"/var/www/pvepro/src/XF/EmbedResolver/App.php\",\"selected\":[{\"line\":38,\"text\":\"\\t\\t\\t\\t$response->compressIfAble(false);\"}],\"sha256\":\"a78c1bf7dfe24c81e40114885c82945e51619eedbf09a31cf2d301b206f842de\"}\nCSS_SOURCE_HIT_11={\"bytes\":1851,\"file\":\"/var/www/pvepro/src/XF/CssRenderException.php\",\"selected\":[{\"line\":83,\"text\":\"\\tpublic static function createFromLessException(\\\\Less_Exception_Parser $e, $templateName, $contents)\"},{\"line\":87,\"text\":\"\\t\\t$message = preg_replace(\\\"/anonymous-file-\\\\d+\\\\.less/i\\\", $templateName, $message);\"}],\"sha256\":\"2087c9d66377a0949f017530324d442368076aae9ce2d282d2b5f3c5846ccc4e\"}\nCSS_SOURCE_HIT_12={\"bytes\":5714,\"file\":\"/var/www/pvepro/src/XF/Admin/Controller/AdminController.php\",\"selected\":[{\"line\":93,\"text\":\"\\t\\t\\t\\t\\t\\t$form->logError(\\\\XF::phrase('admin_add_passwordless_warning_no_email'));\"},{\"line\":158,\"text\":\"\\t\\t\\t$warnings[] = \\\\XF::phrase('admin_add_passwordless_warning');\"}],\"sha256\":\"b499cb931f564590ea62002bacb281d24f3088c3ddd8baf10b67b5fb1b116988\"}\nCSS_SOURCE_HIT_13={\"bytes\":12266,\"file\":\"/var/www/pvepro/src/XF/Admin/Controller/PhraseController.php\",\"selected\":[{\"line\":178,\"text\":\"\\t\\t// If edit/skip, we display existing phrase regardless\"}],\"sha256\":\"787bdf9de198612a6d81e6cb0bfc507b82f14276587d5457aae474f0c6366ded\"}\nCSS_SOURCE_HIT_14={\"bytes\":5046,\"file\":\"/var/www/pvepro/src/XF/Admin/Controller/AdminNavigationController.php\",\"selected\":[{\"line\":152,\"text\":\"\\t\\t// It's dangerous to use unless you go back as it removes custom order changes, so if used,\"}],\"sha256\":\"203230f905f8bf146446577f4e80962dc5814fdb9031116a20e3c7a9b7e92f63\"}\nCSS_SOURCE_HIT_15={\"bytes\":2235,\"file\":\"/var/www/pvepro/src/XF/Admin/Controller/AssetController.php\",\"selected\":[{\"line\":35,\"text\":\"\\t\\t\\t// again, shouldn't happen unless a request is manually modified\"}],\"sha256\":\"a4d228299ec8ef58ab2c6ec05186e1bf410b0cc301abd83481a6d0fb60ee3227\"}\nCSS_SOURCE_HIT_16={\"bytes\":8768,\"file\":\"/var/www/pvepro/src/XF/DesignerOutput/StyleProperty.php\",\"selected\":[{\"line\":38,\"text\":\"\\t\\t$this->queuePropertyLessCacheRebuild($property->Style);\"},{\"line\":204,\"text\":\"\\tprotected function queuePropertyLessCacheRebuild(\\\\XF\\\\Entity\\\\Style $style)\"},{\"line\":206,\"text\":\"\\t\\t\\\\XF::runOnce('stylePropLessCacheRebuild-' . $style->designer_mode, function () use ($style)\"},{\"line\":208,\"text\":\"\\t\\t\\t$this->rebuildPropertyLessCache($style);\"},{\"line\":212,\"text\":\"\\tpublic function rebuildPropertyLessCache(\\\\XF\\\\Entity\\\\Style $style)\"},{\"line\":214,\"text\":\"\\t\\t$fileName = 'style_properties.less';\"},{\"line\":215,\"text\":\"\\t\\t$finalOutput = $this->getLessCacheFileValue($style->designer_mode);\"},{\"line\":227,\"text\":\"\\tpublic function getLessCacheFileValue($designerMode)\"},{\"line\":247,\"text\":\"\\t\\t\\t\\t$output = $this->compileLessCacheCssProperty($property, $prefix, $cssValue);\"},{\"line\":255,\"text\":\"\\t\\t\\t\\t$output = $this->compileLessCacheValueProperty($property, $prefix);\"},{\"line\":285,\"text\":\"\\tprotected function compileLessCacheValueProperty(\\\\XF\\\\Entity\\\\StyleProperty $property, $prefix)\"},{\"line\":297,\"text\":\"\\tprotected function compileLessCacheCssProperty(\\\\XF\\\\Entity\\\\StyleProperty $property, $prefix, ?array &$valueOutput = null)\"},{\"line\":302,\"text\":\"\\t\\t$value = $propertyRebuilder->standardizeLessCacheValue($property->property_value, $property->css_components);\"},{\"line\":320,\"text\":\"\\t\\t$value = $style->compileCssPropertyValue($value);\"}],\"sha256\":\"39cc76c4267934d5635516e0c8d7927f3f06febfecad627df2c3c14b9a4666a9\"}\nCSS_SOURCE_HIT_17={\"bytes\":484,\"file\":\"/var/www/pvepro/src/XF/Option/ActivitySummaryEmail.php\",\"selected\":[{\"line\":13,\"text\":\"\\t\\t\\t// test emails will not send unless these have values so just\"}],\"sha256\":\"ef0df3141b63263cf409f40acf9978db66c002e4620ec3ce4bb336582cdcf35e\"}\nCSS_SOURCE_HIT_18={\"bytes\":9352,\"file\":\"/var/www/pvepro/src/XF/Html/Parser.php\",\"selected\":[{\"line\":206,\"text\":\"\\t\\t\\t\\t\\t\\t// match a \\\"/\\\" in an unquoted attr, unless it's the last value\"},{\"line\":245,\"text\":\"\\t\\t\\t$match[2] = trim(preg_replace('/!\\\\s*important$/i', '', trim($match[2])));\"}],\"sha256\":\"10577b5ff44502629c7665ce456297b464eae574fa18ac613201c8b13a5ebcfe\"}\nCSS_SOURCE_HIT_19={\"bytes\":6555,\"file\":\"/var/www/pvepro/src/XF/Html/Tag.php\",\"selected\":[{\"line\":136,\"text\":\"\\t * unless invalid nesting occurred.\"},{\"line\":329,\"text\":\"\\t * tags can optionally have child tags/output that aren't normally displayed unless there's\"}],\"sha256\":\"ff5b4dfc8ae53692c3e866322ebe068e7f5dfcfc7d73c35a59b6d20516e856f5\"}\nCSS_SOURCE_HIT_20={\"bytes\":34800,\"file\":\"/var/www/pvepro/src/XF/Html/Renderer/BbCode.php\",\"selected\":[{\"line\":123,\"text\":\"\\t\\t$html = preg_replace(\"},{\"line\":130,\"text\":\"\\t\\t$html = preg_replace(\"},{\"line\":136,\"text\":\"\\t\\t$html = preg_replace_callback(\"},{\"line\":142,\"text\":\"\\t\\t$html = preg_replace(\"},{\"line\":148,\"text\":\"\\t\\t$html = preg_replace_callback('/^.*<\\\\/li>$/is', function (array $match)\"},{\"line\":155,\"text\":\"\\t\\t$html = preg_replace_callback('/]*class=\\\"(fr-video[^\\\"]*)\\\"[^>]*>(/U', function (array $match)\"},{\"line\":160,\"text\":\"\\t\\t\\t$video = str_replace('class=\\\"', 'class=\\\"' . $classes . ' ', $video);\"},{\"line\":166,\"text\":\"\\t\\t$html = preg_replace_callback('/]*class=\\\"(fr-audio[^\\\"]*)\\\"[^>]*>(/U', function (array $match)\"},{\"line\":171,\"text\":\"\\t\\t\\t$video = str_replace('class=\\\"', 'class=\\\"' . $classes . ' ', $video);\"},{\"line\":184,\"text\":\"\\t\\t$content = preg_replace('#<(' . $tags . ')(\\\\s[^>]*)?>#i', '', $content);\"},{\"line\":185,\"text\":\"\\t\\t$content = preg_replace('##i', '', $content);\"},{\"line\":207,\"text\":\"\\t\\t$text = preg_replace('#\\\\[img\\\\]\\\\[url\\\\]([^\\\\[]+)\\\\[/url\\\\]\\\\[/img\\\\]#i', '[IMG]$1[/IMG]', $text);\"},{\"line\":211,\"text\":\"\\t\\t\\t$newText = preg_replace('#\\\\[/(b|i|u|s|left|center|right|justify)\\\\]([\\\\r\\\\n]*)\\\\[\\\\\\\\1\\\\]#i', '\\\\\\\\2', $text);\"},{\"line\":222,\"text\":\"\\t\\t\\t$newText = preg_replace('#(\\\\[(font|color|size)=[^\\\\]]*\\\\])((?:(?>[^\\\\[]+?)|\\\\[(?!\\\\\\\\2))*)\\\\[/\\\\\\\\2\\\\]([\\\\r\\\\n]*)\\\\\\\\1#siU', '\\\\\\\\1\\\\\\\\3\\\\\\\\4', $text);\"},{\"line\":234,\"text\":\"\\t\\t\\t$newText = preg_replace('#\\\\[/(b|i|u|s|left|center|right|justify)\\\\]([\\\\r\\\\n]*)\\\\[\\\\\\\\1\\\\]#i', '\\\\\\\\2', $text);\"},{\"line\":334,\"text\":\"\\t\\t\\t\\t\\t$outputText = strrev(preg_replace('/^( )+/', '', strrev($outputText)));\"},{\"line\":370,\"text\":\"\\t\\t\\t\\t$outputText = $this->renderCss($tag, $outputText);\"},{\"line\":478,\"text\":\"\\t\\t\\t$text = preg_replace('/[\\\\r\\\\n\\\\t ]+/', ' ', $text);\"},{\"line\":492,\"text\":\"\\tpublic function renderCss(Tag $tag, $stringOutput)\"},{\"line\":596,\"text\":\"\\t\\t$baseParts['path'] = str_replace('\\\\\\\\', '/', $baseParts['path']);\"},{\"line\":776,\"text\":\"\\t\\treturn $this->renderCss($tag, $output);\"},{\"line\":803,\"text\":\"\\t\\treturn $this->renderCss($tag, $output);\"},{\"line\":830,\"text\":\"\\t\\treturn $this->renderCss($tag, $output);\"},{\"line\":901,\"text\":\"\\t\\t\\treturn ' alt=\\\"' . str_replace('\\\"', '', $tag->attribute('alt')) . '\\\"';\"},{\"line\":953,\"text\":\"\\t\\treturn $this->renderCss($tag, $output);\"},{\"line\":1060,\"text\":\"\\t\\t\\t$tagOption = str_replace('\\\"', '', implode(', ', $parts));\"},{\"line\":1094,\"text\":\"\\t\\treturn $this->renderCss($tag, $output);\"},{\"line\":1111,\"text\":\"\\t\\treturn $this->renderCss($tag, $output);\"}],\"sha256\":\"d950aefa2e6bafc725dde85c5dd9ca55c87530b73ffa9e14407fdd893f89d319\"}\nCSS_SOURCE_HIT_21={\"bytes\":47807,\"file\":\"/var/www/pvepro/src/XF/Pub/Controller/ThreadController.php\",\"selected\":[{\"line\":703,\"text\":\"\\t * This only makes sense in the context of a date-ordered, filterless thread view.\"}],\"sha256\":\"625e3bdf423acee25cd0961765eacd43fca6d416d6dfea310d63c617687ece65\"}\nCSS_SOURCE_HIT_22={\"bytes\":1723,\"file\":\"/var/www/pvepro/src/XF/Pub/Controller/ServiceWorkerController.php\",\"selected\":[{\"line\":52,\"text\":\"\\t\\treturn ['public:variations.less', 'public:offline.less'];\"}],\"sha256\":\"5ab8a97a96c3b65a282684559a9252a3877af32faf6c73037c0975eadc11a57b\"}\nCSS_SOURCE_HIT_23={\"bytes\":15999,\"file\":\"/var/www/pvepro/src/XF/Pub/Controller/AbstractController.php\",\"selected\":[{\"line\":88,\"text\":\"\\t\\t\\t// log these details for page caching regardless of whether we want to update for this request\"}],\"sha256\":\"023efffff88cd1675173f30a8104d25fb220a5d8dc989d89c33d3ba09b0c0169\"}\nCSS_SOURCE_HIT_24={\"bytes\":19797,\"file\":\"/var/www/pvepro/src/XF/Pub/App.php\",\"selected\":[{\"line\":511,\"text\":\"\\t\\t\\t// don't save empty sessions as it would generally be pointless\"}],\"sha256\":\"e9f732650c24e92d7834cfcdfdbfb33feb03d8facde211e797dc5e6e00308c29\"}\nCSS_SOURCE_HIT_25={\"bytes\":3214,\"file\":\"/var/www/pvepro/src/XF/Mail/Styler.php\",\"selected\":[{\"line\":85,\"text\":\"\\t\\treturn $this->renderer->render('email:core.less', false);\"},{\"line\":101,\"text\":\"\\t\\t$text = preg_replace('#\\\\s*]*>.*\\\\s*#siU', '', $text);\"},{\"line\":102,\"text\":\"\\t\\t$text = preg_replace('#\\\\s*]*>.*\\\\s*#siU', '', $text);\"},{\"line\":103,\"text\":\"\\t\\t$text = preg_replace('#]*alt=\\\"([^\\\"]+)\\\"[^>]*>#siU', '$1', $text);\"},{\"line\":104,\"text\":\"\\t\\t$text = preg_replace_callback(\"},{\"line\":114,\"text\":\"\\t\\t$text = preg_replace_callback(\"},{\"line\":137,\"text\":\"\\t\\t$text = preg_replace('#<(h[12])[^>]*>(.*)#siU', '****** $2 ******', $text);\"},{\"line\":138,\"text\":\"\\t\\t$text = preg_replace('#<(h[34])[^>]*>(.*)#siU', '**** $2 ****', $text);\"},{\"line\":139,\"text\":\"\\t\\t$text = preg_replace('#<(h[56])[^>]*>(.*)#siU', '** $2 **', $text);\"},{\"line\":140,\"text\":\"\\t\\t$text = preg_replace('#]*>()?#i', '---------------', $text);\"},{\"line\":142,\"text\":\"\\t\\t$text = preg_replace('#\\\\s*\\\\s*]*>\\\\s*#', ' - ', $text);\"},{\"line\":143,\"text\":\"\\t\\t$text = preg_replace('#\\\\s*\\\\s*]*>\\\\s*#', \\\"\\\\n\\\", $text);\"},{\"line\":148,\"text\":\"\\t\\t$text = preg_replace('#\\\\n\\\\t+#', \\\"\\\\n\\\", $text);\"},{\"line\":149,\"text\":\"\\t\\t$text = preg_replace('#(\\\\r?\\\\n){3,}#', \\\"\\\\n\\\\n\\\", $text);\"}],\"sha256\":\"f143fd5a6492fba8d7882a433b5d369e35c9acf6ac9550a6ca0268a37553dd46\"}\nCSS_SOURCE_HIT_26={\"bytes\":13176,\"file\":\"/var/www/pvepro/src/XF/Util/Ip.php\",\"selected\":[{\"line\":121,\"text\":\"\\t\\t\\t\\t$ip = str_replace('::', str_repeat(':0', 8 - $delims) . ':', $ip);\"},{\"line\":282,\"text\":\"\\t\\t\\t\\t$output = preg_replace_callback(\"},{\"line\":507,\"text\":\"\\t\\t\\t$ip = preg_replace('/\\\\.+$/', '', $ip);\"},{\"line\":575,\"text\":\"\\t\\t$decompressed = static::binaryToString($ip, false, false);\"},{\"line\":576,\"text\":\"\\t\\tif ($decompressed !== false)\"},{\"line\":578,\"text\":\"\\t\\t\\t$ip = $decompressed;\"},{\"line\":583,\"text\":\"\\t\\t\\t// we need to uncompress the hex address to split this up\"},{\"line\":595,\"text\":\"\\t\\t\\t$checkIp = str_replace(':', '', $checkIp);\"}],\"sha256\":\"a6a5aeb666c47914d714efe36d79fafd66e1f5f55b7fd5f0c71a18313135897f\"}\nCSS_SOURCE_HIT_27={\"bytes\":6589,\"file\":\"/var/www/pvepro/src/XF/DevelopmentOutput/StyleProperty.php\",\"selected\":[{\"line\":67,\"text\":\"\\t\\t$this->queuePropertyLessCacheRebuild($property->addon_id);\"},{\"line\":83,\"text\":\"\\t\\t\\t$this->queuePropertyLessCacheRebuild($addOnId);\"},{\"line\":136,\"text\":\"\\tprotected function queuePropertyLessCacheRebuild($addOnId)\"},{\"line\":138,\"text\":\"\\t\\t\\\\XF::runOnce('stylePropLessCacheRebuild-' . $addOnId, function () use ($addOnId)\"},{\"line\":140,\"text\":\"\\t\\t\\t$this->rebuildPropertyLessCache($addOnId);\"},{\"line\":144,\"text\":\"\\tpublic function rebuildPropertyLessCache($addOnId)\"},{\"line\":146,\"text\":\"\\t\\t$fileName = 'style_properties.less';\"},{\"line\":147,\"text\":\"\\t\\t$finalOutput = $this->getLessCacheFileValue($addOnId);\"},{\"line\":159,\"text\":\"\\tpublic function getLessCacheFileValue($addOnId)\"},{\"line\":179,\"text\":\"\\t\\t\\t\\t$output = $this->compileLessCacheCssProperty($property, $prefix, $cssValue);\"},{\"line\":187,\"text\":\"\\t\\t\\t\\t$output = $this->compileLessCacheValueProperty($property, $prefix);\"},{\"line\":217,\"text\":\"\\tprotected function compileLessCacheValueProperty(\\\\XF\\\\Entity\\\\StyleProperty $property, $prefix)\"},{\"line\":229,\"text\":\"\\tprotected function compileLessCacheCssProperty(\\\\XF\\\\Entity\\\\StyleProperty $property, $prefix, ?array &$valueOutput = null)\"},{\"line\":234,\"text\":\"\\t\\t$value = $propertyRebuilder->standardizeLessCacheValue($property->property_value, $property->css_components);\"},{\"line\":252,\"text\":\"\\t\\t$value = $style->compileCssPropertyValue($value);\"}],\"sha256\":\"d8e57e62294bd1ce54b1b635d1696f2c3faa2dd24bc706e4ce62ebc48f9bb720\"}\nCSS_SOURCE_HIT_28={\"bytes\":51863,\"file\":\"/var/www/pvepro/src/XF/Http/Request.php\",\"selected\":[{\"line\":1679,\"text\":\"\\t\\tif ($via && strpos(strtolower($via), 'chrome-compression-proxy'))\"},{\"line\":1847,\"text\":\"\\t\\t\\t\\t$osVersion = floatval(str_replace('_', '.', $osMatch[1]));\"},{\"line\":2154,\"text\":\"\\t\\t\\t$trailingPath = str_replace(\\\\XF::$DS, '/', $trailingPath);\"},{\"line\":2310,\"text\":\"\\t\\t$url = str_replace($this->getHostUrl(), '', $url);\"},{\"line\":2314,\"text\":\"\\t\\t\\t$url = preg_replace('#^/.*[a-z0-9-_]+\\\\.php\\\\?#i', '?', $url);\"}],\"sha256\":\"5500ebfff942e8c96c0c319146f1605f9a38b92b1270c541feb79b4ab3962934\"}\nCSS_SOURCE_HIT_29={\"bytes\":9737,\"file\":\"/var/www/pvepro/src/XF/Http/Response.php\",\"selected\":[{\"line\":14,\"text\":\"\\tprotected $compressIfAble = true;\"},{\"line\":27,\"text\":\"\\tprotected $compress = false;\"},{\"line\":157,\"text\":\"\\t\\t$fileName = str_replace('\\\"', '', $fileName);\"},{\"line\":169,\"text\":\"\\t\\t\\t$type . '; filename=\\\"' . str_replace('\\\"', '', $fileName) . '\\\"' . $altNamePart,\"},{\"line\":238,\"text\":\"\\t\\t$name = preg_replace('#\\\\s+#', ' ', str_replace('-', ' ', trim($name)));\"},{\"line\":239,\"text\":\"\\t\\t$name = str_replace(' ', '-', ucwords($name));\"},{\"line\":265,\"text\":\"\\tpublic function compressIfAble($compress = null)\"},{\"line\":267,\"text\":\"\\t\\tif ($compress === null)\"},{\"line\":269,\"text\":\"\\t\\t\\treturn $this->compressIfAble;\"},{\"line\":272,\"text\":\"\\t\\t$this->compressIfAble = (bool) $compress;\"},{\"line\":298,\"text\":\"\\t\\t$this->compress = ($this->compressIfAble && $request && $this->contentIsCompressible($request));\"},{\"line\":299,\"text\":\"\\t\\tif ($this->compress)\"},{\"line\":479,\"text\":\"\\t\\t\\tif ($this->compress)\"},{\"line\":497,\"text\":\"\\tpublic function contentIsCompressible(Request $request)\"}],\"sha256\":\"2b8334ffe1afb7717651e5a4278d8c858000d2c0f6dff9c4fdc82209f3b11b9d\"}\nCSS_SOURCE_HIT_30={\"bytes\":5020,\"file\":\"/var/www/pvepro/src/XF/Mvc/Renderer/Html.php\",\"selected\":[{\"line\":79,\"text\":\"\\t\\t\\t\\t\\t$content = str_replace('', $errorHtml . '', $content);\"},{\"line\":83,\"text\":\"\\t\\t\\t\\t\\t$content = preg_replace('#]*>#i', \\\"\\\\\\\\0$errorHtml\\\", $content);\"},{\"line\":92,\"text\":\"\\t\\t$includedCss = $templater->getIncludedCss(['public:extra.less']);\"}],\"sha256\":\"beec569b9d8feb92998678acf018aa7a7fe19c3db7ff986de7010c03aeb146b7\"}\nCSS_SOURCE_HIT_31={\"bytes\":14978,\"file\":\"/var/www/pvepro/src/XF/Service/StyleProperty/RebuildService.php\",\"selected\":[{\"line\":316,\"text\":\"\\t\\t\\t$value = preg_replace_callback(\"},{\"line\":413,\"text\":\"\\t\\t\\t$value = preg_replace_callback(\"},{\"line\":510,\"text\":\"\\t\\t\\t$value = $this->standardizeLessCacheValue(\"},{\"line\":557,\"text\":\"\\tpublic function standardizeLessCacheValue(array $values, array $allowedComponents)\"},{\"line\":664,\"text\":\"\\t\\t\\t$values['background-image'] = preg_replace('/^(\\\"|\\\\')(.*)\\\\\\\\1$/', '\\\\\\\\2', $values['background-image']);\"}],\"sha256\":\"afdf941e40da421164817a7536e39f269419b2273f180252d97cf15019baaf40\"}\nCSS_SOURCE_HIT_32={\"bytes\":1391,\"file\":\"/var/www/pvepro/src/XF/Service/Development/TemplatePhraserService.php\",\"selected\":[{\"line\":15,\"text\":\"\\t\\tif (preg_match('/\\\\.(less|css)$/i', $template->title))\"}],\"sha256\":\"f0e77d578ff13db260f1a4c01d107af9ba5bd1124d84196c21536838a7bea9a1\"}\nCSS_SOURCE_HIT_33={\"bytes\":1536,\"file\":\"/var/www/pvepro/src/XF/Service/Development/TemplateModificationPhraserService.php\",\"selected\":[{\"line\":15,\"text\":\"\\t\\tif (preg_match('/\\\\.(less|css)$/i', $templateModification->template))\"}],\"sha256\":\"2f282469840d3b2d901abf29de6c03995e2d7cf9cf1bf721c93ea5edb1e00c85\"}\nCSS_SOURCE_HIT_34={\"bytes\":4371,\"file\":\"/var/www/pvepro/src/XF/Service/Advertising/WriterService.php\",\"selected\":[{\"line\":53,\"text\":\"\\t\\t\\t$template->save(); // needs to exist regardless\"}],\"sha256\":\"4285d3aa34f02c9c366d22dc1281166990464494177ae87bb7fe4a6a299e00d0\"}\nCSS_SOURCE_HIT_35={\"bytes\":3401,\"file\":\"/var/www/pvepro/src/XF/Service/AddOn/JsMinifierService.php\",\"selected\":[{\"line\":12,\"text\":\"class JsMinifierService extends AbstractService\"},{\"line\":36,\"text\":\"\\t\\t\\t$this->minPath = preg_replace('(\\\\.js$)', '.min.js', $jsPath, 1);\"},{\"line\":70,\"text\":\"\\t * Minify JS code using either the Compiler Service API or local closure\"},{\"line\":76,\"text\":\"\\tpublic function minify()\"}],\"sha256\":\"b8482e34c8cab1c54d7609886b5fd06bea42aed99df7b4dabeb5567a6c786e4b\"}\nSTAGING_GUEST_INSPECTION=SKIPPED_STOPPED_NO_START\nNO_MUTATION=True\nPRODUCTION_UNCHANGED=True\nPRODUCT_CHECKPOINTS_REMAINING=19\nTASK_RESULT=PASS_PVEPRO_VISUAL_STYLE_766_RENDER_RCA\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n" +} diff --git a/runtime/history/SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1.txt b/runtime/history/SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1.txt new file mode 100644 index 00000000..8252e810 --- /dev/null +++ b/runtime/history/SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1.txt @@ -0,0 +1,112 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=pvepro-visual-style-766-render-rca-readonly +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=a9a1338cd5621b76108b4400fa705529149572bec716d1a42c5f78d3e508f4fb +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=2f9d3c9b46eb0c8780cc0a118628414cf48f304f0642386963e403495f97eca8 +SANITIZED_OUTPUT_SHA256=2f9d3c9b46eb0c8780cc0a118628414cf48f304f0642386963e403495f97eca8 +OUTPUT_BEGIN +COMMAND_ID=SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1 +MODE=read-only +COMPONENT=pvepro-visual-style-766-render-rca-readonly +WINDOW_MODE=VISIBLE_SYNCHRONOUS_WAIT +766_FAILURE_SHA_MATCH_STYLE_RENDER=True +ISSUED_766_VERIFIER_SHA256=fe38fc81d08cb80fc66f1934ae84757ec8f09f790c1cd912f7e626ec9afbcd29 +VERIFIER_REQUIRES_EXACT_MARKER_SPACE=True +VERIFIER_REQUIRES_CHILD_STYLE_REF=True +VERIFIER_REQUIRES_BRAND_REF=True +VERIFIER_REQUIRES_RUSSIAN_TITLES=True +VERIFIER_SOURCE={"bytes":1939,"content":"import hashlib,html,json,re,subprocess,sys,urllib.parse\nsid=int(sys.argv[1])\ndef get(path,ua=\"Workers2-Style757\"):\n marker=b\"\\n__W2S757__\"\n p=subprocess.run([\"/usr/bin/curl\",\"-q\",\"-sS\",\"--connect-timeout\",\"5\",\"--max-time\",\"30\",\n \"-A\",ua,\"-H\",\"Host: pvepro.ru\",\"-o\",\"-\",\"-w\",\"\\n__W2S757__%{http_code}|%{size_download}\",\n \"http://127.0.0.1/\"+path.lstrip(\"/\")],stdout=subprocess.PIPE,stderr=subprocess.PIPE,timeout=40)\n pos=p.stdout.rfind(marker)\n if pos<0:return None,None,p.returncode\n tail=p.stdout[pos+len(marker):].strip().split(b\"|\",1)\n return p.stdout[:pos],int(tail[0]) if len(tail)==2 else None,p.returncode\ndef check(ua):\n body,code,rc=get(\"index.php\",ua)\n text=body.decode(\"utf-8\",\"strict\") if body else \"\"\n refs=[html.unescape(x) for x in re.findall(r']*href=[\"\\']([^\"\\']*css\\.php[^\"\\']*)[\"\\']',text,re.I)]\n css=[]\n css_codes=[]\n for u in refs[:8]:\n b,c,r=get(u,ua);css_codes.append([c,r,len(b or b\"\")])\n if b: css.append(b)\n combo=b\"\\n\".join(css)\n style_ref=any(re.search(r'(?:[?&])s='+str(sid)+r'(?:&|$)',u) for u in refs)\n return {\n \"ok\":code==200 and rc==0 and len(body or b\"\")>1000 and \"PVEPro\" in text and\n \"\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f\" in text and \"\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u043e\u0440\u0443\u043c\" in text and\n \"brand753r4\" in text and style_ref and b\"--pvepro-style757: 1\" in combo,\n \"code\":code,\"bytes\":len(body or b\"\"),\"sha256\":hashlib.sha256(body or b\"\").hexdigest(),\n \"css_ref_count\":len(refs),\"style_ref\":style_ref,\"css_bytes\":len(combo),\n \"css_marker\":b\"--pvepro-style757: 1\" in combo,\"css_codes\":css_codes,\n \"mobile_ua\":\"Mobile\" in ua\n }\nrows=[check(\"Workers2-Style757-Desktop\"),check(\"Mozilla/5.0 Mobile Workers2-Style757\")]\nok=all(x[\"ok\"] for x in rows)\nprint(json.dumps({\"ok\":ok,\"style_id\":sid,\"rows\":rows},ensure_ascii=True,sort_keys=True,separators=(\",\",\":\")))\nraise SystemExit(0 if ok else 23)\n","sha256":"fe38fc81d08cb80fc66f1934ae84757ec8f09f790c1cd912f7e626ec9afbcd29"} +CURRENT_HOST_STATE={"conf_sha256":"bb64db5a9f6348480e42d876c995789b7d277605f16034e7675ae0375ac5b6eb","config_sha256":"19cb1ed5b0966da28ae390b6f65dd90f2db5e599a6ad24355fc33fdd8d6a76a0","production_status":"running","snapshot_766_present":true,"staging_snapshots":["w2-pre-style-766r1"],"staging_status":"stopped"} +RECENT_TASK_COUNT=24 +RECENT_TASK_01=UPID:pve01:0036EBDD:0BDA29A6:6AAFE52A:qmstop:101:root@pam: 6AAFE52B OK +RECENT_TASK_02=UPID:pve01:0036EC00:0BDA29E2:6AAFE52B:qmrollback:101:root@pam: 6AAFE52B OK +RECENT_TASK_03=UPID:pve01:0036EC14:0BDA2A28:6AAFE52C:qmstart:101:root@pam: 6AAFE52C OK +RECENT_TASK_04=UPID:pve01:0036F039:0BDA5CD1:6AAFE5AD:qmstop:101:root@pam: 6AAFE5AE OK +RECENT_TASK_05=UPID:pve01:00377575:0BDB2C1D:6AAFE7C0:qmrollback:101:root@pam: 6AAFE7C0 OK +RECENT_TASK_06=UPID:pve01:0037759A:0BDB2C66:6AAFE7C1:qmstart:101:root@pam: 6AAFE7C1 OK +RECENT_TASK_07=UPID:pve01:00377EA0:0BDB5F55:6AAFE843:qmstop:101:root@pam: 6AAFE843 OK +RECENT_TASK_08=UPID:pve01:00378012:0BDB602C:6AAFE845:qmdelsnapshot:101:root@pam: 6AAFE845 OK +RECENT_TASK_09=UPID:pve01:0037B979:0BDBE056:6AAFE98D:qmsnapshot:101:root@pam: 6AAFE98E OK +RECENT_TASK_10=UPID:pve01:0037B987:0BDBE08E:6AAFE98E:qmstart:101:root@pam: 6AAFE98F OK +RECENT_TASK_11=UPID:pve01:0037E929:0BDC175C:6AAFEA1A:qmstop:101:root@pam: 6AAFEA1A OK +RECENT_TASK_12=UPID:pve01:0037E93C:0BDC1795:6AAFEA1B:qmrollback:101:root@pam: 6AAFEA1B OK +RECENT_TASK_13=UPID:pve01:0037E950:0BDC17DA:6AAFEA1C:qmstart:101:root@pam: 6AAFEA1C OK +RECENT_TASK_14=UPID:pve01:0037EF65:0BDC4AB0:6AAFEA9E:qmstop:101:root@pam: 6AAFEA9E OK +RECENT_TASK_15=UPID:pve01:00387B3A:0BDD6D58:6AAFED86:qmrollback:101:root@pam: 6AAFED86 OK +RECENT_TASK_16=UPID:pve01:00387B51:0BDD6D9E:6AAFED86:qmstart:101:root@pam: 6AAFED87 OK +RECENT_TASK_17=UPID:pve01:0038AB59:0BDDA07C:6AAFEE09:qmstop:101:root@pam: 6AAFEE09 OK +RECENT_TASK_18=UPID:pve01:0038AB73:0BDDA14F:6AAFEE0B:qmdelsnapshot:101:root@pam: 6AAFEE0B OK +RECENT_TASK_19=UPID:pve01:0038FC7E:0BDE06B4:6AAFEF0E:qmsnapshot:101:root@pam: 6AAFEF0E OK +RECENT_TASK_20=UPID:pve01:0038FC8B:0BDE06EB:6AAFEF0F:qmstart:101:root@pam: 6AAFEF10 OK +RECENT_TASK_21=UPID:pve01:00390BAE:0BDE5F10:6AAFEFF1:qmstop:101:root@pam: 6AAFEFF1 OK +RECENT_TASK_22=UPID:pve01:00390BC0:0BDE5F4C:6AAFEFF1:qmrollback:101:root@pam: 6AAFEFF1 OK +RECENT_TASK_23=UPID:pve01:00390BD4:0BDE5F91:6AAFEFF2:qmstart:101:root@pam: 6AAFEFF3 OK +RECENT_TASK_24=UPID:pve01:00393C8B:0BDE924D:6AAFF074:qmstop:101:root@pam: 6AAFF074 OK +PRODUCTION_APP_STATE=W2STYLE767PROD={"defaultStyleId":1,"boardActive":true,"styleCount":1} +PRODUCTION_CSS_HREF_SHAPE={"has_s1":true,"ref_count":2,"refs":["/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Avariations.less%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=1&l=2&d=1789884768&k=0132df9e8895f22d33adf6486e0d8f92e71895c4","/css.php?css=public%3Anode_list.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Aextra.less&s=1&l=2&d=1789884768&k=43d19352348ea7e33297a5400d94a1ac53993513"]} +CSS_SOURCE_HIT_01={"bytes":94945,"file":"/var/www/pvepro/src/XF/App.php","selected":[{"line":480,"text":"\t\t\t\t$response->compressIfAble(false);"},{"line":2433,"text":"\t\t\t'versionVisible' => preg_replace('/^(\\d+)\\.(\\d+)\\..+$/', '$1.$2', \\XF::$version),"}],"sha256":"fad88af3a5e175661725e9261eb8ef5642d59594b822d25e4e7d733d306f8519"} +CSS_SOURCE_HIT_02={"bytes":7593,"file":"/var/www/pvepro/src/XF/Api/Controller/AuthController.php","selected":[{"line":71,"text":"\t * This can be used to help with seamless SSO with XF, assuming the session or remember cookies are"}],"sha256":"0b4dbaf67ceaccc118101dff31c937419b276195b466ede926129c5a96e1fc32"} +CSS_SOURCE_HIT_03={"bytes":6859,"file":"/var/www/pvepro/src/XF/Api/Controller/UserController.php","selected":[{"line":243,"text":"\t\t// this function should always be checked, regardless of bypass permission options"}],"sha256":"e6b845d5717321fa634862c5fdf1e1a12945f4c5c9960314a7d57d2088de8012"} +CSS_SOURCE_HIT_04={"bytes":3093,"file":"/var/www/pvepro/src/XF/Api/Controller/SearchForumController.php","selected":[{"line":70,"text":"\t * @api-out Thread[] $threads Threads on this page. Note: this will always respect viewing user permissions regardless of whether the API is set to bypass permissions."}],"sha256":"e80b74c0908a3944033794bf0b51f342d015c4fb186ed06d30e0d2d12720d00e"} +CSS_SOURCE_HIT_05={"bytes":6728,"file":"/var/www/pvepro/src/XF/Import/ParallelRunner.php","selected":[{"line":179,"text":"\t\t\t$error = \"startAfter less than the step state startAfter value.\";"},{"line":191,"text":"\t\t\t$error = \"End less than the step state end value.\";"}],"sha256":"820f063b923594649fc07d8c3b329e0435b446fe0948ead38a45bd0e94d33cb7"} +CSS_SOURCE_HIT_06={"bytes":18724,"file":"/var/www/pvepro/src/XF/Import/PlatformUtil/Ips.php","selected":[{"line":66,"text":"\t\t$baseConfig['db']['tablePrefix'] = preg_replace('/[^a-z0-9_]/i', '', $baseConfig['db']['tablePrefix']);"},{"line":393,"text":"\t\t$content = preg_replace('/(\\r?\\n)?/si', \"\\n\", $content);"},{"line":394,"text":"\t\t$content = str_replace(' ', ' ', $content);"},{"line":403,"text":"\t\t$content = preg_replace('/(\\r?\\n)?/si', \"\\n\", $content);"},{"line":404,"text":"\t\t$content = str_replace(' ', ' ', $content);"},{"line":410,"text":"\t\t$content = preg_replace(array_keys($replacements), $replacements, $content);"},{"line":425,"text":"\t\t\t$content = preg_replace_callback("},{"line":456,"text":"\t\t\t$content = preg_replace_callback("},{"line":500,"text":"\t\t\t\t\t$newContent = preg_replace($pattern, $replacement, $content);"},{"line":606,"text":"\t\t$content = preg_replace_callback("},{"line":650,"text":"\t\t\t\t// less common attachment links - attached image no link"},{"line":667,"text":"\t\t\t\t\t\t// protocol-less link, which won't work"}],"sha256":"000eab4dca3e3aff569cbf9412e099052833f4598265bcb8e01c694eda3704e9"} +CSS_SOURCE_HIT_07={"bytes":9475,"file":"/var/www/pvepro/src/XF/Import/Data/User.php","selected":[{"line":260,"text":"\t\t\t// unless a language ID has been set, set the default (as XF doesn't use 0)."}],"sha256":"28abfe84654f7173611d16dc97df886faa6fd75d8c2b21eabb17b0025b48616f"} +CSS_SOURCE_HIT_08={"bytes":12763,"file":"/var/www/pvepro/src/XF/Style.php","selected":[{"line":426,"text":"\t\treturn $this->compileCssPropertyValue($value, $filters);"},{"line":435,"text":"\tpublic function compileCssPropertyValue(array $css, array $filters = [])"},{"line":579,"text":"\t\t$return = \"\\t\" . str_replace(\"\\n\", \"\\n\\t\", $return);"}],"sha256":"2567bf9504b6a700cd91963118cdb94e4281f439cde41e4e583a7a40942883e9"} +CSS_SOURCE_HIT_09={"bytes":16173,"file":"/var/www/pvepro/src/XF/DevelopmentOutput.php","selected":[{"line":27,"text":"\tprotected $validFileExtensions = ['txt', 'html', 'less', 'css', 'xhtml', 'json', 'xml', ''];"},{"line":149,"text":"\t\t\t$addOnId = str_replace('/', \\XF::$DS, $addOnId);"},{"line":647,"text":"\t\t$contents = str_replace(\"\\r\", '', $contents);"}],"sha256":"4e0c88c24ae71837b5eda0d15c474256c89a69d8e081ff1fea26bc405c5b29bd"} +CSS_SOURCE_HIT_10={"bytes":3772,"file":"/var/www/pvepro/src/XF/EmbedResolver/App.php","selected":[{"line":38,"text":"\t\t\t\t$response->compressIfAble(false);"}],"sha256":"a78c1bf7dfe24c81e40114885c82945e51619eedbf09a31cf2d301b206f842de"} +CSS_SOURCE_HIT_11={"bytes":1851,"file":"/var/www/pvepro/src/XF/CssRenderException.php","selected":[{"line":83,"text":"\tpublic static function createFromLessException(\\Less_Exception_Parser $e, $templateName, $contents)"},{"line":87,"text":"\t\t$message = preg_replace(\"/anonymous-file-\\d+\\.less/i\", $templateName, $message);"}],"sha256":"2087c9d66377a0949f017530324d442368076aae9ce2d282d2b5f3c5846ccc4e"} +CSS_SOURCE_HIT_12={"bytes":5714,"file":"/var/www/pvepro/src/XF/Admin/Controller/AdminController.php","selected":[{"line":93,"text":"\t\t\t\t\t\t$form->logError(\\XF::phrase('admin_add_passwordless_warning_no_email'));"},{"line":158,"text":"\t\t\t$warnings[] = \\XF::phrase('admin_add_passwordless_warning');"}],"sha256":"b499cb931f564590ea62002bacb281d24f3088c3ddd8baf10b67b5fb1b116988"} +CSS_SOURCE_HIT_13={"bytes":12266,"file":"/var/www/pvepro/src/XF/Admin/Controller/PhraseController.php","selected":[{"line":178,"text":"\t\t// If edit/skip, we display existing phrase regardless"}],"sha256":"787bdf9de198612a6d81e6cb0bfc507b82f14276587d5457aae474f0c6366ded"} +CSS_SOURCE_HIT_14={"bytes":5046,"file":"/var/www/pvepro/src/XF/Admin/Controller/AdminNavigationController.php","selected":[{"line":152,"text":"\t\t// It's dangerous to use unless you go back as it removes custom order changes, so if used,"}],"sha256":"203230f905f8bf146446577f4e80962dc5814fdb9031116a20e3c7a9b7e92f63"} +CSS_SOURCE_HIT_15={"bytes":2235,"file":"/var/www/pvepro/src/XF/Admin/Controller/AssetController.php","selected":[{"line":35,"text":"\t\t\t// again, shouldn't happen unless a request is manually modified"}],"sha256":"a4d228299ec8ef58ab2c6ec05186e1bf410b0cc301abd83481a6d0fb60ee3227"} +CSS_SOURCE_HIT_16={"bytes":8768,"file":"/var/www/pvepro/src/XF/DesignerOutput/StyleProperty.php","selected":[{"line":38,"text":"\t\t$this->queuePropertyLessCacheRebuild($property->Style);"},{"line":204,"text":"\tprotected function queuePropertyLessCacheRebuild(\\XF\\Entity\\Style $style)"},{"line":206,"text":"\t\t\\XF::runOnce('stylePropLessCacheRebuild-' . $style->designer_mode, function () use ($style)"},{"line":208,"text":"\t\t\t$this->rebuildPropertyLessCache($style);"},{"line":212,"text":"\tpublic function rebuildPropertyLessCache(\\XF\\Entity\\Style $style)"},{"line":214,"text":"\t\t$fileName = 'style_properties.less';"},{"line":215,"text":"\t\t$finalOutput = $this->getLessCacheFileValue($style->designer_mode);"},{"line":227,"text":"\tpublic function getLessCacheFileValue($designerMode)"},{"line":247,"text":"\t\t\t\t$output = $this->compileLessCacheCssProperty($property, $prefix, $cssValue);"},{"line":255,"text":"\t\t\t\t$output = $this->compileLessCacheValueProperty($property, $prefix);"},{"line":285,"text":"\tprotected function compileLessCacheValueProperty(\\XF\\Entity\\StyleProperty $property, $prefix)"},{"line":297,"text":"\tprotected function compileLessCacheCssProperty(\\XF\\Entity\\StyleProperty $property, $prefix, ?array &$valueOutput = null)"},{"line":302,"text":"\t\t$value = $propertyRebuilder->standardizeLessCacheValue($property->property_value, $property->css_components);"},{"line":320,"text":"\t\t$value = $style->compileCssPropertyValue($value);"}],"sha256":"39cc76c4267934d5635516e0c8d7927f3f06febfecad627df2c3c14b9a4666a9"} +CSS_SOURCE_HIT_17={"bytes":484,"file":"/var/www/pvepro/src/XF/Option/ActivitySummaryEmail.php","selected":[{"line":13,"text":"\t\t\t// test emails will not send unless these have values so just"}],"sha256":"ef0df3141b63263cf409f40acf9978db66c002e4620ec3ce4bb336582cdcf35e"} +CSS_SOURCE_HIT_18={"bytes":9352,"file":"/var/www/pvepro/src/XF/Html/Parser.php","selected":[{"line":206,"text":"\t\t\t\t\t\t// match a \"/\" in an unquoted attr, unless it's the last value"},{"line":245,"text":"\t\t\t$match[2] = trim(preg_replace('/!\\s*important$/i', '', trim($match[2])));"}],"sha256":"10577b5ff44502629c7665ce456297b464eae574fa18ac613201c8b13a5ebcfe"} +CSS_SOURCE_HIT_19={"bytes":6555,"file":"/var/www/pvepro/src/XF/Html/Tag.php","selected":[{"line":136,"text":"\t * unless invalid nesting occurred."},{"line":329,"text":"\t * tags can optionally have child tags/output that aren't normally displayed unless there's"}],"sha256":"ff5b4dfc8ae53692c3e866322ebe068e7f5dfcfc7d73c35a59b6d20516e856f5"} +CSS_SOURCE_HIT_20={"bytes":34800,"file":"/var/www/pvepro/src/XF/Html/Renderer/BbCode.php","selected":[{"line":123,"text":"\t\t$html = preg_replace("},{"line":130,"text":"\t\t$html = preg_replace("},{"line":136,"text":"\t\t$html = preg_replace_callback("},{"line":142,"text":"\t\t$html = preg_replace("},{"line":148,"text":"\t\t$html = preg_replace_callback('/^.*<\\/li>$/is', function (array $match)"},{"line":155,"text":"\t\t$html = preg_replace_callback('/]*class=\"(fr-video[^\"]*)\"[^>]*>(/U', function (array $match)"},{"line":160,"text":"\t\t\t$video = str_replace('class=\"', 'class=\"' . $classes . ' ', $video);"},{"line":166,"text":"\t\t$html = preg_replace_callback('/]*class=\"(fr-audio[^\"]*)\"[^>]*>(/U', function (array $match)"},{"line":171,"text":"\t\t\t$video = str_replace('class=\"', 'class=\"' . $classes . ' ', $video);"},{"line":184,"text":"\t\t$content = preg_replace('#<(' . $tags . ')(\\s[^>]*)?>#i', '', $content);"},{"line":185,"text":"\t\t$content = preg_replace('##i', '', $content);"},{"line":207,"text":"\t\t$text = preg_replace('#\\[img\\]\\[url\\]([^\\[]+)\\[/url\\]\\[/img\\]#i', '[IMG]$1[/IMG]', $text);"},{"line":211,"text":"\t\t\t$newText = preg_replace('#\\[/(b|i|u|s|left|center|right|justify)\\]([\\r\\n]*)\\[\\\\1\\]#i', '\\\\2', $text);"},{"line":222,"text":"\t\t\t$newText = preg_replace('#(\\[(font|color|size)=[^\\]]*\\])((?:(?>[^\\[]+?)|\\[(?!\\\\2))*)\\[/\\\\2\\]([\\r\\n]*)\\\\1#siU', '\\\\1\\\\3\\\\4', $text);"},{"line":234,"text":"\t\t\t$newText = preg_replace('#\\[/(b|i|u|s|left|center|right|justify)\\]([\\r\\n]*)\\[\\\\1\\]#i', '\\\\2', $text);"},{"line":334,"text":"\t\t\t\t\t$outputText = strrev(preg_replace('/^( )+/', '', strrev($outputText)));"},{"line":370,"text":"\t\t\t\t$outputText = $this->renderCss($tag, $outputText);"},{"line":478,"text":"\t\t\t$text = preg_replace('/[\\r\\n\\t ]+/', ' ', $text);"},{"line":492,"text":"\tpublic function renderCss(Tag $tag, $stringOutput)"},{"line":596,"text":"\t\t$baseParts['path'] = str_replace('\\\\', '/', $baseParts['path']);"},{"line":776,"text":"\t\treturn $this->renderCss($tag, $output);"},{"line":803,"text":"\t\treturn $this->renderCss($tag, $output);"},{"line":830,"text":"\t\treturn $this->renderCss($tag, $output);"},{"line":901,"text":"\t\t\treturn ' alt=\"' . str_replace('\"', '', $tag->attribute('alt')) . '\"';"},{"line":953,"text":"\t\treturn $this->renderCss($tag, $output);"},{"line":1060,"text":"\t\t\t$tagOption = str_replace('\"', '', implode(', ', $parts));"},{"line":1094,"text":"\t\treturn $this->renderCss($tag, $output);"},{"line":1111,"text":"\t\treturn $this->renderCss($tag, $output);"}],"sha256":"d950aefa2e6bafc725dde85c5dd9ca55c87530b73ffa9e14407fdd893f89d319"} +CSS_SOURCE_HIT_21={"bytes":47807,"file":"/var/www/pvepro/src/XF/Pub/Controller/ThreadController.php","selected":[{"line":703,"text":"\t * This only makes sense in the context of a date-ordered, filterless thread view."}],"sha256":"625e3bdf423acee25cd0961765eacd43fca6d416d6dfea310d63c617687ece65"} +CSS_SOURCE_HIT_22={"bytes":1723,"file":"/var/www/pvepro/src/XF/Pub/Controller/ServiceWorkerController.php","selected":[{"line":52,"text":"\t\treturn ['public:variations.less', 'public:offline.less'];"}],"sha256":"5ab8a97a96c3b65a282684559a9252a3877af32faf6c73037c0975eadc11a57b"} +CSS_SOURCE_HIT_23={"bytes":15999,"file":"/var/www/pvepro/src/XF/Pub/Controller/AbstractController.php","selected":[{"line":88,"text":"\t\t\t// log these details for page caching regardless of whether we want to update for this request"}],"sha256":"023efffff88cd1675173f30a8104d25fb220a5d8dc989d89c33d3ba09b0c0169"} +CSS_SOURCE_HIT_24={"bytes":19797,"file":"/var/www/pvepro/src/XF/Pub/App.php","selected":[{"line":511,"text":"\t\t\t// don't save empty sessions as it would generally be pointless"}],"sha256":"e9f732650c24e92d7834cfcdfdbfb33feb03d8facde211e797dc5e6e00308c29"} +CSS_SOURCE_HIT_25={"bytes":3214,"file":"/var/www/pvepro/src/XF/Mail/Styler.php","selected":[{"line":85,"text":"\t\treturn $this->renderer->render('email:core.less', false);"},{"line":101,"text":"\t\t$text = preg_replace('#\\s*]*>.*\\s*#siU', '', $text);"},{"line":102,"text":"\t\t$text = preg_replace('#\\s*]*>.*\\s*#siU', '', $text);"},{"line":103,"text":"\t\t$text = preg_replace('#]*alt=\"([^\"]+)\"[^>]*>#siU', '$1', $text);"},{"line":104,"text":"\t\t$text = preg_replace_callback("},{"line":114,"text":"\t\t$text = preg_replace_callback("},{"line":137,"text":"\t\t$text = preg_replace('#<(h[12])[^>]*>(.*)#siU', '****** $2 ******', $text);"},{"line":138,"text":"\t\t$text = preg_replace('#<(h[34])[^>]*>(.*)#siU', '**** $2 ****', $text);"},{"line":139,"text":"\t\t$text = preg_replace('#<(h[56])[^>]*>(.*)#siU', '** $2 **', $text);"},{"line":140,"text":"\t\t$text = preg_replace('#]*>()?#i', '---------------', $text);"},{"line":142,"text":"\t\t$text = preg_replace('#\\s*\\s*]*>\\s*#', ' - ', $text);"},{"line":143,"text":"\t\t$text = preg_replace('#\\s*\\s*]*>\\s*#', \"\\n\", $text);"},{"line":148,"text":"\t\t$text = preg_replace('#\\n\\t+#', \"\\n\", $text);"},{"line":149,"text":"\t\t$text = preg_replace('#(\\r?\\n){3,}#', \"\\n\\n\", $text);"}],"sha256":"f143fd5a6492fba8d7882a433b5d369e35c9acf6ac9550a6ca0268a37553dd46"} +CSS_SOURCE_HIT_26={"bytes":13176,"file":"/var/www/pvepro/src/XF/Util/Ip.php","selected":[{"line":121,"text":"\t\t\t\t$ip = str_replace('::', str_repeat(':0', 8 - $delims) . ':', $ip);"},{"line":282,"text":"\t\t\t\t$output = preg_replace_callback("},{"line":507,"text":"\t\t\t$ip = preg_replace('/\\.+$/', '', $ip);"},{"line":575,"text":"\t\t$decompressed = static::binaryToString($ip, false, false);"},{"line":576,"text":"\t\tif ($decompressed !== false)"},{"line":578,"text":"\t\t\t$ip = $decompressed;"},{"line":583,"text":"\t\t\t// we need to uncompress the hex address to split this up"},{"line":595,"text":"\t\t\t$checkIp = str_replace(':', '', $checkIp);"}],"sha256":"a6a5aeb666c47914d714efe36d79fafd66e1f5f55b7fd5f0c71a18313135897f"} +CSS_SOURCE_HIT_27={"bytes":6589,"file":"/var/www/pvepro/src/XF/DevelopmentOutput/StyleProperty.php","selected":[{"line":67,"text":"\t\t$this->queuePropertyLessCacheRebuild($property->addon_id);"},{"line":83,"text":"\t\t\t$this->queuePropertyLessCacheRebuild($addOnId);"},{"line":136,"text":"\tprotected function queuePropertyLessCacheRebuild($addOnId)"},{"line":138,"text":"\t\t\\XF::runOnce('stylePropLessCacheRebuild-' . $addOnId, function () use ($addOnId)"},{"line":140,"text":"\t\t\t$this->rebuildPropertyLessCache($addOnId);"},{"line":144,"text":"\tpublic function rebuildPropertyLessCache($addOnId)"},{"line":146,"text":"\t\t$fileName = 'style_properties.less';"},{"line":147,"text":"\t\t$finalOutput = $this->getLessCacheFileValue($addOnId);"},{"line":159,"text":"\tpublic function getLessCacheFileValue($addOnId)"},{"line":179,"text":"\t\t\t\t$output = $this->compileLessCacheCssProperty($property, $prefix, $cssValue);"},{"line":187,"text":"\t\t\t\t$output = $this->compileLessCacheValueProperty($property, $prefix);"},{"line":217,"text":"\tprotected function compileLessCacheValueProperty(\\XF\\Entity\\StyleProperty $property, $prefix)"},{"line":229,"text":"\tprotected function compileLessCacheCssProperty(\\XF\\Entity\\StyleProperty $property, $prefix, ?array &$valueOutput = null)"},{"line":234,"text":"\t\t$value = $propertyRebuilder->standardizeLessCacheValue($property->property_value, $property->css_components);"},{"line":252,"text":"\t\t$value = $style->compileCssPropertyValue($value);"}],"sha256":"d8e57e62294bd1ce54b1b635d1696f2c3faa2dd24bc706e4ce62ebc48f9bb720"} +CSS_SOURCE_HIT_28={"bytes":51863,"file":"/var/www/pvepro/src/XF/Http/Request.php","selected":[{"line":1679,"text":"\t\tif ($via && strpos(strtolower($via), 'chrome-compression-proxy'))"},{"line":1847,"text":"\t\t\t\t$osVersion = floatval(str_replace('_', '.', $osMatch[1]));"},{"line":2154,"text":"\t\t\t$trailingPath = str_replace(\\XF::$DS, '/', $trailingPath);"},{"line":2310,"text":"\t\t$url = str_replace($this->getHostUrl(), '', $url);"},{"line":2314,"text":"\t\t\t$url = preg_replace('#^/.*[a-z0-9-_]+\\.php\\?#i', '?', $url);"}],"sha256":"5500ebfff942e8c96c0c319146f1605f9a38b92b1270c541feb79b4ab3962934"} +CSS_SOURCE_HIT_29={"bytes":9737,"file":"/var/www/pvepro/src/XF/Http/Response.php","selected":[{"line":14,"text":"\tprotected $compressIfAble = true;"},{"line":27,"text":"\tprotected $compress = false;"},{"line":157,"text":"\t\t$fileName = str_replace('\"', '', $fileName);"},{"line":169,"text":"\t\t\t$type . '; filename=\"' . str_replace('\"', '', $fileName) . '\"' . $altNamePart,"},{"line":238,"text":"\t\t$name = preg_replace('#\\s+#', ' ', str_replace('-', ' ', trim($name)));"},{"line":239,"text":"\t\t$name = str_replace(' ', '-', ucwords($name));"},{"line":265,"text":"\tpublic function compressIfAble($compress = null)"},{"line":267,"text":"\t\tif ($compress === null)"},{"line":269,"text":"\t\t\treturn $this->compressIfAble;"},{"line":272,"text":"\t\t$this->compressIfAble = (bool) $compress;"},{"line":298,"text":"\t\t$this->compress = ($this->compressIfAble && $request && $this->contentIsCompressible($request));"},{"line":299,"text":"\t\tif ($this->compress)"},{"line":479,"text":"\t\t\tif ($this->compress)"},{"line":497,"text":"\tpublic function contentIsCompressible(Request $request)"}],"sha256":"2b8334ffe1afb7717651e5a4278d8c858000d2c0f6dff9c4fdc82209f3b11b9d"} +CSS_SOURCE_HIT_30={"bytes":5020,"file":"/var/www/pvepro/src/XF/Mvc/Renderer/Html.php","selected":[{"line":79,"text":"\t\t\t\t\t$content = str_replace('', $errorHtml . '', $content);"},{"line":83,"text":"\t\t\t\t\t$content = preg_replace('#]*>#i', \"\\\\0$errorHtml\", $content);"},{"line":92,"text":"\t\t$includedCss = $templater->getIncludedCss(['public:extra.less']);"}],"sha256":"beec569b9d8feb92998678acf018aa7a7fe19c3db7ff986de7010c03aeb146b7"} +CSS_SOURCE_HIT_31={"bytes":14978,"file":"/var/www/pvepro/src/XF/Service/StyleProperty/RebuildService.php","selected":[{"line":316,"text":"\t\t\t$value = preg_replace_callback("},{"line":413,"text":"\t\t\t$value = preg_replace_callback("},{"line":510,"text":"\t\t\t$value = $this->standardizeLessCacheValue("},{"line":557,"text":"\tpublic function standardizeLessCacheValue(array $values, array $allowedComponents)"},{"line":664,"text":"\t\t\t$values['background-image'] = preg_replace('/^(\"|\\')(.*)\\\\1$/', '\\\\2', $values['background-image']);"}],"sha256":"afdf941e40da421164817a7536e39f269419b2273f180252d97cf15019baaf40"} +CSS_SOURCE_HIT_32={"bytes":1391,"file":"/var/www/pvepro/src/XF/Service/Development/TemplatePhraserService.php","selected":[{"line":15,"text":"\t\tif (preg_match('/\\.(less|css)$/i', $template->title))"}],"sha256":"f0e77d578ff13db260f1a4c01d107af9ba5bd1124d84196c21536838a7bea9a1"} +CSS_SOURCE_HIT_33={"bytes":1536,"file":"/var/www/pvepro/src/XF/Service/Development/TemplateModificationPhraserService.php","selected":[{"line":15,"text":"\t\tif (preg_match('/\\.(less|css)$/i', $templateModification->template))"}],"sha256":"2f282469840d3b2d901abf29de6c03995e2d7cf9cf1bf721c93ea5edb1e00c85"} +CSS_SOURCE_HIT_34={"bytes":4371,"file":"/var/www/pvepro/src/XF/Service/Advertising/WriterService.php","selected":[{"line":53,"text":"\t\t\t$template->save(); // needs to exist regardless"}],"sha256":"4285d3aa34f02c9c366d22dc1281166990464494177ae87bb7fe4a6a299e00d0"} +CSS_SOURCE_HIT_35={"bytes":3401,"file":"/var/www/pvepro/src/XF/Service/AddOn/JsMinifierService.php","selected":[{"line":12,"text":"class JsMinifierService extends AbstractService"},{"line":36,"text":"\t\t\t$this->minPath = preg_replace('(\\.js$)', '.min.js', $jsPath, 1);"},{"line":70,"text":"\t * Minify JS code using either the Compiler Service API or local closure"},{"line":76,"text":"\tpublic function minify()"}],"sha256":"b8482e34c8cab1c54d7609886b5fd06bea42aed99df7b4dabeb5567a6c786e4b"} +STAGING_GUEST_INSPECTION=SKIPPED_STOPPED_NO_START +NO_MUTATION=True +PRODUCTION_UNCHANGED=True +PRODUCT_CHECKPOINTS_REMAINING=19 +TASK_RESULT=PASS_PVEPRO_VISUAL_STYLE_766_RENDER_RCA +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 380e3f03..4c150644 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1,38 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-766R1", - "status": "FAIL", - "rc": 3, + "command_id": "SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1", + "status": "OK", + "rc": 0, "host": "pve01", - "mode": "change", - "component": "pvepro-visual-style-staging-deploy", - "started_at_utc": "2026-09-20T14:34:50Z", - "finished_at_utc": "2026-09-20T14:40:53Z", + "mode": "read-only", + "component": "pvepro-visual-style-766-render-rca-readonly", + "started_at_utc": "2026-09-20T14:45:07Z", + "finished_at_utc": "2026-09-20T14:45:12Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "b2393bd26227a3770ccc6fcefc031585c08f4b584d11e6ae98bdf40bfb0d1edf", + "command_sha256": "a9a1338cd5621b76108b4400fa705529149572bec716d1a42c5f78d3e508f4fb", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": true, + "change_declared": false, "result_contract_valid": true, - "result_contract_status": "FAIL", + "result_contract_status": null, "result_contract_error": null, - "command_rc": 3, - "changes_made": true, - "rollback_started": true, - "rollback_restored": false, - "mutation_outcome": "ROLLBACK_FAILED", + "command_rc": 0, + "changes_made": false, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "NO_MUTATION", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "c64aa79750099adcfac7a0caf45e81e47b4397e74d4271daea1099c7a9c2c1f5", - "sanitized_output_sha256": "c64aa79750099adcfac7a0caf45e81e47b4397e74d4271daea1099c7a9c2c1f5", + "raw_evidence_sha256": "2f9d3c9b46eb0c8780cc0a118628414cf48f304f0642386963e403495f97eca8", + "sanitized_output_sha256": "2f9d3c9b46eb0c8780cc0a118628414cf48f304f0642386963e403495f97eca8", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": ":78: SyntaxWarning: invalid escape sequence '\\X'\nCOMMAND_ID=SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-766R1\nMODE=change\nCOMPONENT=pvepro-visual-style-staging-deploy\nVISUAL_IDENTITY=PVEPRO_CLUSTER_NAVY_CYAN_V1_STYLE_V1\nWINDOW_MODE=VISIBLE_SYNCHRONOUS_WAIT\nSTYLE_CONTRAST_RATIOS={\"body\":16.111,\"dark_body\":15.594,\"header\":17.335,\"link\":7.635}\nVM_SAFETY={\"all_link_down\":true,\"config_sha256\":\"5d9e7632f72468d825991649ed2897df2d4e920a1031387a60e16e4aa031298c\",\"name\":\"pvepro-staging-v1\",\"snapshots\":[],\"status\":\"stopped\"}\nPRODUCTION_PRESTATE={\"admins\":1,\"boardActive\":true,\"defaultLanguageId\":2,\"enCount\":1,\"errors\":19,\"languageRebuildJobs\":0,\"manualJobs\":0,\"nodes\":[{\"node_id\":1,\"node_type_id\":\"Category\",\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0430\\u044f \\u043a\\u0430\\u0442\\u0435\\u0433\\u043e\\u0440\\u0438\\u044f\"},{\"node_id\":2,\"node_type_id\":\"Forum\",\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u043e\\u0439 \\u0444\\u043e\\u0440\\u0443\\u043c\"}],\"posts\":44,\"registrationEnabled\":false,\"ruCount\":1,\"ruPhraseCount\":11142,\"ruPhraseMapCount\":11194,\"threads\":44}\nPRODUCTION_CHILD_STYLE_PRESTATE={\"count\":0,\"default\":1,\"default_db\":\"1\",\"rows\":[],\"styleRebuild\":0,\"styles\":1}\nFRESH_STAGING_SNAPSHOT_CREATED=True\nSTAGING_QGA_READY_TRIES=24\nSTAGING_PRESTATE={\"admins\":1,\"boardActive\":false,\"defaultLanguageId\":2,\"enCount\":1,\"errors\":16,\"languageRebuildJobs\":0,\"manualJobs\":0,\"nodes\":[{\"node_id\":1,\"node_type_id\":\"Category\",\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0430\\u044f \\u043a\\u0430\\u0442\\u0435\\u0433\\u043e\\u0440\\u0438\\u044f\"},{\"node_id\":2,\"node_type_id\":\"Forum\",\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u043e\\u0439 \\u0444\\u043e\\u0440\\u0443\\u043c\"}],\"posts\":44,\"registrationEnabled\":false,\"ruCount\":1,\"ruPhraseCount\":11142,\"ruPhraseMapCount\":11194,\"threads\":44}\nSTAGING_CHILD_STYLE_PRESTATE={\"count\":0,\"default\":1,\"default_db\":\"1\",\"rows\":[],\"styleRebuild\":0,\"styles\":1}\nJOB_EXECUTION_IDENTITY=www-data\nJOB_EXECUTION_UID=33\nSTYLE_CREATE_FRESH_PROCESS={\"map_rows\":0,\"property_rows\":0,\"style_count\":2,\"style_id\":2}\nSTYLE_REBUILD_TRIGGER_FRESH_PROCESS={\"style_id\":2}\nSTYLE_REBUILD_JOB_IDENTIFIED={\"count\":1,\"rows\":[{\"execute_class\":\"XF\\\\Job\\\\Atomic\",\"job_id\":79,\"last_run_date\":null,\"manual_execute\":1,\"trigger_date\":1789915026,\"unique_key\":\"styleRebuild\"}]}\nSTYLE_REBUILD_JOB_EXECUTED={\"job_id\":79,\"loops\":1,\"remaining\":0,\"remaining_history\":[0],\"styleRebuildLeft\":0}\nSTYLE_MAP_AFTER_JOB={\"db_map_rows\":284,\"finder_map_rows\":284,\"style_count\":2,\"style_id\":2,\"target_found\":42,\"target_missing\":[]}\nSTYLE_PROPERTY_MAP_READY=True\nSTYLE_PROPERTIES_APPLIED_FRESH_PROCESS={\"default_db\":\"1\",\"physical_child_property_rows\":40,\"style_id\":2,\"submitted_target_count\":42}\nSTYLE_PHYSICAL_CHILD_PROPERTY_ROWS=40\nSTYLE_EFFECTIVE_VERIFY={\"effective_match_count\":42,\"effective_mismatches\":[],\"effective_target_count\":42,\"evidence\":[{\"actual\":{\"alternate\":\"#8bcde1\",\"default\":\"#e9f7fc\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#8bcde1\",\"default\":\"#e9f7fc\"},\"name\":\"paletteColor1\",\"ok\":true},{\"actual\":{\"alternate\":\"#3a91ae\",\"default\":\"#9bdcf0\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#3a91ae\",\"default\":\"#9bdcf0\"},\"name\":\"paletteColor2\",\"ok\":true},{\"actual\":{\"alternate\":\"#1ca6cf\",\"default\":\"#20c4f4\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#1ca6cf\",\"default\":\"#20c4f4\"},\"name\":\"paletteColor3\",\"ok\":true},{\"actual\":{\"alternate\":\"#0b3f65\",\"default\":\"#0f578a\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#0b3f65\",\"default\":\"#0f578a\"},\"name\":\"paletteColor4\",\"ok\":true},{\"actual\":{\"alternate\":\"#051019\",\"default\":\"#071824\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#051019\",\"default\":\"#071824\"},\"name\":\"paletteColor5\",\"ok\":true},{\"actual\":{\"alternate\":\"#3f788c\",\"default\":\"#e5fbff\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#3f788c\",\"default\":\"#e5fbff\"},\"name\":\"paletteAccent1\",\"ok\":true},{\"actual\":{\"alternate\":\"#16a6cf\",\"default\":\"#20c4f4\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#16a6cf\",\"default\":\"#20c4f4\"},\"name\":\"paletteAccent2\",\"ok\":true},{\"actual\":{\"alternate\":\"#082f49\",\"default\":\"#0f578a\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#082f49\",\"default\":\"#0f578a\"},\"name\":\"paletteAccent3\",\"ok\":true},{\"actual\":{\"alternate\":\"#e8f5fb\",\"default\":\"#10232f\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#e8f5fb\",\"default\":\"#10232f\"},\"name\":\"textColor\",\"ok\":true},{\"actual\":{\"alternate\":\"#9fb9c7\",\"default\":\"#657d8a\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#9fb9c7\",\"default\":\"#657d8a\"},\"name\":\"textColorMuted\",\"ok\":true},{\"actual\":{\"alternate\":\"#57d3f8\",\"default\":\"#0f578a\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#57d3f8\",\"default\":\"#0f578a\"},\"name\":\"linkColor\",\"ok\":true},{\"actual\":{\"alternate\":\"#0a1c29\",\"default\":\"#ffffff\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#0a1c29\",\"default\":\"#ffffff\"},\"name\":\"contentBg\",\"ok\":true},{\"actual\":{\"alternate\":\"#071824\",\"default\":\"#f3f8fb\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#071824\",\"default\":\"#f3f8fb\"},\"name\":\"pageBg\",\"ok\":true},{\"actual\":{\"alternate\":\"#0e2734\",\"default\":\"#edf5f8\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#0e2734\",\"default\":\"#edf5f8\"},\"name\":\"contentAltBg\",\"ok\":true},{\"actual\":{\"alternate\":\"#244554\",\"default\":\"#c7d9e2\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#244554\",\"default\":\"#c7d9e2\"},\"name\":\"borderColor\",\"ok\":true},{\"actual\":{\"alternate\":\"#1b3847\",\"default\":\"#dbe7ed\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#1b3847\",\"default\":\"#dbe7ed\"},\"name\":\"borderColorLight\",\"ok\":true},{\"actual\":{\"alternate\":\"#315a6d\",\"default\":\"#98b8c8\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#315a6d\",\"default\":\"#98b8c8\"},\"name\":\"borderColorHeavy\",\"ok\":true},{\"actual\":{\"alternate\":\"#0e3142\",\"default\":\"#e8f5fa\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#0e3142\",\"default\":\"#e8f5fa\"},\"name\":\"majorHeadingBg\",\"ok\":true},{\"actual\":{\"alternate\":\"#167ba8\",\"default\":\"#0f578a\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#167ba8\",\"default\":\"#0f578a\"},\"name\":\"buttonBg\",\"ok\":true},{\"actual\":{\"alternate\":\"#18a9d3\",\"default\":\"#20c4f4\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#18a9d3\",\"default\":\"#20c4f4\"},\"name\":\"buttonCtaBg\",\"ok\":true},{\"actual\":{\"alternate\":\"#0e2734\",\"default\":\"#ffffff\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#0e2734\",\"default\":\"#ffffff\"},\"name\":\"inputBgColor\",\"ok\":true},{\"actual\":{\"alternate\":\"#102d3c\",\"default\":\"#ffffff\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#102d3c\",\"default\":\"#ffffff\"},\"name\":\"inputFocusBgColor\",\"ok\":true},{\"actual\":{\"alternate\":\"#103b50\",\"default\":\"#e4f8fe\"},\"effective_style_id\":2,\"expected\":{\"alternate\":\"#103b50\",\"default\":\"#e4f8fe\"},\"name\":\"selectedItemBgColor\",\"ok\":true},{\"actual\":\"12px\",\"effective_style_id\":2,\"expected\":\"12px\",\"name\":\"blockBorderRadius\",\"ok\":true},{\"actual\":\"6px\",\"effective_style_id\":2,\"expected\":\"6px\",\"name\":\"borderRadiusSmall\",\"ok\":true},{\"actual\":\"10px\",\"effective_style_id\":2,\"expected\":\"10px\",\"name\":\"borderRadiusMedium\",\"ok\":true},{\"actual\":\"14px\",\"effective_style_id\":2,\"expected\":\"14px\",\"name\":\"borderRadiusLarge\",\"ok\":true},{\"actual\":\"system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",\"effective_style_id\":2,\"expected\":\"system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",\"name\":\"fontFamilyBody\",\"ok\":true},{\"actual\":\"system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",\"effective_style_id\":2,\"expected\":\"system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",\"name\":\"fontFamilyUi\",\"ok\":true},{\"actual\":\"12px\",\"effective_style_id\":2,\"expected\":\"12px\",\"name\":\"menuBorderRadius\",\"ok\":true},{\"actual\":\"1280px\",\"effective_style_id\":2,\"expected\":\"1280px\",\"name\":\"pageWidthMax\",\"ok\":true},{\"actual\":\"14px\",\"effective_style_id\":2,\"expected\":\"14px\",\"name\":\"formRowPaddingV\",\"ok\":true},{\"actual\":\"600px\",\"effective_style_id\":2,\"expected\":\"600px\",\"name\":\"formResponsive\",\"ok\":true},{\"actual\":{\"border-radius\":\"@xf-borderRadiusMedium\",\"extra\":\"text-align: center; font-weight: 600; letter-spacing: .01em; transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;\",\"font-size\":\"@xf-fontSizeSmall\",\"padding-bottom\":\"7px\",\"padding-left\":\"14px\",\"padding-right\":\"14px\",\"padding-top\":\"7px\"},\"effective_style_id\":2,\"expected\":{\"border-radius\":\"@xf-borderRadiusMedium\",\"extra\":\"text-align: center; font-weight: 600; letter-spacing: .01em; transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;\",\"font-size\":\"@xf-fontSizeSmall\",\"padding-bottom\":\"7px\",\"padding-left\":\"14px\",\"padding-right\":\"14px\",\"padding-top\":\"7px\"},\"name\":\"buttonBase\",\"ok\":true},{\"actual\":{\"background-color\":\"@xf-majorHeadingBg\",\"border-bottom-color\":\"@xf-borderColorLight\",\"border-bottom-width\":\"@xf-borderSize\",\"color\":\"@xf-majorHeadingTextColor\",\"extra\":\"font-weight: @xf-fontWeightHeavy; letter-spacing: .01em;\",\"font-size\":\"@xf-fontSizeLarger\"},\"effective_style_id\":2,\"expected\":{\"background-color\":\"@xf-majorHeadingBg\",\"border-bottom-color\":\"@xf-borderColorLight\",\"border-bottom-width\":\"@xf-borderSize\",\"color\":\"@xf-majorHeadingTextColor\",\"extra\":\"font-weight: @xf-fontWeightHeavy; letter-spacing: .01em;\",\"font-size\":\"@xf-fontSizeLarger\"},\"name\":\"blockHeader\",\"ok\":true},{\"actual\":{\"background-color\":\"@xf-blockFooterBg\",\"border-top-color\":\"@xf-borderColorLight\",\"border-top-width\":\"@xf-borderSize\",\"color\":\"@xf-blockFooterTextColor\",\"font-size\":\"@xf-fontSizeSmaller\"},\"effective_style_id\":2,\"expected\":{\"background-color\":\"@xf-blockFooterBg\",\"border-top-color\":\"@xf-borderColorLight\",\"border-top-width\":\"@xf-borderSize\",\"color\":\"@xf-blockFooterTextColor\",\"font-size\":\"@xf-fontSizeSmaller\"},\"name\":\"blockFooter\",\"ok\":true},{\"actual\":{\"background-color\":\"#071824\",\"color\":\"#f7fbff\",\"extra\":\"--pvepro-style757: 1; box-shadow: 0 1px 0 rgba(32,196,244,.22);\"},\"effective_style_id\":2,\"expected\":{\"background-color\":\"#071824\",\"color\":\"#f7fbff\",\"extra\":\"--pvepro-style757: 1; box-shadow: 0 1px 0 rgba(32,196,244,.22);\"},\"name\":\"publicHeader\",\"ok\":true},{\"actual\":{\"background-color\":\"#0a1c29\",\"color\":\"#e9f7fc\",\"extra\":\"box-shadow: inset 0 -1px 0 rgba(32,196,244,.18);\"},\"effective_style_id\":2,\"expected\":{\"background-color\":\"#0a1c29\",\"color\":\"#e9f7fc\",\"extra\":\"box-shadow: inset 0 -1px 0 rgba(32,196,244,.18);\"},\"name\":\"publicNav\",\"ok\":true},{\"actual\":{\"background-color\":\"#071824\",\"color\":\"#d7eaf3\",\"extra\":\"border-top: 1px solid rgba(32,196,244,.18);\",\"font-size\":\"@xf-fontSizeSmall\"},\"effective_style_id\":2,\"expected\":{\"background-color\":\"#071824\",\"color\":\"#d7eaf3\",\"extra\":\"border-top: 1px solid rgba(32,196,244,.18);\",\"font-size\":\"@xf-fontSizeSmall\"},\"name\":\"publicFooter\",\"ok\":true},{\"actual\":{\"background-color\":\"@xf-contentAltBg\",\"border-color\":\"@xf-borderColor\",\"border-width\":\"@xf-borderSize\"},\"effective_style_id\":0,\"expected\":{\"background-color\":\"@xf-contentAltBg\",\"border-color\":\"@xf-borderColor\",\"border-width\":\"@xf-borderSize\"},\"name\":\"messageUserBlock\",\"ok\":true},{\"actual\":{\"default\":\"#071824\"},\"effective_style_id\":2,\"expected\":{\"default\":\"#071824\"},\"name\":\"metaThemeColor\",\"ok\":true},{\"actual\":{\"background-color\":\"@xf-pageBg\"},\"effective_style_id\":0,\"expected\":{\"background-color\":\"@xf-pageBg\"},\"name\":\"pageBackground\",\"ok\":true}],\"map_rows\":284,\"physical_child_property_rows\":40,\"style_id\":2}\nSTYLE_DEFAULT_UPDATED_FRESH_PROCESS={\"default_db\":\"2\",\"style_id\":2}\nSTYLE_FRESH_PROCESS_VERIFY={\"boardActive\":false,\"defaultStyleId\":2,\"defaultStyleIdDb\":\"2\",\"effectiveMatchCount\":42,\"effectiveMismatches\":[],\"effectiveTargetCount\":42,\"errors\":16,\"mapRows\":284,\"physicalChildPropertyRows\":40,\"propertyGroupRows\":0,\"style\":{\"description\":\"PVEPro visual style\",\"enable_variations\":1,\"parent_id\":1,\"style_id\":2,\"title\":\"PVEPro\",\"user_selectable\":1},\"templateRows\":0}\nSTAGING_BOARD_OPENED_FOR_ISOLATED_VERIFY=True\nVISUAL_STYLE_STAGING_ERROR_CLASS=RuntimeError\nVISUAL_STYLE_STAGING_ERROR_SHA256=81b541b0d5a04647607cd2906c8a0fee12a89504b0103aa51c1ab419c71f64cb\nROLLBACK_STARTED=True\nROLLBACK_RESTORED=False\nTASK_RESULT=PVEPRO_VISUAL_STYLE_STAGING_DEPLOY_EFFECTIVE42_FAILED\nHOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-766R1\",\"rollback_restored\":false,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\n" + "output": "COMMAND_ID=SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1\nMODE=read-only\nCOMPONENT=pvepro-visual-style-766-render-rca-readonly\nWINDOW_MODE=VISIBLE_SYNCHRONOUS_WAIT\n766_FAILURE_SHA_MATCH_STYLE_RENDER=True\nISSUED_766_VERIFIER_SHA256=fe38fc81d08cb80fc66f1934ae84757ec8f09f790c1cd912f7e626ec9afbcd29\nVERIFIER_REQUIRES_EXACT_MARKER_SPACE=True\nVERIFIER_REQUIRES_CHILD_STYLE_REF=True\nVERIFIER_REQUIRES_BRAND_REF=True\nVERIFIER_REQUIRES_RUSSIAN_TITLES=True\nVERIFIER_SOURCE={\"bytes\":1939,\"content\":\"import hashlib,html,json,re,subprocess,sys,urllib.parse\\nsid=int(sys.argv[1])\\ndef get(path,ua=\\\"Workers2-Style757\\\"):\\n marker=b\\\"\\\\n__W2S757__\\\"\\n p=subprocess.run([\\\"/usr/bin/curl\\\",\\\"-q\\\",\\\"-sS\\\",\\\"--connect-timeout\\\",\\\"5\\\",\\\"--max-time\\\",\\\"30\\\",\\n \\\"-A\\\",ua,\\\"-H\\\",\\\"Host: pvepro.ru\\\",\\\"-o\\\",\\\"-\\\",\\\"-w\\\",\\\"\\\\n__W2S757__%{http_code}|%{size_download}\\\",\\n \\\"http://127.0.0.1/\\\"+path.lstrip(\\\"/\\\")],stdout=subprocess.PIPE,stderr=subprocess.PIPE,timeout=40)\\n pos=p.stdout.rfind(marker)\\n if pos<0:return None,None,p.returncode\\n tail=p.stdout[pos+len(marker):].strip().split(b\\\"|\\\",1)\\n return p.stdout[:pos],int(tail[0]) if len(tail)==2 else None,p.returncode\\ndef check(ua):\\n body,code,rc=get(\\\"index.php\\\",ua)\\n text=body.decode(\\\"utf-8\\\",\\\"strict\\\") if body else \\\"\\\"\\n refs=[html.unescape(x) for x in re.findall(r']*href=[\\\"\\\\']([^\\\"\\\\']*css\\\\.php[^\\\"\\\\']*)[\\\"\\\\']',text,re.I)]\\n css=[]\\n css_codes=[]\\n for u in refs[:8]:\\n b,c,r=get(u,ua);css_codes.append([c,r,len(b or b\\\"\\\")])\\n if b: css.append(b)\\n combo=b\\\"\\\\n\\\".join(css)\\n style_ref=any(re.search(r'(?:[?&])s='+str(sid)+r'(?:&|$)',u) for u in refs)\\n return {\\n \\\"ok\\\":code==200 and rc==0 and len(body or b\\\"\\\")>1000 and \\\"PVEPro\\\" in text and\\n \\\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0430\\u044f \\u043a\\u0430\\u0442\\u0435\\u0433\\u043e\\u0440\\u0438\\u044f\\\" in text and \\\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u043e\\u0439 \\u0444\\u043e\\u0440\\u0443\\u043c\\\" in text and\\n \\\"brand753r4\\\" in text and style_ref and b\\\"--pvepro-style757: 1\\\" in combo,\\n \\\"code\\\":code,\\\"bytes\\\":len(body or b\\\"\\\"),\\\"sha256\\\":hashlib.sha256(body or b\\\"\\\").hexdigest(),\\n \\\"css_ref_count\\\":len(refs),\\\"style_ref\\\":style_ref,\\\"css_bytes\\\":len(combo),\\n \\\"css_marker\\\":b\\\"--pvepro-style757: 1\\\" in combo,\\\"css_codes\\\":css_codes,\\n \\\"mobile_ua\\\":\\\"Mobile\\\" in ua\\n }\\nrows=[check(\\\"Workers2-Style757-Desktop\\\"),check(\\\"Mozilla/5.0 Mobile Workers2-Style757\\\")]\\nok=all(x[\\\"ok\\\"] for x in rows)\\nprint(json.dumps({\\\"ok\\\":ok,\\\"style_id\\\":sid,\\\"rows\\\":rows},ensure_ascii=True,sort_keys=True,separators=(\\\",\\\",\\\":\\\")))\\nraise SystemExit(0 if ok else 23)\\n\",\"sha256\":\"fe38fc81d08cb80fc66f1934ae84757ec8f09f790c1cd912f7e626ec9afbcd29\"}\nCURRENT_HOST_STATE={\"conf_sha256\":\"bb64db5a9f6348480e42d876c995789b7d277605f16034e7675ae0375ac5b6eb\",\"config_sha256\":\"19cb1ed5b0966da28ae390b6f65dd90f2db5e599a6ad24355fc33fdd8d6a76a0\",\"production_status\":\"running\",\"snapshot_766_present\":true,\"staging_snapshots\":[\"w2-pre-style-766r1\"],\"staging_status\":\"stopped\"}\nRECENT_TASK_COUNT=24\nRECENT_TASK_01=UPID:pve01:0036EBDD:0BDA29A6:6AAFE52A:qmstop:101:root@pam: 6AAFE52B OK\nRECENT_TASK_02=UPID:pve01:0036EC00:0BDA29E2:6AAFE52B:qmrollback:101:root@pam: 6AAFE52B OK\nRECENT_TASK_03=UPID:pve01:0036EC14:0BDA2A28:6AAFE52C:qmstart:101:root@pam: 6AAFE52C OK\nRECENT_TASK_04=UPID:pve01:0036F039:0BDA5CD1:6AAFE5AD:qmstop:101:root@pam: 6AAFE5AE OK\nRECENT_TASK_05=UPID:pve01:00377575:0BDB2C1D:6AAFE7C0:qmrollback:101:root@pam: 6AAFE7C0 OK\nRECENT_TASK_06=UPID:pve01:0037759A:0BDB2C66:6AAFE7C1:qmstart:101:root@pam: 6AAFE7C1 OK\nRECENT_TASK_07=UPID:pve01:00377EA0:0BDB5F55:6AAFE843:qmstop:101:root@pam: 6AAFE843 OK\nRECENT_TASK_08=UPID:pve01:00378012:0BDB602C:6AAFE845:qmdelsnapshot:101:root@pam: 6AAFE845 OK\nRECENT_TASK_09=UPID:pve01:0037B979:0BDBE056:6AAFE98D:qmsnapshot:101:root@pam: 6AAFE98E OK\nRECENT_TASK_10=UPID:pve01:0037B987:0BDBE08E:6AAFE98E:qmstart:101:root@pam: 6AAFE98F OK\nRECENT_TASK_11=UPID:pve01:0037E929:0BDC175C:6AAFEA1A:qmstop:101:root@pam: 6AAFEA1A OK\nRECENT_TASK_12=UPID:pve01:0037E93C:0BDC1795:6AAFEA1B:qmrollback:101:root@pam: 6AAFEA1B OK\nRECENT_TASK_13=UPID:pve01:0037E950:0BDC17DA:6AAFEA1C:qmstart:101:root@pam: 6AAFEA1C OK\nRECENT_TASK_14=UPID:pve01:0037EF65:0BDC4AB0:6AAFEA9E:qmstop:101:root@pam: 6AAFEA9E OK\nRECENT_TASK_15=UPID:pve01:00387B3A:0BDD6D58:6AAFED86:qmrollback:101:root@pam: 6AAFED86 OK\nRECENT_TASK_16=UPID:pve01:00387B51:0BDD6D9E:6AAFED86:qmstart:101:root@pam: 6AAFED87 OK\nRECENT_TASK_17=UPID:pve01:0038AB59:0BDDA07C:6AAFEE09:qmstop:101:root@pam: 6AAFEE09 OK\nRECENT_TASK_18=UPID:pve01:0038AB73:0BDDA14F:6AAFEE0B:qmdelsnapshot:101:root@pam: 6AAFEE0B OK\nRECENT_TASK_19=UPID:pve01:0038FC7E:0BDE06B4:6AAFEF0E:qmsnapshot:101:root@pam: 6AAFEF0E OK\nRECENT_TASK_20=UPID:pve01:0038FC8B:0BDE06EB:6AAFEF0F:qmstart:101:root@pam: 6AAFEF10 OK\nRECENT_TASK_21=UPID:pve01:00390BAE:0BDE5F10:6AAFEFF1:qmstop:101:root@pam: 6AAFEFF1 OK\nRECENT_TASK_22=UPID:pve01:00390BC0:0BDE5F4C:6AAFEFF1:qmrollback:101:root@pam: 6AAFEFF1 OK\nRECENT_TASK_23=UPID:pve01:00390BD4:0BDE5F91:6AAFEFF2:qmstart:101:root@pam: 6AAFEFF3 OK\nRECENT_TASK_24=UPID:pve01:00393C8B:0BDE924D:6AAFF074:qmstop:101:root@pam: 6AAFF074 OK\nPRODUCTION_APP_STATE=W2STYLE767PROD={\"defaultStyleId\":1,\"boardActive\":true,\"styleCount\":1}\nPRODUCTION_CSS_HREF_SHAPE={\"has_s1\":true,\"ref_count\":2,\"refs\":[\"/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Avariations.less%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=1&l=2&d=1789884768&k=0132df9e8895f22d33adf6486e0d8f92e71895c4\",\"/css.php?css=public%3Anode_list.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Aextra.less&s=1&l=2&d=1789884768&k=43d19352348ea7e33297a5400d94a1ac53993513\"]}\nCSS_SOURCE_HIT_01={\"bytes\":94945,\"file\":\"/var/www/pvepro/src/XF/App.php\",\"selected\":[{\"line\":480,\"text\":\"\\t\\t\\t\\t$response->compressIfAble(false);\"},{\"line\":2433,\"text\":\"\\t\\t\\t'versionVisible' => preg_replace('/^(\\\\d+)\\\\.(\\\\d+)\\\\..+$/', '$1.$2', \\\\XF::$version),\"}],\"sha256\":\"fad88af3a5e175661725e9261eb8ef5642d59594b822d25e4e7d733d306f8519\"}\nCSS_SOURCE_HIT_02={\"bytes\":7593,\"file\":\"/var/www/pvepro/src/XF/Api/Controller/AuthController.php\",\"selected\":[{\"line\":71,\"text\":\"\\t * This can be used to help with seamless SSO with XF, assuming the session or remember cookies are\"}],\"sha256\":\"0b4dbaf67ceaccc118101dff31c937419b276195b466ede926129c5a96e1fc32\"}\nCSS_SOURCE_HIT_03={\"bytes\":6859,\"file\":\"/var/www/pvepro/src/XF/Api/Controller/UserController.php\",\"selected\":[{\"line\":243,\"text\":\"\\t\\t// this function should always be checked, regardless of bypass permission options\"}],\"sha256\":\"e6b845d5717321fa634862c5fdf1e1a12945f4c5c9960314a7d57d2088de8012\"}\nCSS_SOURCE_HIT_04={\"bytes\":3093,\"file\":\"/var/www/pvepro/src/XF/Api/Controller/SearchForumController.php\",\"selected\":[{\"line\":70,\"text\":\"\\t * @api-out Thread[] $threads Threads on this page. Note: this will always respect viewing user permissions regardless of whether the API is set to bypass permissions.\"}],\"sha256\":\"e80b74c0908a3944033794bf0b51f342d015c4fb186ed06d30e0d2d12720d00e\"}\nCSS_SOURCE_HIT_05={\"bytes\":6728,\"file\":\"/var/www/pvepro/src/XF/Import/ParallelRunner.php\",\"selected\":[{\"line\":179,\"text\":\"\\t\\t\\t$error = \\\"startAfter less than the step state startAfter value.\\\";\"},{\"line\":191,\"text\":\"\\t\\t\\t$error = \\\"End less than the step state end value.\\\";\"}],\"sha256\":\"820f063b923594649fc07d8c3b329e0435b446fe0948ead38a45bd0e94d33cb7\"}\nCSS_SOURCE_HIT_06={\"bytes\":18724,\"file\":\"/var/www/pvepro/src/XF/Import/PlatformUtil/Ips.php\",\"selected\":[{\"line\":66,\"text\":\"\\t\\t$baseConfig['db']['tablePrefix'] = preg_replace('/[^a-z0-9_]/i', '', $baseConfig['db']['tablePrefix']);\"},{\"line\":393,\"text\":\"\\t\\t$content = preg_replace('/(\\\\r?\\\\n)?/si', \\\"\\\\n\\\", $content);\"},{\"line\":394,\"text\":\"\\t\\t$content = str_replace(' ', ' ', $content);\"},{\"line\":403,\"text\":\"\\t\\t$content = preg_replace('/(\\\\r?\\\\n)?/si', \\\"\\\\n\\\", $content);\"},{\"line\":404,\"text\":\"\\t\\t$content = str_replace(' ', ' ', $content);\"},{\"line\":410,\"text\":\"\\t\\t$content = preg_replace(array_keys($replacements), $replacements, $content);\"},{\"line\":425,\"text\":\"\\t\\t\\t$content = preg_replace_callback(\"},{\"line\":456,\"text\":\"\\t\\t\\t$content = preg_replace_callback(\"},{\"line\":500,\"text\":\"\\t\\t\\t\\t\\t$newContent = preg_replace($pattern, $replacement, $content);\"},{\"line\":606,\"text\":\"\\t\\t$content = preg_replace_callback(\"},{\"line\":650,\"text\":\"\\t\\t\\t\\t// less common attachment links - attached image no link\"},{\"line\":667,\"text\":\"\\t\\t\\t\\t\\t\\t// protocol-less link, which won't work\"}],\"sha256\":\"000eab4dca3e3aff569cbf9412e099052833f4598265bcb8e01c694eda3704e9\"}\nCSS_SOURCE_HIT_07={\"bytes\":9475,\"file\":\"/var/www/pvepro/src/XF/Import/Data/User.php\",\"selected\":[{\"line\":260,\"text\":\"\\t\\t\\t// unless a language ID has been set, set the default (as XF doesn't use 0).\"}],\"sha256\":\"28abfe84654f7173611d16dc97df886faa6fd75d8c2b21eabb17b0025b48616f\"}\nCSS_SOURCE_HIT_08={\"bytes\":12763,\"file\":\"/var/www/pvepro/src/XF/Style.php\",\"selected\":[{\"line\":426,\"text\":\"\\t\\treturn $this->compileCssPropertyValue($value, $filters);\"},{\"line\":435,\"text\":\"\\tpublic function compileCssPropertyValue(array $css, array $filters = [])\"},{\"line\":579,\"text\":\"\\t\\t$return = \\\"\\\\t\\\" . str_replace(\\\"\\\\n\\\", \\\"\\\\n\\\\t\\\", $return);\"}],\"sha256\":\"2567bf9504b6a700cd91963118cdb94e4281f439cde41e4e583a7a40942883e9\"}\nCSS_SOURCE_HIT_09={\"bytes\":16173,\"file\":\"/var/www/pvepro/src/XF/DevelopmentOutput.php\",\"selected\":[{\"line\":27,\"text\":\"\\tprotected $validFileExtensions = ['txt', 'html', 'less', 'css', 'xhtml', 'json', 'xml', ''];\"},{\"line\":149,\"text\":\"\\t\\t\\t$addOnId = str_replace('/', \\\\XF::$DS, $addOnId);\"},{\"line\":647,\"text\":\"\\t\\t$contents = str_replace(\\\"\\\\r\\\", '', $contents);\"}],\"sha256\":\"4e0c88c24ae71837b5eda0d15c474256c89a69d8e081ff1fea26bc405c5b29bd\"}\nCSS_SOURCE_HIT_10={\"bytes\":3772,\"file\":\"/var/www/pvepro/src/XF/EmbedResolver/App.php\",\"selected\":[{\"line\":38,\"text\":\"\\t\\t\\t\\t$response->compressIfAble(false);\"}],\"sha256\":\"a78c1bf7dfe24c81e40114885c82945e51619eedbf09a31cf2d301b206f842de\"}\nCSS_SOURCE_HIT_11={\"bytes\":1851,\"file\":\"/var/www/pvepro/src/XF/CssRenderException.php\",\"selected\":[{\"line\":83,\"text\":\"\\tpublic static function createFromLessException(\\\\Less_Exception_Parser $e, $templateName, $contents)\"},{\"line\":87,\"text\":\"\\t\\t$message = preg_replace(\\\"/anonymous-file-\\\\d+\\\\.less/i\\\", $templateName, $message);\"}],\"sha256\":\"2087c9d66377a0949f017530324d442368076aae9ce2d282d2b5f3c5846ccc4e\"}\nCSS_SOURCE_HIT_12={\"bytes\":5714,\"file\":\"/var/www/pvepro/src/XF/Admin/Controller/AdminController.php\",\"selected\":[{\"line\":93,\"text\":\"\\t\\t\\t\\t\\t\\t$form->logError(\\\\XF::phrase('admin_add_passwordless_warning_no_email'));\"},{\"line\":158,\"text\":\"\\t\\t\\t$warnings[] = \\\\XF::phrase('admin_add_passwordless_warning');\"}],\"sha256\":\"b499cb931f564590ea62002bacb281d24f3088c3ddd8baf10b67b5fb1b116988\"}\nCSS_SOURCE_HIT_13={\"bytes\":12266,\"file\":\"/var/www/pvepro/src/XF/Admin/Controller/PhraseController.php\",\"selected\":[{\"line\":178,\"text\":\"\\t\\t// If edit/skip, we display existing phrase regardless\"}],\"sha256\":\"787bdf9de198612a6d81e6cb0bfc507b82f14276587d5457aae474f0c6366ded\"}\nCSS_SOURCE_HIT_14={\"bytes\":5046,\"file\":\"/var/www/pvepro/src/XF/Admin/Controller/AdminNavigationController.php\",\"selected\":[{\"line\":152,\"text\":\"\\t\\t// It's dangerous to use unless you go back as it removes custom order changes, so if used,\"}],\"sha256\":\"203230f905f8bf146446577f4e80962dc5814fdb9031116a20e3c7a9b7e92f63\"}\nCSS_SOURCE_HIT_15={\"bytes\":2235,\"file\":\"/var/www/pvepro/src/XF/Admin/Controller/AssetController.php\",\"selected\":[{\"line\":35,\"text\":\"\\t\\t\\t// again, shouldn't happen unless a request is manually modified\"}],\"sha256\":\"a4d228299ec8ef58ab2c6ec05186e1bf410b0cc301abd83481a6d0fb60ee3227\"}\nCSS_SOURCE_HIT_16={\"bytes\":8768,\"file\":\"/var/www/pvepro/src/XF/DesignerOutput/StyleProperty.php\",\"selected\":[{\"line\":38,\"text\":\"\\t\\t$this->queuePropertyLessCacheRebuild($property->Style);\"},{\"line\":204,\"text\":\"\\tprotected function queuePropertyLessCacheRebuild(\\\\XF\\\\Entity\\\\Style $style)\"},{\"line\":206,\"text\":\"\\t\\t\\\\XF::runOnce('stylePropLessCacheRebuild-' . $style->designer_mode, function () use ($style)\"},{\"line\":208,\"text\":\"\\t\\t\\t$this->rebuildPropertyLessCache($style);\"},{\"line\":212,\"text\":\"\\tpublic function rebuildPropertyLessCache(\\\\XF\\\\Entity\\\\Style $style)\"},{\"line\":214,\"text\":\"\\t\\t$fileName = 'style_properties.less';\"},{\"line\":215,\"text\":\"\\t\\t$finalOutput = $this->getLessCacheFileValue($style->designer_mode);\"},{\"line\":227,\"text\":\"\\tpublic function getLessCacheFileValue($designerMode)\"},{\"line\":247,\"text\":\"\\t\\t\\t\\t$output = $this->compileLessCacheCssProperty($property, $prefix, $cssValue);\"},{\"line\":255,\"text\":\"\\t\\t\\t\\t$output = $this->compileLessCacheValueProperty($property, $prefix);\"},{\"line\":285,\"text\":\"\\tprotected function compileLessCacheValueProperty(\\\\XF\\\\Entity\\\\StyleProperty $property, $prefix)\"},{\"line\":297,\"text\":\"\\tprotected function compileLessCacheCssProperty(\\\\XF\\\\Entity\\\\StyleProperty $property, $prefix, ?array &$valueOutput = null)\"},{\"line\":302,\"text\":\"\\t\\t$value = $propertyRebuilder->standardizeLessCacheValue($property->property_value, $property->css_components);\"},{\"line\":320,\"text\":\"\\t\\t$value = $style->compileCssPropertyValue($value);\"}],\"sha256\":\"39cc76c4267934d5635516e0c8d7927f3f06febfecad627df2c3c14b9a4666a9\"}\nCSS_SOURCE_HIT_17={\"bytes\":484,\"file\":\"/var/www/pvepro/src/XF/Option/ActivitySummaryEmail.php\",\"selected\":[{\"line\":13,\"text\":\"\\t\\t\\t// test emails will not send unless these have values so just\"}],\"sha256\":\"ef0df3141b63263cf409f40acf9978db66c002e4620ec3ce4bb336582cdcf35e\"}\nCSS_SOURCE_HIT_18={\"bytes\":9352,\"file\":\"/var/www/pvepro/src/XF/Html/Parser.php\",\"selected\":[{\"line\":206,\"text\":\"\\t\\t\\t\\t\\t\\t// match a \\\"/\\\" in an unquoted attr, unless it's the last value\"},{\"line\":245,\"text\":\"\\t\\t\\t$match[2] = trim(preg_replace('/!\\\\s*important$/i', '', trim($match[2])));\"}],\"sha256\":\"10577b5ff44502629c7665ce456297b464eae574fa18ac613201c8b13a5ebcfe\"}\nCSS_SOURCE_HIT_19={\"bytes\":6555,\"file\":\"/var/www/pvepro/src/XF/Html/Tag.php\",\"selected\":[{\"line\":136,\"text\":\"\\t * unless invalid nesting occurred.\"},{\"line\":329,\"text\":\"\\t * tags can optionally have child tags/output that aren't normally displayed unless there's\"}],\"sha256\":\"ff5b4dfc8ae53692c3e866322ebe068e7f5dfcfc7d73c35a59b6d20516e856f5\"}\nCSS_SOURCE_HIT_20={\"bytes\":34800,\"file\":\"/var/www/pvepro/src/XF/Html/Renderer/BbCode.php\",\"selected\":[{\"line\":123,\"text\":\"\\t\\t$html = preg_replace(\"},{\"line\":130,\"text\":\"\\t\\t$html = preg_replace(\"},{\"line\":136,\"text\":\"\\t\\t$html = preg_replace_callback(\"},{\"line\":142,\"text\":\"\\t\\t$html = preg_replace(\"},{\"line\":148,\"text\":\"\\t\\t$html = preg_replace_callback('/^.*<\\\\/li>$/is', function (array $match)\"},{\"line\":155,\"text\":\"\\t\\t$html = preg_replace_callback('/]*class=\\\"(fr-video[^\\\"]*)\\\"[^>]*>(/U', function (array $match)\"},{\"line\":160,\"text\":\"\\t\\t\\t$video = str_replace('class=\\\"', 'class=\\\"' . $classes . ' ', $video);\"},{\"line\":166,\"text\":\"\\t\\t$html = preg_replace_callback('/]*class=\\\"(fr-audio[^\\\"]*)\\\"[^>]*>(/U', function (array $match)\"},{\"line\":171,\"text\":\"\\t\\t\\t$video = str_replace('class=\\\"', 'class=\\\"' . $classes . ' ', $video);\"},{\"line\":184,\"text\":\"\\t\\t$content = preg_replace('#<(' . $tags . ')(\\\\s[^>]*)?>#i', '', $content);\"},{\"line\":185,\"text\":\"\\t\\t$content = preg_replace('##i', '', $content);\"},{\"line\":207,\"text\":\"\\t\\t$text = preg_replace('#\\\\[img\\\\]\\\\[url\\\\]([^\\\\[]+)\\\\[/url\\\\]\\\\[/img\\\\]#i', '[IMG]$1[/IMG]', $text);\"},{\"line\":211,\"text\":\"\\t\\t\\t$newText = preg_replace('#\\\\[/(b|i|u|s|left|center|right|justify)\\\\]([\\\\r\\\\n]*)\\\\[\\\\\\\\1\\\\]#i', '\\\\\\\\2', $text);\"},{\"line\":222,\"text\":\"\\t\\t\\t$newText = preg_replace('#(\\\\[(font|color|size)=[^\\\\]]*\\\\])((?:(?>[^\\\\[]+?)|\\\\[(?!\\\\\\\\2))*)\\\\[/\\\\\\\\2\\\\]([\\\\r\\\\n]*)\\\\\\\\1#siU', '\\\\\\\\1\\\\\\\\3\\\\\\\\4', $text);\"},{\"line\":234,\"text\":\"\\t\\t\\t$newText = preg_replace('#\\\\[/(b|i|u|s|left|center|right|justify)\\\\]([\\\\r\\\\n]*)\\\\[\\\\\\\\1\\\\]#i', '\\\\\\\\2', $text);\"},{\"line\":334,\"text\":\"\\t\\t\\t\\t\\t$outputText = strrev(preg_replace('/^( )+/', '', strrev($outputText)));\"},{\"line\":370,\"text\":\"\\t\\t\\t\\t$outputText = $this->renderCss($tag, $outputText);\"},{\"line\":478,\"text\":\"\\t\\t\\t$text = preg_replace('/[\\\\r\\\\n\\\\t ]+/', ' ', $text);\"},{\"line\":492,\"text\":\"\\tpublic function renderCss(Tag $tag, $stringOutput)\"},{\"line\":596,\"text\":\"\\t\\t$baseParts['path'] = str_replace('\\\\\\\\', '/', $baseParts['path']);\"},{\"line\":776,\"text\":\"\\t\\treturn $this->renderCss($tag, $output);\"},{\"line\":803,\"text\":\"\\t\\treturn $this->renderCss($tag, $output);\"},{\"line\":830,\"text\":\"\\t\\treturn $this->renderCss($tag, $output);\"},{\"line\":901,\"text\":\"\\t\\t\\treturn ' alt=\\\"' . str_replace('\\\"', '', $tag->attribute('alt')) . '\\\"';\"},{\"line\":953,\"text\":\"\\t\\treturn $this->renderCss($tag, $output);\"},{\"line\":1060,\"text\":\"\\t\\t\\t$tagOption = str_replace('\\\"', '', implode(', ', $parts));\"},{\"line\":1094,\"text\":\"\\t\\treturn $this->renderCss($tag, $output);\"},{\"line\":1111,\"text\":\"\\t\\treturn $this->renderCss($tag, $output);\"}],\"sha256\":\"d950aefa2e6bafc725dde85c5dd9ca55c87530b73ffa9e14407fdd893f89d319\"}\nCSS_SOURCE_HIT_21={\"bytes\":47807,\"file\":\"/var/www/pvepro/src/XF/Pub/Controller/ThreadController.php\",\"selected\":[{\"line\":703,\"text\":\"\\t * This only makes sense in the context of a date-ordered, filterless thread view.\"}],\"sha256\":\"625e3bdf423acee25cd0961765eacd43fca6d416d6dfea310d63c617687ece65\"}\nCSS_SOURCE_HIT_22={\"bytes\":1723,\"file\":\"/var/www/pvepro/src/XF/Pub/Controller/ServiceWorkerController.php\",\"selected\":[{\"line\":52,\"text\":\"\\t\\treturn ['public:variations.less', 'public:offline.less'];\"}],\"sha256\":\"5ab8a97a96c3b65a282684559a9252a3877af32faf6c73037c0975eadc11a57b\"}\nCSS_SOURCE_HIT_23={\"bytes\":15999,\"file\":\"/var/www/pvepro/src/XF/Pub/Controller/AbstractController.php\",\"selected\":[{\"line\":88,\"text\":\"\\t\\t\\t// log these details for page caching regardless of whether we want to update for this request\"}],\"sha256\":\"023efffff88cd1675173f30a8104d25fb220a5d8dc989d89c33d3ba09b0c0169\"}\nCSS_SOURCE_HIT_24={\"bytes\":19797,\"file\":\"/var/www/pvepro/src/XF/Pub/App.php\",\"selected\":[{\"line\":511,\"text\":\"\\t\\t\\t// don't save empty sessions as it would generally be pointless\"}],\"sha256\":\"e9f732650c24e92d7834cfcdfdbfb33feb03d8facde211e797dc5e6e00308c29\"}\nCSS_SOURCE_HIT_25={\"bytes\":3214,\"file\":\"/var/www/pvepro/src/XF/Mail/Styler.php\",\"selected\":[{\"line\":85,\"text\":\"\\t\\treturn $this->renderer->render('email:core.less', false);\"},{\"line\":101,\"text\":\"\\t\\t$text = preg_replace('#\\\\s*]*>.*\\\\s*#siU', '', $text);\"},{\"line\":102,\"text\":\"\\t\\t$text = preg_replace('#\\\\s*]*>.*\\\\s*#siU', '', $text);\"},{\"line\":103,\"text\":\"\\t\\t$text = preg_replace('#]*alt=\\\"([^\\\"]+)\\\"[^>]*>#siU', '$1', $text);\"},{\"line\":104,\"text\":\"\\t\\t$text = preg_replace_callback(\"},{\"line\":114,\"text\":\"\\t\\t$text = preg_replace_callback(\"},{\"line\":137,\"text\":\"\\t\\t$text = preg_replace('#<(h[12])[^>]*>(.*)#siU', '****** $2 ******', $text);\"},{\"line\":138,\"text\":\"\\t\\t$text = preg_replace('#<(h[34])[^>]*>(.*)#siU', '**** $2 ****', $text);\"},{\"line\":139,\"text\":\"\\t\\t$text = preg_replace('#<(h[56])[^>]*>(.*)#siU', '** $2 **', $text);\"},{\"line\":140,\"text\":\"\\t\\t$text = preg_replace('#]*>()?#i', '---------------', $text);\"},{\"line\":142,\"text\":\"\\t\\t$text = preg_replace('#\\\\s*\\\\s*]*>\\\\s*#', ' - ', $text);\"},{\"line\":143,\"text\":\"\\t\\t$text = preg_replace('#\\\\s*\\\\s*]*>\\\\s*#', \\\"\\\\n\\\", $text);\"},{\"line\":148,\"text\":\"\\t\\t$text = preg_replace('#\\\\n\\\\t+#', \\\"\\\\n\\\", $text);\"},{\"line\":149,\"text\":\"\\t\\t$text = preg_replace('#(\\\\r?\\\\n){3,}#', \\\"\\\\n\\\\n\\\", $text);\"}],\"sha256\":\"f143fd5a6492fba8d7882a433b5d369e35c9acf6ac9550a6ca0268a37553dd46\"}\nCSS_SOURCE_HIT_26={\"bytes\":13176,\"file\":\"/var/www/pvepro/src/XF/Util/Ip.php\",\"selected\":[{\"line\":121,\"text\":\"\\t\\t\\t\\t$ip = str_replace('::', str_repeat(':0', 8 - $delims) . ':', $ip);\"},{\"line\":282,\"text\":\"\\t\\t\\t\\t$output = preg_replace_callback(\"},{\"line\":507,\"text\":\"\\t\\t\\t$ip = preg_replace('/\\\\.+$/', '', $ip);\"},{\"line\":575,\"text\":\"\\t\\t$decompressed = static::binaryToString($ip, false, false);\"},{\"line\":576,\"text\":\"\\t\\tif ($decompressed !== false)\"},{\"line\":578,\"text\":\"\\t\\t\\t$ip = $decompressed;\"},{\"line\":583,\"text\":\"\\t\\t\\t// we need to uncompress the hex address to split this up\"},{\"line\":595,\"text\":\"\\t\\t\\t$checkIp = str_replace(':', '', $checkIp);\"}],\"sha256\":\"a6a5aeb666c47914d714efe36d79fafd66e1f5f55b7fd5f0c71a18313135897f\"}\nCSS_SOURCE_HIT_27={\"bytes\":6589,\"file\":\"/var/www/pvepro/src/XF/DevelopmentOutput/StyleProperty.php\",\"selected\":[{\"line\":67,\"text\":\"\\t\\t$this->queuePropertyLessCacheRebuild($property->addon_id);\"},{\"line\":83,\"text\":\"\\t\\t\\t$this->queuePropertyLessCacheRebuild($addOnId);\"},{\"line\":136,\"text\":\"\\tprotected function queuePropertyLessCacheRebuild($addOnId)\"},{\"line\":138,\"text\":\"\\t\\t\\\\XF::runOnce('stylePropLessCacheRebuild-' . $addOnId, function () use ($addOnId)\"},{\"line\":140,\"text\":\"\\t\\t\\t$this->rebuildPropertyLessCache($addOnId);\"},{\"line\":144,\"text\":\"\\tpublic function rebuildPropertyLessCache($addOnId)\"},{\"line\":146,\"text\":\"\\t\\t$fileName = 'style_properties.less';\"},{\"line\":147,\"text\":\"\\t\\t$finalOutput = $this->getLessCacheFileValue($addOnId);\"},{\"line\":159,\"text\":\"\\tpublic function getLessCacheFileValue($addOnId)\"},{\"line\":179,\"text\":\"\\t\\t\\t\\t$output = $this->compileLessCacheCssProperty($property, $prefix, $cssValue);\"},{\"line\":187,\"text\":\"\\t\\t\\t\\t$output = $this->compileLessCacheValueProperty($property, $prefix);\"},{\"line\":217,\"text\":\"\\tprotected function compileLessCacheValueProperty(\\\\XF\\\\Entity\\\\StyleProperty $property, $prefix)\"},{\"line\":229,\"text\":\"\\tprotected function compileLessCacheCssProperty(\\\\XF\\\\Entity\\\\StyleProperty $property, $prefix, ?array &$valueOutput = null)\"},{\"line\":234,\"text\":\"\\t\\t$value = $propertyRebuilder->standardizeLessCacheValue($property->property_value, $property->css_components);\"},{\"line\":252,\"text\":\"\\t\\t$value = $style->compileCssPropertyValue($value);\"}],\"sha256\":\"d8e57e62294bd1ce54b1b635d1696f2c3faa2dd24bc706e4ce62ebc48f9bb720\"}\nCSS_SOURCE_HIT_28={\"bytes\":51863,\"file\":\"/var/www/pvepro/src/XF/Http/Request.php\",\"selected\":[{\"line\":1679,\"text\":\"\\t\\tif ($via && strpos(strtolower($via), 'chrome-compression-proxy'))\"},{\"line\":1847,\"text\":\"\\t\\t\\t\\t$osVersion = floatval(str_replace('_', '.', $osMatch[1]));\"},{\"line\":2154,\"text\":\"\\t\\t\\t$trailingPath = str_replace(\\\\XF::$DS, '/', $trailingPath);\"},{\"line\":2310,\"text\":\"\\t\\t$url = str_replace($this->getHostUrl(), '', $url);\"},{\"line\":2314,\"text\":\"\\t\\t\\t$url = preg_replace('#^/.*[a-z0-9-_]+\\\\.php\\\\?#i', '?', $url);\"}],\"sha256\":\"5500ebfff942e8c96c0c319146f1605f9a38b92b1270c541feb79b4ab3962934\"}\nCSS_SOURCE_HIT_29={\"bytes\":9737,\"file\":\"/var/www/pvepro/src/XF/Http/Response.php\",\"selected\":[{\"line\":14,\"text\":\"\\tprotected $compressIfAble = true;\"},{\"line\":27,\"text\":\"\\tprotected $compress = false;\"},{\"line\":157,\"text\":\"\\t\\t$fileName = str_replace('\\\"', '', $fileName);\"},{\"line\":169,\"text\":\"\\t\\t\\t$type . '; filename=\\\"' . str_replace('\\\"', '', $fileName) . '\\\"' . $altNamePart,\"},{\"line\":238,\"text\":\"\\t\\t$name = preg_replace('#\\\\s+#', ' ', str_replace('-', ' ', trim($name)));\"},{\"line\":239,\"text\":\"\\t\\t$name = str_replace(' ', '-', ucwords($name));\"},{\"line\":265,\"text\":\"\\tpublic function compressIfAble($compress = null)\"},{\"line\":267,\"text\":\"\\t\\tif ($compress === null)\"},{\"line\":269,\"text\":\"\\t\\t\\treturn $this->compressIfAble;\"},{\"line\":272,\"text\":\"\\t\\t$this->compressIfAble = (bool) $compress;\"},{\"line\":298,\"text\":\"\\t\\t$this->compress = ($this->compressIfAble && $request && $this->contentIsCompressible($request));\"},{\"line\":299,\"text\":\"\\t\\tif ($this->compress)\"},{\"line\":479,\"text\":\"\\t\\t\\tif ($this->compress)\"},{\"line\":497,\"text\":\"\\tpublic function contentIsCompressible(Request $request)\"}],\"sha256\":\"2b8334ffe1afb7717651e5a4278d8c858000d2c0f6dff9c4fdc82209f3b11b9d\"}\nCSS_SOURCE_HIT_30={\"bytes\":5020,\"file\":\"/var/www/pvepro/src/XF/Mvc/Renderer/Html.php\",\"selected\":[{\"line\":79,\"text\":\"\\t\\t\\t\\t\\t$content = str_replace('', $errorHtml . '', $content);\"},{\"line\":83,\"text\":\"\\t\\t\\t\\t\\t$content = preg_replace('#]*>#i', \\\"\\\\\\\\0$errorHtml\\\", $content);\"},{\"line\":92,\"text\":\"\\t\\t$includedCss = $templater->getIncludedCss(['public:extra.less']);\"}],\"sha256\":\"beec569b9d8feb92998678acf018aa7a7fe19c3db7ff986de7010c03aeb146b7\"}\nCSS_SOURCE_HIT_31={\"bytes\":14978,\"file\":\"/var/www/pvepro/src/XF/Service/StyleProperty/RebuildService.php\",\"selected\":[{\"line\":316,\"text\":\"\\t\\t\\t$value = preg_replace_callback(\"},{\"line\":413,\"text\":\"\\t\\t\\t$value = preg_replace_callback(\"},{\"line\":510,\"text\":\"\\t\\t\\t$value = $this->standardizeLessCacheValue(\"},{\"line\":557,\"text\":\"\\tpublic function standardizeLessCacheValue(array $values, array $allowedComponents)\"},{\"line\":664,\"text\":\"\\t\\t\\t$values['background-image'] = preg_replace('/^(\\\"|\\\\')(.*)\\\\\\\\1$/', '\\\\\\\\2', $values['background-image']);\"}],\"sha256\":\"afdf941e40da421164817a7536e39f269419b2273f180252d97cf15019baaf40\"}\nCSS_SOURCE_HIT_32={\"bytes\":1391,\"file\":\"/var/www/pvepro/src/XF/Service/Development/TemplatePhraserService.php\",\"selected\":[{\"line\":15,\"text\":\"\\t\\tif (preg_match('/\\\\.(less|css)$/i', $template->title))\"}],\"sha256\":\"f0e77d578ff13db260f1a4c01d107af9ba5bd1124d84196c21536838a7bea9a1\"}\nCSS_SOURCE_HIT_33={\"bytes\":1536,\"file\":\"/var/www/pvepro/src/XF/Service/Development/TemplateModificationPhraserService.php\",\"selected\":[{\"line\":15,\"text\":\"\\t\\tif (preg_match('/\\\\.(less|css)$/i', $templateModification->template))\"}],\"sha256\":\"2f282469840d3b2d901abf29de6c03995e2d7cf9cf1bf721c93ea5edb1e00c85\"}\nCSS_SOURCE_HIT_34={\"bytes\":4371,\"file\":\"/var/www/pvepro/src/XF/Service/Advertising/WriterService.php\",\"selected\":[{\"line\":53,\"text\":\"\\t\\t\\t$template->save(); // needs to exist regardless\"}],\"sha256\":\"4285d3aa34f02c9c366d22dc1281166990464494177ae87bb7fe4a6a299e00d0\"}\nCSS_SOURCE_HIT_35={\"bytes\":3401,\"file\":\"/var/www/pvepro/src/XF/Service/AddOn/JsMinifierService.php\",\"selected\":[{\"line\":12,\"text\":\"class JsMinifierService extends AbstractService\"},{\"line\":36,\"text\":\"\\t\\t\\t$this->minPath = preg_replace('(\\\\.js$)', '.min.js', $jsPath, 1);\"},{\"line\":70,\"text\":\"\\t * Minify JS code using either the Compiler Service API or local closure\"},{\"line\":76,\"text\":\"\\tpublic function minify()\"}],\"sha256\":\"b8482e34c8cab1c54d7609886b5fd06bea42aed99df7b4dabeb5567a6c786e4b\"}\nSTAGING_GUEST_INSPECTION=SKIPPED_STOPPED_NO_START\nNO_MUTATION=True\nPRODUCTION_UNCHANGED=True\nPRODUCT_CHECKPOINTS_REMAINING=19\nTASK_RESULT=PASS_PVEPRO_VISUAL_STYLE_766_RENDER_RCA\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 33b4d6a8..8252e810 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,66 +1,112 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-766R1 -STATUS=FAIL -RC=3 +COMMAND_ID=SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1 +STATUS=OK +RC=0 HOST=pve01 -MODE=change -COMPONENT=pvepro-visual-style-staging-deploy +MODE=read-only +COMPONENT=pvepro-visual-style-766-render-rca-readonly REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=b2393bd26227a3770ccc6fcefc031585c08f4b584d11e6ae98bdf40bfb0d1edf +COMMAND_SHA256=a9a1338cd5621b76108b4400fa705529149572bec716d1a42c5f78d3e508f4fb DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=true +CHANGE_DECLARED=false RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=FAIL +RESULT_CONTRACT_STATUS=NOT_APPLICABLE RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=3 -CHANGES_MADE=true -ROLLBACK_STARTED=true -ROLLBACK_RESTORED=false -MUTATION_OUTCOME=ROLLBACK_FAILED +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=c64aa79750099adcfac7a0caf45e81e47b4397e74d4271daea1099c7a9c2c1f5 -SANITIZED_OUTPUT_SHA256=c64aa79750099adcfac7a0caf45e81e47b4397e74d4271daea1099c7a9c2c1f5 +RAW_EVIDENCE_SHA256=2f9d3c9b46eb0c8780cc0a118628414cf48f304f0642386963e403495f97eca8 +SANITIZED_OUTPUT_SHA256=2f9d3c9b46eb0c8780cc0a118628414cf48f304f0642386963e403495f97eca8 OUTPUT_BEGIN -:78: SyntaxWarning: invalid escape sequence '\X' -COMMAND_ID=SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-766R1 -MODE=change -COMPONENT=pvepro-visual-style-staging-deploy -VISUAL_IDENTITY=PVEPRO_CLUSTER_NAVY_CYAN_V1_STYLE_V1 +COMMAND_ID=SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1 +MODE=read-only +COMPONENT=pvepro-visual-style-766-render-rca-readonly WINDOW_MODE=VISIBLE_SYNCHRONOUS_WAIT -STYLE_CONTRAST_RATIOS={"body":16.111,"dark_body":15.594,"header":17.335,"link":7.635} -VM_SAFETY={"all_link_down":true,"config_sha256":"5d9e7632f72468d825991649ed2897df2d4e920a1031387a60e16e4aa031298c","name":"pvepro-staging-v1","snapshots":[],"status":"stopped"} -PRODUCTION_PRESTATE={"admins":1,"boardActive":true,"defaultLanguageId":2,"enCount":1,"errors":19,"languageRebuildJobs":0,"manualJobs":0,"nodes":[{"node_id":1,"node_type_id":"Category","title":"\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f"},{"node_id":2,"node_type_id":"Forum","title":"\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u043e\u0440\u0443\u043c"}],"posts":44,"registrationEnabled":false,"ruCount":1,"ruPhraseCount":11142,"ruPhraseMapCount":11194,"threads":44} -PRODUCTION_CHILD_STYLE_PRESTATE={"count":0,"default":1,"default_db":"1","rows":[],"styleRebuild":0,"styles":1} -FRESH_STAGING_SNAPSHOT_CREATED=True -STAGING_QGA_READY_TRIES=24 -STAGING_PRESTATE={"admins":1,"boardActive":false,"defaultLanguageId":2,"enCount":1,"errors":16,"languageRebuildJobs":0,"manualJobs":0,"nodes":[{"node_id":1,"node_type_id":"Category","title":"\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f"},{"node_id":2,"node_type_id":"Forum","title":"\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u043e\u0440\u0443\u043c"}],"posts":44,"registrationEnabled":false,"ruCount":1,"ruPhraseCount":11142,"ruPhraseMapCount":11194,"threads":44} -STAGING_CHILD_STYLE_PRESTATE={"count":0,"default":1,"default_db":"1","rows":[],"styleRebuild":0,"styles":1} -JOB_EXECUTION_IDENTITY=www-data -JOB_EXECUTION_UID=33 -STYLE_CREATE_FRESH_PROCESS={"map_rows":0,"property_rows":0,"style_count":2,"style_id":2} -STYLE_REBUILD_TRIGGER_FRESH_PROCESS={"style_id":2} -STYLE_REBUILD_JOB_IDENTIFIED={"count":1,"rows":[{"execute_class":"XF\\Job\\Atomic","job_id":79,"last_run_date":null,"manual_execute":1,"trigger_date":1789915026,"unique_key":"styleRebuild"}]} -STYLE_REBUILD_JOB_EXECUTED={"job_id":79,"loops":1,"remaining":0,"remaining_history":[0],"styleRebuildLeft":0} -STYLE_MAP_AFTER_JOB={"db_map_rows":284,"finder_map_rows":284,"style_count":2,"style_id":2,"target_found":42,"target_missing":[]} -STYLE_PROPERTY_MAP_READY=True -STYLE_PROPERTIES_APPLIED_FRESH_PROCESS={"default_db":"1","physical_child_property_rows":40,"style_id":2,"submitted_target_count":42} -STYLE_PHYSICAL_CHILD_PROPERTY_ROWS=40 -STYLE_EFFECTIVE_VERIFY={"effective_match_count":42,"effective_mismatches":[],"effective_target_count":42,"evidence":[{"actual":{"alternate":"#8bcde1","default":"#e9f7fc"},"effective_style_id":2,"expected":{"alternate":"#8bcde1","default":"#e9f7fc"},"name":"paletteColor1","ok":true},{"actual":{"alternate":"#3a91ae","default":"#9bdcf0"},"effective_style_id":2,"expected":{"alternate":"#3a91ae","default":"#9bdcf0"},"name":"paletteColor2","ok":true},{"actual":{"alternate":"#1ca6cf","default":"#20c4f4"},"effective_style_id":2,"expected":{"alternate":"#1ca6cf","default":"#20c4f4"},"name":"paletteColor3","ok":true},{"actual":{"alternate":"#0b3f65","default":"#0f578a"},"effective_style_id":2,"expected":{"alternate":"#0b3f65","default":"#0f578a"},"name":"paletteColor4","ok":true},{"actual":{"alternate":"#051019","default":"#071824"},"effective_style_id":2,"expected":{"alternate":"#051019","default":"#071824"},"name":"paletteColor5","ok":true},{"actual":{"alternate":"#3f788c","default":"#e5fbff"},"effective_style_id":2,"expected":{"alternate":"#3f788c","default":"#e5fbff"},"name":"paletteAccent1","ok":true},{"actual":{"alternate":"#16a6cf","default":"#20c4f4"},"effective_style_id":2,"expected":{"alternate":"#16a6cf","default":"#20c4f4"},"name":"paletteAccent2","ok":true},{"actual":{"alternate":"#082f49","default":"#0f578a"},"effective_style_id":2,"expected":{"alternate":"#082f49","default":"#0f578a"},"name":"paletteAccent3","ok":true},{"actual":{"alternate":"#e8f5fb","default":"#10232f"},"effective_style_id":2,"expected":{"alternate":"#e8f5fb","default":"#10232f"},"name":"textColor","ok":true},{"actual":{"alternate":"#9fb9c7","default":"#657d8a"},"effective_style_id":2,"expected":{"alternate":"#9fb9c7","default":"#657d8a"},"name":"textColorMuted","ok":true},{"actual":{"alternate":"#57d3f8","default":"#0f578a"},"effective_style_id":2,"expected":{"alternate":"#57d3f8","default":"#0f578a"},"name":"linkColor","ok":true},{"actual":{"alternate":"#0a1c29","default":"#ffffff"},"effective_style_id":2,"expected":{"alternate":"#0a1c29","default":"#ffffff"},"name":"contentBg","ok":true},{"actual":{"alternate":"#071824","default":"#f3f8fb"},"effective_style_id":2,"expected":{"alternate":"#071824","default":"#f3f8fb"},"name":"pageBg","ok":true},{"actual":{"alternate":"#0e2734","default":"#edf5f8"},"effective_style_id":2,"expected":{"alternate":"#0e2734","default":"#edf5f8"},"name":"contentAltBg","ok":true},{"actual":{"alternate":"#244554","default":"#c7d9e2"},"effective_style_id":2,"expected":{"alternate":"#244554","default":"#c7d9e2"},"name":"borderColor","ok":true},{"actual":{"alternate":"#1b3847","default":"#dbe7ed"},"effective_style_id":2,"expected":{"alternate":"#1b3847","default":"#dbe7ed"},"name":"borderColorLight","ok":true},{"actual":{"alternate":"#315a6d","default":"#98b8c8"},"effective_style_id":2,"expected":{"alternate":"#315a6d","default":"#98b8c8"},"name":"borderColorHeavy","ok":true},{"actual":{"alternate":"#0e3142","default":"#e8f5fa"},"effective_style_id":2,"expected":{"alternate":"#0e3142","default":"#e8f5fa"},"name":"majorHeadingBg","ok":true},{"actual":{"alternate":"#167ba8","default":"#0f578a"},"effective_style_id":2,"expected":{"alternate":"#167ba8","default":"#0f578a"},"name":"buttonBg","ok":true},{"actual":{"alternate":"#18a9d3","default":"#20c4f4"},"effective_style_id":2,"expected":{"alternate":"#18a9d3","default":"#20c4f4"},"name":"buttonCtaBg","ok":true},{"actual":{"alternate":"#0e2734","default":"#ffffff"},"effective_style_id":2,"expected":{"alternate":"#0e2734","default":"#ffffff"},"name":"inputBgColor","ok":true},{"actual":{"alternate":"#102d3c","default":"#ffffff"},"effective_style_id":2,"expected":{"alternate":"#102d3c","default":"#ffffff"},"name":"inputFocusBgColor","ok":true},{"actual":{"alternate":"#103b50","default":"#e4f8fe"},"effective_style_id":2,"expected":{"alternate":"#103b50","default":"#e4f8fe"},"name":"selectedItemBgColor","ok":true},{"actual":"12px","effective_style_id":2,"expected":"12px","name":"blockBorderRadius","ok":true},{"actual":"6px","effective_style_id":2,"expected":"6px","name":"borderRadiusSmall","ok":true},{"actual":"10px","effective_style_id":2,"expected":"10px","name":"borderRadiusMedium","ok":true},{"actual":"14px","effective_style_id":2,"expected":"14px","name":"borderRadiusLarge","ok":true},{"actual":"system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif","effective_style_id":2,"expected":"system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif","name":"fontFamilyBody","ok":true},{"actual":"system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif","effective_style_id":2,"expected":"system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif","name":"fontFamilyUi","ok":true},{"actual":"12px","effective_style_id":2,"expected":"12px","name":"menuBorderRadius","ok":true},{"actual":"1280px","effective_style_id":2,"expected":"1280px","name":"pageWidthMax","ok":true},{"actual":"14px","effective_style_id":2,"expected":"14px","name":"formRowPaddingV","ok":true},{"actual":"600px","effective_style_id":2,"expected":"600px","name":"formResponsive","ok":true},{"actual":{"border-radius":"@xf-borderRadiusMedium","extra":"text-align: center; font-weight: 600; letter-spacing: .01em; transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;","font-size":"@xf-fontSizeSmall","padding-bottom":"7px","padding-left":"14px","padding-right":"14px","padding-top":"7px"},"effective_style_id":2,"expected":{"border-radius":"@xf-borderRadiusMedium","extra":"text-align: center; font-weight: 600; letter-spacing: .01em; transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;","font-size":"@xf-fontSizeSmall","padding-bottom":"7px","padding-left":"14px","padding-right":"14px","padding-top":"7px"},"name":"buttonBase","ok":true},{"actual":{"background-color":"@xf-majorHeadingBg","border-bottom-color":"@xf-borderColorLight","border-bottom-width":"@xf-borderSize","color":"@xf-majorHeadingTextColor","extra":"font-weight: @xf-fontWeightHeavy; letter-spacing: .01em;","font-size":"@xf-fontSizeLarger"},"effective_style_id":2,"expected":{"background-color":"@xf-majorHeadingBg","border-bottom-color":"@xf-borderColorLight","border-bottom-width":"@xf-borderSize","color":"@xf-majorHeadingTextColor","extra":"font-weight: @xf-fontWeightHeavy; letter-spacing: .01em;","font-size":"@xf-fontSizeLarger"},"name":"blockHeader","ok":true},{"actual":{"background-color":"@xf-blockFooterBg","border-top-color":"@xf-borderColorLight","border-top-width":"@xf-borderSize","color":"@xf-blockFooterTextColor","font-size":"@xf-fontSizeSmaller"},"effective_style_id":2,"expected":{"background-color":"@xf-blockFooterBg","border-top-color":"@xf-borderColorLight","border-top-width":"@xf-borderSize","color":"@xf-blockFooterTextColor","font-size":"@xf-fontSizeSmaller"},"name":"blockFooter","ok":true},{"actual":{"background-color":"#071824","color":"#f7fbff","extra":"--pvepro-style757: 1; box-shadow: 0 1px 0 rgba(32,196,244,.22);"},"effective_style_id":2,"expected":{"background-color":"#071824","color":"#f7fbff","extra":"--pvepro-style757: 1; box-shadow: 0 1px 0 rgba(32,196,244,.22);"},"name":"publicHeader","ok":true},{"actual":{"background-color":"#0a1c29","color":"#e9f7fc","extra":"box-shadow: inset 0 -1px 0 rgba(32,196,244,.18);"},"effective_style_id":2,"expected":{"background-color":"#0a1c29","color":"#e9f7fc","extra":"box-shadow: inset 0 -1px 0 rgba(32,196,244,.18);"},"name":"publicNav","ok":true},{"actual":{"background-color":"#071824","color":"#d7eaf3","extra":"border-top: 1px solid rgba(32,196,244,.18);","font-size":"@xf-fontSizeSmall"},"effective_style_id":2,"expected":{"background-color":"#071824","color":"#d7eaf3","extra":"border-top: 1px solid rgba(32,196,244,.18);","font-size":"@xf-fontSizeSmall"},"name":"publicFooter","ok":true},{"actual":{"background-color":"@xf-contentAltBg","border-color":"@xf-borderColor","border-width":"@xf-borderSize"},"effective_style_id":0,"expected":{"background-color":"@xf-contentAltBg","border-color":"@xf-borderColor","border-width":"@xf-borderSize"},"name":"messageUserBlock","ok":true},{"actual":{"default":"#071824"},"effective_style_id":2,"expected":{"default":"#071824"},"name":"metaThemeColor","ok":true},{"actual":{"background-color":"@xf-pageBg"},"effective_style_id":0,"expected":{"background-color":"@xf-pageBg"},"name":"pageBackground","ok":true}],"map_rows":284,"physical_child_property_rows":40,"style_id":2} -STYLE_DEFAULT_UPDATED_FRESH_PROCESS={"default_db":"2","style_id":2} -STYLE_FRESH_PROCESS_VERIFY={"boardActive":false,"defaultStyleId":2,"defaultStyleIdDb":"2","effectiveMatchCount":42,"effectiveMismatches":[],"effectiveTargetCount":42,"errors":16,"mapRows":284,"physicalChildPropertyRows":40,"propertyGroupRows":0,"style":{"description":"PVEPro visual style","enable_variations":1,"parent_id":1,"style_id":2,"title":"PVEPro","user_selectable":1},"templateRows":0} -STAGING_BOARD_OPENED_FOR_ISOLATED_VERIFY=True -VISUAL_STYLE_STAGING_ERROR_CLASS=RuntimeError -VISUAL_STYLE_STAGING_ERROR_SHA256=81b541b0d5a04647607cd2906c8a0fee12a89504b0103aa51c1ab419c71f64cb -ROLLBACK_STARTED=True -ROLLBACK_RESTORED=False -TASK_RESULT=PVEPRO_VISUAL_STYLE_STAGING_DEPLOY_EFFECTIVE42_FAILED -HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-766R1","rollback_restored":false,"rollback_started":true,"status":"FAIL","version":1} +766_FAILURE_SHA_MATCH_STYLE_RENDER=True +ISSUED_766_VERIFIER_SHA256=fe38fc81d08cb80fc66f1934ae84757ec8f09f790c1cd912f7e626ec9afbcd29 +VERIFIER_REQUIRES_EXACT_MARKER_SPACE=True +VERIFIER_REQUIRES_CHILD_STYLE_REF=True +VERIFIER_REQUIRES_BRAND_REF=True +VERIFIER_REQUIRES_RUSSIAN_TITLES=True +VERIFIER_SOURCE={"bytes":1939,"content":"import hashlib,html,json,re,subprocess,sys,urllib.parse\nsid=int(sys.argv[1])\ndef get(path,ua=\"Workers2-Style757\"):\n marker=b\"\\n__W2S757__\"\n p=subprocess.run([\"/usr/bin/curl\",\"-q\",\"-sS\",\"--connect-timeout\",\"5\",\"--max-time\",\"30\",\n \"-A\",ua,\"-H\",\"Host: pvepro.ru\",\"-o\",\"-\",\"-w\",\"\\n__W2S757__%{http_code}|%{size_download}\",\n \"http://127.0.0.1/\"+path.lstrip(\"/\")],stdout=subprocess.PIPE,stderr=subprocess.PIPE,timeout=40)\n pos=p.stdout.rfind(marker)\n if pos<0:return None,None,p.returncode\n tail=p.stdout[pos+len(marker):].strip().split(b\"|\",1)\n return p.stdout[:pos],int(tail[0]) if len(tail)==2 else None,p.returncode\ndef check(ua):\n body,code,rc=get(\"index.php\",ua)\n text=body.decode(\"utf-8\",\"strict\") if body else \"\"\n refs=[html.unescape(x) for x in re.findall(r']*href=[\"\\']([^\"\\']*css\\.php[^\"\\']*)[\"\\']',text,re.I)]\n css=[]\n css_codes=[]\n for u in refs[:8]:\n b,c,r=get(u,ua);css_codes.append([c,r,len(b or b\"\")])\n if b: css.append(b)\n combo=b\"\\n\".join(css)\n style_ref=any(re.search(r'(?:[?&])s='+str(sid)+r'(?:&|$)',u) for u in refs)\n return {\n \"ok\":code==200 and rc==0 and len(body or b\"\")>1000 and \"PVEPro\" in text and\n \"\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f\" in text and \"\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u043e\u0440\u0443\u043c\" in text and\n \"brand753r4\" in text and style_ref and b\"--pvepro-style757: 1\" in combo,\n \"code\":code,\"bytes\":len(body or b\"\"),\"sha256\":hashlib.sha256(body or b\"\").hexdigest(),\n \"css_ref_count\":len(refs),\"style_ref\":style_ref,\"css_bytes\":len(combo),\n \"css_marker\":b\"--pvepro-style757: 1\" in combo,\"css_codes\":css_codes,\n \"mobile_ua\":\"Mobile\" in ua\n }\nrows=[check(\"Workers2-Style757-Desktop\"),check(\"Mozilla/5.0 Mobile Workers2-Style757\")]\nok=all(x[\"ok\"] for x in rows)\nprint(json.dumps({\"ok\":ok,\"style_id\":sid,\"rows\":rows},ensure_ascii=True,sort_keys=True,separators=(\",\",\":\")))\nraise SystemExit(0 if ok else 23)\n","sha256":"fe38fc81d08cb80fc66f1934ae84757ec8f09f790c1cd912f7e626ec9afbcd29"} +CURRENT_HOST_STATE={"conf_sha256":"bb64db5a9f6348480e42d876c995789b7d277605f16034e7675ae0375ac5b6eb","config_sha256":"19cb1ed5b0966da28ae390b6f65dd90f2db5e599a6ad24355fc33fdd8d6a76a0","production_status":"running","snapshot_766_present":true,"staging_snapshots":["w2-pre-style-766r1"],"staging_status":"stopped"} +RECENT_TASK_COUNT=24 +RECENT_TASK_01=UPID:pve01:0036EBDD:0BDA29A6:6AAFE52A:qmstop:101:root@pam: 6AAFE52B OK +RECENT_TASK_02=UPID:pve01:0036EC00:0BDA29E2:6AAFE52B:qmrollback:101:root@pam: 6AAFE52B OK +RECENT_TASK_03=UPID:pve01:0036EC14:0BDA2A28:6AAFE52C:qmstart:101:root@pam: 6AAFE52C OK +RECENT_TASK_04=UPID:pve01:0036F039:0BDA5CD1:6AAFE5AD:qmstop:101:root@pam: 6AAFE5AE OK +RECENT_TASK_05=UPID:pve01:00377575:0BDB2C1D:6AAFE7C0:qmrollback:101:root@pam: 6AAFE7C0 OK +RECENT_TASK_06=UPID:pve01:0037759A:0BDB2C66:6AAFE7C1:qmstart:101:root@pam: 6AAFE7C1 OK +RECENT_TASK_07=UPID:pve01:00377EA0:0BDB5F55:6AAFE843:qmstop:101:root@pam: 6AAFE843 OK +RECENT_TASK_08=UPID:pve01:00378012:0BDB602C:6AAFE845:qmdelsnapshot:101:root@pam: 6AAFE845 OK +RECENT_TASK_09=UPID:pve01:0037B979:0BDBE056:6AAFE98D:qmsnapshot:101:root@pam: 6AAFE98E OK +RECENT_TASK_10=UPID:pve01:0037B987:0BDBE08E:6AAFE98E:qmstart:101:root@pam: 6AAFE98F OK +RECENT_TASK_11=UPID:pve01:0037E929:0BDC175C:6AAFEA1A:qmstop:101:root@pam: 6AAFEA1A OK +RECENT_TASK_12=UPID:pve01:0037E93C:0BDC1795:6AAFEA1B:qmrollback:101:root@pam: 6AAFEA1B OK +RECENT_TASK_13=UPID:pve01:0037E950:0BDC17DA:6AAFEA1C:qmstart:101:root@pam: 6AAFEA1C OK +RECENT_TASK_14=UPID:pve01:0037EF65:0BDC4AB0:6AAFEA9E:qmstop:101:root@pam: 6AAFEA9E OK +RECENT_TASK_15=UPID:pve01:00387B3A:0BDD6D58:6AAFED86:qmrollback:101:root@pam: 6AAFED86 OK +RECENT_TASK_16=UPID:pve01:00387B51:0BDD6D9E:6AAFED86:qmstart:101:root@pam: 6AAFED87 OK +RECENT_TASK_17=UPID:pve01:0038AB59:0BDDA07C:6AAFEE09:qmstop:101:root@pam: 6AAFEE09 OK +RECENT_TASK_18=UPID:pve01:0038AB73:0BDDA14F:6AAFEE0B:qmdelsnapshot:101:root@pam: 6AAFEE0B OK +RECENT_TASK_19=UPID:pve01:0038FC7E:0BDE06B4:6AAFEF0E:qmsnapshot:101:root@pam: 6AAFEF0E OK +RECENT_TASK_20=UPID:pve01:0038FC8B:0BDE06EB:6AAFEF0F:qmstart:101:root@pam: 6AAFEF10 OK +RECENT_TASK_21=UPID:pve01:00390BAE:0BDE5F10:6AAFEFF1:qmstop:101:root@pam: 6AAFEFF1 OK +RECENT_TASK_22=UPID:pve01:00390BC0:0BDE5F4C:6AAFEFF1:qmrollback:101:root@pam: 6AAFEFF1 OK +RECENT_TASK_23=UPID:pve01:00390BD4:0BDE5F91:6AAFEFF2:qmstart:101:root@pam: 6AAFEFF3 OK +RECENT_TASK_24=UPID:pve01:00393C8B:0BDE924D:6AAFF074:qmstop:101:root@pam: 6AAFF074 OK +PRODUCTION_APP_STATE=W2STYLE767PROD={"defaultStyleId":1,"boardActive":true,"styleCount":1} +PRODUCTION_CSS_HREF_SHAPE={"has_s1":true,"ref_count":2,"refs":["/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Avariations.less%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=1&l=2&d=1789884768&k=0132df9e8895f22d33adf6486e0d8f92e71895c4","/css.php?css=public%3Anode_list.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Aextra.less&s=1&l=2&d=1789884768&k=43d19352348ea7e33297a5400d94a1ac53993513"]} +CSS_SOURCE_HIT_01={"bytes":94945,"file":"/var/www/pvepro/src/XF/App.php","selected":[{"line":480,"text":"\t\t\t\t$response->compressIfAble(false);"},{"line":2433,"text":"\t\t\t'versionVisible' => preg_replace('/^(\\d+)\\.(\\d+)\\..+$/', '$1.$2', \\XF::$version),"}],"sha256":"fad88af3a5e175661725e9261eb8ef5642d59594b822d25e4e7d733d306f8519"} +CSS_SOURCE_HIT_02={"bytes":7593,"file":"/var/www/pvepro/src/XF/Api/Controller/AuthController.php","selected":[{"line":71,"text":"\t * This can be used to help with seamless SSO with XF, assuming the session or remember cookies are"}],"sha256":"0b4dbaf67ceaccc118101dff31c937419b276195b466ede926129c5a96e1fc32"} +CSS_SOURCE_HIT_03={"bytes":6859,"file":"/var/www/pvepro/src/XF/Api/Controller/UserController.php","selected":[{"line":243,"text":"\t\t// this function should always be checked, regardless of bypass permission options"}],"sha256":"e6b845d5717321fa634862c5fdf1e1a12945f4c5c9960314a7d57d2088de8012"} +CSS_SOURCE_HIT_04={"bytes":3093,"file":"/var/www/pvepro/src/XF/Api/Controller/SearchForumController.php","selected":[{"line":70,"text":"\t * @api-out Thread[] $threads Threads on this page. Note: this will always respect viewing user permissions regardless of whether the API is set to bypass permissions."}],"sha256":"e80b74c0908a3944033794bf0b51f342d015c4fb186ed06d30e0d2d12720d00e"} +CSS_SOURCE_HIT_05={"bytes":6728,"file":"/var/www/pvepro/src/XF/Import/ParallelRunner.php","selected":[{"line":179,"text":"\t\t\t$error = \"startAfter less than the step state startAfter value.\";"},{"line":191,"text":"\t\t\t$error = \"End less than the step state end value.\";"}],"sha256":"820f063b923594649fc07d8c3b329e0435b446fe0948ead38a45bd0e94d33cb7"} +CSS_SOURCE_HIT_06={"bytes":18724,"file":"/var/www/pvepro/src/XF/Import/PlatformUtil/Ips.php","selected":[{"line":66,"text":"\t\t$baseConfig['db']['tablePrefix'] = preg_replace('/[^a-z0-9_]/i', '', $baseConfig['db']['tablePrefix']);"},{"line":393,"text":"\t\t$content = preg_replace('/(\\r?\\n)?/si', \"\\n\", $content);"},{"line":394,"text":"\t\t$content = str_replace(' ', ' ', $content);"},{"line":403,"text":"\t\t$content = preg_replace('/(\\r?\\n)?/si', \"\\n\", $content);"},{"line":404,"text":"\t\t$content = str_replace(' ', ' ', $content);"},{"line":410,"text":"\t\t$content = preg_replace(array_keys($replacements), $replacements, $content);"},{"line":425,"text":"\t\t\t$content = preg_replace_callback("},{"line":456,"text":"\t\t\t$content = preg_replace_callback("},{"line":500,"text":"\t\t\t\t\t$newContent = preg_replace($pattern, $replacement, $content);"},{"line":606,"text":"\t\t$content = preg_replace_callback("},{"line":650,"text":"\t\t\t\t// less common attachment links - attached image no link"},{"line":667,"text":"\t\t\t\t\t\t// protocol-less link, which won't work"}],"sha256":"000eab4dca3e3aff569cbf9412e099052833f4598265bcb8e01c694eda3704e9"} +CSS_SOURCE_HIT_07={"bytes":9475,"file":"/var/www/pvepro/src/XF/Import/Data/User.php","selected":[{"line":260,"text":"\t\t\t// unless a language ID has been set, set the default (as XF doesn't use 0)."}],"sha256":"28abfe84654f7173611d16dc97df886faa6fd75d8c2b21eabb17b0025b48616f"} +CSS_SOURCE_HIT_08={"bytes":12763,"file":"/var/www/pvepro/src/XF/Style.php","selected":[{"line":426,"text":"\t\treturn $this->compileCssPropertyValue($value, $filters);"},{"line":435,"text":"\tpublic function compileCssPropertyValue(array $css, array $filters = [])"},{"line":579,"text":"\t\t$return = \"\\t\" . str_replace(\"\\n\", \"\\n\\t\", $return);"}],"sha256":"2567bf9504b6a700cd91963118cdb94e4281f439cde41e4e583a7a40942883e9"} +CSS_SOURCE_HIT_09={"bytes":16173,"file":"/var/www/pvepro/src/XF/DevelopmentOutput.php","selected":[{"line":27,"text":"\tprotected $validFileExtensions = ['txt', 'html', 'less', 'css', 'xhtml', 'json', 'xml', ''];"},{"line":149,"text":"\t\t\t$addOnId = str_replace('/', \\XF::$DS, $addOnId);"},{"line":647,"text":"\t\t$contents = str_replace(\"\\r\", '', $contents);"}],"sha256":"4e0c88c24ae71837b5eda0d15c474256c89a69d8e081ff1fea26bc405c5b29bd"} +CSS_SOURCE_HIT_10={"bytes":3772,"file":"/var/www/pvepro/src/XF/EmbedResolver/App.php","selected":[{"line":38,"text":"\t\t\t\t$response->compressIfAble(false);"}],"sha256":"a78c1bf7dfe24c81e40114885c82945e51619eedbf09a31cf2d301b206f842de"} +CSS_SOURCE_HIT_11={"bytes":1851,"file":"/var/www/pvepro/src/XF/CssRenderException.php","selected":[{"line":83,"text":"\tpublic static function createFromLessException(\\Less_Exception_Parser $e, $templateName, $contents)"},{"line":87,"text":"\t\t$message = preg_replace(\"/anonymous-file-\\d+\\.less/i\", $templateName, $message);"}],"sha256":"2087c9d66377a0949f017530324d442368076aae9ce2d282d2b5f3c5846ccc4e"} +CSS_SOURCE_HIT_12={"bytes":5714,"file":"/var/www/pvepro/src/XF/Admin/Controller/AdminController.php","selected":[{"line":93,"text":"\t\t\t\t\t\t$form->logError(\\XF::phrase('admin_add_passwordless_warning_no_email'));"},{"line":158,"text":"\t\t\t$warnings[] = \\XF::phrase('admin_add_passwordless_warning');"}],"sha256":"b499cb931f564590ea62002bacb281d24f3088c3ddd8baf10b67b5fb1b116988"} +CSS_SOURCE_HIT_13={"bytes":12266,"file":"/var/www/pvepro/src/XF/Admin/Controller/PhraseController.php","selected":[{"line":178,"text":"\t\t// If edit/skip, we display existing phrase regardless"}],"sha256":"787bdf9de198612a6d81e6cb0bfc507b82f14276587d5457aae474f0c6366ded"} +CSS_SOURCE_HIT_14={"bytes":5046,"file":"/var/www/pvepro/src/XF/Admin/Controller/AdminNavigationController.php","selected":[{"line":152,"text":"\t\t// It's dangerous to use unless you go back as it removes custom order changes, so if used,"}],"sha256":"203230f905f8bf146446577f4e80962dc5814fdb9031116a20e3c7a9b7e92f63"} +CSS_SOURCE_HIT_15={"bytes":2235,"file":"/var/www/pvepro/src/XF/Admin/Controller/AssetController.php","selected":[{"line":35,"text":"\t\t\t// again, shouldn't happen unless a request is manually modified"}],"sha256":"a4d228299ec8ef58ab2c6ec05186e1bf410b0cc301abd83481a6d0fb60ee3227"} +CSS_SOURCE_HIT_16={"bytes":8768,"file":"/var/www/pvepro/src/XF/DesignerOutput/StyleProperty.php","selected":[{"line":38,"text":"\t\t$this->queuePropertyLessCacheRebuild($property->Style);"},{"line":204,"text":"\tprotected function queuePropertyLessCacheRebuild(\\XF\\Entity\\Style $style)"},{"line":206,"text":"\t\t\\XF::runOnce('stylePropLessCacheRebuild-' . $style->designer_mode, function () use ($style)"},{"line":208,"text":"\t\t\t$this->rebuildPropertyLessCache($style);"},{"line":212,"text":"\tpublic function rebuildPropertyLessCache(\\XF\\Entity\\Style $style)"},{"line":214,"text":"\t\t$fileName = 'style_properties.less';"},{"line":215,"text":"\t\t$finalOutput = $this->getLessCacheFileValue($style->designer_mode);"},{"line":227,"text":"\tpublic function getLessCacheFileValue($designerMode)"},{"line":247,"text":"\t\t\t\t$output = $this->compileLessCacheCssProperty($property, $prefix, $cssValue);"},{"line":255,"text":"\t\t\t\t$output = $this->compileLessCacheValueProperty($property, $prefix);"},{"line":285,"text":"\tprotected function compileLessCacheValueProperty(\\XF\\Entity\\StyleProperty $property, $prefix)"},{"line":297,"text":"\tprotected function compileLessCacheCssProperty(\\XF\\Entity\\StyleProperty $property, $prefix, ?array &$valueOutput = null)"},{"line":302,"text":"\t\t$value = $propertyRebuilder->standardizeLessCacheValue($property->property_value, $property->css_components);"},{"line":320,"text":"\t\t$value = $style->compileCssPropertyValue($value);"}],"sha256":"39cc76c4267934d5635516e0c8d7927f3f06febfecad627df2c3c14b9a4666a9"} +CSS_SOURCE_HIT_17={"bytes":484,"file":"/var/www/pvepro/src/XF/Option/ActivitySummaryEmail.php","selected":[{"line":13,"text":"\t\t\t// test emails will not send unless these have values so just"}],"sha256":"ef0df3141b63263cf409f40acf9978db66c002e4620ec3ce4bb336582cdcf35e"} +CSS_SOURCE_HIT_18={"bytes":9352,"file":"/var/www/pvepro/src/XF/Html/Parser.php","selected":[{"line":206,"text":"\t\t\t\t\t\t// match a \"/\" in an unquoted attr, unless it's the last value"},{"line":245,"text":"\t\t\t$match[2] = trim(preg_replace('/!\\s*important$/i', '', trim($match[2])));"}],"sha256":"10577b5ff44502629c7665ce456297b464eae574fa18ac613201c8b13a5ebcfe"} +CSS_SOURCE_HIT_19={"bytes":6555,"file":"/var/www/pvepro/src/XF/Html/Tag.php","selected":[{"line":136,"text":"\t * unless invalid nesting occurred."},{"line":329,"text":"\t * tags can optionally have child tags/output that aren't normally displayed unless there's"}],"sha256":"ff5b4dfc8ae53692c3e866322ebe068e7f5dfcfc7d73c35a59b6d20516e856f5"} +CSS_SOURCE_HIT_20={"bytes":34800,"file":"/var/www/pvepro/src/XF/Html/Renderer/BbCode.php","selected":[{"line":123,"text":"\t\t$html = preg_replace("},{"line":130,"text":"\t\t$html = preg_replace("},{"line":136,"text":"\t\t$html = preg_replace_callback("},{"line":142,"text":"\t\t$html = preg_replace("},{"line":148,"text":"\t\t$html = preg_replace_callback('/^.*<\\/li>$/is', function (array $match)"},{"line":155,"text":"\t\t$html = preg_replace_callback('/]*class=\"(fr-video[^\"]*)\"[^>]*>(/U', function (array $match)"},{"line":160,"text":"\t\t\t$video = str_replace('class=\"', 'class=\"' . $classes . ' ', $video);"},{"line":166,"text":"\t\t$html = preg_replace_callback('/]*class=\"(fr-audio[^\"]*)\"[^>]*>(/U', function (array $match)"},{"line":171,"text":"\t\t\t$video = str_replace('class=\"', 'class=\"' . $classes . ' ', $video);"},{"line":184,"text":"\t\t$content = preg_replace('#<(' . $tags . ')(\\s[^>]*)?>#i', '', $content);"},{"line":185,"text":"\t\t$content = preg_replace('##i', '', $content);"},{"line":207,"text":"\t\t$text = preg_replace('#\\[img\\]\\[url\\]([^\\[]+)\\[/url\\]\\[/img\\]#i', '[IMG]$1[/IMG]', $text);"},{"line":211,"text":"\t\t\t$newText = preg_replace('#\\[/(b|i|u|s|left|center|right|justify)\\]([\\r\\n]*)\\[\\\\1\\]#i', '\\\\2', $text);"},{"line":222,"text":"\t\t\t$newText = preg_replace('#(\\[(font|color|size)=[^\\]]*\\])((?:(?>[^\\[]+?)|\\[(?!\\\\2))*)\\[/\\\\2\\]([\\r\\n]*)\\\\1#siU', '\\\\1\\\\3\\\\4', $text);"},{"line":234,"text":"\t\t\t$newText = preg_replace('#\\[/(b|i|u|s|left|center|right|justify)\\]([\\r\\n]*)\\[\\\\1\\]#i', '\\\\2', $text);"},{"line":334,"text":"\t\t\t\t\t$outputText = strrev(preg_replace('/^( )+/', '', strrev($outputText)));"},{"line":370,"text":"\t\t\t\t$outputText = $this->renderCss($tag, $outputText);"},{"line":478,"text":"\t\t\t$text = preg_replace('/[\\r\\n\\t ]+/', ' ', $text);"},{"line":492,"text":"\tpublic function renderCss(Tag $tag, $stringOutput)"},{"line":596,"text":"\t\t$baseParts['path'] = str_replace('\\\\', '/', $baseParts['path']);"},{"line":776,"text":"\t\treturn $this->renderCss($tag, $output);"},{"line":803,"text":"\t\treturn $this->renderCss($tag, $output);"},{"line":830,"text":"\t\treturn $this->renderCss($tag, $output);"},{"line":901,"text":"\t\t\treturn ' alt=\"' . str_replace('\"', '', $tag->attribute('alt')) . '\"';"},{"line":953,"text":"\t\treturn $this->renderCss($tag, $output);"},{"line":1060,"text":"\t\t\t$tagOption = str_replace('\"', '', implode(', ', $parts));"},{"line":1094,"text":"\t\treturn $this->renderCss($tag, $output);"},{"line":1111,"text":"\t\treturn $this->renderCss($tag, $output);"}],"sha256":"d950aefa2e6bafc725dde85c5dd9ca55c87530b73ffa9e14407fdd893f89d319"} +CSS_SOURCE_HIT_21={"bytes":47807,"file":"/var/www/pvepro/src/XF/Pub/Controller/ThreadController.php","selected":[{"line":703,"text":"\t * This only makes sense in the context of a date-ordered, filterless thread view."}],"sha256":"625e3bdf423acee25cd0961765eacd43fca6d416d6dfea310d63c617687ece65"} +CSS_SOURCE_HIT_22={"bytes":1723,"file":"/var/www/pvepro/src/XF/Pub/Controller/ServiceWorkerController.php","selected":[{"line":52,"text":"\t\treturn ['public:variations.less', 'public:offline.less'];"}],"sha256":"5ab8a97a96c3b65a282684559a9252a3877af32faf6c73037c0975eadc11a57b"} +CSS_SOURCE_HIT_23={"bytes":15999,"file":"/var/www/pvepro/src/XF/Pub/Controller/AbstractController.php","selected":[{"line":88,"text":"\t\t\t// log these details for page caching regardless of whether we want to update for this request"}],"sha256":"023efffff88cd1675173f30a8104d25fb220a5d8dc989d89c33d3ba09b0c0169"} +CSS_SOURCE_HIT_24={"bytes":19797,"file":"/var/www/pvepro/src/XF/Pub/App.php","selected":[{"line":511,"text":"\t\t\t// don't save empty sessions as it would generally be pointless"}],"sha256":"e9f732650c24e92d7834cfcdfdbfb33feb03d8facde211e797dc5e6e00308c29"} +CSS_SOURCE_HIT_25={"bytes":3214,"file":"/var/www/pvepro/src/XF/Mail/Styler.php","selected":[{"line":85,"text":"\t\treturn $this->renderer->render('email:core.less', false);"},{"line":101,"text":"\t\t$text = preg_replace('#\\s*]*>.*\\s*#siU', '', $text);"},{"line":102,"text":"\t\t$text = preg_replace('#\\s*]*>.*\\s*#siU', '', $text);"},{"line":103,"text":"\t\t$text = preg_replace('#]*alt=\"([^\"]+)\"[^>]*>#siU', '$1', $text);"},{"line":104,"text":"\t\t$text = preg_replace_callback("},{"line":114,"text":"\t\t$text = preg_replace_callback("},{"line":137,"text":"\t\t$text = preg_replace('#<(h[12])[^>]*>(.*)#siU', '****** $2 ******', $text);"},{"line":138,"text":"\t\t$text = preg_replace('#<(h[34])[^>]*>(.*)#siU', '**** $2 ****', $text);"},{"line":139,"text":"\t\t$text = preg_replace('#<(h[56])[^>]*>(.*)#siU', '** $2 **', $text);"},{"line":140,"text":"\t\t$text = preg_replace('#]*>()?#i', '---------------', $text);"},{"line":142,"text":"\t\t$text = preg_replace('#\\s*\\s*]*>\\s*#', ' - ', $text);"},{"line":143,"text":"\t\t$text = preg_replace('#\\s*\\s*]*>\\s*#', \"\\n\", $text);"},{"line":148,"text":"\t\t$text = preg_replace('#\\n\\t+#', \"\\n\", $text);"},{"line":149,"text":"\t\t$text = preg_replace('#(\\r?\\n){3,}#', \"\\n\\n\", $text);"}],"sha256":"f143fd5a6492fba8d7882a433b5d369e35c9acf6ac9550a6ca0268a37553dd46"} +CSS_SOURCE_HIT_26={"bytes":13176,"file":"/var/www/pvepro/src/XF/Util/Ip.php","selected":[{"line":121,"text":"\t\t\t\t$ip = str_replace('::', str_repeat(':0', 8 - $delims) . ':', $ip);"},{"line":282,"text":"\t\t\t\t$output = preg_replace_callback("},{"line":507,"text":"\t\t\t$ip = preg_replace('/\\.+$/', '', $ip);"},{"line":575,"text":"\t\t$decompressed = static::binaryToString($ip, false, false);"},{"line":576,"text":"\t\tif ($decompressed !== false)"},{"line":578,"text":"\t\t\t$ip = $decompressed;"},{"line":583,"text":"\t\t\t// we need to uncompress the hex address to split this up"},{"line":595,"text":"\t\t\t$checkIp = str_replace(':', '', $checkIp);"}],"sha256":"a6a5aeb666c47914d714efe36d79fafd66e1f5f55b7fd5f0c71a18313135897f"} +CSS_SOURCE_HIT_27={"bytes":6589,"file":"/var/www/pvepro/src/XF/DevelopmentOutput/StyleProperty.php","selected":[{"line":67,"text":"\t\t$this->queuePropertyLessCacheRebuild($property->addon_id);"},{"line":83,"text":"\t\t\t$this->queuePropertyLessCacheRebuild($addOnId);"},{"line":136,"text":"\tprotected function queuePropertyLessCacheRebuild($addOnId)"},{"line":138,"text":"\t\t\\XF::runOnce('stylePropLessCacheRebuild-' . $addOnId, function () use ($addOnId)"},{"line":140,"text":"\t\t\t$this->rebuildPropertyLessCache($addOnId);"},{"line":144,"text":"\tpublic function rebuildPropertyLessCache($addOnId)"},{"line":146,"text":"\t\t$fileName = 'style_properties.less';"},{"line":147,"text":"\t\t$finalOutput = $this->getLessCacheFileValue($addOnId);"},{"line":159,"text":"\tpublic function getLessCacheFileValue($addOnId)"},{"line":179,"text":"\t\t\t\t$output = $this->compileLessCacheCssProperty($property, $prefix, $cssValue);"},{"line":187,"text":"\t\t\t\t$output = $this->compileLessCacheValueProperty($property, $prefix);"},{"line":217,"text":"\tprotected function compileLessCacheValueProperty(\\XF\\Entity\\StyleProperty $property, $prefix)"},{"line":229,"text":"\tprotected function compileLessCacheCssProperty(\\XF\\Entity\\StyleProperty $property, $prefix, ?array &$valueOutput = null)"},{"line":234,"text":"\t\t$value = $propertyRebuilder->standardizeLessCacheValue($property->property_value, $property->css_components);"},{"line":252,"text":"\t\t$value = $style->compileCssPropertyValue($value);"}],"sha256":"d8e57e62294bd1ce54b1b635d1696f2c3faa2dd24bc706e4ce62ebc48f9bb720"} +CSS_SOURCE_HIT_28={"bytes":51863,"file":"/var/www/pvepro/src/XF/Http/Request.php","selected":[{"line":1679,"text":"\t\tif ($via && strpos(strtolower($via), 'chrome-compression-proxy'))"},{"line":1847,"text":"\t\t\t\t$osVersion = floatval(str_replace('_', '.', $osMatch[1]));"},{"line":2154,"text":"\t\t\t$trailingPath = str_replace(\\XF::$DS, '/', $trailingPath);"},{"line":2310,"text":"\t\t$url = str_replace($this->getHostUrl(), '', $url);"},{"line":2314,"text":"\t\t\t$url = preg_replace('#^/.*[a-z0-9-_]+\\.php\\?#i', '?', $url);"}],"sha256":"5500ebfff942e8c96c0c319146f1605f9a38b92b1270c541feb79b4ab3962934"} +CSS_SOURCE_HIT_29={"bytes":9737,"file":"/var/www/pvepro/src/XF/Http/Response.php","selected":[{"line":14,"text":"\tprotected $compressIfAble = true;"},{"line":27,"text":"\tprotected $compress = false;"},{"line":157,"text":"\t\t$fileName = str_replace('\"', '', $fileName);"},{"line":169,"text":"\t\t\t$type . '; filename=\"' . str_replace('\"', '', $fileName) . '\"' . $altNamePart,"},{"line":238,"text":"\t\t$name = preg_replace('#\\s+#', ' ', str_replace('-', ' ', trim($name)));"},{"line":239,"text":"\t\t$name = str_replace(' ', '-', ucwords($name));"},{"line":265,"text":"\tpublic function compressIfAble($compress = null)"},{"line":267,"text":"\t\tif ($compress === null)"},{"line":269,"text":"\t\t\treturn $this->compressIfAble;"},{"line":272,"text":"\t\t$this->compressIfAble = (bool) $compress;"},{"line":298,"text":"\t\t$this->compress = ($this->compressIfAble && $request && $this->contentIsCompressible($request));"},{"line":299,"text":"\t\tif ($this->compress)"},{"line":479,"text":"\t\t\tif ($this->compress)"},{"line":497,"text":"\tpublic function contentIsCompressible(Request $request)"}],"sha256":"2b8334ffe1afb7717651e5a4278d8c858000d2c0f6dff9c4fdc82209f3b11b9d"} +CSS_SOURCE_HIT_30={"bytes":5020,"file":"/var/www/pvepro/src/XF/Mvc/Renderer/Html.php","selected":[{"line":79,"text":"\t\t\t\t\t$content = str_replace('', $errorHtml . '', $content);"},{"line":83,"text":"\t\t\t\t\t$content = preg_replace('#]*>#i', \"\\\\0$errorHtml\", $content);"},{"line":92,"text":"\t\t$includedCss = $templater->getIncludedCss(['public:extra.less']);"}],"sha256":"beec569b9d8feb92998678acf018aa7a7fe19c3db7ff986de7010c03aeb146b7"} +CSS_SOURCE_HIT_31={"bytes":14978,"file":"/var/www/pvepro/src/XF/Service/StyleProperty/RebuildService.php","selected":[{"line":316,"text":"\t\t\t$value = preg_replace_callback("},{"line":413,"text":"\t\t\t$value = preg_replace_callback("},{"line":510,"text":"\t\t\t$value = $this->standardizeLessCacheValue("},{"line":557,"text":"\tpublic function standardizeLessCacheValue(array $values, array $allowedComponents)"},{"line":664,"text":"\t\t\t$values['background-image'] = preg_replace('/^(\"|\\')(.*)\\\\1$/', '\\\\2', $values['background-image']);"}],"sha256":"afdf941e40da421164817a7536e39f269419b2273f180252d97cf15019baaf40"} +CSS_SOURCE_HIT_32={"bytes":1391,"file":"/var/www/pvepro/src/XF/Service/Development/TemplatePhraserService.php","selected":[{"line":15,"text":"\t\tif (preg_match('/\\.(less|css)$/i', $template->title))"}],"sha256":"f0e77d578ff13db260f1a4c01d107af9ba5bd1124d84196c21536838a7bea9a1"} +CSS_SOURCE_HIT_33={"bytes":1536,"file":"/var/www/pvepro/src/XF/Service/Development/TemplateModificationPhraserService.php","selected":[{"line":15,"text":"\t\tif (preg_match('/\\.(less|css)$/i', $templateModification->template))"}],"sha256":"2f282469840d3b2d901abf29de6c03995e2d7cf9cf1bf721c93ea5edb1e00c85"} +CSS_SOURCE_HIT_34={"bytes":4371,"file":"/var/www/pvepro/src/XF/Service/Advertising/WriterService.php","selected":[{"line":53,"text":"\t\t\t$template->save(); // needs to exist regardless"}],"sha256":"4285d3aa34f02c9c366d22dc1281166990464494177ae87bb7fe4a6a299e00d0"} +CSS_SOURCE_HIT_35={"bytes":3401,"file":"/var/www/pvepro/src/XF/Service/AddOn/JsMinifierService.php","selected":[{"line":12,"text":"class JsMinifierService extends AbstractService"},{"line":36,"text":"\t\t\t$this->minPath = preg_replace('(\\.js$)', '.min.js', $jsPath, 1);"},{"line":70,"text":"\t * Minify JS code using either the Compiler Service API or local closure"},{"line":76,"text":"\tpublic function minify()"}],"sha256":"b8482e34c8cab1c54d7609886b5fd06bea42aed99df7b4dabeb5567a6c786e4b"} +STAGING_GUEST_INSPECTION=SKIPPED_STOPPED_NO_START +NO_MUTATION=True +PRODUCTION_UNCHANGED=True +PRODUCT_CHECKPOINTS_REMAINING=19 +TASK_RESULT=PASS_PVEPRO_VISUAL_STYLE_766_RENDER_RCA +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SUPPORT-260920-PVEPRO-VISUAL-STYLE-766-RENDER-RCA-READONLY-767R1","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} OUTPUT_END CHAT_OUTPUT_END