[{"data":1,"prerenderedAt":2515},["ShallowReactive",2],{"navLinks":3,"sidebar_docs_navigation_\u002Fdocs\u002Futils":64,"navigation":263,"navLinks_footer":835,"\u002Fdocs\u002Futils\u002Ftypes\u002Fstandardresponse_page":848,"\u002Fdocs\u002Futils\u002Ftypes\u002Fstandardresponse_surround":1797,"\u002Fdocs\u002Futils\u002Ftypes\u002Fstandardresponse":1800},{"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":256,"body":850,"description":1789,"extension":1790,"icon":1791,"meta":1792,"module":1793,"navigation":8,"path":257,"rawbody":1794,"seo":1795,"stem":258,"__hash__":1796},"docs\u002Fdocs\u002Futils\u002Ftypes\u002FStandardResponse.md",{"type":851,"value":852,"toc":1777},"minimark",[853,865,870,877,880,1003,1007,1087,1093,1096,1161,1164,1227,1232,1242,1316,1320,1330,1773],[854,855,856,857,860,861,864],"p",{},"The ",[858,859,256],"code",{}," types provide a consistent and predictable structure for all operations and API responses. By utilizing a discriminated union (",[858,862,863],{},"Results\u003CT>","), these types allow TypeScript to distinctively resolve a payload as either a success or an error object.",[866,867,869],"h2",{"id":868},"types","Types",[871,872,874],"h3",{"id":873},"successt",[858,875,876],{},"Success\u003CT>",[854,878,879],{},"Represents a successful operation or API response.",[881,882,888],"pre",{"className":883,"code":884,"filename":885,"language":886,"meta":887,"style":887},"language-ts shiki shiki-themes light-plus light-plus dracula","\u002F**\n * Represents a successful operation or API response.\n *\n * @template T - The type of the payload data returned in the response.\n *\u002F\ninterface Success\u003CT> {\n  ok: true;\n  date: string;\n  data: T;\n}\n","Success.ts","ts","",[858,889,890,899,905,911,928,934,955,972,985,997],{"__ignoreMap":887},[891,892,895],"span",{"class":893,"line":894},"line",1,[891,896,898],{"class":897},"sghk6","\u002F**\n",[891,900,902],{"class":893,"line":901},2,[891,903,904],{"class":897}," * Represents a successful operation or API response.\n",[891,906,908],{"class":893,"line":907},3,[891,909,910],{"class":897}," *\n",[891,912,914,917,921,925],{"class":893,"line":913},4,[891,915,916],{"class":897}," * ",[891,918,920],{"class":919},"sl46w","@template",[891,922,924],{"class":923},"sygFZ"," T",[891,926,927],{"class":897}," - The type of the payload data returned in the response.\n",[891,929,931],{"class":893,"line":930},5,[891,932,933],{"class":897}," *\u002F\n",[891,935,937,940,944,948,952],{"class":893,"line":936},6,[891,938,939],{"class":919},"interface",[891,941,943],{"class":942},"sFs1U"," Success",[891,945,947],{"class":946},"sDd4n","\u003C",[891,949,951],{"class":950},"sW-rI","T",[891,953,954],{"class":946},"> {\n",[891,956,958,962,966,969],{"class":893,"line":957},7,[891,959,961],{"class":960},"sjsA6","  ok",[891,963,965],{"class":964},"saOXh",":",[891,967,968],{"class":942}," true",[891,970,971],{"class":946},";\n",[891,973,975,978,980,983],{"class":893,"line":974},8,[891,976,977],{"class":960},"  date",[891,979,965],{"class":964},[891,981,982],{"class":942}," string",[891,984,971],{"class":946},[891,986,988,991,993,995],{"class":893,"line":987},9,[891,989,990],{"class":960},"  data",[891,992,965],{"class":964},[891,994,924],{"class":942},[891,996,971],{"class":946},[891,998,1000],{"class":893,"line":999},10,[891,1001,1002],{"class":946},"}\n",[866,1004,1006],{"id":1005},"properties","Properties",[1008,1009,1010,1029],"table",{},[1011,1012,1013],"thead",{},[1014,1015,1016,1020,1023,1026],"tr",{},[1017,1018,1019],"th",{},"Property",[1017,1021,1022],{},"Type",[1017,1024,1025],{},"Default",[1017,1027,1028],{},"Description",[1030,1031,1032,1051,1068],"tbody",{},[1014,1033,1034,1040,1045,1048],{},[1035,1036,1037],"td",{},[858,1038,1039],{},"ok",[1035,1041,1042],{},[858,1043,1044],{},"true",[1035,1046,1047],{},"-",[1035,1049,1050],{},"Indicates that the operation was successful.",[1014,1052,1053,1058,1063,1065],{},[1035,1054,1055],{},[858,1056,1057],{},"date",[1035,1059,1060],{},[858,1061,1062],{},"string",[1035,1064,1047],{},[1035,1066,1067],{},"The date and time when the response was generated (usually an ISO 8601 string).",[1014,1069,1070,1075,1079,1084],{},[1035,1071,1072],{},[858,1073,1074],{},"data",[1035,1076,1077],{},[858,1078,951],{},[1035,1080,1081],{},[858,1082,1083],{},"unknown",[1035,1085,1086],{},"The payload containing the requested data.",[871,1088,1090],{"id":1089},"apierror",[858,1091,1092],{},"ApiError",[854,1094,1095],{},"Represents a failed operation or API response.",[881,1097,1100],{"className":883,"code":1098,"filename":1099,"language":886,"meta":887,"style":887},"\u002F**\n * Represents a failed operation or API response.\n *\u002F\ninterface ApiError {\n  ok: false;\n  date: string;\n  reason: string;\n}\n","ApiError.ts",[858,1101,1102,1106,1111,1115,1125,1136,1146,1157],{"__ignoreMap":887},[891,1103,1104],{"class":893,"line":894},[891,1105,898],{"class":897},[891,1107,1108],{"class":893,"line":901},[891,1109,1110],{"class":897}," * Represents a failed operation or API response.\n",[891,1112,1113],{"class":893,"line":907},[891,1114,933],{"class":897},[891,1116,1117,1119,1122],{"class":893,"line":913},[891,1118,939],{"class":919},[891,1120,1121],{"class":942}," ApiError",[891,1123,1124],{"class":946}," {\n",[891,1126,1127,1129,1131,1134],{"class":893,"line":930},[891,1128,961],{"class":960},[891,1130,965],{"class":964},[891,1132,1133],{"class":942}," false",[891,1135,971],{"class":946},[891,1137,1138,1140,1142,1144],{"class":893,"line":936},[891,1139,977],{"class":960},[891,1141,965],{"class":964},[891,1143,982],{"class":942},[891,1145,971],{"class":946},[891,1147,1148,1151,1153,1155],{"class":893,"line":957},[891,1149,1150],{"class":960},"  reason",[891,1152,965],{"class":964},[891,1154,982],{"class":942},[891,1156,971],{"class":946},[891,1158,1159],{"class":893,"line":974},[891,1160,1002],{"class":946},[866,1162,1006],{"id":1163},"properties-1",[1008,1165,1166,1178],{},[1011,1167,1168],{},[1014,1169,1170,1172,1174,1176],{},[1017,1171,1019],{},[1017,1173,1022],{},[1017,1175,1025],{},[1017,1177,1028],{},[1030,1179,1180,1196,1211],{},[1014,1181,1182,1186,1191,1193],{},[1035,1183,1184],{},[858,1185,1039],{},[1035,1187,1188],{},[858,1189,1190],{},"false",[1035,1192,1047],{},[1035,1194,1195],{},"Indicates that the operation failed.",[1014,1197,1198,1202,1206,1208],{},[1035,1199,1200],{},[858,1201,1057],{},[1035,1203,1204],{},[858,1205,1062],{},[1035,1207,1047],{},[1035,1209,1210],{},"The date and time when the error occurred (usually an ISO 8601 string).",[1014,1212,1213,1218,1222,1224],{},[1035,1214,1215],{},[858,1216,1217],{},"reason",[1035,1219,1220],{},[858,1221,1062],{},[1035,1223,1047],{},[1035,1225,1226],{},"A descriptive message explaining the reason for the failure.",[871,1228,1230],{"id":1229},"resultst",[858,1231,863],{},[854,1233,1234,1235,1238,1239,1241],{},"A discriminated union representing the final result of an operation or API call. It resolves to either a ",[858,1236,1237],{},"Success"," object containing the requested data or an ",[858,1240,1092],{}," object detailing the failure.",[881,1243,1246],{"className":883,"code":1244,"filename":1245,"language":886,"meta":887,"style":887},"\u002F**\n * A discriminated union representing the final result of an operation or API call.\n * \n * @template T - The type of the data expected upon success. Defaults to `unknown`.\n *\u002F\ntype Results\u003CT = unknown> = Success\u003CT> | ApiError;\n","Results.ts",[858,1247,1248,1252,1257,1262,1273,1277],{"__ignoreMap":887},[891,1249,1250],{"class":893,"line":894},[891,1251,898],{"class":897},[891,1253,1254],{"class":893,"line":901},[891,1255,1256],{"class":897}," * A discriminated union representing the final result of an operation or API call.\n",[891,1258,1259],{"class":893,"line":907},[891,1260,1261],{"class":897}," * \n",[891,1263,1264,1266,1268,1270],{"class":893,"line":913},[891,1265,916],{"class":897},[891,1267,920],{"class":919},[891,1269,924],{"class":923},[891,1271,1272],{"class":897}," - The type of the data expected upon success. Defaults to `unknown`.\n",[891,1274,1275],{"class":893,"line":930},[891,1276,933],{"class":897},[891,1278,1279,1282,1285,1287,1289,1292,1295,1298,1301,1303,1305,1307,1309,1312,1314],{"class":893,"line":936},[891,1280,1281],{"class":919},"type",[891,1283,1284],{"class":942}," Results",[891,1286,947],{"class":946},[891,1288,951],{"class":950},[891,1290,1291],{"class":964}," =",[891,1293,1294],{"class":942}," unknown",[891,1296,1297],{"class":946},"> ",[891,1299,1300],{"class":964},"=",[891,1302,943],{"class":942},[891,1304,947],{"class":946},[891,1306,951],{"class":950},[891,1308,1297],{"class":946},[891,1310,1311],{"class":964},"|",[891,1313,1121],{"class":942},[891,1315,971],{"class":946},[866,1317,1319],{"id":1318},"example-usage","Example Usage",[854,1321,1322,1323,1326,1327,1329],{},"With the ",[858,1324,1325],{},"Results"," union, TypeScript will properly narrow the payload and distinctly enforce the correct properties via the ",[858,1328,1039],{}," discriminator.",[881,1331,1336],{"className":1332,"code":1333,"filename":1334,"language":1335,"meta":887,"style":887},"language-typescript shiki shiki-themes light-plus light-plus dracula","import type { Results } from '@riavzon\u002Futils'\n\nasync function fetchUser(): Promise\u003CResults\u003C{ id: string, name: string }>> {\n  try {\n    const user = await db.getUser()\n    \n    return {\n      ok: true,\n      date: new Date().toISOString(),\n      data: user\n    }\n  } catch (error: unknown) {\n    return {\n      ok: false,\n      date: new Date().toISOString(),\n      reason: error instanceof Error ? error.message : 'Unknown error'\n    }\n  }\n}\n \n\u002F\u002F Discriminator typings in action:\nconst response = await fetchUser()\n\nif (response.ok) {\n  \u002F\u002F TypeScript correctly infers `response.data`\n  console.log('Success:', response.data.name)\n} else {\n  \u002F\u002F TypeScript correctly infers `response.reason`\n  console.log('Failed:', response.reason)\n}\n","example.ts","typescript",[858,1337,1338,1369,1374,1421,1428,1454,1459,1466,1480,1503,1513,1519,1541,1548,1559,1576,1613,1618,1624,1629,1635,1641,1658,1663,1680,1686,1723,1734,1740,1768],{"__ignoreMap":887},[891,1339,1340,1344,1347,1350,1352,1355,1358,1362,1366],{"class":893,"line":894},[891,1341,1343],{"class":1342},"sZ328","import",[891,1345,1346],{"class":1342}," type",[891,1348,1349],{"class":946}," { ",[891,1351,1325],{"class":960},[891,1353,1354],{"class":946}," } ",[891,1356,1357],{"class":1342},"from",[891,1359,1361],{"class":1360},"sFkSl"," '",[891,1363,1365],{"class":1364},"sFB1V","@riavzon\u002Futils",[891,1367,1368],{"class":1360},"'\n",[891,1370,1371],{"class":893,"line":901},[891,1372,1373],{"emptyLinePlaceholder":8},"\n",[891,1375,1376,1379,1382,1386,1389,1391,1394,1396,1398,1401,1404,1406,1408,1411,1414,1416,1418],{"class":893,"line":907},[891,1377,1378],{"class":919},"async",[891,1380,1381],{"class":919}," function",[891,1383,1385],{"class":1384},"sHOzp"," fetchUser",[891,1387,1388],{"class":946},"()",[891,1390,965],{"class":964},[891,1392,1393],{"class":942}," Promise",[891,1395,947],{"class":946},[891,1397,1325],{"class":950},[891,1399,1400],{"class":946},"\u003C{ ",[891,1402,1403],{"class":960},"id",[891,1405,965],{"class":964},[891,1407,982],{"class":942},[891,1409,1410],{"class":946},", ",[891,1412,1413],{"class":960},"name",[891,1415,965],{"class":964},[891,1417,982],{"class":942},[891,1419,1420],{"class":946}," }>> {\n",[891,1422,1423,1426],{"class":893,"line":913},[891,1424,1425],{"class":1342},"  try",[891,1427,1124],{"class":946},[891,1429,1430,1433,1437,1439,1442,1445,1448,1451],{"class":893,"line":930},[891,1431,1432],{"class":919},"    const",[891,1434,1436],{"class":1435},"s3JHE"," user",[891,1438,1291],{"class":964},[891,1440,1441],{"class":1342}," await",[891,1443,1444],{"class":960}," db",[891,1446,1447],{"class":946},".",[891,1449,1450],{"class":1384},"getUser",[891,1452,1453],{"class":946},"()\n",[891,1455,1456],{"class":893,"line":936},[891,1457,1458],{"class":946},"    \n",[891,1460,1461,1464],{"class":893,"line":957},[891,1462,1463],{"class":1342},"    return",[891,1465,1124],{"class":946},[891,1467,1468,1471,1474,1477],{"class":893,"line":974},[891,1469,1470],{"class":960},"      ok",[891,1472,965],{"class":1473},"s34zl",[891,1475,968],{"class":1476},"sjR7W",[891,1478,1479],{"class":946},",\n",[891,1481,1482,1485,1487,1491,1494,1497,1500],{"class":893,"line":987},[891,1483,1484],{"class":960},"      date",[891,1486,965],{"class":1473},[891,1488,1490],{"class":1489},"sakC6"," new",[891,1492,1493],{"class":1384}," Date",[891,1495,1496],{"class":946},"().",[891,1498,1499],{"class":1384},"toISOString",[891,1501,1502],{"class":946},"(),\n",[891,1504,1505,1508,1510],{"class":893,"line":999},[891,1506,1507],{"class":960},"      data",[891,1509,965],{"class":1473},[891,1511,1512],{"class":960}," user\n",[891,1514,1516],{"class":893,"line":1515},11,[891,1517,1518],{"class":946},"    }\n",[891,1520,1522,1525,1528,1531,1534,1536,1538],{"class":893,"line":1521},12,[891,1523,1524],{"class":946},"  } ",[891,1526,1527],{"class":1342},"catch",[891,1529,1530],{"class":946}," (",[891,1532,1533],{"class":923},"error",[891,1535,965],{"class":964},[891,1537,1294],{"class":942},[891,1539,1540],{"class":946},") {\n",[891,1542,1544,1546],{"class":893,"line":1543},13,[891,1545,1463],{"class":1342},[891,1547,1124],{"class":946},[891,1549,1551,1553,1555,1557],{"class":893,"line":1550},14,[891,1552,1470],{"class":960},[891,1554,965],{"class":1473},[891,1556,1133],{"class":1476},[891,1558,1479],{"class":946},[891,1560,1562,1564,1566,1568,1570,1572,1574],{"class":893,"line":1561},15,[891,1563,1484],{"class":960},[891,1565,965],{"class":1473},[891,1567,1490],{"class":1489},[891,1569,1493],{"class":1384},[891,1571,1496],{"class":946},[891,1573,1499],{"class":1384},[891,1575,1502],{"class":946},[891,1577,1579,1582,1584,1587,1590,1593,1596,1598,1600,1603,1606,1608,1611],{"class":893,"line":1578},16,[891,1580,1581],{"class":960},"      reason",[891,1583,965],{"class":1473},[891,1585,1586],{"class":960}," error",[891,1588,1589],{"class":919}," instanceof",[891,1591,1592],{"class":942}," Error",[891,1594,1595],{"class":964}," ?",[891,1597,1586],{"class":960},[891,1599,1447],{"class":946},[891,1601,1602],{"class":960},"message",[891,1604,1605],{"class":964}," :",[891,1607,1361],{"class":1360},[891,1609,1610],{"class":1364},"Unknown error",[891,1612,1368],{"class":1360},[891,1614,1616],{"class":893,"line":1615},17,[891,1617,1518],{"class":946},[891,1619,1621],{"class":893,"line":1620},18,[891,1622,1623],{"class":946},"  }\n",[891,1625,1627],{"class":893,"line":1626},19,[891,1628,1002],{"class":946},[891,1630,1632],{"class":893,"line":1631},20,[891,1633,1634],{"class":946}," \n",[891,1636,1638],{"class":893,"line":1637},21,[891,1639,1640],{"class":897},"\u002F\u002F Discriminator typings in action:\n",[891,1642,1644,1647,1650,1652,1654,1656],{"class":893,"line":1643},22,[891,1645,1646],{"class":919},"const",[891,1648,1649],{"class":1435}," response",[891,1651,1291],{"class":964},[891,1653,1441],{"class":1342},[891,1655,1385],{"class":1384},[891,1657,1453],{"class":946},[891,1659,1661],{"class":893,"line":1660},23,[891,1662,1373],{"emptyLinePlaceholder":8},[891,1664,1666,1669,1671,1674,1676,1678],{"class":893,"line":1665},24,[891,1667,1668],{"class":1342},"if",[891,1670,1530],{"class":946},[891,1672,1673],{"class":960},"response",[891,1675,1447],{"class":946},[891,1677,1039],{"class":960},[891,1679,1540],{"class":946},[891,1681,1683],{"class":893,"line":1682},25,[891,1684,1685],{"class":897},"  \u002F\u002F TypeScript correctly infers `response.data`\n",[891,1687,1689,1692,1694,1697,1700,1703,1706,1708,1710,1712,1714,1716,1718,1720],{"class":893,"line":1688},26,[891,1690,1691],{"class":960},"  console",[891,1693,1447],{"class":946},[891,1695,1696],{"class":1384},"log",[891,1698,1699],{"class":946},"(",[891,1701,1702],{"class":1360},"'",[891,1704,1705],{"class":1364},"Success:",[891,1707,1702],{"class":1360},[891,1709,1410],{"class":946},[891,1711,1673],{"class":960},[891,1713,1447],{"class":946},[891,1715,1074],{"class":960},[891,1717,1447],{"class":946},[891,1719,1413],{"class":960},[891,1721,1722],{"class":946},")\n",[891,1724,1726,1729,1732],{"class":893,"line":1725},27,[891,1727,1728],{"class":946},"} ",[891,1730,1731],{"class":1342},"else",[891,1733,1124],{"class":946},[891,1735,1737],{"class":893,"line":1736},28,[891,1738,1739],{"class":897},"  \u002F\u002F TypeScript correctly infers `response.reason`\n",[891,1741,1743,1745,1747,1749,1751,1753,1756,1758,1760,1762,1764,1766],{"class":893,"line":1742},29,[891,1744,1691],{"class":960},[891,1746,1447],{"class":946},[891,1748,1696],{"class":1384},[891,1750,1699],{"class":946},[891,1752,1702],{"class":1360},[891,1754,1755],{"class":1364},"Failed:",[891,1757,1702],{"class":1360},[891,1759,1410],{"class":946},[891,1761,1673],{"class":960},[891,1763,1447],{"class":946},[891,1765,1217],{"class":960},[891,1767,1722],{"class":946},[891,1769,1771],{"class":893,"line":1770},30,[891,1772,1002],{"class":946},[1774,1775,1776],"style",{},"html pre.shiki code .sghk6, html code.shiki .sghk6{--shiki-light:#008000;--shiki-default:#008000;--shiki-dark:#6272A4}html pre.shiki code .sl46w, html code.shiki .sl46w{--shiki-light:#0000FF;--shiki-default:#0000FF;--shiki-dark:#FF79C6}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 .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 .sjsA6, html code.shiki .sjsA6{--shiki-light:#001080;--shiki-default:#001080;--shiki-dark:#F8F8F2}html pre.shiki code .saOXh, html code.shiki .saOXh{--shiki-light:#000000;--shiki-default:#000000;--shiki-dark:#FF79C6}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 .sZ328, html code.shiki .sZ328{--shiki-light:#AF00DB;--shiki-default:#AF00DB;--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 .sFB1V, html code.shiki .sFB1V{--shiki-light:#A31515;--shiki-default:#A31515;--shiki-dark:#F1FA8C}html pre.shiki code .sHOzp, html code.shiki .sHOzp{--shiki-light:#795E26;--shiki-default:#795E26;--shiki-dark:#50FA7B}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}html pre.shiki code .sjR7W, html code.shiki .sjR7W{--shiki-light:#0000FF;--shiki-default:#0000FF;--shiki-dark:#BD93F9}html pre.shiki code .sakC6, html code.shiki .sakC6{--shiki-light:#0000FF;--shiki-light-font-weight:inherit;--shiki-default:#0000FF;--shiki-default-font-weight:inherit;--shiki-dark:#FF79C6;--shiki-dark-font-weight:bold}",{"title":887,"searchDepth":901,"depth":901,"links":1778},[1779,1782,1785,1788],{"id":868,"depth":901,"text":869,"children":1780},[1781],{"id":873,"depth":907,"text":876},{"id":1005,"depth":901,"text":1006,"children":1783},[1784],{"id":1089,"depth":907,"text":1092},{"id":1163,"depth":901,"text":1006,"children":1786},[1787],{"id":1229,"depth":907,"text":863},{"id":1318,"depth":901,"text":1319},"A consistent API response structure used across the application.","md","i-lucide-file-json",{},null,"---\ntitle: StandardResponse\ndescription: A consistent API response structure used across the application.\nicon: i-lucide-file-json\n---\n\nThe `StandardResponse` types provide a consistent and predictable structure for all operations and API responses. By utilizing a discriminated union (`Results\u003CT>`), these types allow TypeScript to distinctively resolve a payload as either a success or an error object.\n\n## Types\n\n### `Success\u003CT>`\n\nRepresents a successful operation or API response.\n\n```ts [Success.ts]\n\u002F**\n * Represents a successful operation or API response.\n *\n * @template T - The type of the payload data returned in the response.\n *\u002F\ninterface Success\u003CT> {\n  ok: true;\n  date: string;\n  data: T;\n}\n```\n\n## Properties\n| Property | Type | Default | Description |\n| --- | --- | --- | --- |\n| `ok` | `true` | - | Indicates that the operation was successful. |\n| `date` | `string` | - | The date and time when the response was generated (usually an ISO 8601 string). |\n| `data` | `T` | `unknown` | The payload containing the requested data. |\n\n### `ApiError`\n\nRepresents a failed operation or API response.\n\n```ts [ApiError.ts]\n\u002F**\n * Represents a failed operation or API response.\n *\u002F\ninterface ApiError {\n  ok: false;\n  date: string;\n  reason: string;\n}\n```\n\n## Properties\n| Property | Type | Default | Description |\n| --- | --- | --- | --- |\n| `ok` | `false` | - | Indicates that the operation failed. |\n| `date` | `string` | - | The date and time when the error occurred (usually an ISO 8601 string). |\n| `reason` | `string` | - | A descriptive message explaining the reason for the failure. |\n\n### `Results\u003CT>`\n\nA discriminated union representing the final result of an operation or API call. It resolves to either a `Success` object containing the requested data or an `ApiError` object detailing the failure.\n\n```ts [Results.ts]\n\u002F**\n * A discriminated union representing the final result of an operation or API call.\n * \n * @template T - The type of the data expected upon success. Defaults to `unknown`.\n *\u002F\ntype Results\u003CT = unknown> = Success\u003CT> | ApiError;\n```\n\n## Example Usage\n\nWith the `Results` union, TypeScript will properly narrow the payload and distinctly enforce the correct properties via the `ok` discriminator.\n\n```typescript [example.ts]\nimport type { Results } from '@riavzon\u002Futils'\n\nasync function fetchUser(): Promise\u003CResults\u003C{ id: string, name: string }>> {\n  try {\n    const user = await db.getUser()\n    \n    return {\n      ok: true,\n      date: new Date().toISOString(),\n      data: user\n    }\n  } catch (error: unknown) {\n    return {\n      ok: false,\n      date: new Date().toISOString(),\n      reason: error instanceof Error ? error.message : 'Unknown error'\n    }\n  }\n}\n \n\u002F\u002F Discriminator typings in action:\nconst response = await fetchUser()\n\nif (response.ok) {\n  \u002F\u002F TypeScript correctly infers `response.data`\n  console.log('Success:', response.data.name)\n} else {\n  \u002F\u002F TypeScript correctly infers `response.reason`\n  console.log('Failed:', response.reason)\n}\n```\n",{"title":256,"description":1789},"qt8zyrxyMq-vVEPx9EOX2YWCl4gy_TXLMyjKQIdOp-Q",[1798,1799],{"title":252,"path":253,"stem":254,"children":-1},{"title":260,"path":261,"stem":262,"children":-1},{"id":849,"title":256,"body":1801,"description":1789,"extension":1790,"icon":1791,"meta":2513,"module":1793,"navigation":8,"path":257,"rawbody":1794,"seo":2514,"stem":258,"__hash__":1796},{"type":851,"value":1802,"toc":2501},[1803,1809,1811,1815,1817,1893,1895,1955,1959,1961,2019,2021,2079,2083,2089,2151,2153,2159,2499],[854,1804,856,1805,860,1807,864],{},[858,1806,256],{},[858,1808,863],{},[866,1810,869],{"id":868},[871,1812,1813],{"id":873},[858,1814,876],{},[854,1816,879],{},[881,1818,1819],{"className":883,"code":884,"filename":885,"language":886,"meta":887,"style":887},[858,1820,1821,1825,1829,1833,1843,1847,1859,1869,1879,1889],{"__ignoreMap":887},[891,1822,1823],{"class":893,"line":894},[891,1824,898],{"class":897},[891,1826,1827],{"class":893,"line":901},[891,1828,904],{"class":897},[891,1830,1831],{"class":893,"line":907},[891,1832,910],{"class":897},[891,1834,1835,1837,1839,1841],{"class":893,"line":913},[891,1836,916],{"class":897},[891,1838,920],{"class":919},[891,1840,924],{"class":923},[891,1842,927],{"class":897},[891,1844,1845],{"class":893,"line":930},[891,1846,933],{"class":897},[891,1848,1849,1851,1853,1855,1857],{"class":893,"line":936},[891,1850,939],{"class":919},[891,1852,943],{"class":942},[891,1854,947],{"class":946},[891,1856,951],{"class":950},[891,1858,954],{"class":946},[891,1860,1861,1863,1865,1867],{"class":893,"line":957},[891,1862,961],{"class":960},[891,1864,965],{"class":964},[891,1866,968],{"class":942},[891,1868,971],{"class":946},[891,1870,1871,1873,1875,1877],{"class":893,"line":974},[891,1872,977],{"class":960},[891,1874,965],{"class":964},[891,1876,982],{"class":942},[891,1878,971],{"class":946},[891,1880,1881,1883,1885,1887],{"class":893,"line":987},[891,1882,990],{"class":960},[891,1884,965],{"class":964},[891,1886,924],{"class":942},[891,1888,971],{"class":946},[891,1890,1891],{"class":893,"line":999},[891,1892,1002],{"class":946},[866,1894,1006],{"id":1005},[1008,1896,1897,1909],{},[1011,1898,1899],{},[1014,1900,1901,1903,1905,1907],{},[1017,1902,1019],{},[1017,1904,1022],{},[1017,1906,1025],{},[1017,1908,1028],{},[1030,1910,1911,1925,1939],{},[1014,1912,1913,1917,1921,1923],{},[1035,1914,1915],{},[858,1916,1039],{},[1035,1918,1919],{},[858,1920,1044],{},[1035,1922,1047],{},[1035,1924,1050],{},[1014,1926,1927,1931,1935,1937],{},[1035,1928,1929],{},[858,1930,1057],{},[1035,1932,1933],{},[858,1934,1062],{},[1035,1936,1047],{},[1035,1938,1067],{},[1014,1940,1941,1945,1949,1953],{},[1035,1942,1943],{},[858,1944,1074],{},[1035,1946,1947],{},[858,1948,951],{},[1035,1950,1951],{},[858,1952,1083],{},[1035,1954,1086],{},[871,1956,1957],{"id":1089},[858,1958,1092],{},[854,1960,1095],{},[881,1962,1963],{"className":883,"code":1098,"filename":1099,"language":886,"meta":887,"style":887},[858,1964,1965,1969,1973,1977,1985,1995,2005,2015],{"__ignoreMap":887},[891,1966,1967],{"class":893,"line":894},[891,1968,898],{"class":897},[891,1970,1971],{"class":893,"line":901},[891,1972,1110],{"class":897},[891,1974,1975],{"class":893,"line":907},[891,1976,933],{"class":897},[891,1978,1979,1981,1983],{"class":893,"line":913},[891,1980,939],{"class":919},[891,1982,1121],{"class":942},[891,1984,1124],{"class":946},[891,1986,1987,1989,1991,1993],{"class":893,"line":930},[891,1988,961],{"class":960},[891,1990,965],{"class":964},[891,1992,1133],{"class":942},[891,1994,971],{"class":946},[891,1996,1997,1999,2001,2003],{"class":893,"line":936},[891,1998,977],{"class":960},[891,2000,965],{"class":964},[891,2002,982],{"class":942},[891,2004,971],{"class":946},[891,2006,2007,2009,2011,2013],{"class":893,"line":957},[891,2008,1150],{"class":960},[891,2010,965],{"class":964},[891,2012,982],{"class":942},[891,2014,971],{"class":946},[891,2016,2017],{"class":893,"line":974},[891,2018,1002],{"class":946},[866,2020,1006],{"id":1163},[1008,2022,2023,2035],{},[1011,2024,2025],{},[1014,2026,2027,2029,2031,2033],{},[1017,2028,1019],{},[1017,2030,1022],{},[1017,2032,1025],{},[1017,2034,1028],{},[1030,2036,2037,2051,2065],{},[1014,2038,2039,2043,2047,2049],{},[1035,2040,2041],{},[858,2042,1039],{},[1035,2044,2045],{},[858,2046,1190],{},[1035,2048,1047],{},[1035,2050,1195],{},[1014,2052,2053,2057,2061,2063],{},[1035,2054,2055],{},[858,2056,1057],{},[1035,2058,2059],{},[858,2060,1062],{},[1035,2062,1047],{},[1035,2064,1210],{},[1014,2066,2067,2071,2075,2077],{},[1035,2068,2069],{},[858,2070,1217],{},[1035,2072,2073],{},[858,2074,1062],{},[1035,2076,1047],{},[1035,2078,1226],{},[871,2080,2081],{"id":1229},[858,2082,863],{},[854,2084,1234,2085,1238,2087,1241],{},[858,2086,1237],{},[858,2088,1092],{},[881,2090,2091],{"className":883,"code":1244,"filename":1245,"language":886,"meta":887,"style":887},[858,2092,2093,2097,2101,2105,2115,2119],{"__ignoreMap":887},[891,2094,2095],{"class":893,"line":894},[891,2096,898],{"class":897},[891,2098,2099],{"class":893,"line":901},[891,2100,1256],{"class":897},[891,2102,2103],{"class":893,"line":907},[891,2104,1261],{"class":897},[891,2106,2107,2109,2111,2113],{"class":893,"line":913},[891,2108,916],{"class":897},[891,2110,920],{"class":919},[891,2112,924],{"class":923},[891,2114,1272],{"class":897},[891,2116,2117],{"class":893,"line":930},[891,2118,933],{"class":897},[891,2120,2121,2123,2125,2127,2129,2131,2133,2135,2137,2139,2141,2143,2145,2147,2149],{"class":893,"line":936},[891,2122,1281],{"class":919},[891,2124,1284],{"class":942},[891,2126,947],{"class":946},[891,2128,951],{"class":950},[891,2130,1291],{"class":964},[891,2132,1294],{"class":942},[891,2134,1297],{"class":946},[891,2136,1300],{"class":964},[891,2138,943],{"class":942},[891,2140,947],{"class":946},[891,2142,951],{"class":950},[891,2144,1297],{"class":946},[891,2146,1311],{"class":964},[891,2148,1121],{"class":942},[891,2150,971],{"class":946},[866,2152,1319],{"id":1318},[854,2154,1322,2155,1326,2157,1329],{},[858,2156,1325],{},[858,2158,1039],{},[881,2160,2161],{"className":1332,"code":1333,"filename":1334,"language":1335,"meta":887,"style":887},[858,2162,2163,2183,2187,2223,2229,2247,2251,2257,2267,2283,2291,2295,2311,2317,2327,2343,2371,2375,2379,2383,2387,2391,2405,2409,2423,2427,2457,2465,2469,2495],{"__ignoreMap":887},[891,2164,2165,2167,2169,2171,2173,2175,2177,2179,2181],{"class":893,"line":894},[891,2166,1343],{"class":1342},[891,2168,1346],{"class":1342},[891,2170,1349],{"class":946},[891,2172,1325],{"class":960},[891,2174,1354],{"class":946},[891,2176,1357],{"class":1342},[891,2178,1361],{"class":1360},[891,2180,1365],{"class":1364},[891,2182,1368],{"class":1360},[891,2184,2185],{"class":893,"line":901},[891,2186,1373],{"emptyLinePlaceholder":8},[891,2188,2189,2191,2193,2195,2197,2199,2201,2203,2205,2207,2209,2211,2213,2215,2217,2219,2221],{"class":893,"line":907},[891,2190,1378],{"class":919},[891,2192,1381],{"class":919},[891,2194,1385],{"class":1384},[891,2196,1388],{"class":946},[891,2198,965],{"class":964},[891,2200,1393],{"class":942},[891,2202,947],{"class":946},[891,2204,1325],{"class":950},[891,2206,1400],{"class":946},[891,2208,1403],{"class":960},[891,2210,965],{"class":964},[891,2212,982],{"class":942},[891,2214,1410],{"class":946},[891,2216,1413],{"class":960},[891,2218,965],{"class":964},[891,2220,982],{"class":942},[891,2222,1420],{"class":946},[891,2224,2225,2227],{"class":893,"line":913},[891,2226,1425],{"class":1342},[891,2228,1124],{"class":946},[891,2230,2231,2233,2235,2237,2239,2241,2243,2245],{"class":893,"line":930},[891,2232,1432],{"class":919},[891,2234,1436],{"class":1435},[891,2236,1291],{"class":964},[891,2238,1441],{"class":1342},[891,2240,1444],{"class":960},[891,2242,1447],{"class":946},[891,2244,1450],{"class":1384},[891,2246,1453],{"class":946},[891,2248,2249],{"class":893,"line":936},[891,2250,1458],{"class":946},[891,2252,2253,2255],{"class":893,"line":957},[891,2254,1463],{"class":1342},[891,2256,1124],{"class":946},[891,2258,2259,2261,2263,2265],{"class":893,"line":974},[891,2260,1470],{"class":960},[891,2262,965],{"class":1473},[891,2264,968],{"class":1476},[891,2266,1479],{"class":946},[891,2268,2269,2271,2273,2275,2277,2279,2281],{"class":893,"line":987},[891,2270,1484],{"class":960},[891,2272,965],{"class":1473},[891,2274,1490],{"class":1489},[891,2276,1493],{"class":1384},[891,2278,1496],{"class":946},[891,2280,1499],{"class":1384},[891,2282,1502],{"class":946},[891,2284,2285,2287,2289],{"class":893,"line":999},[891,2286,1507],{"class":960},[891,2288,965],{"class":1473},[891,2290,1512],{"class":960},[891,2292,2293],{"class":893,"line":1515},[891,2294,1518],{"class":946},[891,2296,2297,2299,2301,2303,2305,2307,2309],{"class":893,"line":1521},[891,2298,1524],{"class":946},[891,2300,1527],{"class":1342},[891,2302,1530],{"class":946},[891,2304,1533],{"class":923},[891,2306,965],{"class":964},[891,2308,1294],{"class":942},[891,2310,1540],{"class":946},[891,2312,2313,2315],{"class":893,"line":1543},[891,2314,1463],{"class":1342},[891,2316,1124],{"class":946},[891,2318,2319,2321,2323,2325],{"class":893,"line":1550},[891,2320,1470],{"class":960},[891,2322,965],{"class":1473},[891,2324,1133],{"class":1476},[891,2326,1479],{"class":946},[891,2328,2329,2331,2333,2335,2337,2339,2341],{"class":893,"line":1561},[891,2330,1484],{"class":960},[891,2332,965],{"class":1473},[891,2334,1490],{"class":1489},[891,2336,1493],{"class":1384},[891,2338,1496],{"class":946},[891,2340,1499],{"class":1384},[891,2342,1502],{"class":946},[891,2344,2345,2347,2349,2351,2353,2355,2357,2359,2361,2363,2365,2367,2369],{"class":893,"line":1578},[891,2346,1581],{"class":960},[891,2348,965],{"class":1473},[891,2350,1586],{"class":960},[891,2352,1589],{"class":919},[891,2354,1592],{"class":942},[891,2356,1595],{"class":964},[891,2358,1586],{"class":960},[891,2360,1447],{"class":946},[891,2362,1602],{"class":960},[891,2364,1605],{"class":964},[891,2366,1361],{"class":1360},[891,2368,1610],{"class":1364},[891,2370,1368],{"class":1360},[891,2372,2373],{"class":893,"line":1615},[891,2374,1518],{"class":946},[891,2376,2377],{"class":893,"line":1620},[891,2378,1623],{"class":946},[891,2380,2381],{"class":893,"line":1626},[891,2382,1002],{"class":946},[891,2384,2385],{"class":893,"line":1631},[891,2386,1634],{"class":946},[891,2388,2389],{"class":893,"line":1637},[891,2390,1640],{"class":897},[891,2392,2393,2395,2397,2399,2401,2403],{"class":893,"line":1643},[891,2394,1646],{"class":919},[891,2396,1649],{"class":1435},[891,2398,1291],{"class":964},[891,2400,1441],{"class":1342},[891,2402,1385],{"class":1384},[891,2404,1453],{"class":946},[891,2406,2407],{"class":893,"line":1660},[891,2408,1373],{"emptyLinePlaceholder":8},[891,2410,2411,2413,2415,2417,2419,2421],{"class":893,"line":1665},[891,2412,1668],{"class":1342},[891,2414,1530],{"class":946},[891,2416,1673],{"class":960},[891,2418,1447],{"class":946},[891,2420,1039],{"class":960},[891,2422,1540],{"class":946},[891,2424,2425],{"class":893,"line":1682},[891,2426,1685],{"class":897},[891,2428,2429,2431,2433,2435,2437,2439,2441,2443,2445,2447,2449,2451,2453,2455],{"class":893,"line":1688},[891,2430,1691],{"class":960},[891,2432,1447],{"class":946},[891,2434,1696],{"class":1384},[891,2436,1699],{"class":946},[891,2438,1702],{"class":1360},[891,2440,1705],{"class":1364},[891,2442,1702],{"class":1360},[891,2444,1410],{"class":946},[891,2446,1673],{"class":960},[891,2448,1447],{"class":946},[891,2450,1074],{"class":960},[891,2452,1447],{"class":946},[891,2454,1413],{"class":960},[891,2456,1722],{"class":946},[891,2458,2459,2461,2463],{"class":893,"line":1725},[891,2460,1728],{"class":946},[891,2462,1731],{"class":1342},[891,2464,1124],{"class":946},[891,2466,2467],{"class":893,"line":1736},[891,2468,1739],{"class":897},[891,2470,2471,2473,2475,2477,2479,2481,2483,2485,2487,2489,2491,2493],{"class":893,"line":1742},[891,2472,1691],{"class":960},[891,2474,1447],{"class":946},[891,2476,1696],{"class":1384},[891,2478,1699],{"class":946},[891,2480,1702],{"class":1360},[891,2482,1755],{"class":1364},[891,2484,1702],{"class":1360},[891,2486,1410],{"class":946},[891,2488,1673],{"class":960},[891,2490,1447],{"class":946},[891,2492,1217],{"class":960},[891,2494,1722],{"class":946},[891,2496,2497],{"class":893,"line":1770},[891,2498,1002],{"class":946},[1774,2500,1776],{},{"title":887,"searchDepth":901,"depth":901,"links":2502},[2503,2506,2509,2512],{"id":868,"depth":901,"text":869,"children":2504},[2505],{"id":873,"depth":907,"text":876},{"id":1005,"depth":901,"text":1006,"children":2507},[2508],{"id":1089,"depth":907,"text":1092},{"id":1163,"depth":901,"text":1006,"children":2510},[2511],{"id":1229,"depth":907,"text":863},{"id":1318,"depth":901,"text":1319},{},{"title":256,"description":1789},1780436299267]