[{"data":1,"prerenderedAt":2812},["ShallowReactive",2],{"docs-nav":3,"doc-latest\u002Fsecurity\u002Foverview":691,"docs-prevnext-flat":2492},[4,27,51,653,663,670,683],{"title":5,"order":6,"key":7,"items":8,"packages":26},"Getting Started",1,"getting-started",[9,11,15,19,23],{"path":10,"title":5,"order":6},"\u002Fdocs\u002Flatest\u002Fgetting-started",{"path":12,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fgetting-started\u002Finstallation","Installation",3,{"path":16,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fgetting-started\u002Fconfiguration","Configuration",4,{"path":20,"title":21,"order":22},"\u002Fdocs\u002Flatest\u002Fgetting-started\u002Fquick-start","Quick Start",50,{"path":24,"title":25,"order":22},"\u002Fdocs\u002Flatest\u002Fgetting-started\u002Ftutorial","Tutorial: Build a Notes Plugin",{},{"title":28,"order":29,"key":30,"items":31,"packages":50},"Core Concepts",2,"concepts",[32,35,38,41,44,47],{"path":33,"title":34,"order":22},"\u002Fdocs\u002Flatest\u002Fconcepts\u002Farchitecture","Architecture Overview",{"path":36,"title":37,"order":22},"\u002Fdocs\u002Flatest\u002Fconcepts\u002Fhooks","Hook System",{"path":39,"title":40,"order":22},"\u002Fdocs\u002Flatest\u002Fconcepts\u002Fplugin-context","Plugin Context",{"path":42,"title":43,"order":22},"\u002Fdocs\u002Flatest\u002Fconcepts\u002Flifecycle","Request Lifecycle",{"path":45,"title":46,"order":22},"\u002Fdocs\u002Flatest\u002Fconcepts\u002Fcontainer","Service Container",{"path":48,"title":49,"order":22},"\u002Fdocs\u002Flatest\u002Fconcepts\u002Fservice-providers","Service Providers",{},{"title":52,"order":14,"key":53,"items":54,"packages":55},"Packages","packages",[],{"wpzylos-assets":56,"wpzylos-cli-core":91,"wpzylos-cli-devtool":114,"wpzylos-config":136,"wpzylos-container":158,"wpzylos-core":180,"wpzylos-database":202,"wpzylos-events":224,"wpzylos-hooks":246,"wpzylos-http":269,"wpzylos-i18n":291,"wpzylos-logger":313,"wpzylos-mail":335,"wpzylos-mcp":357,"wpzylos-migrations":376,"wpzylos-model":398,"wpzylos-notification":420,"wpzylos-queue":442,"wpzylos-requirements":464,"wpzylos-routing":486,"wpzylos-scaffold":514,"wpzylos-scheduler":545,"wpzylos-security":567,"wpzylos-validation":587,"wpzylos-views":609,"wpzylos-wp-cli":631},[57,60,63,65,67,71,75,79,83,87],{"path":58,"title":59,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets","WPZylos Assets",{"path":61,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Foverview","Overview",{"path":64,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Finstallation",{"path":66,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Fconfiguration",{"path":68,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Fusage","Usage",5,{"path":72,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Fapi-reference","API Reference",6,{"path":76,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Fexamples","Examples",7,{"path":80,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Ftesting","Testing",8,{"path":84,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Fsecurity","Security",9,{"path":88,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Ftroubleshooting","Troubleshooting",10,[92,95,97,99,101,103,105,107,109,112],{"path":93,"title":94,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core","WPZylos CLI Core Documentation",{"path":96,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Foverview",{"path":98,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Finstallation",{"path":100,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Fconfiguration",{"path":102,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Fusage",{"path":104,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Fapi-reference",{"path":106,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Fexamples",{"path":108,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Ftesting",{"path":110,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Fsecurity","Security Notes",{"path":113,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Ftroubleshooting",[115,118,120,122,124,126,128,130,132,134],{"path":116,"title":117,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool","WPZylos CLI Devtool Documentation",{"path":119,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Foverview",{"path":121,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Finstallation",{"path":123,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Fconfiguration",{"path":125,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Fusage",{"path":127,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Fapi-reference",{"path":129,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Fexamples",{"path":131,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Ftesting",{"path":133,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Fsecurity",{"path":135,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Ftroubleshooting",[137,140,142,144,146,148,150,152,154,156],{"path":138,"title":139,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config","WPZylos Config",{"path":141,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Foverview",{"path":143,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Finstallation",{"path":145,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Fconfiguration",{"path":147,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Fusage",{"path":149,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Fapi-reference",{"path":151,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Fexamples",{"path":153,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Ftesting",{"path":155,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Fsecurity",{"path":157,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Ftroubleshooting",[159,162,164,166,168,170,172,174,176,178],{"path":160,"title":161,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container","WPZylos Container",{"path":163,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Foverview",{"path":165,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Finstallation",{"path":167,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Fconfiguration",{"path":169,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Fusage",{"path":171,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Fapi-reference",{"path":173,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Fexamples",{"path":175,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Ftesting",{"path":177,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Fsecurity",{"path":179,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Ftroubleshooting",[181,184,186,188,190,192,194,196,198,200],{"path":182,"title":183,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core","WPZylos Core",{"path":185,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Foverview",{"path":187,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Finstallation",{"path":189,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Fconfiguration",{"path":191,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Fusage",{"path":193,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Fapi-reference",{"path":195,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Fexamples",{"path":197,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Ftesting",{"path":199,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Fsecurity",{"path":201,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Ftroubleshooting",[203,206,208,210,212,214,216,218,220,222],{"path":204,"title":205,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database","WPZylos Database",{"path":207,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Foverview",{"path":209,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Finstallation",{"path":211,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Fconfiguration",{"path":213,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Fusage",{"path":215,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Fapi-reference",{"path":217,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Fexamples",{"path":219,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Ftesting",{"path":221,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Fsecurity",{"path":223,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Ftroubleshooting",[225,228,230,232,234,236,238,240,242,244],{"path":226,"title":227,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events","WPZylos Events",{"path":229,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Foverview",{"path":231,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Finstallation",{"path":233,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Fconfiguration",{"path":235,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Fusage",{"path":237,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Fapi-reference",{"path":239,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Fexamples",{"path":241,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Ftesting",{"path":243,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Fsecurity",{"path":245,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Ftroubleshooting",[247,250,252,254,256,259,261,263,265,267],{"path":248,"title":249,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks","WPZylos Hooks",{"path":251,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Foverview",{"path":253,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Finstallation",{"path":255,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Fconfiguration",{"path":257,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Fusage","Usage Guide",{"path":260,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Fapi-reference",{"path":262,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Fexamples",{"path":264,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Ftesting",{"path":266,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Fsecurity",{"path":268,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Ftroubleshooting",[270,273,275,277,279,281,283,285,287,289],{"path":271,"title":272,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http","WPZylos HTTP",{"path":274,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Foverview",{"path":276,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Finstallation",{"path":278,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Fconfiguration",{"path":280,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Fusage",{"path":282,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Fapi-reference",{"path":284,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Fexamples",{"path":286,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Ftesting",{"path":288,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Fsecurity",{"path":290,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Ftroubleshooting",[292,295,297,299,301,303,305,307,309,311],{"path":293,"title":294,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n","WPZylos I18n",{"path":296,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Foverview",{"path":298,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Finstallation",{"path":300,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Fconfiguration",{"path":302,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Fusage",{"path":304,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Fapi-reference",{"path":306,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Fexamples",{"path":308,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Ftesting",{"path":310,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Fsecurity",{"path":312,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Ftroubleshooting",[314,317,319,321,323,325,327,329,331,333],{"path":315,"title":316,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger","WPZylos Logger",{"path":318,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Foverview",{"path":320,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Finstallation",{"path":322,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Fconfiguration",{"path":324,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Fusage",{"path":326,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Fapi-reference",{"path":328,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Fexamples",{"path":330,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Ftesting",{"path":332,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Fsecurity",{"path":334,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Ftroubleshooting",[336,339,341,343,345,347,349,351,353,355],{"path":337,"title":338,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail","WPZylos Mail",{"path":340,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Foverview",{"path":342,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Finstallation",{"path":344,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Fconfiguration",{"path":346,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Fusage",{"path":348,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Fapi-reference",{"path":350,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Fexamples",{"path":352,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Ftesting",{"path":354,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Fsecurity",{"path":356,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Ftroubleshooting",[358,361,363,365,367,369,371,373],{"path":359,"title":360,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp","WPZylos MCP",{"path":362,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Foverview",{"path":364,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Finstallation",{"path":366,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Fusage",{"path":368,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Fapi-reference",{"path":370,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Fexamples",{"path":372,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Ftroubleshooting",{"path":374,"title":375,"order":22},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Fcompanion-mcps","MCP Setup Guide",[377,380,382,384,386,388,390,392,394,396],{"path":378,"title":379,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations","WPZylos Migrations",{"path":381,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Foverview",{"path":383,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Finstallation",{"path":385,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Fconfiguration",{"path":387,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Fusage",{"path":389,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Fapi-reference",{"path":391,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Fexamples",{"path":393,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Ftesting",{"path":395,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Fsecurity",{"path":397,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Ftroubleshooting",[399,402,404,406,408,410,412,414,416,418],{"path":400,"title":401,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model","WPZylos Model",{"path":403,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Foverview",{"path":405,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Finstallation",{"path":407,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Fconfiguration",{"path":409,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Fusage",{"path":411,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Fapi-reference",{"path":413,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Fexamples",{"path":415,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Ftesting",{"path":417,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Fsecurity",{"path":419,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Ftroubleshooting",[421,424,426,428,430,432,434,436,438,440],{"path":422,"title":423,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification","WPZylos Notification",{"path":425,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Foverview",{"path":427,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Finstallation",{"path":429,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Fconfiguration",{"path":431,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Fusage",{"path":433,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Fapi-reference",{"path":435,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Fexamples",{"path":437,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Ftesting",{"path":439,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Fsecurity",{"path":441,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Ftroubleshooting",[443,446,448,450,452,454,456,458,460,462],{"path":444,"title":445,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue","WPZylos Queue",{"path":447,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Foverview",{"path":449,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Finstallation",{"path":451,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Fconfiguration",{"path":453,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Fusage",{"path":455,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Fapi-reference",{"path":457,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Fexamples",{"path":459,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Ftesting",{"path":461,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Fsecurity",{"path":463,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Ftroubleshooting",[465,468,470,472,474,476,478,480,482,484],{"path":466,"title":467,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements","WPZylos Requirements",{"path":469,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Foverview",{"path":471,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Finstallation",{"path":473,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Fconfiguration",{"path":475,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Fusage",{"path":477,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Fapi-reference",{"path":479,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Fexamples",{"path":481,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Ftesting",{"path":483,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Fsecurity",{"path":485,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Ftroubleshooting",[487,490,492,494,496,498,500,502,504,506,508,511],{"path":488,"title":489,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing","WPZylos Routing",{"path":491,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Foverview",{"path":493,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Finstallation",{"path":495,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fconfiguration",{"path":497,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fusage",{"path":499,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fapi-reference",{"path":501,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fexamples",{"path":503,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Ftesting",{"path":505,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fsecurity",{"path":507,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Ftroubleshooting",{"path":509,"title":510,"order":22},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fajax","AJAX Routing",{"path":512,"title":513,"order":22},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Frest-api","REST API Routing",[515,518,520,522,524,526,528,530,532,535,537,539,542],{"path":516,"title":517,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold","WPZylos Scaffold Documentation",{"path":519,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Foverview",{"path":521,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Finstallation",{"path":523,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fconfiguration",{"path":525,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fusage",{"path":527,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fapi-reference",{"path":529,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fexamples",{"path":531,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Ftesting",{"path":533,"title":534,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fui","UI Components (DaisyUI)",{"path":536,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fsecurity",{"path":538,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Ftroubleshooting",{"path":540,"title":541,"order":22},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fcli-reference","Scaffold CLI Reference",{"path":543,"title":544,"order":22},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fwalkthrough","Scaffold Walkthrough",[546,549,551,553,555,557,559,561,563,565],{"path":547,"title":548,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler","WPZylos Scheduler",{"path":550,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Foverview",{"path":552,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Finstallation",{"path":554,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Fconfiguration",{"path":556,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Fusage",{"path":558,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Fapi-reference",{"path":560,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Fexamples",{"path":562,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Ftesting",{"path":564,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Fsecurity",{"path":566,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Ftroubleshooting",[568,571,573,575,577,579,581,583,585],{"path":569,"title":570,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security","WPZylos Security",{"path":572,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Foverview",{"path":574,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Finstallation",{"path":576,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Fconfiguration",{"path":578,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Fusage",{"path":580,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Fapi-reference",{"path":582,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Fexamples",{"path":584,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Ftesting",{"path":586,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Ftroubleshooting",[588,591,593,595,597,599,601,603,605,607],{"path":589,"title":590,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation","WPZylos Validation",{"path":592,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Foverview",{"path":594,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Finstallation",{"path":596,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Fconfiguration",{"path":598,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Fusage",{"path":600,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Fapi-reference",{"path":602,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Fexamples",{"path":604,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Ftesting",{"path":606,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Fsecurity",{"path":608,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Ftroubleshooting",[610,613,615,617,619,621,623,625,627,629],{"path":611,"title":612,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views","WPZylos Views",{"path":614,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Foverview",{"path":616,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Finstallation",{"path":618,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Fconfiguration",{"path":620,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Fusage",{"path":622,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Fapi-reference",{"path":624,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Fexamples",{"path":626,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Ftesting",{"path":628,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Fsecurity",{"path":630,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Ftroubleshooting",[632,635,637,639,641,643,645,647,649,651],{"path":633,"title":634,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli","WPZylos WP-CLI",{"path":636,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Foverview",{"path":638,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Finstallation",{"path":640,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Fconfiguration",{"path":642,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Fusage",{"path":644,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Fapi-reference",{"path":646,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Fexamples",{"path":648,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Ftesting",{"path":650,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Fsecurity",{"path":652,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Ftroubleshooting",{"title":654,"order":18,"key":655,"items":656,"packages":662},"Scaffold","scaffold",[657,660],{"path":658,"title":659,"order":6},"\u002Fdocs\u002Flatest\u002Fscaffold","Scaffold Guide",{"path":661,"title":544,"order":22},"\u002Fdocs\u002Flatest\u002Fscaffold\u002Fwalkthrough",{},{"title":85,"order":70,"key":664,"items":665,"packages":669},"security",[666],{"path":667,"title":668,"order":29},"\u002Fdocs\u002Flatest\u002Fsecurity\u002Foverview","Security Overview",{},{"title":81,"order":74,"key":671,"items":672,"packages":682},"testing",[673,676,679],{"path":674,"title":675,"order":29},"\u002Fdocs\u002Flatest\u002Ftesting\u002Foverview","Testing Overview",{"path":677,"title":678,"order":22},"\u002Fdocs\u002Flatest\u002Ftesting\u002Fintegration-tests","Integration Testing",{"path":680,"title":681,"order":22},"\u002Fdocs\u002Flatest\u002Ftesting\u002Funit-tests","Unit Testing",{},{"title":684,"order":78,"key":685,"items":686,"packages":690},"Distribution","distribution",[687],{"path":688,"title":689,"order":29},"\u002Fdocs\u002Flatest\u002Fdistribution\u002Foverview","Distribution Guide",{},{"id":692,"title":668,"body":693,"description":703,"extension":2487,"meta":2488,"navigation":786,"order":29,"package":664,"path":667,"seo":2489,"stem":2490,"__hash__":2491},"content\u002Fdocs\u002Flatest\u002Fsecurity\u002Foverview.md",{"type":694,"value":695,"toc":2466},"minimark",[696,700,704,709,744,748,753,756,939,943,946,1076,1080,1086,1176,1274,1278,1282,1413,1417,1533,1537,1541,1544,1714,1718,1721,1805,1809,2014,2018,2021,2217,2221,2224,2367,2371,2438,2442,2462],[697,698,668],"h1",{"id":699},"security-overview",[701,702,703],"p",{},"Security considerations and best practices for WPZylos plugins.",[705,706,708],"h2",{"id":707},"security-principles","Security Principles",[710,711,712,720,726,732,738],"ol",{},[713,714,715,719],"li",{},[716,717,718],"strong",{},"Never trust user input"," — Validate and sanitize all input",[713,721,722,725],{},[716,723,724],{},"Always escape output"," — Escape all data before display",[713,727,728,731],{},[716,729,730],{},"Use prepared statements"," — Prevent SQL injection",[713,733,734,737],{},[716,735,736],{},"Verify capabilities"," — Check user permissions",[713,739,740,743],{},[716,741,742],{},"Verify intent"," — Use nonces for all state-changing actions",[705,745,747],{"id":746},"input-security","Input Security",[749,750,752],"h3",{"id":751},"sanitization","Sanitization",[701,754,755],{},"Clean input before use:",[757,758,763],"pre",{"className":759,"code":760,"language":761,"meta":762,"style":762},"language-php shiki shiki-themes github-light github-dark","use WPZylos\\Framework\\Security\\Sanitizer;\n\n$sanitizer = new Sanitizer();\n\n$title = $sanitizer->text($_POST['title']);       \u002F\u002F Plain text\n$content = $sanitizer->html($_POST['content']);   \u002F\u002F Safe HTML\n$email = $sanitizer->email($_POST['email']);      \u002F\u002F Email\n$url = $sanitizer->url($_POST['url']);            \u002F\u002F URL\n$number = $sanitizer->int($_POST['count']);       \u002F\u002F Integer\n","php","",[764,765,766,782,788,805,809,840,865,890,915],"code",{"__ignoreMap":762},[767,768,770,774,778],"span",{"class":769,"line":6},"line",[767,771,773],{"class":772},"szBVR","use",[767,775,777],{"class":776},"sj4cs"," WPZylos\\Framework\\Security\\Sanitizer",[767,779,781],{"class":780},"sVt8B",";\n",[767,783,784],{"class":769,"line":29},[767,785,787],{"emptyLinePlaceholder":786},true,"\n",[767,789,790,793,796,799,802],{"class":769,"line":14},[767,791,792],{"class":780},"$sanitizer ",[767,794,795],{"class":772},"=",[767,797,798],{"class":772}," new",[767,800,801],{"class":776}," Sanitizer",[767,803,804],{"class":780},"();\n",[767,806,807],{"class":769,"line":18},[767,808,787],{"emptyLinePlaceholder":786},[767,810,811,814,816,819,822,826,829,833,836],{"class":769,"line":70},[767,812,813],{"class":780},"$title ",[767,815,795],{"class":772},[767,817,818],{"class":780}," $sanitizer",[767,820,821],{"class":772},"->",[767,823,825],{"class":824},"sScJk","text",[767,827,828],{"class":780},"($_POST[",[767,830,832],{"class":831},"sZZnC","'title'",[767,834,835],{"class":780},"]);       ",[767,837,839],{"class":838},"sJ8bj","\u002F\u002F Plain text\n",[767,841,842,845,847,849,851,854,856,859,862],{"class":769,"line":74},[767,843,844],{"class":780},"$content ",[767,846,795],{"class":772},[767,848,818],{"class":780},[767,850,821],{"class":772},[767,852,853],{"class":824},"html",[767,855,828],{"class":780},[767,857,858],{"class":831},"'content'",[767,860,861],{"class":780},"]);   ",[767,863,864],{"class":838},"\u002F\u002F Safe HTML\n",[767,866,867,870,872,874,876,879,881,884,887],{"class":769,"line":78},[767,868,869],{"class":780},"$email ",[767,871,795],{"class":772},[767,873,818],{"class":780},[767,875,821],{"class":772},[767,877,878],{"class":824},"email",[767,880,828],{"class":780},[767,882,883],{"class":831},"'email'",[767,885,886],{"class":780},"]);      ",[767,888,889],{"class":838},"\u002F\u002F Email\n",[767,891,892,895,897,899,901,904,906,909,912],{"class":769,"line":82},[767,893,894],{"class":780},"$url ",[767,896,795],{"class":772},[767,898,818],{"class":780},[767,900,821],{"class":772},[767,902,903],{"class":824},"url",[767,905,828],{"class":780},[767,907,908],{"class":831},"'url'",[767,910,911],{"class":780},"]);            ",[767,913,914],{"class":838},"\u002F\u002F URL\n",[767,916,917,920,922,924,926,929,931,934,936],{"class":769,"line":86},[767,918,919],{"class":780},"$number ",[767,921,795],{"class":772},[767,923,818],{"class":780},[767,925,821],{"class":772},[767,927,928],{"class":824},"int",[767,930,828],{"class":780},[767,932,933],{"class":831},"'count'",[767,935,835],{"class":780},[767,937,938],{"class":838},"\u002F\u002F Integer\n",[749,940,942],{"id":941},"validation","Validation",[701,944,945],{},"Verify input meets requirements:",[757,947,949],{"className":759,"code":948,"language":761,"meta":762,"style":762},"use WPZylos\\Framework\\Validation\\Validator;\n\n$validator = new Validator();\n\n$result = $validator->validate($_POST, [\n    'email' => 'required|email',\n    'age' => 'required|numeric|min:18',\n    'role' => 'required|in:admin,editor,user',\n]);\n\nif ($result->fails()) {\n    \u002F\u002F Handle validation errors\n}\n",[764,950,951,960,964,978,982,1000,1014,1026,1038,1043,1047,1064,1070],{"__ignoreMap":762},[767,952,953,955,958],{"class":769,"line":6},[767,954,773],{"class":772},[767,956,957],{"class":776}," WPZylos\\Framework\\Validation\\Validator",[767,959,781],{"class":780},[767,961,962],{"class":769,"line":29},[767,963,787],{"emptyLinePlaceholder":786},[767,965,966,969,971,973,976],{"class":769,"line":14},[767,967,968],{"class":780},"$validator ",[767,970,795],{"class":772},[767,972,798],{"class":772},[767,974,975],{"class":776}," Validator",[767,977,804],{"class":780},[767,979,980],{"class":769,"line":18},[767,981,787],{"emptyLinePlaceholder":786},[767,983,984,987,989,992,994,997],{"class":769,"line":70},[767,985,986],{"class":780},"$result ",[767,988,795],{"class":772},[767,990,991],{"class":780}," $validator",[767,993,821],{"class":772},[767,995,996],{"class":824},"validate",[767,998,999],{"class":780},"($_POST, [\n",[767,1001,1002,1005,1008,1011],{"class":769,"line":74},[767,1003,1004],{"class":831},"    'email'",[767,1006,1007],{"class":772}," =>",[767,1009,1010],{"class":831}," 'required|email'",[767,1012,1013],{"class":780},",\n",[767,1015,1016,1019,1021,1024],{"class":769,"line":78},[767,1017,1018],{"class":831},"    'age'",[767,1020,1007],{"class":772},[767,1022,1023],{"class":831}," 'required|numeric|min:18'",[767,1025,1013],{"class":780},[767,1027,1028,1031,1033,1036],{"class":769,"line":82},[767,1029,1030],{"class":831},"    'role'",[767,1032,1007],{"class":772},[767,1034,1035],{"class":831}," 'required|in:admin,editor,user'",[767,1037,1013],{"class":780},[767,1039,1040],{"class":769,"line":86},[767,1041,1042],{"class":780},"]);\n",[767,1044,1045],{"class":769,"line":90},[767,1046,787],{"emptyLinePlaceholder":786},[767,1048,1050,1053,1056,1058,1061],{"class":769,"line":1049},11,[767,1051,1052],{"class":772},"if",[767,1054,1055],{"class":780}," ($result",[767,1057,821],{"class":772},[767,1059,1060],{"class":824},"fails",[767,1062,1063],{"class":780},"()) {\n",[767,1065,1067],{"class":769,"line":1066},12,[767,1068,1069],{"class":838},"    \u002F\u002F Handle validation errors\n",[767,1071,1073],{"class":769,"line":1072},13,[767,1074,1075],{"class":780},"}\n",[705,1077,1079],{"id":1078},"output-security","Output Security",[701,1081,1082,1085],{},[716,1083,1084],{},"Always escape output."," Use the appropriate function:",[1087,1088,1089,1102],"table",{},[1090,1091,1092],"thead",{},[1093,1094,1095,1099],"tr",{},[1096,1097,1098],"th",{},"Function",[1096,1100,1101],{},"Use For",[1103,1104,1105,1116,1126,1136,1146,1156,1166],"tbody",{},[1093,1106,1107,1113],{},[1108,1109,1110],"td",{},[764,1111,1112],{},"esc_html()",[1108,1114,1115],{},"Text content",[1093,1117,1118,1123],{},[1108,1119,1120],{},[764,1121,1122],{},"esc_attr()",[1108,1124,1125],{},"HTML attributes",[1093,1127,1128,1133],{},[1108,1129,1130],{},[764,1131,1132],{},"esc_url()",[1108,1134,1135],{},"URLs",[1093,1137,1138,1143],{},[1108,1139,1140],{},[764,1141,1142],{},"esc_js()",[1108,1144,1145],{},"JavaScript strings",[1093,1147,1148,1153],{},[1108,1149,1150],{},[764,1151,1152],{},"esc_textarea()",[1108,1154,1155],{},"Textarea content",[1093,1157,1158,1163],{},[1108,1159,1160],{},[764,1161,1162],{},"wp_kses_post()",[1108,1164,1165],{},"Post content (safe HTML)",[1093,1167,1168,1173],{},[1108,1169,1170],{},[764,1171,1172],{},"wp_kses()",[1108,1174,1175],{},"Custom allowed HTML",[757,1177,1179],{"className":759,"code":1178,"language":761,"meta":762,"style":762},"\u003Ch1>\u003C?php echo esc_html($title); ?>\u003C\u002Fh1>\n\u003Cinput type=\"text\" value=\"\u003C?php echo esc_attr($value); ?>\">\n\u003Ca href=\"\u003C?php echo esc_url($link); ?>\">Link\u003C\u002Fa>\n",[764,1180,1181,1210,1241],{"__ignoreMap":762},[767,1182,1183,1186,1188,1191,1193,1196,1199,1202,1205,1207],{"class":769,"line":6},[767,1184,1185],{"class":772},"\u003C",[767,1187,697],{"class":776},[767,1189,1190],{"class":772},">\u003C?",[767,1192,761],{"class":776},[767,1194,1195],{"class":776}," echo",[767,1197,1198],{"class":824}," esc_html",[767,1200,1201],{"class":780},"($title); ",[767,1203,1204],{"class":772},"?>\u003C\u002F",[767,1206,697],{"class":776},[767,1208,1209],{"class":772},">\n",[767,1211,1212,1214,1217,1220,1222,1225,1228,1230,1233,1236,1239],{"class":769,"line":29},[767,1213,1185],{"class":772},[767,1215,1216],{"class":776},"input",[767,1218,1219],{"class":776}," type",[767,1221,795],{"class":772},[767,1223,1224],{"class":831},"\"text\"",[767,1226,1227],{"class":776}," value",[767,1229,795],{"class":772},[767,1231,1232],{"class":831},"\"\u003C?php echo esc_attr(",[767,1234,1235],{"class":780},"$value",[767,1237,1238],{"class":831},"); ?>\"",[767,1240,1209],{"class":772},[767,1242,1243,1245,1248,1251,1253,1256,1259,1261,1264,1267,1270,1272],{"class":769,"line":14},[767,1244,1185],{"class":772},[767,1246,1247],{"class":776},"a",[767,1249,1250],{"class":776}," href",[767,1252,795],{"class":772},[767,1254,1255],{"class":831},"\"\u003C?php echo esc_url(",[767,1257,1258],{"class":780},"$link",[767,1260,1238],{"class":831},[767,1262,1263],{"class":772},">",[767,1265,1266],{"class":776},"Link",[767,1268,1269],{"class":772},"\u003C\u002F",[767,1271,1247],{"class":776},[767,1273,1209],{"class":772},[705,1275,1277],{"id":1276},"authentication-authorization","Authentication & Authorization",[749,1279,1281],{"id":1280},"capability-checks","Capability Checks",[757,1283,1285],{"className":759,"code":1284,"language":761,"meta":762,"style":762},"use WPZylos\\Framework\\Security\\Gate;\n\n$gate = new Gate();\n\n\u002F\u002F Check capability\nif (!$gate->can('manage_options')) {\n    wp_die('Unauthorized');\n}\n\n\u002F\u002F Check with object\nif (!$gate->can('edit_post', $postId)) {\n    wp_die('Cannot edit this post');\n}\n",[764,1286,1287,1296,1300,1314,1318,1323,1350,1363,1367,1371,1376,1398,1409],{"__ignoreMap":762},[767,1288,1289,1291,1294],{"class":769,"line":6},[767,1290,773],{"class":772},[767,1292,1293],{"class":776}," WPZylos\\Framework\\Security\\Gate",[767,1295,781],{"class":780},[767,1297,1298],{"class":769,"line":29},[767,1299,787],{"emptyLinePlaceholder":786},[767,1301,1302,1305,1307,1309,1312],{"class":769,"line":14},[767,1303,1304],{"class":780},"$gate ",[767,1306,795],{"class":772},[767,1308,798],{"class":772},[767,1310,1311],{"class":776}," Gate",[767,1313,804],{"class":780},[767,1315,1316],{"class":769,"line":18},[767,1317,787],{"emptyLinePlaceholder":786},[767,1319,1320],{"class":769,"line":70},[767,1321,1322],{"class":838},"\u002F\u002F Check capability\n",[767,1324,1325,1327,1330,1333,1336,1338,1341,1344,1347],{"class":769,"line":74},[767,1326,1052],{"class":772},[767,1328,1329],{"class":780}," (",[767,1331,1332],{"class":772},"!",[767,1334,1335],{"class":780},"$gate",[767,1337,821],{"class":772},[767,1339,1340],{"class":824},"can",[767,1342,1343],{"class":780},"(",[767,1345,1346],{"class":831},"'manage_options'",[767,1348,1349],{"class":780},")) {\n",[767,1351,1352,1355,1357,1360],{"class":769,"line":78},[767,1353,1354],{"class":824},"    wp_die",[767,1356,1343],{"class":780},[767,1358,1359],{"class":831},"'Unauthorized'",[767,1361,1362],{"class":780},");\n",[767,1364,1365],{"class":769,"line":82},[767,1366,1075],{"class":780},[767,1368,1369],{"class":769,"line":86},[767,1370,787],{"emptyLinePlaceholder":786},[767,1372,1373],{"class":769,"line":90},[767,1374,1375],{"class":838},"\u002F\u002F Check with object\n",[767,1377,1378,1380,1382,1384,1386,1388,1390,1392,1395],{"class":769,"line":1049},[767,1379,1052],{"class":772},[767,1381,1329],{"class":780},[767,1383,1332],{"class":772},[767,1385,1335],{"class":780},[767,1387,821],{"class":772},[767,1389,1340],{"class":824},[767,1391,1343],{"class":780},[767,1393,1394],{"class":831},"'edit_post'",[767,1396,1397],{"class":780},", $postId)) {\n",[767,1399,1400,1402,1404,1407],{"class":769,"line":1066},[767,1401,1354],{"class":824},[767,1403,1343],{"class":780},[767,1405,1406],{"class":831},"'Cannot edit this post'",[767,1408,1362],{"class":780},[767,1410,1411],{"class":769,"line":1072},[767,1412,1075],{"class":780},[749,1414,1416],{"id":1415},"nonce-verification","Nonce Verification",[757,1418,1420],{"className":759,"code":1419,"language":761,"meta":762,"style":762},"use WPZylos\\Framework\\Security\\Nonce;\n\n$nonce = new Nonce($context);\n\n\u002F\u002F Create nonce (in form)\n$token = $nonce->create('save_settings');\n\n\u002F\u002F Verify nonce (on submit)\nif (!$nonce->verify($_POST['_nonce'], 'save_settings')) {\n    wp_die('Security check failed');\n}\n",[764,1421,1422,1431,1435,1450,1454,1459,1481,1485,1490,1518,1529],{"__ignoreMap":762},[767,1423,1424,1426,1429],{"class":769,"line":6},[767,1425,773],{"class":772},[767,1427,1428],{"class":776}," WPZylos\\Framework\\Security\\Nonce",[767,1430,781],{"class":780},[767,1432,1433],{"class":769,"line":29},[767,1434,787],{"emptyLinePlaceholder":786},[767,1436,1437,1440,1442,1444,1447],{"class":769,"line":14},[767,1438,1439],{"class":780},"$nonce ",[767,1441,795],{"class":772},[767,1443,798],{"class":772},[767,1445,1446],{"class":776}," Nonce",[767,1448,1449],{"class":780},"($context);\n",[767,1451,1452],{"class":769,"line":18},[767,1453,787],{"emptyLinePlaceholder":786},[767,1455,1456],{"class":769,"line":70},[767,1457,1458],{"class":838},"\u002F\u002F Create nonce (in form)\n",[767,1460,1461,1464,1466,1469,1471,1474,1476,1479],{"class":769,"line":74},[767,1462,1463],{"class":780},"$token ",[767,1465,795],{"class":772},[767,1467,1468],{"class":780}," $nonce",[767,1470,821],{"class":772},[767,1472,1473],{"class":824},"create",[767,1475,1343],{"class":780},[767,1477,1478],{"class":831},"'save_settings'",[767,1480,1362],{"class":780},[767,1482,1483],{"class":769,"line":78},[767,1484,787],{"emptyLinePlaceholder":786},[767,1486,1487],{"class":769,"line":82},[767,1488,1489],{"class":838},"\u002F\u002F Verify nonce (on submit)\n",[767,1491,1492,1494,1496,1498,1501,1503,1506,1508,1511,1514,1516],{"class":769,"line":86},[767,1493,1052],{"class":772},[767,1495,1329],{"class":780},[767,1497,1332],{"class":772},[767,1499,1500],{"class":780},"$nonce",[767,1502,821],{"class":772},[767,1504,1505],{"class":824},"verify",[767,1507,828],{"class":780},[767,1509,1510],{"class":831},"'_nonce'",[767,1512,1513],{"class":780},"], ",[767,1515,1478],{"class":831},[767,1517,1349],{"class":780},[767,1519,1520,1522,1524,1527],{"class":769,"line":90},[767,1521,1354],{"class":824},[767,1523,1343],{"class":780},[767,1525,1526],{"class":831},"'Security check failed'",[767,1528,1362],{"class":780},[767,1530,1531],{"class":769,"line":1049},[767,1532,1075],{"class":780},[705,1534,1536],{"id":1535},"database-security","Database Security",[749,1538,1540],{"id":1539},"prepared-statements","Prepared Statements",[701,1542,1543],{},"Always use prepared statements:",[757,1545,1547],{"className":759,"code":1546,"language":761,"meta":762,"style":762},"\u002F\u002F Bad: Vulnerable to SQL injection\n$wpdb->query(\"SELECT * FROM users WHERE id = \" . $_GET['id']);\n\n\u002F\u002F Good: Safe with preparation\n$wpdb->get_row($wpdb->prepare(\n    \"SELECT * FROM users WHERE id = %d\",\n    (int) $_GET['id']\n));\n\n\u002F\u002F Good: Safe with QueryBuilder\n$builder->where('id', $_GET['id'])->first();\n",[764,1548,1549,1554,1603,1607,1612,1632,1656,1671,1676,1680,1685],{"__ignoreMap":762},[767,1550,1551],{"class":769,"line":6},[767,1552,1553],{"class":838},"\u002F\u002F Bad: Vulnerable to SQL injection\n",[767,1555,1556,1559,1561,1564,1566,1569,1572,1575,1578,1581,1584,1587,1589,1592,1595,1598,1601],{"class":769,"line":29},[767,1557,1558],{"class":780},"$wpdb",[767,1560,821],{"class":772},[767,1562,1563],{"class":824},"query",[767,1565,1343],{"class":780},[767,1567,1568],{"class":831},"\"",[767,1570,1571],{"class":772},"SELECT",[767,1573,1574],{"class":772}," *",[767,1576,1577],{"class":772}," FROM",[767,1579,1580],{"class":831}," users ",[767,1582,1583],{"class":772},"WHERE",[767,1585,1586],{"class":831}," id ",[767,1588,795],{"class":772},[767,1590,1591],{"class":831}," \"",[767,1593,1594],{"class":772}," .",[767,1596,1597],{"class":780}," $_GET[",[767,1599,1600],{"class":831},"'id'",[767,1602,1042],{"class":780},[767,1604,1605],{"class":769,"line":14},[767,1606,787],{"emptyLinePlaceholder":786},[767,1608,1609],{"class":769,"line":18},[767,1610,1611],{"class":838},"\u002F\u002F Good: Safe with preparation\n",[767,1613,1614,1616,1618,1621,1624,1626,1629],{"class":769,"line":70},[767,1615,1558],{"class":780},[767,1617,821],{"class":772},[767,1619,1620],{"class":824},"get_row",[767,1622,1623],{"class":780},"($wpdb",[767,1625,821],{"class":772},[767,1627,1628],{"class":824},"prepare",[767,1630,1631],{"class":780},"(\n",[767,1633,1634,1637,1639,1641,1643,1645,1647,1649,1651,1654],{"class":769,"line":74},[767,1635,1636],{"class":831},"    \"",[767,1638,1571],{"class":772},[767,1640,1574],{"class":772},[767,1642,1577],{"class":772},[767,1644,1580],{"class":831},[767,1646,1583],{"class":772},[767,1648,1586],{"class":831},[767,1650,795],{"class":772},[767,1652,1653],{"class":831}," %d\"",[767,1655,1013],{"class":780},[767,1657,1658,1661,1663,1666,1668],{"class":769,"line":78},[767,1659,1660],{"class":780},"    (",[767,1662,928],{"class":772},[767,1664,1665],{"class":780},") $_GET[",[767,1667,1600],{"class":831},[767,1669,1670],{"class":780},"]\n",[767,1672,1673],{"class":769,"line":82},[767,1674,1675],{"class":780},"));\n",[767,1677,1678],{"class":769,"line":86},[767,1679,787],{"emptyLinePlaceholder":786},[767,1681,1682],{"class":769,"line":90},[767,1683,1684],{"class":838},"\u002F\u002F Good: Safe with QueryBuilder\n",[767,1686,1687,1690,1692,1695,1697,1699,1702,1704,1707,1709,1712],{"class":769,"line":1049},[767,1688,1689],{"class":780},"$builder",[767,1691,821],{"class":772},[767,1693,1694],{"class":824},"where",[767,1696,1343],{"class":780},[767,1698,1600],{"class":831},[767,1700,1701],{"class":780},", $_GET[",[767,1703,1600],{"class":831},[767,1705,1706],{"class":780},"])",[767,1708,821],{"class":772},[767,1710,1711],{"class":824},"first",[767,1713,804],{"class":780},[749,1715,1717],{"id":1716},"safe-identifiers","Safe Identifiers",[701,1719,1720],{},"Table and column names cannot be prepared. Whitelist them:",[757,1722,1724],{"className":759,"code":1723,"language":761,"meta":762,"style":762},"$allowed = ['name', 'email', 'created_at'];\n$column = in_array($_GET['sort'], $allowed) ? $_GET['sort'] : 'created_at';\n\n$builder->orderBy($column);\n",[764,1725,1726,1752,1789,1793],{"__ignoreMap":762},[767,1727,1728,1731,1733,1736,1739,1742,1744,1746,1749],{"class":769,"line":6},[767,1729,1730],{"class":780},"$allowed ",[767,1732,795],{"class":772},[767,1734,1735],{"class":780}," [",[767,1737,1738],{"class":831},"'name'",[767,1740,1741],{"class":780},", ",[767,1743,883],{"class":831},[767,1745,1741],{"class":780},[767,1747,1748],{"class":831},"'created_at'",[767,1750,1751],{"class":780},"];\n",[767,1753,1754,1757,1759,1762,1765,1768,1771,1774,1776,1778,1781,1784,1787],{"class":769,"line":29},[767,1755,1756],{"class":780},"$column ",[767,1758,795],{"class":772},[767,1760,1761],{"class":776}," in_array",[767,1763,1764],{"class":780},"($_GET[",[767,1766,1767],{"class":831},"'sort'",[767,1769,1770],{"class":780},"], $allowed) ",[767,1772,1773],{"class":772},"?",[767,1775,1597],{"class":780},[767,1777,1767],{"class":831},[767,1779,1780],{"class":780},"] ",[767,1782,1783],{"class":772},":",[767,1785,1786],{"class":831}," 'created_at'",[767,1788,781],{"class":780},[767,1790,1791],{"class":769,"line":14},[767,1792,787],{"emptyLinePlaceholder":786},[767,1794,1795,1797,1799,1802],{"class":769,"line":18},[767,1796,1689],{"class":780},[767,1798,821],{"class":772},[767,1800,1801],{"class":824},"orderBy",[767,1803,1804],{"class":780},"($column);\n",[705,1806,1808],{"id":1807},"file-upload-security","File Upload Security",[757,1810,1812],{"className":759,"code":1811,"language":761,"meta":762,"style":762},"use WPZylos\\Framework\\Security\\UploadSecurity;\n\n$uploader = new UploadSecurity($context, $nonce, $gate);\n\n\u002F\u002F Restrict file types\n$uploader->allowMimes([\n    'jpg|jpeg' => 'image\u002Fjpeg',\n    'png' => 'image\u002Fpng',\n    'pdf' => 'application\u002Fpdf',\n]);\n\n\u002F\u002F Restrict file size\n$uploader->maxSize(5 * 1024 * 1024); \u002F\u002F 5MB\n\n$result = $uploader->handle($_FILES['upload'], 'upload_action');\n\nif (is_wp_error($result)) {\n    wp_die($result->get_error_message());\n}\n",[764,1813,1814,1823,1827,1842,1846,1851,1864,1876,1888,1900,1904,1908,1913,1942,1947,1975,1980,1993,2009],{"__ignoreMap":762},[767,1815,1816,1818,1821],{"class":769,"line":6},[767,1817,773],{"class":772},[767,1819,1820],{"class":776}," WPZylos\\Framework\\Security\\UploadSecurity",[767,1822,781],{"class":780},[767,1824,1825],{"class":769,"line":29},[767,1826,787],{"emptyLinePlaceholder":786},[767,1828,1829,1832,1834,1836,1839],{"class":769,"line":14},[767,1830,1831],{"class":780},"$uploader ",[767,1833,795],{"class":772},[767,1835,798],{"class":772},[767,1837,1838],{"class":776}," UploadSecurity",[767,1840,1841],{"class":780},"($context, $nonce, $gate);\n",[767,1843,1844],{"class":769,"line":18},[767,1845,787],{"emptyLinePlaceholder":786},[767,1847,1848],{"class":769,"line":70},[767,1849,1850],{"class":838},"\u002F\u002F Restrict file types\n",[767,1852,1853,1856,1858,1861],{"class":769,"line":74},[767,1854,1855],{"class":780},"$uploader",[767,1857,821],{"class":772},[767,1859,1860],{"class":824},"allowMimes",[767,1862,1863],{"class":780},"([\n",[767,1865,1866,1869,1871,1874],{"class":769,"line":78},[767,1867,1868],{"class":831},"    'jpg|jpeg'",[767,1870,1007],{"class":772},[767,1872,1873],{"class":831}," 'image\u002Fjpeg'",[767,1875,1013],{"class":780},[767,1877,1878,1881,1883,1886],{"class":769,"line":82},[767,1879,1880],{"class":831},"    'png'",[767,1882,1007],{"class":772},[767,1884,1885],{"class":831}," 'image\u002Fpng'",[767,1887,1013],{"class":780},[767,1889,1890,1893,1895,1898],{"class":769,"line":86},[767,1891,1892],{"class":831},"    'pdf'",[767,1894,1007],{"class":772},[767,1896,1897],{"class":831}," 'application\u002Fpdf'",[767,1899,1013],{"class":780},[767,1901,1902],{"class":769,"line":90},[767,1903,1042],{"class":780},[767,1905,1906],{"class":769,"line":1049},[767,1907,787],{"emptyLinePlaceholder":786},[767,1909,1910],{"class":769,"line":1066},[767,1911,1912],{"class":838},"\u002F\u002F Restrict file size\n",[767,1914,1915,1917,1919,1922,1924,1927,1929,1932,1934,1936,1939],{"class":769,"line":1072},[767,1916,1855],{"class":780},[767,1918,821],{"class":772},[767,1920,1921],{"class":824},"maxSize",[767,1923,1343],{"class":780},[767,1925,1926],{"class":776},"5",[767,1928,1574],{"class":772},[767,1930,1931],{"class":776}," 1024",[767,1933,1574],{"class":772},[767,1935,1931],{"class":776},[767,1937,1938],{"class":780},"); ",[767,1940,1941],{"class":838},"\u002F\u002F 5MB\n",[767,1943,1945],{"class":769,"line":1944},14,[767,1946,787],{"emptyLinePlaceholder":786},[767,1948,1950,1952,1954,1957,1959,1962,1965,1968,1970,1973],{"class":769,"line":1949},15,[767,1951,986],{"class":780},[767,1953,795],{"class":772},[767,1955,1956],{"class":780}," $uploader",[767,1958,821],{"class":772},[767,1960,1961],{"class":824},"handle",[767,1963,1964],{"class":780},"($_FILES[",[767,1966,1967],{"class":831},"'upload'",[767,1969,1513],{"class":780},[767,1971,1972],{"class":831},"'upload_action'",[767,1974,1362],{"class":780},[767,1976,1978],{"class":769,"line":1977},16,[767,1979,787],{"emptyLinePlaceholder":786},[767,1981,1983,1985,1987,1990],{"class":769,"line":1982},17,[767,1984,1052],{"class":772},[767,1986,1329],{"class":780},[767,1988,1989],{"class":824},"is_wp_error",[767,1991,1992],{"class":780},"($result)) {\n",[767,1994,1996,1998,2001,2003,2006],{"class":769,"line":1995},18,[767,1997,1354],{"class":824},[767,1999,2000],{"class":780},"($result",[767,2002,821],{"class":772},[767,2004,2005],{"class":824},"get_error_message",[767,2007,2008],{"class":780},"());\n",[767,2010,2012],{"class":769,"line":2011},19,[767,2013,1075],{"class":780},[705,2015,2017],{"id":2016},"ajax-security","AJAX Security",[701,2019,2020],{},"Always verify nonces and capabilities in AJAX handlers:",[757,2022,2024],{"className":759,"code":2023,"language":761,"meta":762,"style":762},"add_action('wp_ajax_mp_save', function () use ($nonce, $gate, $sanitizer) {\n    \u002F\u002F 1. Verify nonce\n    if (!$nonce->verify($_POST['_nonce'] ?? '', 'save')) {\n        wp_send_json_error('Invalid nonce', 403);\n    }\n\n    \u002F\u002F 2. Check capability\n    if (!$gate->can('manage_options')) {\n        wp_send_json_error('Unauthorized', 403);\n    }\n\n    \u002F\u002F 3. Sanitize input\n    $data = $sanitizer->text($_POST['data'] ?? '');\n\n    \u002F\u002F 4. Process request...\n\n    wp_send_json_success();\n});\n",[764,2025,2026,2049,2054,2088,2105,2110,2114,2119,2139,2153,2157,2161,2166,2192,2196,2201,2205,2212],{"__ignoreMap":762},[767,2027,2028,2031,2033,2036,2038,2041,2044,2046],{"class":769,"line":6},[767,2029,2030],{"class":824},"add_action",[767,2032,1343],{"class":780},[767,2034,2035],{"class":831},"'wp_ajax_mp_save'",[767,2037,1741],{"class":780},[767,2039,2040],{"class":772},"function",[767,2042,2043],{"class":780}," () ",[767,2045,773],{"class":772},[767,2047,2048],{"class":780}," ($nonce, $gate, $sanitizer) {\n",[767,2050,2051],{"class":769,"line":29},[767,2052,2053],{"class":838},"    \u002F\u002F 1. Verify nonce\n",[767,2055,2056,2059,2061,2063,2065,2067,2069,2071,2073,2075,2078,2081,2083,2086],{"class":769,"line":14},[767,2057,2058],{"class":772},"    if",[767,2060,1329],{"class":780},[767,2062,1332],{"class":772},[767,2064,1500],{"class":780},[767,2066,821],{"class":772},[767,2068,1505],{"class":824},[767,2070,828],{"class":780},[767,2072,1510],{"class":831},[767,2074,1780],{"class":780},[767,2076,2077],{"class":772},"??",[767,2079,2080],{"class":831}," ''",[767,2082,1741],{"class":780},[767,2084,2085],{"class":831},"'save'",[767,2087,1349],{"class":780},[767,2089,2090,2093,2095,2098,2100,2103],{"class":769,"line":18},[767,2091,2092],{"class":824},"        wp_send_json_error",[767,2094,1343],{"class":780},[767,2096,2097],{"class":831},"'Invalid nonce'",[767,2099,1741],{"class":780},[767,2101,2102],{"class":776},"403",[767,2104,1362],{"class":780},[767,2106,2107],{"class":769,"line":70},[767,2108,2109],{"class":780},"    }\n",[767,2111,2112],{"class":769,"line":74},[767,2113,787],{"emptyLinePlaceholder":786},[767,2115,2116],{"class":769,"line":78},[767,2117,2118],{"class":838},"    \u002F\u002F 2. Check capability\n",[767,2120,2121,2123,2125,2127,2129,2131,2133,2135,2137],{"class":769,"line":82},[767,2122,2058],{"class":772},[767,2124,1329],{"class":780},[767,2126,1332],{"class":772},[767,2128,1335],{"class":780},[767,2130,821],{"class":772},[767,2132,1340],{"class":824},[767,2134,1343],{"class":780},[767,2136,1346],{"class":831},[767,2138,1349],{"class":780},[767,2140,2141,2143,2145,2147,2149,2151],{"class":769,"line":86},[767,2142,2092],{"class":824},[767,2144,1343],{"class":780},[767,2146,1359],{"class":831},[767,2148,1741],{"class":780},[767,2150,2102],{"class":776},[767,2152,1362],{"class":780},[767,2154,2155],{"class":769,"line":90},[767,2156,2109],{"class":780},[767,2158,2159],{"class":769,"line":1049},[767,2160,787],{"emptyLinePlaceholder":786},[767,2162,2163],{"class":769,"line":1066},[767,2164,2165],{"class":838},"    \u002F\u002F 3. Sanitize input\n",[767,2167,2168,2171,2173,2175,2177,2179,2181,2184,2186,2188,2190],{"class":769,"line":1072},[767,2169,2170],{"class":780},"    $data ",[767,2172,795],{"class":772},[767,2174,818],{"class":780},[767,2176,821],{"class":772},[767,2178,825],{"class":824},[767,2180,828],{"class":780},[767,2182,2183],{"class":831},"'data'",[767,2185,1780],{"class":780},[767,2187,2077],{"class":772},[767,2189,2080],{"class":831},[767,2191,1362],{"class":780},[767,2193,2194],{"class":769,"line":1944},[767,2195,787],{"emptyLinePlaceholder":786},[767,2197,2198],{"class":769,"line":1949},[767,2199,2200],{"class":838},"    \u002F\u002F 4. Process request...\n",[767,2202,2203],{"class":769,"line":1977},[767,2204,787],{"emptyLinePlaceholder":786},[767,2206,2207,2210],{"class":769,"line":1982},[767,2208,2209],{"class":824},"    wp_send_json_success",[767,2211,804],{"class":780},[767,2213,2214],{"class":769,"line":1995},[767,2215,2216],{"class":780},"});\n",[705,2218,2220],{"id":2219},"rate-limiting","Rate Limiting",[701,2222,2223],{},"Prevent brute force and abuse:",[757,2225,2227],{"className":759,"code":2226,"language":761,"meta":762,"style":762},"use WPZylos\\Framework\\Security\\RateLimiter;\n\n$limiter = new RateLimiter($context, 5, 60); \u002F\u002F 5 attempts per 60 seconds\n\n$key = 'login_' . $_SERVER['REMOTE_ADDR'];\n\nif ($limiter->tooManyAttempts($key)) {\n    $wait = $limiter->availableIn($key);\n    wp_die(\"Too many attempts. Try again in {$wait} seconds.\");\n}\n\n$limiter->hit($key);\n",[764,2228,2229,2238,2242,2269,2273,2293,2297,2312,2330,2347,2351,2355],{"__ignoreMap":762},[767,2230,2231,2233,2236],{"class":769,"line":6},[767,2232,773],{"class":772},[767,2234,2235],{"class":776}," WPZylos\\Framework\\Security\\RateLimiter",[767,2237,781],{"class":780},[767,2239,2240],{"class":769,"line":29},[767,2241,787],{"emptyLinePlaceholder":786},[767,2243,2244,2247,2249,2251,2254,2257,2259,2261,2264,2266],{"class":769,"line":14},[767,2245,2246],{"class":780},"$limiter ",[767,2248,795],{"class":772},[767,2250,798],{"class":772},[767,2252,2253],{"class":776}," RateLimiter",[767,2255,2256],{"class":780},"($context, ",[767,2258,1926],{"class":776},[767,2260,1741],{"class":780},[767,2262,2263],{"class":776},"60",[767,2265,1938],{"class":780},[767,2267,2268],{"class":838},"\u002F\u002F 5 attempts per 60 seconds\n",[767,2270,2271],{"class":769,"line":18},[767,2272,787],{"emptyLinePlaceholder":786},[767,2274,2275,2278,2280,2283,2285,2288,2291],{"class":769,"line":70},[767,2276,2277],{"class":780},"$key ",[767,2279,795],{"class":772},[767,2281,2282],{"class":831}," 'login_'",[767,2284,1594],{"class":772},[767,2286,2287],{"class":780}," $_SERVER[",[767,2289,2290],{"class":831},"'REMOTE_ADDR'",[767,2292,1751],{"class":780},[767,2294,2295],{"class":769,"line":74},[767,2296,787],{"emptyLinePlaceholder":786},[767,2298,2299,2301,2304,2306,2309],{"class":769,"line":78},[767,2300,1052],{"class":772},[767,2302,2303],{"class":780}," ($limiter",[767,2305,821],{"class":772},[767,2307,2308],{"class":824},"tooManyAttempts",[767,2310,2311],{"class":780},"($key)) {\n",[767,2313,2314,2317,2319,2322,2324,2327],{"class":769,"line":82},[767,2315,2316],{"class":780},"    $wait ",[767,2318,795],{"class":772},[767,2320,2321],{"class":780}," $limiter",[767,2323,821],{"class":772},[767,2325,2326],{"class":824},"availableIn",[767,2328,2329],{"class":780},"($key);\n",[767,2331,2332,2334,2336,2339,2342,2345],{"class":769,"line":86},[767,2333,1354],{"class":824},[767,2335,1343],{"class":780},[767,2337,2338],{"class":831},"\"Too many attempts. Try again in {",[767,2340,2341],{"class":780},"$wait",[767,2343,2344],{"class":831},"} seconds.\"",[767,2346,1362],{"class":780},[767,2348,2349],{"class":769,"line":90},[767,2350,1075],{"class":780},[767,2352,2353],{"class":769,"line":1049},[767,2354,787],{"emptyLinePlaceholder":786},[767,2356,2357,2360,2362,2365],{"class":769,"line":1066},[767,2358,2359],{"class":780},"$limiter",[767,2361,821],{"class":772},[767,2363,2364],{"class":824},"hit",[767,2366,2329],{"class":780},[705,2368,2370],{"id":2369},"security-checklist","Security Checklist",[2372,2373,2376,2384,2390,2396,2402,2408,2414,2420,2426,2432],"ul",{"className":2374},[2375],"contains-task-list",[713,2377,2380,2383],{"className":2378},[2379],"task-list-item",[1216,2381],{"disabled":786,"type":2382},"checkbox"," All user input is sanitized",[713,2385,2387,2389],{"className":2386},[2379],[1216,2388],{"disabled":786,"type":2382}," All output is escaped",[713,2391,2393,2395],{"className":2392},[2379],[1216,2394],{"disabled":786,"type":2382}," All database queries use prepared statements",[713,2397,2399,2401],{"className":2398},[2379],[1216,2400],{"disabled":786,"type":2382}," Nonces protect all state-changing actions",[713,2403,2405,2407],{"className":2404},[2379],[1216,2406],{"disabled":786,"type":2382}," Capability checks protect sensitive operations",[713,2409,2411,2413],{"className":2410},[2379],[1216,2412],{"disabled":786,"type":2382}," File uploads restrict allowed types and sizes",[713,2415,2417,2419],{"className":2416},[2379],[1216,2418],{"disabled":786,"type":2382}," AJAX handlers verify nonces and capabilities",[713,2421,2423,2425],{"className":2422},[2379],[1216,2424],{"disabled":786,"type":2382}," Rate limiting protects sensitive endpoints",[713,2427,2429,2431],{"className":2428},[2379],[1216,2430],{"disabled":786,"type":2382}," No sensitive data in error messages",[713,2433,2435,2437],{"className":2434},[2379],[1216,2436],{"disabled":786,"type":2382}," Direct file access is prevented",[705,2439,2441],{"id":2440},"related","Related",[2372,2443,2444,2450,2456],{},[713,2445,2446],{},[1247,2447,2449],{"href":2448},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fsecurity","Security Package",[713,2451,2452],{},[1247,2453,2455],{"href":2454},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fvalidation","Validation Package",[713,2457,2458],{},[1247,2459,2461],{"href":2460},"compliance","Marketplace Compliance",[2463,2464,2465],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":762,"searchDepth":29,"depth":29,"links":2467},[2468,2469,2473,2474,2478,2482,2483,2484,2485,2486],{"id":707,"depth":29,"text":708},{"id":746,"depth":29,"text":747,"children":2470},[2471,2472],{"id":751,"depth":14,"text":752},{"id":941,"depth":14,"text":942},{"id":1078,"depth":29,"text":1079},{"id":1276,"depth":29,"text":1277,"children":2475},[2476,2477],{"id":1280,"depth":14,"text":1281},{"id":1415,"depth":14,"text":1416},{"id":1535,"depth":29,"text":1536,"children":2479},[2480,2481],{"id":1539,"depth":14,"text":1540},{"id":1716,"depth":14,"text":1717},{"id":1807,"depth":29,"text":1808},{"id":2016,"depth":29,"text":2017},{"id":2219,"depth":29,"text":2220},{"id":2369,"depth":29,"text":2370},{"id":2440,"depth":29,"text":2441},"md",{},{"title":668,"description":703},"docs\u002Flatest\u002Fsecurity\u002Foverview","fI-E3NdT4Q6Iu_5EyiatA1AZPhs6tOoNNxLRMJyJnIU",[2493,2494,2495,2496,2497,2498,2499,2500,2501,2502,2503,2504,2506,2507,2508,2509,2510,2511,2512,2513,2514,2515,2517,2518,2519,2520,2521,2522,2523,2524,2525,2526,2528,2529,2530,2531,2532,2533,2534,2535,2536,2537,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2550,2551,2552,2553,2554,2555,2556,2557,2558,2559,2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2572,2573,2574,2575,2576,2577,2578,2579,2580,2581,2583,2584,2585,2586,2587,2588,2589,2590,2591,2592,2594,2595,2596,2597,2598,2599,2600,2601,2602,2603,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2616,2617,2618,2619,2620,2621,2622,2623,2624,2625,2627,2628,2629,2630,2631,2632,2633,2634,2635,2636,2638,2639,2640,2641,2642,2643,2644,2645,2646,2647,2649,2650,2651,2652,2653,2654,2655,2656,2658,2659,2660,2661,2662,2663,2664,2665,2666,2667,2669,2670,2671,2672,2673,2674,2675,2676,2677,2678,2680,2681,2682,2683,2684,2685,2686,2687,2688,2689,2691,2692,2693,2694,2695,2696,2697,2698,2699,2700,2702,2703,2704,2705,2706,2707,2708,2709,2710,2711,2713,2714,2715,2716,2717,2718,2719,2720,2721,2722,2723,2724,2726,2727,2728,2729,2730,2731,2732,2733,2734,2735,2736,2737,2738,2740,2741,2742,2743,2744,2745,2746,2747,2748,2749,2751,2752,2753,2754,2755,2756,2757,2758,2759,2761,2762,2763,2764,2765,2766,2767,2768,2769,2770,2772,2773,2774,2775,2776,2777,2778,2779,2780,2781,2783,2784,2785,2786,2787,2788,2789,2790,2791,2792,2793,2794,2795,2796,2797,2798,2799,2804,2808],{"path":10,"title":5,"sectionKey":7,"sectionOrder":6,"itemOrder":6,"packageName":762,"depth":6},{"path":12,"title":13,"sectionKey":7,"sectionOrder":6,"itemOrder":14,"packageName":762,"depth":29},{"path":16,"title":17,"sectionKey":7,"sectionOrder":6,"itemOrder":18,"packageName":762,"depth":29},{"path":20,"title":21,"sectionKey":7,"sectionOrder":6,"itemOrder":22,"packageName":762,"depth":29},{"path":24,"title":25,"sectionKey":7,"sectionOrder":6,"itemOrder":22,"packageName":762,"depth":29},{"path":33,"title":34,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":762,"depth":29},{"path":36,"title":37,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":762,"depth":29},{"path":39,"title":40,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":762,"depth":29},{"path":42,"title":43,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":762,"depth":29},{"path":45,"title":46,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":762,"depth":29},{"path":48,"title":49,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":762,"depth":29},{"path":58,"title":59,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2505,"depth":29},"wpzylos-assets",{"path":61,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2505,"depth":14},{"path":64,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2505,"depth":14},{"path":66,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2505,"depth":14},{"path":68,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2505,"depth":14},{"path":72,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2505,"depth":14},{"path":76,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2505,"depth":14},{"path":80,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2505,"depth":14},{"path":84,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2505,"depth":14},{"path":88,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2505,"depth":14},{"path":93,"title":94,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2516,"depth":29},"wpzylos-cli-core",{"path":96,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2516,"depth":14},{"path":98,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2516,"depth":14},{"path":100,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2516,"depth":14},{"path":102,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2516,"depth":14},{"path":104,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2516,"depth":14},{"path":106,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2516,"depth":14},{"path":108,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2516,"depth":14},{"path":110,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2516,"depth":14},{"path":113,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2516,"depth":14},{"path":116,"title":117,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2527,"depth":29},"wpzylos-cli-devtool",{"path":119,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2527,"depth":14},{"path":121,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2527,"depth":14},{"path":123,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2527,"depth":14},{"path":125,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2527,"depth":14},{"path":127,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2527,"depth":14},{"path":129,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2527,"depth":14},{"path":131,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2527,"depth":14},{"path":133,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2527,"depth":14},{"path":135,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2527,"depth":14},{"path":138,"title":139,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2538,"depth":29},"wpzylos-config",{"path":141,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2538,"depth":14},{"path":143,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2538,"depth":14},{"path":145,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2538,"depth":14},{"path":147,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2538,"depth":14},{"path":149,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2538,"depth":14},{"path":151,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2538,"depth":14},{"path":153,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2538,"depth":14},{"path":155,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2538,"depth":14},{"path":157,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2538,"depth":14},{"path":160,"title":161,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2549,"depth":29},"wpzylos-container",{"path":163,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2549,"depth":14},{"path":165,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2549,"depth":14},{"path":167,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2549,"depth":14},{"path":169,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2549,"depth":14},{"path":171,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2549,"depth":14},{"path":173,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2549,"depth":14},{"path":175,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2549,"depth":14},{"path":177,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2549,"depth":14},{"path":179,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2549,"depth":14},{"path":182,"title":183,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2560,"depth":29},"wpzylos-core",{"path":185,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2560,"depth":14},{"path":187,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2560,"depth":14},{"path":189,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2560,"depth":14},{"path":191,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2560,"depth":14},{"path":193,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2560,"depth":14},{"path":195,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2560,"depth":14},{"path":197,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2560,"depth":14},{"path":199,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2560,"depth":14},{"path":201,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2560,"depth":14},{"path":204,"title":205,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2571,"depth":29},"wpzylos-database",{"path":207,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2571,"depth":14},{"path":209,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2571,"depth":14},{"path":211,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2571,"depth":14},{"path":213,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2571,"depth":14},{"path":215,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2571,"depth":14},{"path":217,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2571,"depth":14},{"path":219,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2571,"depth":14},{"path":221,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2571,"depth":14},{"path":223,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2571,"depth":14},{"path":226,"title":227,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2582,"depth":29},"wpzylos-events",{"path":229,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2582,"depth":14},{"path":231,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2582,"depth":14},{"path":233,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2582,"depth":14},{"path":235,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2582,"depth":14},{"path":237,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2582,"depth":14},{"path":239,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2582,"depth":14},{"path":241,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2582,"depth":14},{"path":243,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2582,"depth":14},{"path":245,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2582,"depth":14},{"path":248,"title":249,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2593,"depth":29},"wpzylos-hooks",{"path":251,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2593,"depth":14},{"path":253,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2593,"depth":14},{"path":255,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2593,"depth":14},{"path":257,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2593,"depth":14},{"path":260,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2593,"depth":14},{"path":262,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2593,"depth":14},{"path":264,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2593,"depth":14},{"path":266,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2593,"depth":14},{"path":268,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2593,"depth":14},{"path":271,"title":272,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2604,"depth":29},"wpzylos-http",{"path":274,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2604,"depth":14},{"path":276,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2604,"depth":14},{"path":278,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2604,"depth":14},{"path":280,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2604,"depth":14},{"path":282,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2604,"depth":14},{"path":284,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2604,"depth":14},{"path":286,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2604,"depth":14},{"path":288,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2604,"depth":14},{"path":290,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2604,"depth":14},{"path":293,"title":294,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2615,"depth":29},"wpzylos-i18n",{"path":296,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2615,"depth":14},{"path":298,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2615,"depth":14},{"path":300,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2615,"depth":14},{"path":302,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2615,"depth":14},{"path":304,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2615,"depth":14},{"path":306,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2615,"depth":14},{"path":308,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2615,"depth":14},{"path":310,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2615,"depth":14},{"path":312,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2615,"depth":14},{"path":315,"title":316,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2626,"depth":29},"wpzylos-logger",{"path":318,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2626,"depth":14},{"path":320,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2626,"depth":14},{"path":322,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2626,"depth":14},{"path":324,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2626,"depth":14},{"path":326,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2626,"depth":14},{"path":328,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2626,"depth":14},{"path":330,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2626,"depth":14},{"path":332,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2626,"depth":14},{"path":334,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2626,"depth":14},{"path":337,"title":338,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2637,"depth":29},"wpzylos-mail",{"path":340,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2637,"depth":14},{"path":342,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2637,"depth":14},{"path":344,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2637,"depth":14},{"path":346,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2637,"depth":14},{"path":348,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2637,"depth":14},{"path":350,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2637,"depth":14},{"path":352,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2637,"depth":14},{"path":354,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2637,"depth":14},{"path":356,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2637,"depth":14},{"path":359,"title":360,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2648,"depth":29},"wpzylos-mcp",{"path":362,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2648,"depth":14},{"path":364,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2648,"depth":14},{"path":366,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2648,"depth":14},{"path":368,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2648,"depth":14},{"path":370,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2648,"depth":14},{"path":372,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2648,"depth":14},{"path":374,"title":375,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":2648,"depth":14},{"path":378,"title":379,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2657,"depth":29},"wpzylos-migrations",{"path":381,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2657,"depth":14},{"path":383,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2657,"depth":14},{"path":385,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2657,"depth":14},{"path":387,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2657,"depth":14},{"path":389,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2657,"depth":14},{"path":391,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2657,"depth":14},{"path":393,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2657,"depth":14},{"path":395,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2657,"depth":14},{"path":397,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2657,"depth":14},{"path":400,"title":401,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2668,"depth":29},"wpzylos-model",{"path":403,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2668,"depth":14},{"path":405,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2668,"depth":14},{"path":407,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2668,"depth":14},{"path":409,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2668,"depth":14},{"path":411,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2668,"depth":14},{"path":413,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2668,"depth":14},{"path":415,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2668,"depth":14},{"path":417,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2668,"depth":14},{"path":419,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2668,"depth":14},{"path":422,"title":423,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2679,"depth":29},"wpzylos-notification",{"path":425,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2679,"depth":14},{"path":427,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2679,"depth":14},{"path":429,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2679,"depth":14},{"path":431,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2679,"depth":14},{"path":433,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2679,"depth":14},{"path":435,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2679,"depth":14},{"path":437,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2679,"depth":14},{"path":439,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2679,"depth":14},{"path":441,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2679,"depth":14},{"path":444,"title":445,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2690,"depth":29},"wpzylos-queue",{"path":447,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2690,"depth":14},{"path":449,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2690,"depth":14},{"path":451,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2690,"depth":14},{"path":453,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2690,"depth":14},{"path":455,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2690,"depth":14},{"path":457,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2690,"depth":14},{"path":459,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2690,"depth":14},{"path":461,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2690,"depth":14},{"path":463,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2690,"depth":14},{"path":466,"title":467,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2701,"depth":29},"wpzylos-requirements",{"path":469,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2701,"depth":14},{"path":471,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2701,"depth":14},{"path":473,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2701,"depth":14},{"path":475,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2701,"depth":14},{"path":477,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2701,"depth":14},{"path":479,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2701,"depth":14},{"path":481,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2701,"depth":14},{"path":483,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2701,"depth":14},{"path":485,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2701,"depth":14},{"path":488,"title":489,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2712,"depth":29},"wpzylos-routing",{"path":491,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2712,"depth":14},{"path":493,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2712,"depth":14},{"path":495,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2712,"depth":14},{"path":497,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2712,"depth":14},{"path":499,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2712,"depth":14},{"path":501,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2712,"depth":14},{"path":503,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2712,"depth":14},{"path":505,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2712,"depth":14},{"path":507,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2712,"depth":14},{"path":509,"title":510,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":2712,"depth":14},{"path":512,"title":513,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":2712,"depth":14},{"path":516,"title":517,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2725,"depth":29},"wpzylos-scaffold",{"path":519,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2725,"depth":14},{"path":521,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2725,"depth":14},{"path":523,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2725,"depth":14},{"path":525,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2725,"depth":14},{"path":527,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2725,"depth":14},{"path":529,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2725,"depth":14},{"path":531,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2725,"depth":14},{"path":533,"title":534,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2725,"depth":14},{"path":536,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2725,"depth":14},{"path":538,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2725,"depth":14},{"path":540,"title":541,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":2725,"depth":14},{"path":543,"title":544,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":2725,"depth":14},{"path":547,"title":548,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2739,"depth":29},"wpzylos-scheduler",{"path":550,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2739,"depth":14},{"path":552,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2739,"depth":14},{"path":554,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2739,"depth":14},{"path":556,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2739,"depth":14},{"path":558,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2739,"depth":14},{"path":560,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2739,"depth":14},{"path":562,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2739,"depth":14},{"path":564,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2739,"depth":14},{"path":566,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2739,"depth":14},{"path":569,"title":570,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2750,"depth":29},"wpzylos-security",{"path":572,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2750,"depth":14},{"path":574,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2750,"depth":14},{"path":576,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2750,"depth":14},{"path":578,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2750,"depth":14},{"path":580,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2750,"depth":14},{"path":582,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2750,"depth":14},{"path":584,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2750,"depth":14},{"path":586,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2750,"depth":14},{"path":589,"title":590,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2760,"depth":29},"wpzylos-validation",{"path":592,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2760,"depth":14},{"path":594,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2760,"depth":14},{"path":596,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2760,"depth":14},{"path":598,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2760,"depth":14},{"path":600,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2760,"depth":14},{"path":602,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2760,"depth":14},{"path":604,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2760,"depth":14},{"path":606,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2760,"depth":14},{"path":608,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2760,"depth":14},{"path":611,"title":612,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2771,"depth":29},"wpzylos-views",{"path":614,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2771,"depth":14},{"path":616,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2771,"depth":14},{"path":618,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2771,"depth":14},{"path":620,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2771,"depth":14},{"path":622,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2771,"depth":14},{"path":624,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2771,"depth":14},{"path":626,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2771,"depth":14},{"path":628,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2771,"depth":14},{"path":630,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2771,"depth":14},{"path":633,"title":634,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":2782,"depth":29},"wpzylos-wp-cli",{"path":636,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":2782,"depth":14},{"path":638,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":2782,"depth":14},{"path":640,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":2782,"depth":14},{"path":642,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":2782,"depth":14},{"path":644,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":2782,"depth":14},{"path":646,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":2782,"depth":14},{"path":648,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":2782,"depth":14},{"path":650,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":2782,"depth":14},{"path":652,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":2782,"depth":14},{"path":658,"title":659,"sectionKey":655,"sectionOrder":18,"itemOrder":6,"packageName":762,"depth":6},{"path":661,"title":544,"sectionKey":655,"sectionOrder":18,"itemOrder":22,"packageName":762,"depth":29},{"path":667,"title":668,"sectionKey":664,"sectionOrder":70,"itemOrder":29,"packageName":762,"depth":29},{"path":674,"title":675,"sectionKey":671,"sectionOrder":74,"itemOrder":29,"packageName":762,"depth":29},{"path":677,"title":678,"sectionKey":671,"sectionOrder":74,"itemOrder":22,"packageName":762,"depth":29},{"path":680,"title":681,"sectionKey":671,"sectionOrder":74,"itemOrder":22,"packageName":762,"depth":29},{"path":688,"title":689,"sectionKey":685,"sectionOrder":78,"itemOrder":29,"packageName":762,"depth":29},{"path":2800,"title":2801,"sectionKey":2802,"sectionOrder":2803,"itemOrder":90,"packageName":762,"depth":6},"\u002Fdocs\u002Flatest\u002Ftroubleshooting","System Troubleshooting","troubleshooting",99,{"path":2805,"title":2806,"sectionKey":2807,"sectionOrder":2803,"itemOrder":22,"packageName":762,"depth":6},"\u002Fdocs\u002Flatest\u002Frelease-checklist","Release Checklist","release-checklist",{"path":2809,"title":2810,"sectionKey":2811,"sectionOrder":2803,"itemOrder":22,"packageName":762,"depth":6},"\u002Fdocs\u002Flatest\u002Frules","WPZylos Framework Rules","rules",1784547675816]