[{"data":1,"prerenderedAt":2134},["ShallowReactive",2],{"navLinks":3,"sidebar_docs_navigation_\u002Fdocs\u002Futils":64,"navigation":263,"navLinks_footer":835,"\u002Fdocs\u002Futils\u002Fshared\u002Ffilteremptyvalues_page":848,"\u002Fdocs\u002Futils\u002Fshared\u002Ffilteremptyvalues_surround":1592,"\u002Fdocs\u002Futils\u002Fshared\u002Ffilteremptyvalues":1595},{"id":4,"extension":5,"links":6,"meta":61,"stem":62,"__hash__":63},"navigationMenu\u002Fnavigation.json","json",[7,52,57],{"nested":8,"label":9,"icon":10,"to":11,"children":12},true,"Docs","i-lucide-book-open","\u002Fdocs\u002Fgetting-started",[13,19,26,32,39,45],{"label":14,"icon":15,"to":11,"description":16,"github":17,"badge":18},"Getting Started","i-lucide-rocket","An introduction to help you understand the core components.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fdocshub","Start Here",{"label":20,"icon":21,"to":22,"description":23,"github":24,"badge":25},"Auth H3 Client","i-lucide-key-round","\u002Fdocs\u002Fauth-h3client","Seamlessly enforce OAuth 2.0 authentication and session management integrated directly as the client of the IAM module.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fauth-h3client","Core",{"label":27,"icon":28,"to":29,"description":30,"github":31,"badge":25},"IAM","i-lucide-shield-check","\u002Fdocs\u002Fiam","Identity and Access Management featuring granular roles, permissions, and security policies.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fauth",{"label":33,"icon":34,"to":35,"description":36,"github":37,"badge":38},"Bot Detection","i-lucide-cpu","\u002Fdocs\u002Fbot-detection","Advanced behavioral analysis and request fingerprinting to stop malicious automated traffic.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fbot-detector","Security",{"label":40,"icon":41,"to":42,"description":43,"github":44,"badge":38},"Shield Base","i-lucide-database-zap","\u002Fdocs\u002Fshield-base","CLI and programmatic toolkit for compiling offline-ready IP intelligence databases from BGP, GeoIP, Tor, FireHOL, and other public threat feeds.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fshield-base-cli",{"label":46,"icon":47,"to":48,"description":49,"github":50,"badge":51},"Utils","i-lucide-wrench","\u002Fdocs\u002Futils","A standard library of highly optimized helpers for formatting, validation, and core logic.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Futils","Library",{"nested":53,"label":54,"icon":55,"to":56},false,"Blog","i-lucide-pen-line","\u002Fblog",{"nested":53,"label":58,"icon":59,"to":60},"Website","lucide:app-window-mac","https:\u002F\u002Friavzon.com",{},"navigation","gkaQ0xRGxSLrLyM3kttLe0oBwkrR1EBjlepF8LSbwF8",[65],{"title":9,"path":66,"stem":67,"children":68,"page":53},"\u002Fdocs","docs",[69],{"title":70,"path":48,"stem":71,"children":72},"Utilities","docs\u002Futils\u002Findex",[73,74,91,124,221],{"title":70,"path":48,"stem":71},{"title":75,"path":76,"stem":77,"children":78,"page":53},"Eslint","\u002Fdocs\u002Futils\u002Feslint","docs\u002Futils\u002Feslint",[79,83,87],{"title":80,"path":81,"stem":82},"React Config","\u002Fdocs\u002Futils\u002Feslint\u002Freact","docs\u002Futils\u002Feslint\u002Freact",{"title":84,"path":85,"stem":86},"TypeScript Config","\u002Fdocs\u002Futils\u002Feslint\u002Ftypescript","docs\u002Futils\u002Feslint\u002Ftypescript",{"title":88,"path":89,"stem":90},"Vue Config","\u002Fdocs\u002Futils\u002Feslint\u002Fvue","docs\u002Futils\u002Feslint\u002Fvue",{"title":92,"path":93,"stem":94,"children":95,"page":53},"Server","\u002Fdocs\u002Futils\u002Fserver","docs\u002Futils\u002Fserver",[96,100,104,108,112,116,120],{"title":97,"path":98,"stem":99},"Encryption","\u002Fdocs\u002Futils\u002Fserver\u002Fencryption","docs\u002Futils\u002Fserver\u002Fencryption",{"title":101,"path":102,"stem":103},"Path Resolver","\u002Fdocs\u002Futils\u002Fserver\u002Fpathresolver","docs\u002Futils\u002Fserver\u002FpathResolver",{"title":105,"path":106,"stem":107},"File Replacements","\u002Fdocs\u002Futils\u002Fserver\u002Freplace","docs\u002Futils\u002Fserver\u002Freplace",{"title":109,"path":110,"stem":111},"run","\u002Fdocs\u002Futils\u002Fserver\u002Frun","docs\u002Futils\u002Fserver\u002Frun",{"title":113,"path":114,"stem":115},"scheduleTask","\u002Fdocs\u002Futils\u002Fserver\u002Fscheduletask","docs\u002Futils\u002Fserver\u002FscheduleTask",{"title":117,"path":118,"stem":119},"spawnRun","\u002Fdocs\u002Futils\u002Fserver\u002Fspawnrun","docs\u002Futils\u002Fserver\u002FspawnRun",{"title":121,"path":122,"stem":123},"uploadCsv","\u002Fdocs\u002Futils\u002Fserver\u002Fuploadcsv","docs\u002Futils\u002Fserver\u002FuploadCsv",{"title":125,"path":126,"stem":127,"children":128,"page":53},"Shared","\u002Fdocs\u002Futils\u002Fshared","docs\u002Futils\u002Fshared",[129,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,193,197,201,205,209,213,217],{"title":130,"path":131,"stem":132},"BatchQueue","\u002Fdocs\u002Futils\u002Fshared\u002Fbatchqueue","docs\u002Futils\u002Fshared\u002FbatchQueue",{"title":134,"path":135,"stem":136},"capitalize","\u002Fdocs\u002Futils\u002Fshared\u002Fcapitalize","docs\u002Futils\u002Fshared\u002Fcapitalize",{"title":138,"path":139,"stem":140},"chunkProcess","\u002Fdocs\u002Futils\u002Fshared\u002Fchunkprocess","docs\u002Futils\u002Fshared\u002FchunkProcess",{"title":142,"path":143,"stem":144},"cleanObject","\u002Fdocs\u002Futils\u002Fshared\u002Fcleanobject","docs\u002Futils\u002Fshared\u002FcleanObject",{"title":146,"path":147,"stem":148},"createConfigManager","\u002Fdocs\u002Futils\u002Fshared\u002Fconfigurationdefiner","docs\u002Futils\u002Fshared\u002FconfigurationDefiner",{"title":150,"path":151,"stem":152},"debounce","\u002Fdocs\u002Futils\u002Fshared\u002Fdebounce","docs\u002Futils\u002Fshared\u002Fdebounce",{"title":154,"path":155,"stem":156},"ensureArray","\u002Fdocs\u002Futils\u002Fshared\u002Fensurearray","docs\u002Futils\u002Fshared\u002FensureArray",{"title":158,"path":159,"stem":160},"fetchWithRetry","\u002Fdocs\u002Futils\u002Fshared\u002Ffetchwithretry","docs\u002Futils\u002Fshared\u002FfetchWithRetry",{"title":162,"path":163,"stem":164},"filterEmptyValues","\u002Fdocs\u002Futils\u002Fshared\u002Ffilteremptyvalues","docs\u002Futils\u002Fshared\u002FfilterEmptyValues",{"title":166,"path":167,"stem":168},"findStringsInObject","\u002Fdocs\u002Futils\u002Fshared\u002Ffindobjectvalues","docs\u002Futils\u002Fshared\u002FfindObjectValues",{"title":170,"path":171,"stem":172},"fisherYatesShuffle","\u002Fdocs\u002Futils\u002Fshared\u002Ffisheryatesshuffle","docs\u002Futils\u002Fshared\u002FfisherYatesShuffle",{"title":174,"path":175,"stem":176},"getRandomImage","\u002Fdocs\u002Futils\u002Fshared\u002Fgetrandomimage","docs\u002Futils\u002Fshared\u002FgetRandomImage",{"title":178,"path":179,"stem":180},"isObjectHasValues","\u002Fdocs\u002Futils\u002Fshared\u002Fisobjecthasvalues","docs\u002Futils\u002Fshared\u002FisObjectHasValues",{"title":182,"path":183,"stem":184},"isAsyncOrPromise","\u002Fdocs\u002Futils\u002Fshared\u002Fispromise","docs\u002Futils\u002Fshared\u002FisPromise",{"title":186,"path":187,"stem":188},"MiniCache","\u002Fdocs\u002Futils\u002Fshared\u002Fminicache","docs\u002Futils\u002Fshared\u002FminiCache",{"title":190,"path":191,"stem":192},"parseCookies","\u002Fdocs\u002Futils\u002Fshared\u002Fparserawcookies","docs\u002Futils\u002Fshared\u002FparseRawCookies",{"title":194,"path":195,"stem":196},"safeAction","\u002Fdocs\u002Futils\u002Fshared\u002Fpromiselocker","docs\u002Futils\u002Fshared\u002FpromiseLocker",{"title":198,"path":199,"stem":200},"Random","\u002Fdocs\u002Futils\u002Fshared\u002Frandom","docs\u002Futils\u002Fshared\u002Frandom",{"title":202,"path":203,"stem":204},"range","\u002Fdocs\u002Futils\u002Fshared\u002Frange","docs\u002Futils\u002Fshared\u002Frange",{"title":206,"path":207,"stem":208},"rateLimiters","\u002Fdocs\u002Futils\u002Fshared\u002Fratelimiters","docs\u002Futils\u002Fshared\u002FrateLimiters",{"title":210,"path":211,"stem":212},"safeObjectMerge","\u002Fdocs\u002Futils\u002Fshared\u002Fsafemerge","docs\u002Futils\u002Fshared\u002FsafeMerge",{"title":214,"path":215,"stem":216},"textTruncation","\u002Fdocs\u002Futils\u002Fshared\u002Ftexttruncation","docs\u002Futils\u002Fshared\u002FtextTruncation",{"title":218,"path":219,"stem":220},"validateZodSchema","\u002Fdocs\u002Futils\u002Fshared\u002Fvalidatezodschema","docs\u002Futils\u002Fshared\u002FvalidateZodSchema",{"title":222,"path":223,"stem":224,"children":225},"Utility Types","\u002Fdocs\u002Futils\u002Ftypes","docs\u002Futils\u002Ftypes\u002Findex",[226,227,231,235,239,243,247,251,255,259],{"title":222,"path":223,"stem":224},{"title":228,"path":229,"stem":230},"Brand","\u002Fdocs\u002Futils\u002Ftypes\u002Fbrand","docs\u002Futils\u002Ftypes\u002FBrand",{"title":232,"path":233,"stem":234},"DeepPartial","\u002Fdocs\u002Futils\u002Ftypes\u002Fdeeppartial","docs\u002Futils\u002Ftypes\u002FDeepPartial",{"title":236,"path":237,"stem":238},"Merge","\u002Fdocs\u002Futils\u002Ftypes\u002Fmerge","docs\u002Futils\u002Ftypes\u002FMerge",{"title":240,"path":241,"stem":242},"NonNullable","\u002Fdocs\u002Futils\u002Ftypes\u002Fnonnullable","docs\u002Futils\u002Ftypes\u002FNonNullable",{"title":244,"path":245,"stem":246},"Prettify","\u002Fdocs\u002Futils\u002Ftypes\u002Fprettify","docs\u002Futils\u002Ftypes\u002FPrettify",{"title":248,"path":249,"stem":250},"PromiseType","\u002Fdocs\u002Futils\u002Ftypes\u002Fpromisetype","docs\u002Futils\u002Ftypes\u002FPromiseType",{"title":252,"path":253,"stem":254},"RequireKeys","\u002Fdocs\u002Futils\u002Ftypes\u002Frequirekeys","docs\u002Futils\u002Ftypes\u002FRequireKeys",{"title":256,"path":257,"stem":258},"StandardResponse","\u002Fdocs\u002Futils\u002Ftypes\u002Fstandardresponse","docs\u002Futils\u002Ftypes\u002FStandardResponse",{"title":260,"path":261,"stem":262},"ValueOf","\u002Fdocs\u002Futils\u002Ftypes\u002Fvalueof","docs\u002Futils\u002Ftypes\u002FValueOf",[264],{"title":9,"path":66,"stem":67,"children":265,"page":53},[266,413,531,536,714,781],{"title":20,"path":22,"stem":267,"children":268},"docs\u002Fauth-h3client\u002Findex",[269,270,279,316,342,364,367,388,392],{"title":20,"path":22,"stem":267},{"title":14,"path":271,"stem":272,"children":273},"\u002Fdocs\u002Fauth-h3client\u002Fgetting-started","docs\u002Fauth-h3client\u002F00.getting-started\u002Findex",[274,275],{"title":14,"path":271,"stem":272},{"title":276,"path":277,"stem":278},"Nuxt Module","\u002Fdocs\u002Fauth-h3client\u002Fgetting-started\u002Fnuxt","docs\u002Fauth-h3client\u002F00.getting-started\u002F00.nuxt",{"title":280,"path":281,"stem":282,"children":283},"Essentials","\u002Fdocs\u002Fauth-h3client\u002Fessentials","docs\u002Fauth-h3client\u002F01.essentials\u002Findex",[284,285,289,293,297,301,305,308,312],{"title":280,"path":281,"stem":282},{"title":286,"path":287,"stem":288},"Session Management","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fsession","docs\u002Fauth-h3client\u002F01.essentials\u002F00.session",{"title":290,"path":291,"stem":292},"Route Protection","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Froute-protection","docs\u002Fauth-h3client\u002F01.essentials\u002F01.route-protection",{"title":294,"path":295,"stem":296},"CSRF Protection","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fcsrf","docs\u002Fauth-h3client\u002F01.essentials\u002F02.csrf",{"title":298,"path":299,"stem":300},"Auth Flows","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fauth-flows","docs\u002Fauth-h3client\u002F01.essentials\u002F03.auth-flows",{"title":302,"path":303,"stem":304},"OAuth and OIDC","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Foauth","docs\u002Fauth-h3client\u002F01.essentials\u002F04.oauth",{"title":33,"path":306,"stem":307},"\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fbot-detection","docs\u002Fauth-h3client\u002F01.essentials\u002F05.bot-detection",{"title":309,"path":310,"stem":311},"Cookies","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fcookies","docs\u002Fauth-h3client\u002F01.essentials\u002F06.cookies",{"title":313,"path":314,"stem":315},"Logging","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Flogging","docs\u002Fauth-h3client\u002F01.essentials\u002F07.logging",{"title":317,"path":318,"stem":319,"children":320},"MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa","docs\u002Fauth-h3client\u002F02.mfa\u002Findex",[321,322,326,330,334,338],{"title":317,"path":318,"stem":319},{"title":323,"path":324,"stem":325},"Built-in MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fbuilt-in-flow","docs\u002Fauth-h3client\u002F02.mfa\u002F01.built-in-flow",{"title":327,"path":328,"stem":329},"Password Reset","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fpassword-reset","docs\u002Fauth-h3client\u002F02.mfa\u002F02.password-reset",{"title":331,"path":332,"stem":333},"Email Change","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Femail-change","docs\u002Fauth-h3client\u002F02.mfa\u002F03.email-change",{"title":335,"path":336,"stem":337},"Custom MFA Flow","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fcustom-flow","docs\u002Fauth-h3client\u002F02.mfa\u002F04.custom-flow",{"title":339,"path":340,"stem":341},"Client-Side MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fclient-side","docs\u002Fauth-h3client\u002F02.mfa\u002F05.client-side",{"title":343,"path":344,"stem":345,"children":346},"Client-side","\u002Fdocs\u002Fauth-h3client\u002Fclient","docs\u002Fauth-h3client\u002F03.client\u002Findex",[347,348,352,356,360],{"title":343,"path":344,"stem":345},{"title":349,"path":350,"stem":351},"useAuthData","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fuse-auth-data","docs\u002Fauth-h3client\u002F03.client\u002F00.use-auth-data",{"title":353,"path":354,"stem":355},"useMagicLink","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fuse-magic-link","docs\u002Fauth-h3client\u002F03.client\u002F01.use-magic-link",{"title":357,"path":358,"stem":359},"executeRequest","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fexecute-request","docs\u002Fauth-h3client\u002F03.client\u002F02.execute-request",{"title":361,"path":362,"stem":363},"getCsrfToken","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fget-csrf-token","docs\u002Fauth-h3client\u002F03.client\u002F03.get-csrf-token",{"title":38,"path":365,"stem":366},"\u002Fdocs\u002Fauth-h3client\u002Fsecurity","docs\u002Fauth-h3client\u002F04.security",{"title":368,"path":369,"stem":370,"children":371,"page":53},"Guides","\u002Fdocs\u002Fauth-h3client\u002Fguides","docs\u002Fauth-h3client\u002F05.guides",[372,376,380,384],{"title":373,"path":374,"stem":375},"H3 and Nitro Setup","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fh3-nitro","docs\u002Fauth-h3client\u002F05.guides\u002F00.h3-nitro",{"title":377,"path":378,"stem":379},"HMAC Inter-service Auth","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fhmac","docs\u002Fauth-h3client\u002F05.guides\u002Fhmac",{"title":381,"path":382,"stem":383},"Image Upload","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fimage-upload","docs\u002Fauth-h3client\u002F05.guides\u002Fimage-upload",{"title":385,"path":386,"stem":387},"mTLS Configuration","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fmtls","docs\u002Fauth-h3client\u002F05.guides\u002Fmtls",{"title":389,"path":390,"stem":391},"Configuration","\u002Fdocs\u002Fauth-h3client\u002Fconfiguration","docs\u002Fauth-h3client\u002F06.configuration",{"title":393,"path":394,"stem":395,"children":396},"API Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi","docs\u002Fauth-h3client\u002F07.api\u002Findex",[397,398,402,406,410],{"title":393,"path":394,"stem":395},{"title":399,"path":400,"stem":401},"Routes Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fcontrollers","docs\u002Fauth-h3client\u002F07.api\u002F00.controllers",{"title":403,"path":404,"stem":405},"Middleware Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fmiddleware","docs\u002Fauth-h3client\u002F07.api\u002F01.middleware",{"title":407,"path":408,"stem":409},"Client-side Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fcomposables","docs\u002Fauth-h3client\u002F07.api\u002F02.composables",{"title":70,"path":411,"stem":412},"\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Futilities","docs\u002Fauth-h3client\u002F07.api\u002F03.utilities",{"title":414,"path":35,"stem":415,"children":416},"Bot Detector","docs\u002Fbot-detection\u002Findex",[417,418,421,425,429,448,522,525,528],{"title":414,"path":35,"stem":415},{"title":14,"path":419,"stem":420},"\u002Fdocs\u002Fbot-detection\u002Fgetting-started","docs\u002Fbot-detection\u002F00.getting-started",{"title":422,"path":423,"stem":424},"CLI","\u002Fdocs\u002Fbot-detection\u002Fcli","docs\u002Fbot-detection\u002F01.cli",{"title":426,"path":427,"stem":428},"Data Sources","\u002Fdocs\u002Fbot-detection\u002Fdata-sources","docs\u002Fbot-detection\u002F02.data-sources",{"title":368,"path":430,"stem":431,"children":432,"page":53},"\u002Fdocs\u002Fbot-detection\u002Fguides","docs\u002Fbot-detection\u002F03.guides",[433,437,441,444],{"title":434,"path":435,"stem":436},"Custom Checkers","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fcustom","docs\u002Fbot-detection\u002F03.guides\u002FCUSTOM",{"title":438,"path":439,"stem":440},"Scheduling Database Generation","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fgenerate","docs\u002Fbot-detection\u002F03.guides\u002FGENERATE",{"title":313,"path":442,"stem":443},"\u002Fdocs\u002Fbot-detection\u002Fguides\u002Flogging","docs\u002Fbot-detection\u002F03.guides\u002FLOGGING",{"title":445,"path":446,"stem":447},"Score Modes and Reputation Healing","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fscore","docs\u002Fbot-detection\u002F03.guides\u002FSCORE",{"title":449,"path":450,"stem":451,"children":452},"Checkers","\u002Fdocs\u002Fbot-detection\u002Fcheckers","docs\u002Fbot-detection\u002F04.checkers\u002Findex",[453,454,458,462,466,470,474,478,482,486,490,494,498,502,506,510,514,518],{"title":449,"path":450,"stem":451},{"title":455,"path":456,"stem":457},"IP Validation","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fip-validation","docs\u002Fbot-detection\u002F04.checkers\u002F01.ip-validation",{"title":459,"path":460,"stem":461},"Good \u002F Bad Bot Verification","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fgood-bots","docs\u002Fbot-detection\u002F04.checkers\u002F02.good-bots",{"title":463,"path":464,"stem":465},"Browser & Device Fingerprint","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fbrowser-device","docs\u002Fbot-detection\u002F04.checkers\u002F03.browser-device",{"title":467,"path":468,"stem":469},"Locale Map","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Flocale-map","docs\u002Fbot-detection\u002F04.checkers\u002F04.locale-map",{"title":471,"path":472,"stem":473},"Known Threats","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-threats","docs\u002Fbot-detection\u002F04.checkers\u002F05.known-threats",{"title":475,"path":476,"stem":477},"ASN Classification","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fasn-classification","docs\u002Fbot-detection\u002F04.checkers\u002F06.asn-classification",{"title":479,"path":480,"stem":481},"Tor Analysis","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Ftor-analysis","docs\u002Fbot-detection\u002F04.checkers\u002F07.tor-analysis",{"title":483,"path":484,"stem":485},"Timezone Consistency","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Ftimezone-consistency","docs\u002Fbot-detection\u002F04.checkers\u002F08.timezone-consistency",{"title":487,"path":488,"stem":489},"Honeypot","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fhoneypot","docs\u002Fbot-detection\u002F04.checkers\u002F09.honeypot",{"title":491,"path":492,"stem":493},"Known Bad IPs","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-bad-ips","docs\u002Fbot-detection\u002F04.checkers\u002F10.known-bad-ips",{"title":495,"path":496,"stem":497},"Behavior Rate","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fbehavior-rate","docs\u002Fbot-detection\u002F04.checkers\u002F11.behavior-rate",{"title":499,"path":500,"stem":501},"Proxy \u002F ISP \u002F Cookie","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fproxy-isp-cookies","docs\u002Fbot-detection\u002F04.checkers\u002F12.proxy-isp-cookies",{"title":503,"path":504,"stem":505},"Session Coherence","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fsession-coherence","docs\u002Fbot-detection\u002F04.checkers\u002F13.session-coherence",{"title":507,"path":508,"stem":509},"Velocity Fingerprint","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fvelocity-fingerprint","docs\u002Fbot-detection\u002F04.checkers\u002F14.velocity-fingerprint",{"title":511,"path":512,"stem":513},"UA & Header Analysis","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fua-header","docs\u002Fbot-detection\u002F04.checkers\u002F15.ua-header",{"title":515,"path":516,"stem":517},"Geolocation","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fgeolocation","docs\u002Fbot-detection\u002F04.checkers\u002F16.geolocation",{"title":519,"path":520,"stem":521},"Known Bad User-Agents","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-bad-ua","docs\u002Fbot-detection\u002F04.checkers\u002F17.known-bad-ua",{"title":38,"path":523,"stem":524},"\u002Fdocs\u002Fbot-detection\u002Fsecurity","docs\u002Fbot-detection\u002F04.security",{"title":393,"path":526,"stem":527},"\u002Fdocs\u002Fbot-detection\u002Fapi","docs\u002Fbot-detection\u002F05.api",{"title":389,"path":529,"stem":530},"\u002Fdocs\u002Fbot-detection\u002Fconfiguration","docs\u002Fbot-detection\u002F06.configuration",{"title":532,"path":11,"stem":533,"children":534},"Introduction","docs\u002Fgetting-started\u002Findex",[535],{"title":532,"path":11,"stem":533},{"title":27,"path":29,"stem":537,"children":538},"docs\u002Fiam\u002Findex",[539,540,543,678,681,697,700],{"title":27,"path":29,"stem":537},{"title":14,"path":541,"stem":542},"\u002Fdocs\u002Fiam\u002Fgetting-started","docs\u002Fiam\u002F00.getting-started",{"title":280,"path":544,"stem":545,"children":546},"\u002Fdocs\u002Fiam\u002Fessentials","docs\u002Fiam\u002F01.essentials\u002Findex",[547,548,552,556,560,564,568,572,576,580,584,588,591,595,599,603,607,610,614,618,621,625,628],{"title":280,"path":544,"stem":545},{"title":549,"path":550,"stem":551},"Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Ftokens","docs\u002Fiam\u002F01.essentials\u002F00.tokens",{"title":553,"path":554,"stem":555},"Access Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Faccess-tokens","docs\u002Fiam\u002F01.essentials\u002F01.access-tokens",{"title":557,"path":558,"stem":559},"Refresh Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Frefresh-tokens","docs\u002Fiam\u002F01.essentials\u002F02.refresh-tokens",{"title":561,"path":562,"stem":563},"Anomaly Detection","\u002Fdocs\u002Fiam\u002Fessentials\u002Fanomalies","docs\u002Fiam\u002F01.essentials\u002F03.anomalies",{"title":565,"path":566,"stem":567},"Signup","\u002Fdocs\u002Fiam\u002Fessentials\u002Fsignup","docs\u002Fiam\u002F01.essentials\u002F04.signup",{"title":569,"path":570,"stem":571},"Login","\u002Fdocs\u002Fiam\u002Fessentials\u002Flogin","docs\u002Fiam\u002F01.essentials\u002F05.login",{"title":573,"path":574,"stem":575},"Logout","\u002Fdocs\u002Fiam\u002Fessentials\u002Flogout","docs\u002Fiam\u002F01.essentials\u002F06.logout",{"title":577,"path":578,"stem":579},"OAuth","\u002Fdocs\u002Fiam\u002Fessentials\u002Foauth","docs\u002Fiam\u002F01.essentials\u002F07.oauth",{"title":581,"path":582,"stem":583},"Magic Links","\u002Fdocs\u002Fiam\u002Fessentials\u002Fmagic-links","docs\u002Fiam\u002F01.essentials\u002F08.magic-links",{"title":585,"path":586,"stem":587},"Emails","\u002Fdocs\u002Fiam\u002Fessentials\u002Femails","docs\u002Fiam\u002F01.essentials\u002F09.emails",{"title":317,"path":589,"stem":590},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fmfa","docs\u002Fiam\u002F01.essentials\u002F10.mfa",{"title":592,"path":593,"stem":594},"Fingerprinting","\u002Fdocs\u002Fiam\u002Fessentials\u002Ffingerprinting","docs\u002Fiam\u002F01.essentials\u002F11.fingerprinting",{"title":596,"path":597,"stem":598},"Backend for Frontend","\u002Fdocs\u002Fiam\u002Fessentials\u002Fbff","docs\u002Fiam\u002F01.essentials\u002F12.bff",{"title":600,"path":601,"stem":602},"HMAC Authentication","\u002Fdocs\u002Fiam\u002Fessentials\u002Fhmac","docs\u002Fiam\u002F01.essentials\u002F13.hmac",{"title":604,"path":605,"stem":606},"XSS Protection","\u002Fdocs\u002Fiam\u002Fessentials\u002Fxss","docs\u002Fiam\u002F01.essentials\u002F14.xss",{"title":313,"path":608,"stem":609},"\u002Fdocs\u002Fiam\u002Fessentials\u002Flogging","docs\u002Fiam\u002F01.essentials\u002F15.logging",{"title":611,"path":612,"stem":613},"Rate Limiting","\u002Fdocs\u002Fiam\u002Fessentials\u002Frate-limiting","docs\u002Fiam\u002F01.essentials\u002F16.rate-limiting",{"title":615,"path":616,"stem":617},"Database","\u002Fdocs\u002Fiam\u002Fessentials\u002Fdatabase","docs\u002Fiam\u002F01.essentials\u002F17.database",{"title":309,"path":619,"stem":620},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fcookies","docs\u002Fiam\u002F01.essentials\u002F18.cookies",{"title":622,"path":623,"stem":624},"Service Startup","\u002Fdocs\u002Fiam\u002Fessentials\u002Fservice","docs\u002Fiam\u002F01.essentials\u002F19.service",{"title":327,"path":626,"stem":627},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fpassword-reset","docs\u002Fiam\u002F01.essentials\u002F20.password-reset",{"title":629,"path":630,"stem":631,"children":632},"API Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi","docs\u002Fiam\u002F01.essentials\u002F21.api\u002Findex",[633,634,638,642,672,675],{"title":629,"path":630,"stem":631},{"title":635,"path":636,"stem":637},"Creating Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fcreation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F00.creation",{"title":639,"path":640,"stem":641},"Verifying Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fverification","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F01.verification",{"title":643,"path":644,"stem":645,"children":646},"Manage Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002Findex",[647,648,652,656,660,664,668],{"title":643,"path":644,"stem":645},{"title":649,"path":650,"stem":651},"Privileges","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fprivilege","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F00.privilege",{"title":653,"path":654,"stem":655},"Revocation","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Frevocation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F01.revocation",{"title":657,"path":658,"stem":659},"Rotation","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Frotation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F02.rotation",{"title":661,"path":662,"stem":663},"IP Restriction","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fip-updates","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F03.ip-updates",{"title":665,"path":666,"stem":667},"Metadata","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fmetadata","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F04.metadata",{"title":669,"path":670,"stem":671},"Token Listing","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Flist","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F05.list",{"title":611,"path":673,"stem":674},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Frate-limiting","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F03.rate-limiting",{"title":38,"path":676,"stem":677},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fsecurity","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F04.security",{"title":38,"path":679,"stem":680},"\u002Fdocs\u002Fiam\u002Fsecurity","docs\u002Fiam\u002F02.security",{"title":368,"path":682,"stem":683,"children":684,"page":53},"\u002Fdocs\u002Fiam\u002Fguides","docs\u002Fiam\u002F03.guides",[685,689,693],{"title":686,"path":687,"stem":688},"Deployment","\u002Fdocs\u002Fiam\u002Fguides\u002Fdeployment","docs\u002Fiam\u002F03.guides\u002Fdeployment",{"title":690,"path":691,"stem":692},"Operation Scripts","\u002Fdocs\u002Fiam\u002Fguides\u002Foperation-scripts","docs\u002Fiam\u002F03.guides\u002Foperation-scripts",{"title":694,"path":695,"stem":696},"Role-Based Access Control","\u002Fdocs\u002Fiam\u002Fguides\u002Frbac","docs\u002Fiam\u002F03.guides\u002Frbac",{"title":389,"path":698,"stem":699},"\u002Fdocs\u002Fiam\u002Fconfiguration","docs\u002Fiam\u002F04.configuration",{"title":701,"path":702,"stem":703,"children":704,"page":53},"Api","\u002Fdocs\u002Fiam\u002Fapi","docs\u002Fiam\u002F05.API",[705,708,711],{"title":393,"path":706,"stem":707},"\u002Fdocs\u002Fiam\u002Fapi\u002Fapi","docs\u002Fiam\u002F05.API\u002F00.api",{"title":403,"path":709,"stem":710},"\u002Fdocs\u002Fiam\u002Fapi\u002Fmiddlewares","docs\u002Fiam\u002F05.API\u002F02.middlewares",{"title":399,"path":712,"stem":713},"\u002Fdocs\u002Fiam\u002Fapi\u002Froutes","docs\u002Fiam\u002F05.API\u002F03.routes",{"title":40,"path":42,"stem":715,"children":716},"docs\u002Fshield-base\u002Findex",[717,718,721,725,766,770,774,778],{"title":40,"path":42,"stem":715},{"title":14,"path":719,"stem":720},"\u002Fdocs\u002Fshield-base\u002Fgetting-started","docs\u002Fshield-base\u002F00.getting-started",{"title":722,"path":723,"stem":724},"CLI Reference","\u002Fdocs\u002Fshield-base\u002Fcli","docs\u002Fshield-base\u002F01.cli",{"title":426,"path":726,"stem":727,"children":728},"\u002Fdocs\u002Fshield-base\u002Fdata-sources","docs\u002Fshield-base\u002F02.data-sources\u002Findex",[729,730,734,738,742,746,750,754,758,762],{"title":426,"path":726,"stem":727},{"title":731,"path":732,"stem":733},"BGP \u002F ASN","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fbgp","docs\u002Fshield-base\u002F02.data-sources\u002Fbgp",{"title":735,"path":736,"stem":737},"City Geolocation","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcity","docs\u002Fshield-base\u002F02.data-sources\u002Fcity",{"title":739,"path":740,"stem":741},"Country Geolocation","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcountry","docs\u002Fshield-base\u002F02.data-sources\u002Fcountry",{"title":743,"path":744,"stem":745},"Verified Crawlers","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcrawlers","docs\u002Fshield-base\u002F02.data-sources\u002Fcrawlers",{"title":747,"path":748,"stem":749},"Disposable Emails","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Femail","docs\u002Fshield-base\u002F02.data-sources\u002Femail",{"title":751,"path":752,"stem":753},"FireHOL Threat Intelligence","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Ffirehol","docs\u002Fshield-base\u002F02.data-sources\u002Ffirehol",{"title":755,"path":756,"stem":757},"Proxy Detection","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fproxy","docs\u002Fshield-base\u002F02.data-sources\u002Fproxy",{"title":759,"path":760,"stem":761},"Tor Nodes","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Ftor","docs\u002Fshield-base\u002F02.data-sources\u002Ftor",{"title":763,"path":764,"stem":765},"Suspicious User-Agents","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fuseragent","docs\u002Fshield-base\u002F02.data-sources\u002Fuseragent",{"title":767,"path":768,"stem":769},"Programmatic Usage","\u002Fdocs\u002Fshield-base\u002Fusage","docs\u002Fshield-base\u002F03.usage",{"title":771,"path":772,"stem":773},"Custom Data Sources","\u002Fdocs\u002Fshield-base\u002Fcustom-data-sources","docs\u002Fshield-base\u002F04.custom-data-sources",{"title":775,"path":776,"stem":777},"TypeScript Types","\u002Fdocs\u002Fshield-base\u002Ftypes","docs\u002Fshield-base\u002F05.types",{"title":393,"path":779,"stem":780},"\u002Fdocs\u002Fshield-base\u002Fapi","docs\u002Fshield-base\u002F06.api",{"title":70,"path":48,"stem":71,"children":782},[783,784,789,798,823],{"title":70,"path":48,"stem":71},{"title":75,"path":76,"stem":77,"children":785,"page":53},[786,787,788],{"title":80,"path":81,"stem":82},{"title":84,"path":85,"stem":86},{"title":88,"path":89,"stem":90},{"title":92,"path":93,"stem":94,"children":790,"page":53},[791,792,793,794,795,796,797],{"title":97,"path":98,"stem":99},{"title":101,"path":102,"stem":103},{"title":105,"path":106,"stem":107},{"title":109,"path":110,"stem":111},{"title":113,"path":114,"stem":115},{"title":117,"path":118,"stem":119},{"title":121,"path":122,"stem":123},{"title":125,"path":126,"stem":127,"children":799,"page":53},[800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822],{"title":130,"path":131,"stem":132},{"title":134,"path":135,"stem":136},{"title":138,"path":139,"stem":140},{"title":142,"path":143,"stem":144},{"title":146,"path":147,"stem":148},{"title":150,"path":151,"stem":152},{"title":154,"path":155,"stem":156},{"title":158,"path":159,"stem":160},{"title":162,"path":163,"stem":164},{"title":166,"path":167,"stem":168},{"title":170,"path":171,"stem":172},{"title":174,"path":175,"stem":176},{"title":178,"path":179,"stem":180},{"title":182,"path":183,"stem":184},{"title":186,"path":187,"stem":188},{"title":190,"path":191,"stem":192},{"title":194,"path":195,"stem":196},{"title":198,"path":199,"stem":200},{"title":202,"path":203,"stem":204},{"title":206,"path":207,"stem":208},{"title":210,"path":211,"stem":212},{"title":214,"path":215,"stem":216},{"title":218,"path":219,"stem":220},{"title":222,"path":223,"stem":224,"children":824},[825,826,827,828,829,830,831,832,833,834],{"title":222,"path":223,"stem":224},{"title":228,"path":229,"stem":230},{"title":232,"path":233,"stem":234},{"title":236,"path":237,"stem":238},{"title":240,"path":241,"stem":242},{"title":244,"path":245,"stem":246},{"title":248,"path":249,"stem":250},{"title":252,"path":253,"stem":254},{"title":256,"path":257,"stem":258},{"title":260,"path":261,"stem":262},{"id":4,"extension":5,"links":836,"meta":847,"stem":62,"__hash__":63},[837,845,846],{"nested":8,"label":9,"icon":10,"to":11,"children":838},[839,840,841,842,843,844],{"label":14,"icon":15,"to":11,"description":16,"github":17,"badge":18},{"label":20,"icon":21,"to":22,"description":23,"github":24,"badge":25},{"label":27,"icon":28,"to":29,"description":30,"github":31,"badge":25},{"label":33,"icon":34,"to":35,"description":36,"github":37,"badge":38},{"label":40,"icon":41,"to":42,"description":43,"github":44,"badge":38},{"label":46,"icon":47,"to":48,"description":49,"github":50,"badge":51},{"nested":53,"label":54,"icon":55,"to":56},{"nested":53,"label":58,"icon":59,"to":60},{},{"id":849,"title":162,"body":850,"description":1584,"extension":1585,"icon":1586,"meta":1587,"module":1588,"navigation":8,"path":163,"rawbody":1589,"seo":1590,"stem":164,"__hash__":1591},"docs\u002Fdocs\u002Futils\u002Fshared\u002FfilterEmptyValues.md",{"type":851,"value":852,"toc":1576},"minimark",[853,869,874,1128,1136,1140,1208,1212,1217,1225,1335,1339,1348,1572],[854,855,856,857,860,861,864,865,868],"p",{},"The ",[858,859,162],"code",{}," utility is designed to clean arrays by removing ",[858,862,863],{},"null"," and ",[858,866,867],{},"undefined"," values. It supports both shallow filtering (the default) and recursive deep cleaning of nested arrays and objects.",[870,871,873],"h2",{"id":872},"definition","Definition",[875,876,882],"pre",{"className":877,"code":878,"filename":879,"language":880,"meta":881,"style":881},"language-ts shiki shiki-themes light-plus light-plus dracula","type DeepArray\u003CT> = (T | DeepArray\u003CT> | Record\u003Cstring, any> | null | undefined | false | \"\" | 0)[];\n\n\u002F**\n * Filters out `null` and `undefined` values from an array.\n * Optionally performs a deep cleanup on nested arrays and objects.\n *\n * @template T - The type of elements in the array.\n * @param array - The array to filter.\n * @param deep - If true, recursively cleans nested arrays and arrays found inside objects.\n * @returns A new array with `null` and `undefined` removed.\n *\u002F\nexport function filterEmptyValues\u003CT>(array: DeepArray\u003CT>, deep: boolean = false): T[]\n","filterEmptyValues.ts","ts","",[858,883,884,977,983,990,996,1002,1008,1024,1038,1051,1062,1068],{"__ignoreMap":881},[885,886,889,893,897,901,905,908,912,915,917,920,922,924,926,928,931,934,936,939,942,945,947,949,952,954,957,959,962,964,968,970,974],"span",{"class":887,"line":888},"line",1,[885,890,892],{"class":891},"sl46w","type",[885,894,896],{"class":895},"sFs1U"," DeepArray",[885,898,900],{"class":899},"sDd4n","\u003C",[885,902,904],{"class":903},"sW-rI","T",[885,906,907],{"class":899},"> ",[885,909,911],{"class":910},"saOXh","=",[885,913,914],{"class":899}," (",[885,916,904],{"class":895},[885,918,919],{"class":910}," |",[885,921,896],{"class":895},[885,923,900],{"class":899},[885,925,904],{"class":903},[885,927,907],{"class":899},[885,929,930],{"class":910},"|",[885,932,933],{"class":895}," Record",[885,935,900],{"class":899},[885,937,938],{"class":895},"string",[885,940,941],{"class":899},", ",[885,943,944],{"class":895},"any",[885,946,907],{"class":899},[885,948,930],{"class":910},[885,950,951],{"class":895}," null",[885,953,919],{"class":910},[885,955,956],{"class":895}," undefined",[885,958,919],{"class":910},[885,960,961],{"class":895}," false",[885,963,919],{"class":910},[885,965,967],{"class":966},"sFkSl"," \"\"",[885,969,919],{"class":910},[885,971,973],{"class":972},"spgvN"," 0",[885,975,976],{"class":899},")[];\n",[885,978,980],{"class":887,"line":979},2,[885,981,982],{"emptyLinePlaceholder":8},"\n",[885,984,986],{"class":887,"line":985},3,[885,987,989],{"class":988},"sghk6","\u002F**\n",[885,991,993],{"class":887,"line":992},4,[885,994,995],{"class":988}," * Filters out `null` and `undefined` values from an array.\n",[885,997,999],{"class":887,"line":998},5,[885,1000,1001],{"class":988}," * Optionally performs a deep cleanup on nested arrays and objects.\n",[885,1003,1005],{"class":887,"line":1004},6,[885,1006,1007],{"class":988}," *\n",[885,1009,1011,1014,1017,1021],{"class":887,"line":1010},7,[885,1012,1013],{"class":988}," * ",[885,1015,1016],{"class":891},"@template",[885,1018,1020],{"class":1019},"sygFZ"," T",[885,1022,1023],{"class":988}," - The type of elements in the array.\n",[885,1025,1027,1029,1032,1035],{"class":887,"line":1026},8,[885,1028,1013],{"class":988},[885,1030,1031],{"class":891},"@param",[885,1033,1034],{"class":1019}," array",[885,1036,1037],{"class":988}," - The array to filter.\n",[885,1039,1041,1043,1045,1048],{"class":887,"line":1040},9,[885,1042,1013],{"class":988},[885,1044,1031],{"class":891},[885,1046,1047],{"class":1019}," deep",[885,1049,1050],{"class":988}," - If true, recursively cleans nested arrays and arrays found inside objects.\n",[885,1052,1054,1056,1059],{"class":887,"line":1053},10,[885,1055,1013],{"class":988},[885,1057,1058],{"class":891},"@returns",[885,1060,1061],{"class":988}," A new array with `null` and `undefined` removed.\n",[885,1063,1065],{"class":887,"line":1064},11,[885,1066,1067],{"class":988}," *\u002F\n",[885,1069,1071,1075,1078,1082,1084,1086,1089,1092,1095,1097,1099,1101,1104,1107,1109,1112,1115,1118,1121,1123,1125],{"class":887,"line":1070},12,[885,1072,1074],{"class":1073},"sZ328","export",[885,1076,1077],{"class":891}," function",[885,1079,1081],{"class":1080},"sHOzp"," filterEmptyValues",[885,1083,900],{"class":899},[885,1085,904],{"class":903},[885,1087,1088],{"class":899},">(",[885,1090,1091],{"class":1019},"array",[885,1093,1094],{"class":910},":",[885,1096,896],{"class":895},[885,1098,900],{"class":899},[885,1100,904],{"class":903},[885,1102,1103],{"class":899},">, ",[885,1105,1106],{"class":1019},"deep",[885,1108,1094],{"class":910},[885,1110,1111],{"class":895}," boolean",[885,1113,1114],{"class":910}," =",[885,1116,961],{"class":1117},"sjR7W",[885,1119,1120],{"class":899},")",[885,1122,1094],{"class":910},[885,1124,1020],{"class":895},[885,1126,1127],{"class":899},"[]\n",[1129,1130,1133],"callout",{"color":1131,"icon":1132},"error","i-lucide-alert-circle",[854,1134,1135],{},"Avoid passing directly untrusted data or a payload you not strictly defined.\nMalicious users can paste huge payloads that would crash your server.",[870,1137,1139],{"id":1138},"parameters","Parameters",[1141,1142,1143,1162],"table",{},[1144,1145,1146],"thead",{},[1147,1148,1149,1153,1156,1159],"tr",{},[1150,1151,1152],"th",{},"Parameter",[1150,1154,1155],{},"Type",[1150,1157,1158],{},"Required",[1150,1160,1161],{},"Description",[1163,1164,1165,1183],"tbody",{},[1147,1166,1167,1172,1177,1180],{},[1168,1169,1170],"td",{},[858,1171,1091],{},[1168,1173,1174],{},[858,1175,1176],{},"DeepArray\u003CT>",[1168,1178,1179],{},"Yes",[1168,1181,1182],{},"The input array containing potential empty values.",[1147,1184,1185,1189,1194,1197],{},[1168,1186,1187],{},[858,1188,1106],{},[1168,1190,1191],{},[858,1192,1193],{},"boolean",[1168,1195,1196],{},"No",[1168,1198,1199,1200,1203,1204,1207],{},"If ",[858,1201,1202],{},"true",", the utility will recursively filter nested arrays and objects. Defaults to ",[858,1205,1206],{},"false",".",[870,1209,1211],{"id":1210},"example-usage","Example Usage",[1213,1214,1216],"h3",{"id":1215},"shallow-filter","Shallow Filter",[854,1218,1219,1220,864,1222,1224],{},"By default, the utility only removes ",[858,1221,863],{},[858,1223,867],{}," from the top-level array.",[875,1226,1231],{"className":1227,"code":1228,"filename":1229,"language":1230,"meta":881,"style":881},"language-typescript shiki shiki-themes light-plus light-plus dracula","import { filterEmptyValues } from '@riavzon\u002Futils'\n\nconst input = [1, null, undefined, 0, false, \"\"];\nconst result = filterEmptyValues(input);\n\n\u002F\u002F Result: [1, 0, false, \"\"]\n","example-shallow.ts","typescript",[858,1232,1233,1260,1264,1306,1326,1330],{"__ignoreMap":881},[885,1234,1235,1238,1241,1244,1247,1250,1253,1257],{"class":887,"line":888},[885,1236,1237],{"class":1073},"import",[885,1239,1240],{"class":899}," { ",[885,1242,162],{"class":1243},"sjsA6",[885,1245,1246],{"class":899}," } ",[885,1248,1249],{"class":1073},"from",[885,1251,1252],{"class":966}," '",[885,1254,1256],{"class":1255},"sFB1V","@riavzon\u002Futils",[885,1258,1259],{"class":966},"'\n",[885,1261,1262],{"class":887,"line":979},[885,1263,982],{"emptyLinePlaceholder":8},[885,1265,1266,1269,1273,1275,1278,1281,1283,1285,1287,1289,1291,1294,1296,1298,1300,1303],{"class":887,"line":985},[885,1267,1268],{"class":891},"const",[885,1270,1272],{"class":1271},"s3JHE"," input",[885,1274,1114],{"class":910},[885,1276,1277],{"class":899}," [",[885,1279,1280],{"class":972},"1",[885,1282,941],{"class":899},[885,1284,863],{"class":1117},[885,1286,941],{"class":899},[885,1288,867],{"class":1117},[885,1290,941],{"class":899},[885,1292,1293],{"class":972},"0",[885,1295,941],{"class":899},[885,1297,1206],{"class":1117},[885,1299,941],{"class":899},[885,1301,1302],{"class":966},"\"\"",[885,1304,1305],{"class":899},"];\n",[885,1307,1308,1310,1313,1315,1317,1320,1323],{"class":887,"line":992},[885,1309,1268],{"class":891},[885,1311,1312],{"class":1271}," result",[885,1314,1114],{"class":910},[885,1316,1081],{"class":1080},[885,1318,1319],{"class":899},"(",[885,1321,1322],{"class":1243},"input",[885,1324,1325],{"class":899},");\n",[885,1327,1328],{"class":887,"line":998},[885,1329,982],{"emptyLinePlaceholder":8},[885,1331,1332],{"class":887,"line":1004},[885,1333,1334],{"class":988},"\u002F\u002F Result: [1, 0, false, \"\"]\n",[1213,1336,1338],{"id":1337},"deep-filter","Deep Filter",[854,1340,1341,1342,1344,1345,1347],{},"When ",[858,1343,1106],{}," is set to ",[858,1346,1202],{},", the utility recursively cleans nested structures.",[875,1349,1352],{"className":1227,"code":1350,"filename":1351,"language":1230,"meta":881,"style":881},"import { filterEmptyValues } from '@riavzon\u002Futils'\n\nconst input = [\n  1,\n  null,\n  {\n    val: [2, null],\n    meta: { status: undefined, code: 200 }\n  },\n  [3, undefined]\n];\n\nconst result = filterEmptyValues(input, true);\n\n\u002F*\nResult:\n[\n  1,\n  {\n    val: [2],\n    meta: { code: 200 }\n  },\n  [3]\n]\n*\u002F\n","example-deep.ts",[858,1353,1354,1372,1376,1387,1395,1402,1407,1427,1455,1460,1475,1479,1483,1504,1509,1515,1521,1527,1533,1538,1544,1550,1555,1561,1566],{"__ignoreMap":881},[885,1355,1356,1358,1360,1362,1364,1366,1368,1370],{"class":887,"line":888},[885,1357,1237],{"class":1073},[885,1359,1240],{"class":899},[885,1361,162],{"class":1243},[885,1363,1246],{"class":899},[885,1365,1249],{"class":1073},[885,1367,1252],{"class":966},[885,1369,1256],{"class":1255},[885,1371,1259],{"class":966},[885,1373,1374],{"class":887,"line":979},[885,1375,982],{"emptyLinePlaceholder":8},[885,1377,1378,1380,1382,1384],{"class":887,"line":985},[885,1379,1268],{"class":891},[885,1381,1272],{"class":1271},[885,1383,1114],{"class":910},[885,1385,1386],{"class":899}," [\n",[885,1388,1389,1392],{"class":887,"line":992},[885,1390,1391],{"class":972},"  1",[885,1393,1394],{"class":899},",\n",[885,1396,1397,1400],{"class":887,"line":998},[885,1398,1399],{"class":1117},"  null",[885,1401,1394],{"class":899},[885,1403,1404],{"class":887,"line":1004},[885,1405,1406],{"class":899},"  {\n",[885,1408,1409,1412,1415,1417,1420,1422,1424],{"class":887,"line":1010},[885,1410,1411],{"class":1243},"    val",[885,1413,1094],{"class":1414},"s34zl",[885,1416,1277],{"class":899},[885,1418,1419],{"class":972},"2",[885,1421,941],{"class":899},[885,1423,863],{"class":1117},[885,1425,1426],{"class":899},"],\n",[885,1428,1429,1432,1434,1436,1439,1441,1443,1445,1447,1449,1452],{"class":887,"line":1026},[885,1430,1431],{"class":1243},"    meta",[885,1433,1094],{"class":1414},[885,1435,1240],{"class":899},[885,1437,1438],{"class":1243},"status",[885,1440,1094],{"class":1414},[885,1442,956],{"class":1117},[885,1444,941],{"class":899},[885,1446,858],{"class":1243},[885,1448,1094],{"class":1414},[885,1450,1451],{"class":972}," 200",[885,1453,1454],{"class":899}," }\n",[885,1456,1457],{"class":887,"line":1040},[885,1458,1459],{"class":899},"  },\n",[885,1461,1462,1465,1468,1470,1472],{"class":887,"line":1053},[885,1463,1464],{"class":899},"  [",[885,1466,1467],{"class":972},"3",[885,1469,941],{"class":899},[885,1471,867],{"class":1117},[885,1473,1474],{"class":899},"]\n",[885,1476,1477],{"class":887,"line":1064},[885,1478,1305],{"class":899},[885,1480,1481],{"class":887,"line":1070},[885,1482,982],{"emptyLinePlaceholder":8},[885,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502],{"class":887,"line":1485},13,[885,1487,1268],{"class":891},[885,1489,1312],{"class":1271},[885,1491,1114],{"class":910},[885,1493,1081],{"class":1080},[885,1495,1319],{"class":899},[885,1497,1322],{"class":1243},[885,1499,941],{"class":899},[885,1501,1202],{"class":1117},[885,1503,1325],{"class":899},[885,1505,1507],{"class":887,"line":1506},14,[885,1508,982],{"emptyLinePlaceholder":8},[885,1510,1512],{"class":887,"line":1511},15,[885,1513,1514],{"class":988},"\u002F*\n",[885,1516,1518],{"class":887,"line":1517},16,[885,1519,1520],{"class":988},"Result:\n",[885,1522,1524],{"class":887,"line":1523},17,[885,1525,1526],{"class":988},"[\n",[885,1528,1530],{"class":887,"line":1529},18,[885,1531,1532],{"class":988},"  1,\n",[885,1534,1536],{"class":887,"line":1535},19,[885,1537,1406],{"class":988},[885,1539,1541],{"class":887,"line":1540},20,[885,1542,1543],{"class":988},"    val: [2],\n",[885,1545,1547],{"class":887,"line":1546},21,[885,1548,1549],{"class":988},"    meta: { code: 200 }\n",[885,1551,1553],{"class":887,"line":1552},22,[885,1554,1459],{"class":988},[885,1556,1558],{"class":887,"line":1557},23,[885,1559,1560],{"class":988},"  [3]\n",[885,1562,1564],{"class":887,"line":1563},24,[885,1565,1474],{"class":988},[885,1567,1569],{"class":887,"line":1568},25,[885,1570,1571],{"class":988},"*\u002F\n",[1573,1574,1575],"style",{},"html pre.shiki code .sl46w, html code.shiki .sl46w{--shiki-light:#0000FF;--shiki-default:#0000FF;--shiki-dark:#FF79C6}html pre.shiki code .sFs1U, html code.shiki .sFs1U{--shiki-light:#267F99;--shiki-light-font-style:inherit;--shiki-default:#267F99;--shiki-default-font-style:inherit;--shiki-dark:#8BE9FD;--shiki-dark-font-style:italic}html pre.shiki code .sDd4n, html code.shiki .sDd4n{--shiki-light:#000000;--shiki-default:#000000;--shiki-dark:#F8F8F2}html pre.shiki code .sW-rI, html code.shiki .sW-rI{--shiki-light:#267F99;--shiki-light-font-style:inherit;--shiki-default:#267F99;--shiki-default-font-style:inherit;--shiki-dark:#FFB86C;--shiki-dark-font-style:italic}html pre.shiki code .saOXh, html code.shiki .saOXh{--shiki-light:#000000;--shiki-default:#000000;--shiki-dark:#FF79C6}html pre.shiki code .sFkSl, html code.shiki .sFkSl{--shiki-light:#A31515;--shiki-default:#A31515;--shiki-dark:#E9F284}html pre.shiki code .spgvN, html code.shiki .spgvN{--shiki-light:#098658;--shiki-default:#098658;--shiki-dark:#BD93F9}html pre.shiki code .sghk6, html code.shiki .sghk6{--shiki-light:#008000;--shiki-default:#008000;--shiki-dark:#6272A4}html pre.shiki code .sygFZ, html code.shiki .sygFZ{--shiki-light:#001080;--shiki-light-font-style:inherit;--shiki-default:#001080;--shiki-default-font-style:inherit;--shiki-dark:#FFB86C;--shiki-dark-font-style:italic}html pre.shiki code .sZ328, html code.shiki .sZ328{--shiki-light:#AF00DB;--shiki-default:#AF00DB;--shiki-dark:#FF79C6}html pre.shiki code .sHOzp, html code.shiki .sHOzp{--shiki-light:#795E26;--shiki-default:#795E26;--shiki-dark:#50FA7B}html pre.shiki code .sjR7W, html code.shiki .sjR7W{--shiki-light:#0000FF;--shiki-default:#0000FF;--shiki-dark:#BD93F9}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}html pre.shiki code .sjsA6, html code.shiki .sjsA6{--shiki-light:#001080;--shiki-default:#001080;--shiki-dark:#F8F8F2}html pre.shiki code .sFB1V, html code.shiki .sFB1V{--shiki-light:#A31515;--shiki-default:#A31515;--shiki-dark:#F1FA8C}html pre.shiki code .s3JHE, html code.shiki .s3JHE{--shiki-light:#0070C1;--shiki-default:#0070C1;--shiki-dark:#F8F8F2}html pre.shiki code .s34zl, html code.shiki .s34zl{--shiki-light:#001080;--shiki-default:#001080;--shiki-dark:#FF79C6}",{"title":881,"searchDepth":979,"depth":979,"links":1577},[1578,1579,1580],{"id":872,"depth":979,"text":873},{"id":1138,"depth":979,"text":1139},{"id":1210,"depth":979,"text":1211,"children":1581},[1582,1583],{"id":1215,"depth":985,"text":1216},{"id":1337,"depth":985,"text":1338},"Filters out `null` and `undefined` values from an array, with optional deep cleaning.","md","i-lucide-filter",{},null,"---\ntitle: filterEmptyValues\ndescription: Filters out `null` and `undefined` values from an array, with optional deep cleaning.\nicon: i-lucide-filter\n---\n\nThe `filterEmptyValues` utility is designed to clean arrays by removing `null` and `undefined` values. It supports both shallow filtering (the default) and recursive deep cleaning of nested arrays and objects.\n\n## Definition\n\n```ts [filterEmptyValues.ts]\ntype DeepArray\u003CT> = (T | DeepArray\u003CT> | Record\u003Cstring, any> | null | undefined | false | \"\" | 0)[];\n\n\u002F**\n * Filters out `null` and `undefined` values from an array.\n * Optionally performs a deep cleanup on nested arrays and objects.\n *\n * @template T - The type of elements in the array.\n * @param array - The array to filter.\n * @param deep - If true, recursively cleans nested arrays and arrays found inside objects.\n * @returns A new array with `null` and `undefined` removed.\n *\u002F\nexport function filterEmptyValues\u003CT>(array: DeepArray\u003CT>, deep: boolean = false): T[]\n```\n\n::callout{icon=\"i-lucide-alert-circle\" color=\"error\"}\nAvoid passing directly untrusted data or a payload you not strictly defined.\nMalicious users can paste huge payloads that would crash your server.\n::\n\n## Parameters\n| Parameter | Type | Required | Description |\n| --- | --- | --- | --- |\n| `array` | `DeepArray\u003CT>` | Yes | The input array containing potential empty values. |\n| `deep` | `boolean` | No | If `true`, the utility will recursively filter nested arrays and objects. Defaults to `false`. |\n\n## Example Usage\n\n### Shallow Filter\nBy default, the utility only removes `null` and `undefined` from the top-level array.\n\n```typescript [example-shallow.ts]\nimport { filterEmptyValues } from '@riavzon\u002Futils'\n\nconst input = [1, null, undefined, 0, false, \"\"];\nconst result = filterEmptyValues(input);\n\n\u002F\u002F Result: [1, 0, false, \"\"]\n```\n\n### Deep Filter\nWhen `deep` is set to `true`, the utility recursively cleans nested structures.\n\n```typescript [example-deep.ts]\nimport { filterEmptyValues } from '@riavzon\u002Futils'\n\nconst input = [\n  1,\n  null,\n  {\n    val: [2, null],\n    meta: { status: undefined, code: 200 }\n  },\n  [3, undefined]\n];\n\nconst result = filterEmptyValues(input, true);\n\n\u002F*\nResult:\n[\n  1,\n  {\n    val: [2],\n    meta: { code: 200 }\n  },\n  [3]\n]\n*\u002F\n```\n",{"title":162,"description":1584},"bn2wUDQYAEh_ad0b5SsqBIjaKmXs8yI_KSfhKxWVv3U",[1593,1594],{"title":158,"path":159,"stem":160,"children":-1},{"title":166,"path":167,"stem":168,"children":-1},{"id":849,"title":162,"body":1596,"description":1584,"extension":1585,"icon":1586,"meta":2132,"module":1588,"navigation":8,"path":163,"rawbody":1589,"seo":2133,"stem":164,"__hash__":1591},{"type":851,"value":1597,"toc":2124},[1598,1606,1608,1782,1786,1788,1836,1838,1840,1846,1930,1932,1938,2122],[854,1599,856,1600,860,1602,864,1604,868],{},[858,1601,162],{},[858,1603,863],{},[858,1605,867],{},[870,1607,873],{"id":872},[875,1609,1610],{"className":877,"code":878,"filename":879,"language":880,"meta":881,"style":881},[858,1611,1612,1676,1680,1684,1688,1692,1696,1706,1716,1726,1734,1738],{"__ignoreMap":881},[885,1613,1614,1616,1618,1620,1622,1624,1626,1628,1630,1632,1634,1636,1638,1640,1642,1644,1646,1648,1650,1652,1654,1656,1658,1660,1662,1664,1666,1668,1670,1672,1674],{"class":887,"line":888},[885,1615,892],{"class":891},[885,1617,896],{"class":895},[885,1619,900],{"class":899},[885,1621,904],{"class":903},[885,1623,907],{"class":899},[885,1625,911],{"class":910},[885,1627,914],{"class":899},[885,1629,904],{"class":895},[885,1631,919],{"class":910},[885,1633,896],{"class":895},[885,1635,900],{"class":899},[885,1637,904],{"class":903},[885,1639,907],{"class":899},[885,1641,930],{"class":910},[885,1643,933],{"class":895},[885,1645,900],{"class":899},[885,1647,938],{"class":895},[885,1649,941],{"class":899},[885,1651,944],{"class":895},[885,1653,907],{"class":899},[885,1655,930],{"class":910},[885,1657,951],{"class":895},[885,1659,919],{"class":910},[885,1661,956],{"class":895},[885,1663,919],{"class":910},[885,1665,961],{"class":895},[885,1667,919],{"class":910},[885,1669,967],{"class":966},[885,1671,919],{"class":910},[885,1673,973],{"class":972},[885,1675,976],{"class":899},[885,1677,1678],{"class":887,"line":979},[885,1679,982],{"emptyLinePlaceholder":8},[885,1681,1682],{"class":887,"line":985},[885,1683,989],{"class":988},[885,1685,1686],{"class":887,"line":992},[885,1687,995],{"class":988},[885,1689,1690],{"class":887,"line":998},[885,1691,1001],{"class":988},[885,1693,1694],{"class":887,"line":1004},[885,1695,1007],{"class":988},[885,1697,1698,1700,1702,1704],{"class":887,"line":1010},[885,1699,1013],{"class":988},[885,1701,1016],{"class":891},[885,1703,1020],{"class":1019},[885,1705,1023],{"class":988},[885,1707,1708,1710,1712,1714],{"class":887,"line":1026},[885,1709,1013],{"class":988},[885,1711,1031],{"class":891},[885,1713,1034],{"class":1019},[885,1715,1037],{"class":988},[885,1717,1718,1720,1722,1724],{"class":887,"line":1040},[885,1719,1013],{"class":988},[885,1721,1031],{"class":891},[885,1723,1047],{"class":1019},[885,1725,1050],{"class":988},[885,1727,1728,1730,1732],{"class":887,"line":1053},[885,1729,1013],{"class":988},[885,1731,1058],{"class":891},[885,1733,1061],{"class":988},[885,1735,1736],{"class":887,"line":1064},[885,1737,1067],{"class":988},[885,1739,1740,1742,1744,1746,1748,1750,1752,1754,1756,1758,1760,1762,1764,1766,1768,1770,1772,1774,1776,1778,1780],{"class":887,"line":1070},[885,1741,1074],{"class":1073},[885,1743,1077],{"class":891},[885,1745,1081],{"class":1080},[885,1747,900],{"class":899},[885,1749,904],{"class":903},[885,1751,1088],{"class":899},[885,1753,1091],{"class":1019},[885,1755,1094],{"class":910},[885,1757,896],{"class":895},[885,1759,900],{"class":899},[885,1761,904],{"class":903},[885,1763,1103],{"class":899},[885,1765,1106],{"class":1019},[885,1767,1094],{"class":910},[885,1769,1111],{"class":895},[885,1771,1114],{"class":910},[885,1773,961],{"class":1117},[885,1775,1120],{"class":899},[885,1777,1094],{"class":910},[885,1779,1020],{"class":895},[885,1781,1127],{"class":899},[1129,1783,1784],{"color":1131,"icon":1132},[854,1785,1135],{},[870,1787,1139],{"id":1138},[1141,1789,1790,1802],{},[1144,1791,1792],{},[1147,1793,1794,1796,1798,1800],{},[1150,1795,1152],{},[1150,1797,1155],{},[1150,1799,1158],{},[1150,1801,1161],{},[1163,1803,1804,1818],{},[1147,1805,1806,1810,1814,1816],{},[1168,1807,1808],{},[858,1809,1091],{},[1168,1811,1812],{},[858,1813,1176],{},[1168,1815,1179],{},[1168,1817,1182],{},[1147,1819,1820,1824,1828,1830],{},[1168,1821,1822],{},[858,1823,1106],{},[1168,1825,1826],{},[858,1827,1193],{},[1168,1829,1196],{},[1168,1831,1199,1832,1203,1834,1207],{},[858,1833,1202],{},[858,1835,1206],{},[870,1837,1211],{"id":1210},[1213,1839,1216],{"id":1215},[854,1841,1219,1842,864,1844,1224],{},[858,1843,863],{},[858,1845,867],{},[875,1847,1848],{"className":1227,"code":1228,"filename":1229,"language":1230,"meta":881,"style":881},[858,1849,1850,1868,1872,1906,1922,1926],{"__ignoreMap":881},[885,1851,1852,1854,1856,1858,1860,1862,1864,1866],{"class":887,"line":888},[885,1853,1237],{"class":1073},[885,1855,1240],{"class":899},[885,1857,162],{"class":1243},[885,1859,1246],{"class":899},[885,1861,1249],{"class":1073},[885,1863,1252],{"class":966},[885,1865,1256],{"class":1255},[885,1867,1259],{"class":966},[885,1869,1870],{"class":887,"line":979},[885,1871,982],{"emptyLinePlaceholder":8},[885,1873,1874,1876,1878,1880,1882,1884,1886,1888,1890,1892,1894,1896,1898,1900,1902,1904],{"class":887,"line":985},[885,1875,1268],{"class":891},[885,1877,1272],{"class":1271},[885,1879,1114],{"class":910},[885,1881,1277],{"class":899},[885,1883,1280],{"class":972},[885,1885,941],{"class":899},[885,1887,863],{"class":1117},[885,1889,941],{"class":899},[885,1891,867],{"class":1117},[885,1893,941],{"class":899},[885,1895,1293],{"class":972},[885,1897,941],{"class":899},[885,1899,1206],{"class":1117},[885,1901,941],{"class":899},[885,1903,1302],{"class":966},[885,1905,1305],{"class":899},[885,1907,1908,1910,1912,1914,1916,1918,1920],{"class":887,"line":992},[885,1909,1268],{"class":891},[885,1911,1312],{"class":1271},[885,1913,1114],{"class":910},[885,1915,1081],{"class":1080},[885,1917,1319],{"class":899},[885,1919,1322],{"class":1243},[885,1921,1325],{"class":899},[885,1923,1924],{"class":887,"line":998},[885,1925,982],{"emptyLinePlaceholder":8},[885,1927,1928],{"class":887,"line":1004},[885,1929,1334],{"class":988},[1213,1931,1338],{"id":1337},[854,1933,1341,1934,1344,1936,1347],{},[858,1935,1106],{},[858,1937,1202],{},[875,1939,1940],{"className":1227,"code":1350,"filename":1351,"language":1230,"meta":881,"style":881},[858,1941,1942,1960,1964,1974,1980,1986,1990,2006,2030,2034,2046,2050,2054,2074,2078,2082,2086,2090,2094,2098,2102,2106,2110,2114,2118],{"__ignoreMap":881},[885,1943,1944,1946,1948,1950,1952,1954,1956,1958],{"class":887,"line":888},[885,1945,1237],{"class":1073},[885,1947,1240],{"class":899},[885,1949,162],{"class":1243},[885,1951,1246],{"class":899},[885,1953,1249],{"class":1073},[885,1955,1252],{"class":966},[885,1957,1256],{"class":1255},[885,1959,1259],{"class":966},[885,1961,1962],{"class":887,"line":979},[885,1963,982],{"emptyLinePlaceholder":8},[885,1965,1966,1968,1970,1972],{"class":887,"line":985},[885,1967,1268],{"class":891},[885,1969,1272],{"class":1271},[885,1971,1114],{"class":910},[885,1973,1386],{"class":899},[885,1975,1976,1978],{"class":887,"line":992},[885,1977,1391],{"class":972},[885,1979,1394],{"class":899},[885,1981,1982,1984],{"class":887,"line":998},[885,1983,1399],{"class":1117},[885,1985,1394],{"class":899},[885,1987,1988],{"class":887,"line":1004},[885,1989,1406],{"class":899},[885,1991,1992,1994,1996,1998,2000,2002,2004],{"class":887,"line":1010},[885,1993,1411],{"class":1243},[885,1995,1094],{"class":1414},[885,1997,1277],{"class":899},[885,1999,1419],{"class":972},[885,2001,941],{"class":899},[885,2003,863],{"class":1117},[885,2005,1426],{"class":899},[885,2007,2008,2010,2012,2014,2016,2018,2020,2022,2024,2026,2028],{"class":887,"line":1026},[885,2009,1431],{"class":1243},[885,2011,1094],{"class":1414},[885,2013,1240],{"class":899},[885,2015,1438],{"class":1243},[885,2017,1094],{"class":1414},[885,2019,956],{"class":1117},[885,2021,941],{"class":899},[885,2023,858],{"class":1243},[885,2025,1094],{"class":1414},[885,2027,1451],{"class":972},[885,2029,1454],{"class":899},[885,2031,2032],{"class":887,"line":1040},[885,2033,1459],{"class":899},[885,2035,2036,2038,2040,2042,2044],{"class":887,"line":1053},[885,2037,1464],{"class":899},[885,2039,1467],{"class":972},[885,2041,941],{"class":899},[885,2043,867],{"class":1117},[885,2045,1474],{"class":899},[885,2047,2048],{"class":887,"line":1064},[885,2049,1305],{"class":899},[885,2051,2052],{"class":887,"line":1070},[885,2053,982],{"emptyLinePlaceholder":8},[885,2055,2056,2058,2060,2062,2064,2066,2068,2070,2072],{"class":887,"line":1485},[885,2057,1268],{"class":891},[885,2059,1312],{"class":1271},[885,2061,1114],{"class":910},[885,2063,1081],{"class":1080},[885,2065,1319],{"class":899},[885,2067,1322],{"class":1243},[885,2069,941],{"class":899},[885,2071,1202],{"class":1117},[885,2073,1325],{"class":899},[885,2075,2076],{"class":887,"line":1506},[885,2077,982],{"emptyLinePlaceholder":8},[885,2079,2080],{"class":887,"line":1511},[885,2081,1514],{"class":988},[885,2083,2084],{"class":887,"line":1517},[885,2085,1520],{"class":988},[885,2087,2088],{"class":887,"line":1523},[885,2089,1526],{"class":988},[885,2091,2092],{"class":887,"line":1529},[885,2093,1532],{"class":988},[885,2095,2096],{"class":887,"line":1535},[885,2097,1406],{"class":988},[885,2099,2100],{"class":887,"line":1540},[885,2101,1543],{"class":988},[885,2103,2104],{"class":887,"line":1546},[885,2105,1549],{"class":988},[885,2107,2108],{"class":887,"line":1552},[885,2109,1459],{"class":988},[885,2111,2112],{"class":887,"line":1557},[885,2113,1560],{"class":988},[885,2115,2116],{"class":887,"line":1563},[885,2117,1474],{"class":988},[885,2119,2120],{"class":887,"line":1568},[885,2121,1571],{"class":988},[1573,2123,1575],{},{"title":881,"searchDepth":979,"depth":979,"links":2125},[2126,2127,2128],{"id":872,"depth":979,"text":873},{"id":1138,"depth":979,"text":1139},{"id":1210,"depth":979,"text":1211,"children":2129},[2130,2131],{"id":1215,"depth":985,"text":1216},{"id":1337,"depth":985,"text":1338},{},{"title":162,"description":1584},1780436296970]