[{"data":1,"prerenderedAt":6667},["ShallowReactive",2],{"navLinks":3,"sidebar_docs_navigation_\u002Fdocs\u002Fshield-base":64,"navigation":138,"navLinks_footer":802,"\u002Fdocs\u002Fshield-base\u002Fapi_page":815,"\u002Fdocs\u002Fshield-base\u002Fapi_surround":3927,"\u002Fdocs\u002Fshield-base\u002Fapi":3929},{"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":40,"path":42,"stem":70,"children":71},"docs\u002Fshield-base\u002Findex",[72,73,76,80,122,126,130,134],{"title":40,"path":42,"stem":70},{"title":14,"path":74,"stem":75},"\u002Fdocs\u002Fshield-base\u002Fgetting-started","docs\u002Fshield-base\u002F00.getting-started",{"title":77,"path":78,"stem":79},"CLI Reference","\u002Fdocs\u002Fshield-base\u002Fcli","docs\u002Fshield-base\u002F01.cli",{"title":81,"path":82,"stem":83,"children":84},"Data Sources","\u002Fdocs\u002Fshield-base\u002Fdata-sources","docs\u002Fshield-base\u002F02.data-sources\u002Findex",[85,86,90,94,98,102,106,110,114,118],{"title":81,"path":82,"stem":83},{"title":87,"path":88,"stem":89},"BGP \u002F ASN","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fbgp","docs\u002Fshield-base\u002F02.data-sources\u002Fbgp",{"title":91,"path":92,"stem":93},"City Geolocation","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcity","docs\u002Fshield-base\u002F02.data-sources\u002Fcity",{"title":95,"path":96,"stem":97},"Country Geolocation","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcountry","docs\u002Fshield-base\u002F02.data-sources\u002Fcountry",{"title":99,"path":100,"stem":101},"Verified Crawlers","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcrawlers","docs\u002Fshield-base\u002F02.data-sources\u002Fcrawlers",{"title":103,"path":104,"stem":105},"Disposable Emails","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Femail","docs\u002Fshield-base\u002F02.data-sources\u002Femail",{"title":107,"path":108,"stem":109},"FireHOL Threat Intelligence","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Ffirehol","docs\u002Fshield-base\u002F02.data-sources\u002Ffirehol",{"title":111,"path":112,"stem":113},"Proxy Detection","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fproxy","docs\u002Fshield-base\u002F02.data-sources\u002Fproxy",{"title":115,"path":116,"stem":117},"Tor Nodes","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Ftor","docs\u002Fshield-base\u002F02.data-sources\u002Ftor",{"title":119,"path":120,"stem":121},"Suspicious User-Agents","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fuseragent","docs\u002Fshield-base\u002F02.data-sources\u002Fuseragent",{"title":123,"path":124,"stem":125},"Programmatic Usage","\u002Fdocs\u002Fshield-base\u002Fusage","docs\u002Fshield-base\u002F03.usage",{"title":127,"path":128,"stem":129},"Custom Data Sources","\u002Fdocs\u002Fshield-base\u002Fcustom-data-sources","docs\u002Fshield-base\u002F04.custom-data-sources",{"title":131,"path":132,"stem":133},"TypeScript Types","\u002Fdocs\u002Fshield-base\u002Ftypes","docs\u002Fshield-base\u002F05.types",{"title":135,"path":136,"stem":137},"API Reference","\u002Fdocs\u002Fshield-base\u002Fapi","docs\u002Fshield-base\u002F06.api",[139],{"title":9,"path":66,"stem":67,"children":140,"page":53},[141,288,405,410,588,609],{"title":20,"path":22,"stem":142,"children":143},"docs\u002Fauth-h3client\u002Findex",[144,145,154,191,217,239,242,263,267],{"title":20,"path":22,"stem":142},{"title":14,"path":146,"stem":147,"children":148},"\u002Fdocs\u002Fauth-h3client\u002Fgetting-started","docs\u002Fauth-h3client\u002F00.getting-started\u002Findex",[149,150],{"title":14,"path":146,"stem":147},{"title":151,"path":152,"stem":153},"Nuxt Module","\u002Fdocs\u002Fauth-h3client\u002Fgetting-started\u002Fnuxt","docs\u002Fauth-h3client\u002F00.getting-started\u002F00.nuxt",{"title":155,"path":156,"stem":157,"children":158},"Essentials","\u002Fdocs\u002Fauth-h3client\u002Fessentials","docs\u002Fauth-h3client\u002F01.essentials\u002Findex",[159,160,164,168,172,176,180,183,187],{"title":155,"path":156,"stem":157},{"title":161,"path":162,"stem":163},"Session Management","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fsession","docs\u002Fauth-h3client\u002F01.essentials\u002F00.session",{"title":165,"path":166,"stem":167},"Route Protection","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Froute-protection","docs\u002Fauth-h3client\u002F01.essentials\u002F01.route-protection",{"title":169,"path":170,"stem":171},"CSRF Protection","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fcsrf","docs\u002Fauth-h3client\u002F01.essentials\u002F02.csrf",{"title":173,"path":174,"stem":175},"Auth Flows","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fauth-flows","docs\u002Fauth-h3client\u002F01.essentials\u002F03.auth-flows",{"title":177,"path":178,"stem":179},"OAuth and OIDC","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Foauth","docs\u002Fauth-h3client\u002F01.essentials\u002F04.oauth",{"title":33,"path":181,"stem":182},"\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fbot-detection","docs\u002Fauth-h3client\u002F01.essentials\u002F05.bot-detection",{"title":184,"path":185,"stem":186},"Cookies","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fcookies","docs\u002Fauth-h3client\u002F01.essentials\u002F06.cookies",{"title":188,"path":189,"stem":190},"Logging","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Flogging","docs\u002Fauth-h3client\u002F01.essentials\u002F07.logging",{"title":192,"path":193,"stem":194,"children":195},"MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa","docs\u002Fauth-h3client\u002F02.mfa\u002Findex",[196,197,201,205,209,213],{"title":192,"path":193,"stem":194},{"title":198,"path":199,"stem":200},"Built-in MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fbuilt-in-flow","docs\u002Fauth-h3client\u002F02.mfa\u002F01.built-in-flow",{"title":202,"path":203,"stem":204},"Password Reset","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fpassword-reset","docs\u002Fauth-h3client\u002F02.mfa\u002F02.password-reset",{"title":206,"path":207,"stem":208},"Email Change","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Femail-change","docs\u002Fauth-h3client\u002F02.mfa\u002F03.email-change",{"title":210,"path":211,"stem":212},"Custom MFA Flow","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fcustom-flow","docs\u002Fauth-h3client\u002F02.mfa\u002F04.custom-flow",{"title":214,"path":215,"stem":216},"Client-Side MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fclient-side","docs\u002Fauth-h3client\u002F02.mfa\u002F05.client-side",{"title":218,"path":219,"stem":220,"children":221},"Client-side","\u002Fdocs\u002Fauth-h3client\u002Fclient","docs\u002Fauth-h3client\u002F03.client\u002Findex",[222,223,227,231,235],{"title":218,"path":219,"stem":220},{"title":224,"path":225,"stem":226},"useAuthData","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fuse-auth-data","docs\u002Fauth-h3client\u002F03.client\u002F00.use-auth-data",{"title":228,"path":229,"stem":230},"useMagicLink","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fuse-magic-link","docs\u002Fauth-h3client\u002F03.client\u002F01.use-magic-link",{"title":232,"path":233,"stem":234},"executeRequest","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fexecute-request","docs\u002Fauth-h3client\u002F03.client\u002F02.execute-request",{"title":236,"path":237,"stem":238},"getCsrfToken","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fget-csrf-token","docs\u002Fauth-h3client\u002F03.client\u002F03.get-csrf-token",{"title":38,"path":240,"stem":241},"\u002Fdocs\u002Fauth-h3client\u002Fsecurity","docs\u002Fauth-h3client\u002F04.security",{"title":243,"path":244,"stem":245,"children":246,"page":53},"Guides","\u002Fdocs\u002Fauth-h3client\u002Fguides","docs\u002Fauth-h3client\u002F05.guides",[247,251,255,259],{"title":248,"path":249,"stem":250},"H3 and Nitro Setup","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fh3-nitro","docs\u002Fauth-h3client\u002F05.guides\u002F00.h3-nitro",{"title":252,"path":253,"stem":254},"HMAC Inter-service Auth","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fhmac","docs\u002Fauth-h3client\u002F05.guides\u002Fhmac",{"title":256,"path":257,"stem":258},"Image Upload","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fimage-upload","docs\u002Fauth-h3client\u002F05.guides\u002Fimage-upload",{"title":260,"path":261,"stem":262},"mTLS Configuration","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fmtls","docs\u002Fauth-h3client\u002F05.guides\u002Fmtls",{"title":264,"path":265,"stem":266},"Configuration","\u002Fdocs\u002Fauth-h3client\u002Fconfiguration","docs\u002Fauth-h3client\u002F06.configuration",{"title":135,"path":268,"stem":269,"children":270},"\u002Fdocs\u002Fauth-h3client\u002Fapi","docs\u002Fauth-h3client\u002F07.api\u002Findex",[271,272,276,280,284],{"title":135,"path":268,"stem":269},{"title":273,"path":274,"stem":275},"Routes Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fcontrollers","docs\u002Fauth-h3client\u002F07.api\u002F00.controllers",{"title":277,"path":278,"stem":279},"Middleware Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fmiddleware","docs\u002Fauth-h3client\u002F07.api\u002F01.middleware",{"title":281,"path":282,"stem":283},"Client-side Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fcomposables","docs\u002Fauth-h3client\u002F07.api\u002F02.composables",{"title":285,"path":286,"stem":287},"Utilities","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Futilities","docs\u002Fauth-h3client\u002F07.api\u002F03.utilities",{"title":289,"path":35,"stem":290,"children":291},"Bot Detector","docs\u002Fbot-detection\u002Findex",[292,293,296,300,303,322,396,399,402],{"title":289,"path":35,"stem":290},{"title":14,"path":294,"stem":295},"\u002Fdocs\u002Fbot-detection\u002Fgetting-started","docs\u002Fbot-detection\u002F00.getting-started",{"title":297,"path":298,"stem":299},"CLI","\u002Fdocs\u002Fbot-detection\u002Fcli","docs\u002Fbot-detection\u002F01.cli",{"title":81,"path":301,"stem":302},"\u002Fdocs\u002Fbot-detection\u002Fdata-sources","docs\u002Fbot-detection\u002F02.data-sources",{"title":243,"path":304,"stem":305,"children":306,"page":53},"\u002Fdocs\u002Fbot-detection\u002Fguides","docs\u002Fbot-detection\u002F03.guides",[307,311,315,318],{"title":308,"path":309,"stem":310},"Custom Checkers","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fcustom","docs\u002Fbot-detection\u002F03.guides\u002FCUSTOM",{"title":312,"path":313,"stem":314},"Scheduling Database Generation","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fgenerate","docs\u002Fbot-detection\u002F03.guides\u002FGENERATE",{"title":188,"path":316,"stem":317},"\u002Fdocs\u002Fbot-detection\u002Fguides\u002Flogging","docs\u002Fbot-detection\u002F03.guides\u002FLOGGING",{"title":319,"path":320,"stem":321},"Score Modes and Reputation Healing","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fscore","docs\u002Fbot-detection\u002F03.guides\u002FSCORE",{"title":323,"path":324,"stem":325,"children":326},"Checkers","\u002Fdocs\u002Fbot-detection\u002Fcheckers","docs\u002Fbot-detection\u002F04.checkers\u002Findex",[327,328,332,336,340,344,348,352,356,360,364,368,372,376,380,384,388,392],{"title":323,"path":324,"stem":325},{"title":329,"path":330,"stem":331},"IP Validation","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fip-validation","docs\u002Fbot-detection\u002F04.checkers\u002F01.ip-validation",{"title":333,"path":334,"stem":335},"Good \u002F Bad Bot Verification","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fgood-bots","docs\u002Fbot-detection\u002F04.checkers\u002F02.good-bots",{"title":337,"path":338,"stem":339},"Browser & Device Fingerprint","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fbrowser-device","docs\u002Fbot-detection\u002F04.checkers\u002F03.browser-device",{"title":341,"path":342,"stem":343},"Locale Map","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Flocale-map","docs\u002Fbot-detection\u002F04.checkers\u002F04.locale-map",{"title":345,"path":346,"stem":347},"Known Threats","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-threats","docs\u002Fbot-detection\u002F04.checkers\u002F05.known-threats",{"title":349,"path":350,"stem":351},"ASN Classification","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fasn-classification","docs\u002Fbot-detection\u002F04.checkers\u002F06.asn-classification",{"title":353,"path":354,"stem":355},"Tor Analysis","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Ftor-analysis","docs\u002Fbot-detection\u002F04.checkers\u002F07.tor-analysis",{"title":357,"path":358,"stem":359},"Timezone Consistency","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Ftimezone-consistency","docs\u002Fbot-detection\u002F04.checkers\u002F08.timezone-consistency",{"title":361,"path":362,"stem":363},"Honeypot","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fhoneypot","docs\u002Fbot-detection\u002F04.checkers\u002F09.honeypot",{"title":365,"path":366,"stem":367},"Known Bad IPs","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-bad-ips","docs\u002Fbot-detection\u002F04.checkers\u002F10.known-bad-ips",{"title":369,"path":370,"stem":371},"Behavior Rate","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fbehavior-rate","docs\u002Fbot-detection\u002F04.checkers\u002F11.behavior-rate",{"title":373,"path":374,"stem":375},"Proxy \u002F ISP \u002F Cookie","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fproxy-isp-cookies","docs\u002Fbot-detection\u002F04.checkers\u002F12.proxy-isp-cookies",{"title":377,"path":378,"stem":379},"Session Coherence","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fsession-coherence","docs\u002Fbot-detection\u002F04.checkers\u002F13.session-coherence",{"title":381,"path":382,"stem":383},"Velocity Fingerprint","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fvelocity-fingerprint","docs\u002Fbot-detection\u002F04.checkers\u002F14.velocity-fingerprint",{"title":385,"path":386,"stem":387},"UA & Header Analysis","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fua-header","docs\u002Fbot-detection\u002F04.checkers\u002F15.ua-header",{"title":389,"path":390,"stem":391},"Geolocation","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fgeolocation","docs\u002Fbot-detection\u002F04.checkers\u002F16.geolocation",{"title":393,"path":394,"stem":395},"Known Bad User-Agents","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-bad-ua","docs\u002Fbot-detection\u002F04.checkers\u002F17.known-bad-ua",{"title":38,"path":397,"stem":398},"\u002Fdocs\u002Fbot-detection\u002Fsecurity","docs\u002Fbot-detection\u002F04.security",{"title":135,"path":400,"stem":401},"\u002Fdocs\u002Fbot-detection\u002Fapi","docs\u002Fbot-detection\u002F05.api",{"title":264,"path":403,"stem":404},"\u002Fdocs\u002Fbot-detection\u002Fconfiguration","docs\u002Fbot-detection\u002F06.configuration",{"title":406,"path":11,"stem":407,"children":408},"Introduction","docs\u002Fgetting-started\u002Findex",[409],{"title":406,"path":11,"stem":407},{"title":27,"path":29,"stem":411,"children":412},"docs\u002Fiam\u002Findex",[413,414,417,552,555,571,574],{"title":27,"path":29,"stem":411},{"title":14,"path":415,"stem":416},"\u002Fdocs\u002Fiam\u002Fgetting-started","docs\u002Fiam\u002F00.getting-started",{"title":155,"path":418,"stem":419,"children":420},"\u002Fdocs\u002Fiam\u002Fessentials","docs\u002Fiam\u002F01.essentials\u002Findex",[421,422,426,430,434,438,442,446,450,454,458,462,465,469,473,477,481,484,488,492,495,499,502],{"title":155,"path":418,"stem":419},{"title":423,"path":424,"stem":425},"Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Ftokens","docs\u002Fiam\u002F01.essentials\u002F00.tokens",{"title":427,"path":428,"stem":429},"Access Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Faccess-tokens","docs\u002Fiam\u002F01.essentials\u002F01.access-tokens",{"title":431,"path":432,"stem":433},"Refresh Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Frefresh-tokens","docs\u002Fiam\u002F01.essentials\u002F02.refresh-tokens",{"title":435,"path":436,"stem":437},"Anomaly Detection","\u002Fdocs\u002Fiam\u002Fessentials\u002Fanomalies","docs\u002Fiam\u002F01.essentials\u002F03.anomalies",{"title":439,"path":440,"stem":441},"Signup","\u002Fdocs\u002Fiam\u002Fessentials\u002Fsignup","docs\u002Fiam\u002F01.essentials\u002F04.signup",{"title":443,"path":444,"stem":445},"Login","\u002Fdocs\u002Fiam\u002Fessentials\u002Flogin","docs\u002Fiam\u002F01.essentials\u002F05.login",{"title":447,"path":448,"stem":449},"Logout","\u002Fdocs\u002Fiam\u002Fessentials\u002Flogout","docs\u002Fiam\u002F01.essentials\u002F06.logout",{"title":451,"path":452,"stem":453},"OAuth","\u002Fdocs\u002Fiam\u002Fessentials\u002Foauth","docs\u002Fiam\u002F01.essentials\u002F07.oauth",{"title":455,"path":456,"stem":457},"Magic Links","\u002Fdocs\u002Fiam\u002Fessentials\u002Fmagic-links","docs\u002Fiam\u002F01.essentials\u002F08.magic-links",{"title":459,"path":460,"stem":461},"Emails","\u002Fdocs\u002Fiam\u002Fessentials\u002Femails","docs\u002Fiam\u002F01.essentials\u002F09.emails",{"title":192,"path":463,"stem":464},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fmfa","docs\u002Fiam\u002F01.essentials\u002F10.mfa",{"title":466,"path":467,"stem":468},"Fingerprinting","\u002Fdocs\u002Fiam\u002Fessentials\u002Ffingerprinting","docs\u002Fiam\u002F01.essentials\u002F11.fingerprinting",{"title":470,"path":471,"stem":472},"Backend for Frontend","\u002Fdocs\u002Fiam\u002Fessentials\u002Fbff","docs\u002Fiam\u002F01.essentials\u002F12.bff",{"title":474,"path":475,"stem":476},"HMAC Authentication","\u002Fdocs\u002Fiam\u002Fessentials\u002Fhmac","docs\u002Fiam\u002F01.essentials\u002F13.hmac",{"title":478,"path":479,"stem":480},"XSS Protection","\u002Fdocs\u002Fiam\u002Fessentials\u002Fxss","docs\u002Fiam\u002F01.essentials\u002F14.xss",{"title":188,"path":482,"stem":483},"\u002Fdocs\u002Fiam\u002Fessentials\u002Flogging","docs\u002Fiam\u002F01.essentials\u002F15.logging",{"title":485,"path":486,"stem":487},"Rate Limiting","\u002Fdocs\u002Fiam\u002Fessentials\u002Frate-limiting","docs\u002Fiam\u002F01.essentials\u002F16.rate-limiting",{"title":489,"path":490,"stem":491},"Database","\u002Fdocs\u002Fiam\u002Fessentials\u002Fdatabase","docs\u002Fiam\u002F01.essentials\u002F17.database",{"title":184,"path":493,"stem":494},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fcookies","docs\u002Fiam\u002F01.essentials\u002F18.cookies",{"title":496,"path":497,"stem":498},"Service Startup","\u002Fdocs\u002Fiam\u002Fessentials\u002Fservice","docs\u002Fiam\u002F01.essentials\u002F19.service",{"title":202,"path":500,"stem":501},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fpassword-reset","docs\u002Fiam\u002F01.essentials\u002F20.password-reset",{"title":503,"path":504,"stem":505,"children":506},"API Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi","docs\u002Fiam\u002F01.essentials\u002F21.api\u002Findex",[507,508,512,516,546,549],{"title":503,"path":504,"stem":505},{"title":509,"path":510,"stem":511},"Creating Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fcreation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F00.creation",{"title":513,"path":514,"stem":515},"Verifying Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fverification","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F01.verification",{"title":517,"path":518,"stem":519,"children":520},"Manage Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002Findex",[521,522,526,530,534,538,542],{"title":517,"path":518,"stem":519},{"title":523,"path":524,"stem":525},"Privileges","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fprivilege","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F00.privilege",{"title":527,"path":528,"stem":529},"Revocation","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Frevocation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F01.revocation",{"title":531,"path":532,"stem":533},"Rotation","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Frotation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F02.rotation",{"title":535,"path":536,"stem":537},"IP Restriction","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fip-updates","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F03.ip-updates",{"title":539,"path":540,"stem":541},"Metadata","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fmetadata","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F04.metadata",{"title":543,"path":544,"stem":545},"Token Listing","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Flist","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F05.list",{"title":485,"path":547,"stem":548},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Frate-limiting","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F03.rate-limiting",{"title":38,"path":550,"stem":551},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fsecurity","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F04.security",{"title":38,"path":553,"stem":554},"\u002Fdocs\u002Fiam\u002Fsecurity","docs\u002Fiam\u002F02.security",{"title":243,"path":556,"stem":557,"children":558,"page":53},"\u002Fdocs\u002Fiam\u002Fguides","docs\u002Fiam\u002F03.guides",[559,563,567],{"title":560,"path":561,"stem":562},"Deployment","\u002Fdocs\u002Fiam\u002Fguides\u002Fdeployment","docs\u002Fiam\u002F03.guides\u002Fdeployment",{"title":564,"path":565,"stem":566},"Operation Scripts","\u002Fdocs\u002Fiam\u002Fguides\u002Foperation-scripts","docs\u002Fiam\u002F03.guides\u002Foperation-scripts",{"title":568,"path":569,"stem":570},"Role-Based Access Control","\u002Fdocs\u002Fiam\u002Fguides\u002Frbac","docs\u002Fiam\u002F03.guides\u002Frbac",{"title":264,"path":572,"stem":573},"\u002Fdocs\u002Fiam\u002Fconfiguration","docs\u002Fiam\u002F04.configuration",{"title":575,"path":576,"stem":577,"children":578,"page":53},"Api","\u002Fdocs\u002Fiam\u002Fapi","docs\u002Fiam\u002F05.API",[579,582,585],{"title":135,"path":580,"stem":581},"\u002Fdocs\u002Fiam\u002Fapi\u002Fapi","docs\u002Fiam\u002F05.API\u002F00.api",{"title":277,"path":583,"stem":584},"\u002Fdocs\u002Fiam\u002Fapi\u002Fmiddlewares","docs\u002Fiam\u002F05.API\u002F02.middlewares",{"title":273,"path":586,"stem":587},"\u002Fdocs\u002Fiam\u002Fapi\u002Froutes","docs\u002Fiam\u002F05.API\u002F03.routes",{"title":40,"path":42,"stem":70,"children":589},[590,591,592,593,605,606,607,608],{"title":40,"path":42,"stem":70},{"title":14,"path":74,"stem":75},{"title":77,"path":78,"stem":79},{"title":81,"path":82,"stem":83,"children":594},[595,596,597,598,599,600,601,602,603,604],{"title":81,"path":82,"stem":83},{"title":87,"path":88,"stem":89},{"title":91,"path":92,"stem":93},{"title":95,"path":96,"stem":97},{"title":99,"path":100,"stem":101},{"title":103,"path":104,"stem":105},{"title":107,"path":108,"stem":109},{"title":111,"path":112,"stem":113},{"title":115,"path":116,"stem":117},{"title":119,"path":120,"stem":121},{"title":123,"path":124,"stem":125},{"title":127,"path":128,"stem":129},{"title":131,"path":132,"stem":133},{"title":135,"path":136,"stem":137},{"title":285,"path":48,"stem":610,"children":611},"docs\u002Futils\u002Findex",[612,613,630,663,760],{"title":285,"path":48,"stem":610},{"title":614,"path":615,"stem":616,"children":617,"page":53},"Eslint","\u002Fdocs\u002Futils\u002Feslint","docs\u002Futils\u002Feslint",[618,622,626],{"title":619,"path":620,"stem":621},"React Config","\u002Fdocs\u002Futils\u002Feslint\u002Freact","docs\u002Futils\u002Feslint\u002Freact",{"title":623,"path":624,"stem":625},"TypeScript Config","\u002Fdocs\u002Futils\u002Feslint\u002Ftypescript","docs\u002Futils\u002Feslint\u002Ftypescript",{"title":627,"path":628,"stem":629},"Vue Config","\u002Fdocs\u002Futils\u002Feslint\u002Fvue","docs\u002Futils\u002Feslint\u002Fvue",{"title":631,"path":632,"stem":633,"children":634,"page":53},"Server","\u002Fdocs\u002Futils\u002Fserver","docs\u002Futils\u002Fserver",[635,639,643,647,651,655,659],{"title":636,"path":637,"stem":638},"Encryption","\u002Fdocs\u002Futils\u002Fserver\u002Fencryption","docs\u002Futils\u002Fserver\u002Fencryption",{"title":640,"path":641,"stem":642},"Path Resolver","\u002Fdocs\u002Futils\u002Fserver\u002Fpathresolver","docs\u002Futils\u002Fserver\u002FpathResolver",{"title":644,"path":645,"stem":646},"File Replacements","\u002Fdocs\u002Futils\u002Fserver\u002Freplace","docs\u002Futils\u002Fserver\u002Freplace",{"title":648,"path":649,"stem":650},"run","\u002Fdocs\u002Futils\u002Fserver\u002Frun","docs\u002Futils\u002Fserver\u002Frun",{"title":652,"path":653,"stem":654},"scheduleTask","\u002Fdocs\u002Futils\u002Fserver\u002Fscheduletask","docs\u002Futils\u002Fserver\u002FscheduleTask",{"title":656,"path":657,"stem":658},"spawnRun","\u002Fdocs\u002Futils\u002Fserver\u002Fspawnrun","docs\u002Futils\u002Fserver\u002FspawnRun",{"title":660,"path":661,"stem":662},"uploadCsv","\u002Fdocs\u002Futils\u002Fserver\u002Fuploadcsv","docs\u002Futils\u002Fserver\u002FuploadCsv",{"title":664,"path":665,"stem":666,"children":667,"page":53},"Shared","\u002Fdocs\u002Futils\u002Fshared","docs\u002Futils\u002Fshared",[668,672,676,680,684,688,692,696,700,704,708,712,716,720,724,728,732,736,740,744,748,752,756],{"title":669,"path":670,"stem":671},"BatchQueue","\u002Fdocs\u002Futils\u002Fshared\u002Fbatchqueue","docs\u002Futils\u002Fshared\u002FbatchQueue",{"title":673,"path":674,"stem":675},"capitalize","\u002Fdocs\u002Futils\u002Fshared\u002Fcapitalize","docs\u002Futils\u002Fshared\u002Fcapitalize",{"title":677,"path":678,"stem":679},"chunkProcess","\u002Fdocs\u002Futils\u002Fshared\u002Fchunkprocess","docs\u002Futils\u002Fshared\u002FchunkProcess",{"title":681,"path":682,"stem":683},"cleanObject","\u002Fdocs\u002Futils\u002Fshared\u002Fcleanobject","docs\u002Futils\u002Fshared\u002FcleanObject",{"title":685,"path":686,"stem":687},"createConfigManager","\u002Fdocs\u002Futils\u002Fshared\u002Fconfigurationdefiner","docs\u002Futils\u002Fshared\u002FconfigurationDefiner",{"title":689,"path":690,"stem":691},"debounce","\u002Fdocs\u002Futils\u002Fshared\u002Fdebounce","docs\u002Futils\u002Fshared\u002Fdebounce",{"title":693,"path":694,"stem":695},"ensureArray","\u002Fdocs\u002Futils\u002Fshared\u002Fensurearray","docs\u002Futils\u002Fshared\u002FensureArray",{"title":697,"path":698,"stem":699},"fetchWithRetry","\u002Fdocs\u002Futils\u002Fshared\u002Ffetchwithretry","docs\u002Futils\u002Fshared\u002FfetchWithRetry",{"title":701,"path":702,"stem":703},"filterEmptyValues","\u002Fdocs\u002Futils\u002Fshared\u002Ffilteremptyvalues","docs\u002Futils\u002Fshared\u002FfilterEmptyValues",{"title":705,"path":706,"stem":707},"findStringsInObject","\u002Fdocs\u002Futils\u002Fshared\u002Ffindobjectvalues","docs\u002Futils\u002Fshared\u002FfindObjectValues",{"title":709,"path":710,"stem":711},"fisherYatesShuffle","\u002Fdocs\u002Futils\u002Fshared\u002Ffisheryatesshuffle","docs\u002Futils\u002Fshared\u002FfisherYatesShuffle",{"title":713,"path":714,"stem":715},"getRandomImage","\u002Fdocs\u002Futils\u002Fshared\u002Fgetrandomimage","docs\u002Futils\u002Fshared\u002FgetRandomImage",{"title":717,"path":718,"stem":719},"isObjectHasValues","\u002Fdocs\u002Futils\u002Fshared\u002Fisobjecthasvalues","docs\u002Futils\u002Fshared\u002FisObjectHasValues",{"title":721,"path":722,"stem":723},"isAsyncOrPromise","\u002Fdocs\u002Futils\u002Fshared\u002Fispromise","docs\u002Futils\u002Fshared\u002FisPromise",{"title":725,"path":726,"stem":727},"MiniCache","\u002Fdocs\u002Futils\u002Fshared\u002Fminicache","docs\u002Futils\u002Fshared\u002FminiCache",{"title":729,"path":730,"stem":731},"parseCookies","\u002Fdocs\u002Futils\u002Fshared\u002Fparserawcookies","docs\u002Futils\u002Fshared\u002FparseRawCookies",{"title":733,"path":734,"stem":735},"safeAction","\u002Fdocs\u002Futils\u002Fshared\u002Fpromiselocker","docs\u002Futils\u002Fshared\u002FpromiseLocker",{"title":737,"path":738,"stem":739},"Random","\u002Fdocs\u002Futils\u002Fshared\u002Frandom","docs\u002Futils\u002Fshared\u002Frandom",{"title":741,"path":742,"stem":743},"range","\u002Fdocs\u002Futils\u002Fshared\u002Frange","docs\u002Futils\u002Fshared\u002Frange",{"title":745,"path":746,"stem":747},"rateLimiters","\u002Fdocs\u002Futils\u002Fshared\u002Fratelimiters","docs\u002Futils\u002Fshared\u002FrateLimiters",{"title":749,"path":750,"stem":751},"safeObjectMerge","\u002Fdocs\u002Futils\u002Fshared\u002Fsafemerge","docs\u002Futils\u002Fshared\u002FsafeMerge",{"title":753,"path":754,"stem":755},"textTruncation","\u002Fdocs\u002Futils\u002Fshared\u002Ftexttruncation","docs\u002Futils\u002Fshared\u002FtextTruncation",{"title":757,"path":758,"stem":759},"validateZodSchema","\u002Fdocs\u002Futils\u002Fshared\u002Fvalidatezodschema","docs\u002Futils\u002Fshared\u002FvalidateZodSchema",{"title":761,"path":762,"stem":763,"children":764},"Utility Types","\u002Fdocs\u002Futils\u002Ftypes","docs\u002Futils\u002Ftypes\u002Findex",[765,766,770,774,778,782,786,790,794,798],{"title":761,"path":762,"stem":763},{"title":767,"path":768,"stem":769},"Brand","\u002Fdocs\u002Futils\u002Ftypes\u002Fbrand","docs\u002Futils\u002Ftypes\u002FBrand",{"title":771,"path":772,"stem":773},"DeepPartial","\u002Fdocs\u002Futils\u002Ftypes\u002Fdeeppartial","docs\u002Futils\u002Ftypes\u002FDeepPartial",{"title":775,"path":776,"stem":777},"Merge","\u002Fdocs\u002Futils\u002Ftypes\u002Fmerge","docs\u002Futils\u002Ftypes\u002FMerge",{"title":779,"path":780,"stem":781},"NonNullable","\u002Fdocs\u002Futils\u002Ftypes\u002Fnonnullable","docs\u002Futils\u002Ftypes\u002FNonNullable",{"title":783,"path":784,"stem":785},"Prettify","\u002Fdocs\u002Futils\u002Ftypes\u002Fprettify","docs\u002Futils\u002Ftypes\u002FPrettify",{"title":787,"path":788,"stem":789},"PromiseType","\u002Fdocs\u002Futils\u002Ftypes\u002Fpromisetype","docs\u002Futils\u002Ftypes\u002FPromiseType",{"title":791,"path":792,"stem":793},"RequireKeys","\u002Fdocs\u002Futils\u002Ftypes\u002Frequirekeys","docs\u002Futils\u002Ftypes\u002FRequireKeys",{"title":795,"path":796,"stem":797},"StandardResponse","\u002Fdocs\u002Futils\u002Ftypes\u002Fstandardresponse","docs\u002Futils\u002Ftypes\u002FStandardResponse",{"title":799,"path":800,"stem":801},"ValueOf","\u002Fdocs\u002Futils\u002Ftypes\u002Fvalueof","docs\u002Futils\u002Ftypes\u002FValueOf",{"id":4,"extension":5,"links":803,"meta":814,"stem":62,"__hash__":63},[804,812,813],{"nested":8,"label":9,"icon":10,"to":11,"children":805},[806,807,808,809,810,811],{"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":816,"title":135,"body":817,"description":3920,"extension":3921,"icon":10,"meta":3922,"module":3923,"navigation":8,"path":136,"rawbody":3924,"seo":3925,"stem":137,"__hash__":3926},"docs\u002Fdocs\u002Fshield-base\u002F06.api.md",{"type":818,"value":819,"toc":3884},"minimark",[820,833,836,841,848,851,959,1051,1053,1059,1073,1129,1183,1185,1191,1208,1254,1294,1296,1302,1313,1359,1399,1401,1407,1425,1471,1511,1513,1519,1530,1576,1616,1618,1624,1631,1695,1753,1755,1761,1767,1828,1883,1885,1891,1903,1936,1962,1964,1970,1981,2013,2039,2041,2047,2050,2082,2109,2115,2117,2123,2126,2158,2184,2189,2191,2197,2203,2250,2297,2299,2305,2308,2335,2362,2364,2370,2373,2433,2489,2491,2495,2500,2503,2645,2673,2679,2681,2687,2690,2745,2806,2810,2812,2816,2830,2836,2839,2903,2959,2961,2967,2970,3048,3101,3103,3109,3112,3196,3260,3262,3268,3271,3312,3350,3352,3358,3361,3411,3462,3464,3469,3472,3513,3551,3553,3558,3561,3607,3646,3655,3657,3661,3667,3670,3717,3758,3760,3764,3767,3853,3880],[821,822,823,824,828,829,832],"p",{},"All functions, types, and utilities are exported from ",[825,826,827],"code",{},"@riavzon\u002Fshield-base",". The internal subpath ",[825,830,831],{},"@riavzon\u002Fshield-base\u002Finternal"," exports lower-level utilities used by the CLI.",[834,835],"hr",{},[837,838,840],"h2",{"id":839},"data-source-functions","Data Source Functions",[842,843,845],"h3",{"id":844},"generatedata",[825,846,847],{},"generateData",[821,849,850],{},"Runs the full pipeline in parallel and compiles all built-in sources.",[852,853,858],"pre",{"className":854,"code":855,"language":856,"meta":857,"style":857},"language-ts shiki shiki-themes light-plus light-plus dracula","function generateData(\n  outputPath: string,\n  userAgent: string,\n  selectedSources: string[] | boolean,\n  mmdbPath: string\n): Promise\u003Cvoid>\n","ts","",[825,859,860,877,895,907,928,939],{"__ignoreMap":857},[861,862,865,869,873],"span",{"class":863,"line":864},"line",1,[861,866,868],{"class":867},"sl46w","function",[861,870,872],{"class":871},"sHOzp"," generateData",[861,874,876],{"class":875},"sDd4n","(\n",[861,878,880,884,888,892],{"class":863,"line":879},2,[861,881,883],{"class":882},"sygFZ","  outputPath",[861,885,887],{"class":886},"saOXh",":",[861,889,891],{"class":890},"sFs1U"," string",[861,893,894],{"class":875},",\n",[861,896,898,901,903,905],{"class":863,"line":897},3,[861,899,900],{"class":882},"  userAgent",[861,902,887],{"class":886},[861,904,891],{"class":890},[861,906,894],{"class":875},[861,908,910,913,915,917,920,923,926],{"class":863,"line":909},4,[861,911,912],{"class":882},"  selectedSources",[861,914,887],{"class":886},[861,916,891],{"class":890},[861,918,919],{"class":875},"[] ",[861,921,922],{"class":886},"|",[861,924,925],{"class":890}," boolean",[861,927,894],{"class":875},[861,929,931,934,936],{"class":863,"line":930},5,[861,932,933],{"class":882},"  mmdbPath",[861,935,887],{"class":886},[861,937,938],{"class":890}," string\n",[861,940,942,945,947,950,953,956],{"class":863,"line":941},6,[861,943,944],{"class":875},")",[861,946,887],{"class":886},[861,948,949],{"class":890}," Promise",[861,951,952],{"class":875},"\u003C",[861,954,955],{"class":890},"void",[861,957,958],{"class":875},">\n",[960,961,962,978],"table",{},[963,964,965],"thead",{},[966,967,968,972,975],"tr",{},[969,970,971],"th",{},"Parameter",[969,973,974],{},"Type",[969,976,977],{},"Description",[979,980,981,997,1015,1033],"tbody",{},[966,982,983,989,994],{},[984,985,986],"td",{},[825,987,988],{},"outputPath",[984,990,991],{},[825,992,993],{},"string",[984,995,996],{},"Directory to write compiled files.",[966,998,999,1004,1008],{},[984,1000,1001],{},[825,1002,1003],{},"userAgent",[984,1005,1006],{},[825,1007,993],{},[984,1009,1010,1011,1014],{},"BGP.tools contact string: ",[825,1012,1013],{},"\u003Cname> [url] - \u003Cemail>",".",[966,1016,1017,1022,1027],{},[984,1018,1019],{},[825,1020,1021],{},"selectedSources",[984,1023,1024],{},[825,1025,1026],{},"string[] | boolean",[984,1028,1029,1032],{},[825,1030,1031],{},"true"," = all FireHOL levels; string array = specific level IDs.",[966,1034,1035,1040,1044],{},[984,1036,1037],{},[825,1038,1039],{},"mmdbPath",[984,1041,1042],{},[825,1043,993],{},[984,1045,1046,1047,1050],{},"Path to the ",[825,1048,1049],{},"mmdbctl"," binary.",[834,1052],{},[842,1054,1056],{"id":1055},"getbgpandasn",[825,1057,1058],{},"getBGPAndASN",[821,1060,1061,1062,1069,1070,1014],{},"Fetches BGP routing tables and ASN data from ",[1063,1064,1068],"a",{"href":1065,"rel":1066},"https:\u002F\u002Fbgp.tools",[1067],"nofollow","BGP.tools"," and compiles ",[825,1071,1072],{},"asn.mmdb",[852,1074,1076],{"className":854,"code":1075,"language":856,"meta":857,"style":857},"function getBGPAndASN(\n  userAgent: string,\n  outputPath: string,\n  mmdbPath: string\n): Promise\u003Cvoid>\n",[825,1077,1078,1087,1097,1107,1115],{"__ignoreMap":857},[861,1079,1080,1082,1085],{"class":863,"line":864},[861,1081,868],{"class":867},[861,1083,1084],{"class":871}," getBGPAndASN",[861,1086,876],{"class":875},[861,1088,1089,1091,1093,1095],{"class":863,"line":879},[861,1090,900],{"class":882},[861,1092,887],{"class":886},[861,1094,891],{"class":890},[861,1096,894],{"class":875},[861,1098,1099,1101,1103,1105],{"class":863,"line":897},[861,1100,883],{"class":882},[861,1102,887],{"class":886},[861,1104,891],{"class":890},[861,1106,894],{"class":875},[861,1108,1109,1111,1113],{"class":863,"line":909},[861,1110,933],{"class":882},[861,1112,887],{"class":886},[861,1114,938],{"class":890},[861,1116,1117,1119,1121,1123,1125,1127],{"class":863,"line":930},[861,1118,944],{"class":875},[861,1120,887],{"class":886},[861,1122,949],{"class":890},[861,1124,952],{"class":875},[861,1126,955],{"class":890},[861,1128,958],{"class":875},[960,1130,1131,1141],{},[963,1132,1133],{},[966,1134,1135,1137,1139],{},[969,1136,971],{},[969,1138,974],{},[969,1140,977],{},[979,1142,1143,1157,1169],{},[966,1144,1145,1149,1153],{},[984,1146,1147],{},[825,1148,1003],{},[984,1150,1151],{},[825,1152,993],{},[984,1154,1010,1155,1014],{},[825,1156,1013],{},[966,1158,1159,1163,1167],{},[984,1160,1161],{},[825,1162,988],{},[984,1164,1165],{},[825,1166,993],{},[984,1168,996],{},[966,1170,1171,1175,1179],{},[984,1172,1173],{},[825,1174,1039],{},[984,1176,1177],{},[825,1178,993],{},[984,1180,1046,1181,1050],{},[825,1182,1049],{},[834,1184],{},[842,1186,1188],{"id":1187},"buildcitiesdata",[825,1189,1190],{},"buildCitiesData",[821,1192,1193,1194,1199,1200,1069,1205,1014],{},"Fetches ",[1063,1195,1198],{"href":1196,"rel":1197},"https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc8805",[1067],"RFC 8805"," geofeed data from ",[1063,1201,1204],{"href":1202,"rel":1203},"https:\u002F\u002Fgeolocatemuch.com",[1067],"geolocatemuch.com",[825,1206,1207],{},"city.mmdb",[852,1209,1211],{"className":854,"code":1210,"language":856,"meta":857,"style":857},"function buildCitiesData(\n  outputPath: string,\n  mmdbPath: string\n): Promise\u003Cvoid>\n",[825,1212,1213,1222,1232,1240],{"__ignoreMap":857},[861,1214,1215,1217,1220],{"class":863,"line":864},[861,1216,868],{"class":867},[861,1218,1219],{"class":871}," buildCitiesData",[861,1221,876],{"class":875},[861,1223,1224,1226,1228,1230],{"class":863,"line":879},[861,1225,883],{"class":882},[861,1227,887],{"class":886},[861,1229,891],{"class":890},[861,1231,894],{"class":875},[861,1233,1234,1236,1238],{"class":863,"line":897},[861,1235,933],{"class":882},[861,1237,887],{"class":886},[861,1239,938],{"class":890},[861,1241,1242,1244,1246,1248,1250,1252],{"class":863,"line":909},[861,1243,944],{"class":875},[861,1245,887],{"class":886},[861,1247,949],{"class":890},[861,1249,952],{"class":875},[861,1251,955],{"class":890},[861,1253,958],{"class":875},[960,1255,1256,1266],{},[963,1257,1258],{},[966,1259,1260,1262,1264],{},[969,1261,971],{},[969,1263,974],{},[969,1265,977],{},[979,1267,1268,1280],{},[966,1269,1270,1274,1278],{},[984,1271,1272],{},[825,1273,988],{},[984,1275,1276],{},[825,1277,993],{},[984,1279,996],{},[966,1281,1282,1286,1290],{},[984,1283,1284],{},[825,1285,1039],{},[984,1287,1288],{},[825,1289,993],{},[984,1291,1046,1292,1050],{},[825,1293,1049],{},[834,1295],{},[842,1297,1299],{"id":1298},"getgeodatas",[825,1300,1301],{},"getGeoDatas",[821,1303,1304,1305,1069,1310,1014],{},"Fetches IP-to-country mapping data from ",[1063,1306,1309],{"href":1307,"rel":1308},"https:\u002F\u002Fgithub.com\u002Fsapics\u002Fip-location-db",[1067],"sapics\u002Fip-location-db",[825,1311,1312],{},"country.mmdb",[852,1314,1316],{"className":854,"code":1315,"language":856,"meta":857,"style":857},"function getGeoDatas(\n  outputPath: string,\n  mmdbPath: string\n): Promise\u003Cvoid>\n",[825,1317,1318,1327,1337,1345],{"__ignoreMap":857},[861,1319,1320,1322,1325],{"class":863,"line":864},[861,1321,868],{"class":867},[861,1323,1324],{"class":871}," getGeoDatas",[861,1326,876],{"class":875},[861,1328,1329,1331,1333,1335],{"class":863,"line":879},[861,1330,883],{"class":882},[861,1332,887],{"class":886},[861,1334,891],{"class":890},[861,1336,894],{"class":875},[861,1338,1339,1341,1343],{"class":863,"line":897},[861,1340,933],{"class":882},[861,1342,887],{"class":886},[861,1344,938],{"class":890},[861,1346,1347,1349,1351,1353,1355,1357],{"class":863,"line":909},[861,1348,944],{"class":875},[861,1350,887],{"class":886},[861,1352,949],{"class":890},[861,1354,952],{"class":875},[861,1356,955],{"class":890},[861,1358,958],{"class":875},[960,1360,1361,1371],{},[963,1362,1363],{},[966,1364,1365,1367,1369],{},[969,1366,971],{},[969,1368,974],{},[969,1370,977],{},[979,1372,1373,1385],{},[966,1374,1375,1379,1383],{},[984,1376,1377],{},[825,1378,988],{},[984,1380,1381],{},[825,1382,993],{},[984,1384,996],{},[966,1386,1387,1391,1395],{},[984,1388,1389],{},[825,1390,1039],{},[984,1392,1393],{},[825,1394,993],{},[984,1396,1046,1397,1050],{},[825,1398,1049],{},[834,1400],{},[842,1402,1404],{"id":1403},"getlistofproxies",[825,1405,1406],{},"getListOfProxies",[821,1408,1409,1410,1415,1416,1421,1422,1014],{},"Fetches proxy and anonymizer IP lists from ",[1063,1411,1414],{"href":1412,"rel":1413},"https:\u002F\u002Fgithub.com\u002Fmthcht\u002Fawesome-lists\u002Ftree\u002Fmain\u002FLists\u002FPROXY",[1067],"awesome-lists"," and ",[1063,1417,1420],{"href":1418,"rel":1419},"https:\u002F\u002Fgithub.com\u002Ffirehol\u002Fblocklist-ipsets\u002Fblob\u002Fmaster\u002Ffirehol_proxies.netset",[1067],"FireHOL",", then compiles ",[825,1423,1424],{},"proxy.mmdb",[852,1426,1428],{"className":854,"code":1427,"language":856,"meta":857,"style":857},"function getListOfProxies(\n  outputPath: string,\n  mmdbPath: string\n): Promise\u003Cvoid>\n",[825,1429,1430,1439,1449,1457],{"__ignoreMap":857},[861,1431,1432,1434,1437],{"class":863,"line":864},[861,1433,868],{"class":867},[861,1435,1436],{"class":871}," getListOfProxies",[861,1438,876],{"class":875},[861,1440,1441,1443,1445,1447],{"class":863,"line":879},[861,1442,883],{"class":882},[861,1444,887],{"class":886},[861,1446,891],{"class":890},[861,1448,894],{"class":875},[861,1450,1451,1453,1455],{"class":863,"line":897},[861,1452,933],{"class":882},[861,1454,887],{"class":886},[861,1456,938],{"class":890},[861,1458,1459,1461,1463,1465,1467,1469],{"class":863,"line":909},[861,1460,944],{"class":875},[861,1462,887],{"class":886},[861,1464,949],{"class":890},[861,1466,952],{"class":875},[861,1468,955],{"class":890},[861,1470,958],{"class":875},[960,1472,1473,1483],{},[963,1474,1475],{},[966,1476,1477,1479,1481],{},[969,1478,971],{},[969,1480,974],{},[969,1482,977],{},[979,1484,1485,1497],{},[966,1486,1487,1491,1495],{},[984,1488,1489],{},[825,1490,988],{},[984,1492,1493],{},[825,1494,993],{},[984,1496,996],{},[966,1498,1499,1503,1507],{},[984,1500,1501],{},[825,1502,1039],{},[984,1504,1505],{},[825,1506,993],{},[984,1508,1046,1509,1050],{},[825,1510,1049],{},[834,1512],{},[842,1514,1516],{"id":1515},"gettorlists",[825,1517,1518],{},"getTorLists",[821,1520,1521,1522,1069,1527,1014],{},"Fetches live Tor relay data from the ",[1063,1523,1526],{"href":1524,"rel":1525},"https:\u002F\u002Fmetrics.torproject.org\u002Fonionoo.html",[1067],"Onionoo API",[825,1528,1529],{},"tor.mmdb",[852,1531,1533],{"className":854,"code":1532,"language":856,"meta":857,"style":857},"function getTorLists(\n  outputPath: string,\n  mmdbPath: string\n): Promise\u003Cvoid>\n",[825,1534,1535,1544,1554,1562],{"__ignoreMap":857},[861,1536,1537,1539,1542],{"class":863,"line":864},[861,1538,868],{"class":867},[861,1540,1541],{"class":871}," getTorLists",[861,1543,876],{"class":875},[861,1545,1546,1548,1550,1552],{"class":863,"line":879},[861,1547,883],{"class":882},[861,1549,887],{"class":886},[861,1551,891],{"class":890},[861,1553,894],{"class":875},[861,1555,1556,1558,1560],{"class":863,"line":897},[861,1557,933],{"class":882},[861,1559,887],{"class":886},[861,1561,938],{"class":890},[861,1563,1564,1566,1568,1570,1572,1574],{"class":863,"line":909},[861,1565,944],{"class":875},[861,1567,887],{"class":886},[861,1569,949],{"class":890},[861,1571,952],{"class":875},[861,1573,955],{"class":890},[861,1575,958],{"class":875},[960,1577,1578,1588],{},[963,1579,1580],{},[966,1581,1582,1584,1586],{},[969,1583,971],{},[969,1585,974],{},[969,1587,977],{},[979,1589,1590,1602],{},[966,1591,1592,1596,1600],{},[984,1593,1594],{},[825,1595,988],{},[984,1597,1598],{},[825,1599,993],{},[984,1601,996],{},[966,1603,1604,1608,1612],{},[984,1605,1606],{},[825,1607,1039],{},[984,1609,1610],{},[825,1611,993],{},[984,1613,1046,1614,1050],{},[825,1615,1049],{},[834,1617],{},[842,1619,1621],{"id":1620},"getthreatlists",[825,1622,1623],{},"getThreatLists",[821,1625,1193,1626,1630],{},[1063,1627,1420],{"href":1628,"rel":1629},"https:\u002F\u002Fgithub.com\u002Ffirehol\u002Fblocklist-ipsets",[1067]," blocklists and compiles one MMDB file per selected level.",[852,1632,1634],{"className":854,"code":1633,"language":856,"meta":857,"style":857},"function getThreatLists(\n  outputPath: string,\n  mmdbPath: string,\n  selectedSources?: string[] | boolean\n): Promise\u003Cvoid>\n",[825,1635,1636,1645,1655,1665,1681],{"__ignoreMap":857},[861,1637,1638,1640,1643],{"class":863,"line":864},[861,1639,868],{"class":867},[861,1641,1642],{"class":871}," getThreatLists",[861,1644,876],{"class":875},[861,1646,1647,1649,1651,1653],{"class":863,"line":879},[861,1648,883],{"class":882},[861,1650,887],{"class":886},[861,1652,891],{"class":890},[861,1654,894],{"class":875},[861,1656,1657,1659,1661,1663],{"class":863,"line":897},[861,1658,933],{"class":882},[861,1660,887],{"class":886},[861,1662,891],{"class":890},[861,1664,894],{"class":875},[861,1666,1667,1669,1672,1674,1676,1678],{"class":863,"line":909},[861,1668,912],{"class":882},[861,1670,1671],{"class":886},"?:",[861,1673,891],{"class":890},[861,1675,919],{"class":875},[861,1677,922],{"class":886},[861,1679,1680],{"class":890}," boolean\n",[861,1682,1683,1685,1687,1689,1691,1693],{"class":863,"line":930},[861,1684,944],{"class":875},[861,1686,887],{"class":886},[861,1688,949],{"class":890},[861,1690,952],{"class":875},[861,1692,955],{"class":890},[861,1694,958],{"class":875},[960,1696,1697,1707],{},[963,1698,1699],{},[966,1700,1701,1703,1705],{},[969,1702,971],{},[969,1704,974],{},[969,1706,977],{},[979,1708,1709,1721,1735],{},[966,1710,1711,1715,1719],{},[984,1712,1713],{},[825,1714,988],{},[984,1716,1717],{},[825,1718,993],{},[984,1720,996],{},[966,1722,1723,1727,1731],{},[984,1724,1725],{},[825,1726,1039],{},[984,1728,1729],{},[825,1730,993],{},[984,1732,1046,1733,1050],{},[825,1734,1049],{},[966,1736,1737,1741,1745],{},[984,1738,1739],{},[825,1740,1021],{},[984,1742,1743],{},[825,1744,1026],{},[984,1746,1747,1749,1750,1014],{},[825,1748,1031],{}," = all five lists; string array = subset of ",[825,1751,1752],{},"['firehol_l1', 'firehol_l2', 'firehol_l3', 'firehol_l4', 'firehol_anonymous']",[834,1754],{},[842,1756,1758],{"id":1757},"getcrawlersips",[825,1759,1760],{},"getCrawlersIps",[821,1762,1763,1764,1014],{},"Fetches verified crawler IP ranges from known providers and compiles ",[825,1765,1766],{},"goodBots.mmdb",[852,1768,1770],{"className":854,"code":1769,"language":856,"meta":857,"style":857},"function getCrawlersIps(\n  outputPath: string,\n  mmdbPath: string,\n  customUrls?: ProvidersLists[]\n): Promise\u003Cvoid>\n",[825,1771,1772,1781,1791,1801,1814],{"__ignoreMap":857},[861,1773,1774,1776,1779],{"class":863,"line":864},[861,1775,868],{"class":867},[861,1777,1778],{"class":871}," getCrawlersIps",[861,1780,876],{"class":875},[861,1782,1783,1785,1787,1789],{"class":863,"line":879},[861,1784,883],{"class":882},[861,1786,887],{"class":886},[861,1788,891],{"class":890},[861,1790,894],{"class":875},[861,1792,1793,1795,1797,1799],{"class":863,"line":897},[861,1794,933],{"class":882},[861,1796,887],{"class":886},[861,1798,891],{"class":890},[861,1800,894],{"class":875},[861,1802,1803,1806,1808,1811],{"class":863,"line":909},[861,1804,1805],{"class":882},"  customUrls",[861,1807,1671],{"class":886},[861,1809,1810],{"class":890}," ProvidersLists",[861,1812,1813],{"class":875},"[]\n",[861,1815,1816,1818,1820,1822,1824,1826],{"class":863,"line":930},[861,1817,944],{"class":875},[861,1819,887],{"class":886},[861,1821,949],{"class":890},[861,1823,952],{"class":875},[861,1825,955],{"class":890},[861,1827,958],{"class":875},[960,1829,1830,1840],{},[963,1831,1832],{},[966,1833,1834,1836,1838],{},[969,1835,971],{},[969,1837,974],{},[969,1839,977],{},[979,1841,1842,1854,1868],{},[966,1843,1844,1848,1852],{},[984,1845,1846],{},[825,1847,988],{},[984,1849,1850],{},[825,1851,993],{},[984,1853,996],{},[966,1855,1856,1860,1864],{},[984,1857,1858],{},[825,1859,1039],{},[984,1861,1862],{},[825,1863,993],{},[984,1865,1046,1866,1050],{},[825,1867,1049],{},[966,1869,1870,1875,1880],{},[984,1871,1872],{},[825,1873,1874],{},"customUrls",[984,1876,1877],{},[825,1878,1879],{},"ProvidersLists[]",[984,1881,1882],{},"Optional providers merged with built-in datasets.",[834,1884],{},[842,1886,1888],{"id":1887},"getuseragentlmdblist",[825,1889,1890],{},"getUserAgentLmdbList",[821,1892,1893,1894,1899,1900,1014],{},"Downloads the suspicious user-agent CSV from ",[1063,1895,1898],{"href":1896,"rel":1897},"https:\u002F\u002Fgithub.com\u002Fmthcht\u002Fawesome-lists",[1067],"mthcht\u002Fawesome-lists"," and compiles it into ",[825,1901,1902],{},"useragent-db\u002Fuseragent.mdb",[852,1904,1906],{"className":854,"code":1905,"language":856,"meta":857,"style":857},"function getUserAgentLmdbList(outputPath: string): Promise\u003Cvoid>\n",[825,1907,1908],{"__ignoreMap":857},[861,1909,1910,1912,1915,1918,1920,1922,1924,1926,1928,1930,1932,1934],{"class":863,"line":864},[861,1911,868],{"class":867},[861,1913,1914],{"class":871}," getUserAgentLmdbList",[861,1916,1917],{"class":875},"(",[861,1919,988],{"class":882},[861,1921,887],{"class":886},[861,1923,891],{"class":890},[861,1925,944],{"class":875},[861,1927,887],{"class":886},[861,1929,949],{"class":890},[861,1931,952],{"class":875},[861,1933,955],{"class":890},[861,1935,958],{"class":875},[960,1937,1938,1948],{},[963,1939,1940],{},[966,1941,1942,1944,1946],{},[969,1943,971],{},[969,1945,974],{},[969,1947,977],{},[979,1949,1950],{},[966,1951,1952,1956,1960],{},[984,1953,1954],{},[825,1955,988],{},[984,1957,1958],{},[825,1959,993],{},[984,1961,996],{},[834,1963],{},[842,1965,1967],{"id":1966},"getdisposableemaillmdblist",[825,1968,1969],{},"getDisposableEmailLmdbList",[821,1971,1972,1973,1899,1978,1014],{},"Downloads the disposable email domain blocklist from ",[1063,1974,1977],{"href":1975,"rel":1976},"https:\u002F\u002Fgithub.com\u002Fdisposable-email-domains\u002Fdisposable-email-domains",[1067],"disposable-email-domains",[825,1979,1980],{},"email-db\u002Fdisposable-emails.mdb",[852,1982,1984],{"className":854,"code":1983,"language":856,"meta":857,"style":857},"function getDisposableEmailLmdbList(outputPath: string): Promise\u003Cvoid>\n",[825,1985,1986],{"__ignoreMap":857},[861,1987,1988,1990,1993,1995,1997,1999,2001,2003,2005,2007,2009,2011],{"class":863,"line":864},[861,1989,868],{"class":867},[861,1991,1992],{"class":871}," getDisposableEmailLmdbList",[861,1994,1917],{"class":875},[861,1996,988],{"class":882},[861,1998,887],{"class":886},[861,2000,891],{"class":890},[861,2002,944],{"class":875},[861,2004,887],{"class":886},[861,2006,949],{"class":890},[861,2008,952],{"class":875},[861,2010,955],{"class":890},[861,2012,958],{"class":875},[960,2014,2015,2025],{},[963,2016,2017],{},[966,2018,2019,2021,2023],{},[969,2020,971],{},[969,2022,974],{},[969,2024,977],{},[979,2026,2027],{},[966,2028,2029,2033,2037],{},[984,2030,2031],{},[825,2032,988],{},[984,2034,2035],{},[825,2036,993],{},[984,2038,996],{},[834,2040],{},[842,2042,2044],{"id":2043},"getuseragentlist",[825,2045,2046],{},"getUserAgentList",[821,2048,2049],{},"Downloads the raw suspicious user-agent CSV without compiling it.",[852,2051,2053],{"className":854,"code":2052,"language":856,"meta":857,"style":857},"function getUserAgentList(outputPath: string): Promise\u003Cvoid>\n",[825,2054,2055],{"__ignoreMap":857},[861,2056,2057,2059,2062,2064,2066,2068,2070,2072,2074,2076,2078,2080],{"class":863,"line":864},[861,2058,868],{"class":867},[861,2060,2061],{"class":871}," getUserAgentList",[861,2063,1917],{"class":875},[861,2065,988],{"class":882},[861,2067,887],{"class":886},[861,2069,891],{"class":890},[861,2071,944],{"class":875},[861,2073,887],{"class":886},[861,2075,949],{"class":890},[861,2077,952],{"class":875},[861,2079,955],{"class":890},[861,2081,958],{"class":875},[960,2083,2084,2094],{},[963,2085,2086],{},[966,2087,2088,2090,2092],{},[969,2089,971],{},[969,2091,974],{},[969,2093,977],{},[979,2095,2096],{},[966,2097,2098,2102,2106],{},[984,2099,2100],{},[825,2101,988],{},[984,2103,2104],{},[825,2105,993],{},[984,2107,2108],{},"Directory to write downloaded files.",[821,2110,2111,2112],{},"Output: ",[825,2113,2114],{},"\u003CoutputPath>\u002Fuseragent.csv",[834,2116],{},[842,2118,2120],{"id":2119},"getdisposableemaillist",[825,2121,2122],{},"getDisposableEmailList",[821,2124,2125],{},"Downloads the raw disposable email domain plain-text list without compiling it.",[852,2127,2129],{"className":854,"code":2128,"language":856,"meta":857,"style":857},"function getDisposableEmailList(outputPath: string): Promise\u003Cvoid>\n",[825,2130,2131],{"__ignoreMap":857},[861,2132,2133,2135,2138,2140,2142,2144,2146,2148,2150,2152,2154,2156],{"class":863,"line":864},[861,2134,868],{"class":867},[861,2136,2137],{"class":871}," getDisposableEmailList",[861,2139,1917],{"class":875},[861,2141,988],{"class":882},[861,2143,887],{"class":886},[861,2145,891],{"class":890},[861,2147,944],{"class":875},[861,2149,887],{"class":886},[861,2151,949],{"class":890},[861,2153,952],{"class":875},[861,2155,955],{"class":890},[861,2157,958],{"class":875},[960,2159,2160,2170],{},[963,2161,2162],{},[966,2163,2164,2166,2168],{},[969,2165,971],{},[969,2167,974],{},[969,2169,977],{},[979,2171,2172],{},[966,2173,2174,2178,2182],{},[984,2175,2176],{},[825,2177,988],{},[984,2179,2180],{},[825,2181,993],{},[984,2183,2108],{},[821,2185,2111,2186],{},[825,2187,2188],{},"\u003CoutputPath>\u002Fdisposable_email_blocklist.txt",[834,2190],{},[842,2192,2194],{"id":2193},"restartdata",[825,2195,2196],{},"restartData",[821,2198,2199,2200,1014],{},"Re-downloads and recompiles previously compiled sources using the cached configuration at ",[825,2201,2202],{},"~\u002F.shield-base\u002F.cache.json",[852,2204,2206],{"className":854,"code":2205,"language":856,"meta":857,"style":857},"function restartData(\n  outputPath: string,\n  all: boolean\n): Promise\u003Cvoid>\n",[825,2207,2208,2217,2227,2236],{"__ignoreMap":857},[861,2209,2210,2212,2215],{"class":863,"line":864},[861,2211,868],{"class":867},[861,2213,2214],{"class":871}," restartData",[861,2216,876],{"class":875},[861,2218,2219,2221,2223,2225],{"class":863,"line":879},[861,2220,883],{"class":882},[861,2222,887],{"class":886},[861,2224,891],{"class":890},[861,2226,894],{"class":875},[861,2228,2229,2232,2234],{"class":863,"line":897},[861,2230,2231],{"class":882},"  all",[861,2233,887],{"class":886},[861,2235,1680],{"class":890},[861,2237,2238,2240,2242,2244,2246,2248],{"class":863,"line":909},[861,2239,944],{"class":875},[861,2241,887],{"class":886},[861,2243,949],{"class":890},[861,2245,952],{"class":875},[861,2247,955],{"class":890},[861,2249,958],{"class":875},[960,2251,2252,2262],{},[963,2253,2254],{},[966,2255,2256,2258,2260],{},[969,2257,971],{},[969,2259,974],{},[969,2261,977],{},[979,2263,2264,2276],{},[966,2265,2266,2270,2274],{},[984,2267,2268],{},[825,2269,988],{},[984,2271,2272],{},[825,2273,993],{},[984,2275,996],{},[966,2277,2278,2283,2288],{},[984,2279,2280],{},[825,2281,2282],{},"all",[984,2284,2285],{},[825,2286,2287],{},"boolean",[984,2289,2290,2292,2293,2296],{},[825,2291,1031],{}," = restart all cached sources; ",[825,2294,2295],{},"false"," = restart only the sources in the current run.",[834,2298],{},[842,2300,2302],{"id":2301},"normalizeip",[825,2303,2304],{},"normalizeIp",[821,2306,2307],{},"Normalizes raw IP\u002FCIDR input into canonical format.",[852,2309,2311],{"className":854,"code":2310,"language":856,"meta":857,"style":857},"function normalizeIp(ip: string): string\n",[825,2312,2313],{"__ignoreMap":857},[861,2314,2315,2317,2320,2322,2325,2327,2329,2331,2333],{"class":863,"line":864},[861,2316,868],{"class":867},[861,2318,2319],{"class":871}," normalizeIp",[861,2321,1917],{"class":875},[861,2323,2324],{"class":882},"ip",[861,2326,887],{"class":886},[861,2328,891],{"class":890},[861,2330,944],{"class":875},[861,2332,887],{"class":886},[861,2334,938],{"class":890},[960,2336,2337,2347],{},[963,2338,2339],{},[966,2340,2341,2343,2345],{},[969,2342,971],{},[969,2344,974],{},[969,2346,977],{},[979,2348,2349],{},[966,2350,2351,2355,2359],{},[984,2352,2353],{},[825,2354,2324],{},[984,2356,2357],{},[825,2358,993],{},[984,2360,2361],{},"Raw IPv4, IPv6, or CIDR string.",[834,2363],{},[842,2365,2367],{"id":2366},"normalizeextractedmatch",[825,2368,2369],{},"normalizeExtractedMatch",[821,2371,2372],{},"Normalizes extracted regex groups into canonical CIDR output.",[852,2374,2376],{"className":854,"code":2375,"language":856,"meta":857,"style":857},"function normalizeExtractedMatch(\n  ip1: string,\n  ip2?: string,\n  mask?: string\n): string | string[]\n",[825,2377,2378,2387,2398,2409,2418],{"__ignoreMap":857},[861,2379,2380,2382,2385],{"class":863,"line":864},[861,2381,868],{"class":867},[861,2383,2384],{"class":871}," normalizeExtractedMatch",[861,2386,876],{"class":875},[861,2388,2389,2392,2394,2396],{"class":863,"line":879},[861,2390,2391],{"class":882},"  ip1",[861,2393,887],{"class":886},[861,2395,891],{"class":890},[861,2397,894],{"class":875},[861,2399,2400,2403,2405,2407],{"class":863,"line":897},[861,2401,2402],{"class":882},"  ip2",[861,2404,1671],{"class":886},[861,2406,891],{"class":890},[861,2408,894],{"class":875},[861,2410,2411,2414,2416],{"class":863,"line":909},[861,2412,2413],{"class":882},"  mask",[861,2415,1671],{"class":886},[861,2417,938],{"class":890},[861,2419,2420,2422,2424,2426,2429,2431],{"class":863,"line":930},[861,2421,944],{"class":875},[861,2423,887],{"class":886},[861,2425,891],{"class":890},[861,2427,2428],{"class":886}," |",[861,2430,891],{"class":890},[861,2432,1813],{"class":875},[960,2434,2435,2445],{},[963,2436,2437],{},[966,2438,2439,2441,2443],{},[969,2440,971],{},[969,2442,974],{},[969,2444,977],{},[979,2446,2447,2461,2475],{},[966,2448,2449,2454,2458],{},[984,2450,2451],{},[825,2452,2453],{},"ip1",[984,2455,2456],{},[825,2457,993],{},[984,2459,2460],{},"First extracted IP address.",[966,2462,2463,2468,2472],{},[984,2464,2465],{},[825,2466,2467],{},"ip2",[984,2469,2470],{},[825,2471,993],{},[984,2473,2474],{},"Optional second IP when parsing ranges.",[966,2476,2477,2482,2486],{},[984,2478,2479],{},[825,2480,2481],{},"mask",[984,2483,2484],{},[825,2485,993],{},[984,2487,2488],{},"Optional CIDR mask when parsing CIDR notation.",[834,2490],{},[837,2492,2494],{"id":2493},"compiler-functions","Compiler Functions",[842,2496,2498],{"id":2497},"compiler",[825,2499,2497],{},[821,2501,2502],{},"Compiles JSON data into either MMDB or LMDB format.",[852,2504,2506],{"className":854,"code":2505,"language":856,"meta":857,"style":857},"function compiler\u003CT>(options: CompilerOptions\u003CT>): Promise\u003Cvoid>\n\ntype CompilerOptions\u003CT> =\n  | { type: 'lmdb'; input: LmdbInput\u003CT> }\n  | { type: 'mmdb'; input: Input\u003CT> }\n",[825,2507,2508,2549,2554,2571,2613],{"__ignoreMap":857},[861,2509,2510,2512,2515,2517,2521,2524,2527,2529,2532,2534,2536,2539,2541,2543,2545,2547],{"class":863,"line":864},[861,2511,868],{"class":867},[861,2513,2514],{"class":871}," compiler",[861,2516,952],{"class":875},[861,2518,2520],{"class":2519},"sW-rI","T",[861,2522,2523],{"class":875},">(",[861,2525,2526],{"class":882},"options",[861,2528,887],{"class":886},[861,2530,2531],{"class":890}," CompilerOptions",[861,2533,952],{"class":875},[861,2535,2520],{"class":2519},[861,2537,2538],{"class":875},">)",[861,2540,887],{"class":886},[861,2542,949],{"class":890},[861,2544,952],{"class":875},[861,2546,955],{"class":890},[861,2548,958],{"class":875},[861,2550,2551],{"class":863,"line":879},[861,2552,2553],{"emptyLinePlaceholder":8},"\n",[861,2555,2556,2559,2561,2563,2565,2568],{"class":863,"line":897},[861,2557,2558],{"class":867},"type",[861,2560,2531],{"class":890},[861,2562,952],{"class":875},[861,2564,2520],{"class":2519},[861,2566,2567],{"class":875},"> ",[861,2569,2570],{"class":886},"=\n",[861,2572,2573,2576,2579,2582,2584,2588,2592,2595,2598,2601,2603,2606,2608,2610],{"class":863,"line":909},[861,2574,2575],{"class":886},"  |",[861,2577,2578],{"class":875}," { ",[861,2580,2558],{"class":2581},"sjsA6",[861,2583,887],{"class":886},[861,2585,2587],{"class":2586},"sFkSl"," '",[861,2589,2591],{"class":2590},"sFB1V","lmdb",[861,2593,2594],{"class":2586},"'",[861,2596,2597],{"class":875},"; ",[861,2599,2600],{"class":2581},"input",[861,2602,887],{"class":886},[861,2604,2605],{"class":890}," LmdbInput",[861,2607,952],{"class":875},[861,2609,2520],{"class":2519},[861,2611,2612],{"class":875},"> }\n",[861,2614,2615,2617,2619,2621,2623,2625,2628,2630,2632,2634,2636,2639,2641,2643],{"class":863,"line":930},[861,2616,2575],{"class":886},[861,2618,2578],{"class":875},[861,2620,2558],{"class":2581},[861,2622,887],{"class":886},[861,2624,2587],{"class":2586},[861,2626,2627],{"class":2590},"mmdb",[861,2629,2594],{"class":2586},[861,2631,2597],{"class":875},[861,2633,2600],{"class":2581},[861,2635,887],{"class":886},[861,2637,2638],{"class":890}," Input",[861,2640,952],{"class":875},[861,2642,2520],{"class":2519},[861,2644,2612],{"class":875},[960,2646,2647,2657],{},[963,2648,2649],{},[966,2650,2651,2653,2655],{},[969,2652,971],{},[969,2654,974],{},[969,2656,977],{},[979,2658,2659],{},[966,2660,2661,2665,2670],{},[984,2662,2663],{},[825,2664,2526],{},[984,2666,2667],{},[825,2668,2669],{},"CompilerOptions\u003CT>",[984,2671,2672],{},"Compiler mode and typed input payload.",[821,2674,2675,2676,2678],{},"See ",[1063,2677,127],{"href":128}," for full usage examples.",[834,2680],{},[842,2682,2684],{"id":2683},"generatetypefile",[825,2685,2686],{},"generateTypeFile",[821,2688,2689],{},"Generates TypeScript type definitions from a JSON input without compiling a database.",[852,2691,2693],{"className":854,"code":2692,"language":856,"meta":857,"style":857},"function generateTypeFile(\n  jsonSource: unknown,\n  name: string,\n  outPutPath: string\n): void\n",[825,2694,2695,2704,2716,2727,2736],{"__ignoreMap":857},[861,2696,2697,2699,2702],{"class":863,"line":864},[861,2698,868],{"class":867},[861,2700,2701],{"class":871}," generateTypeFile",[861,2703,876],{"class":875},[861,2705,2706,2709,2711,2714],{"class":863,"line":879},[861,2707,2708],{"class":882},"  jsonSource",[861,2710,887],{"class":886},[861,2712,2713],{"class":890}," unknown",[861,2715,894],{"class":875},[861,2717,2718,2721,2723,2725],{"class":863,"line":897},[861,2719,2720],{"class":882},"  name",[861,2722,887],{"class":886},[861,2724,891],{"class":890},[861,2726,894],{"class":875},[861,2728,2729,2732,2734],{"class":863,"line":909},[861,2730,2731],{"class":882},"  outPutPath",[861,2733,887],{"class":886},[861,2735,938],{"class":890},[861,2737,2738,2740,2742],{"class":863,"line":930},[861,2739,944],{"class":875},[861,2741,887],{"class":886},[861,2743,2744],{"class":890}," void\n",[960,2746,2747,2757],{},[963,2748,2749],{},[966,2750,2751,2753,2755],{},[969,2752,971],{},[969,2754,974],{},[969,2756,977],{},[979,2758,2759,2774,2792],{},[966,2760,2761,2766,2771],{},[984,2762,2763],{},[825,2764,2765],{},"jsonSource",[984,2767,2768],{},[825,2769,2770],{},"unknown",[984,2772,2773],{},"File path string, raw JSON string, or a JavaScript object\u002Farray.",[966,2775,2776,2781,2785],{},[984,2777,2778],{},[825,2779,2780],{},"name",[984,2782,2783],{},[825,2784,993],{},[984,2786,2787,2788,2791],{},"Base name for the output file (",[825,2789,2790],{},"\u003Cname>Types.ts",").",[966,2793,2794,2799,2803],{},[984,2795,2796],{},[825,2797,2798],{},"outPutPath",[984,2800,2801],{},[825,2802,993],{},[984,2804,2805],{},"Directory to write the type file.",[821,2807,2675,2808,2678],{},[1063,2809,131],{"href":132},[834,2811],{},[837,2813,2815],{"id":2814},"lmdb-reader-functions","LMDB Reader Functions",[821,2817,2818,2819,2821,2822,2829],{},"These convenience functions wrap the ",[825,2820,2591],{}," library for scripting and inspection. For production use, open the database directly with ",[1063,2823,2826],{"href":2824,"rel":2825},"https:\u002F\u002Fgithub.com\u002Fkriszyp\u002Flmdb-js",[1067],[825,2827,2828],{},"lmdb-js"," for full control over transactions and iteration.",[842,2831,2833],{"id":2832},"getbykey",[825,2834,2835],{},"getByKey",[821,2837,2838],{},"Retrieves a single record by exact key.",[852,2840,2842],{"className":854,"code":2841,"language":856,"meta":857,"style":857},"function getByKey\u003CT>(\n  dbPath: string,\n  dbName: string,\n  key: string\n): T | undefined\n",[825,2843,2844,2858,2869,2880,2889],{"__ignoreMap":857},[861,2845,2846,2848,2851,2853,2855],{"class":863,"line":864},[861,2847,868],{"class":867},[861,2849,2850],{"class":871}," getByKey",[861,2852,952],{"class":875},[861,2854,2520],{"class":2519},[861,2856,2857],{"class":875},">(\n",[861,2859,2860,2863,2865,2867],{"class":863,"line":879},[861,2861,2862],{"class":882},"  dbPath",[861,2864,887],{"class":886},[861,2866,891],{"class":890},[861,2868,894],{"class":875},[861,2870,2871,2874,2876,2878],{"class":863,"line":897},[861,2872,2873],{"class":882},"  dbName",[861,2875,887],{"class":886},[861,2877,891],{"class":890},[861,2879,894],{"class":875},[861,2881,2882,2885,2887],{"class":863,"line":909},[861,2883,2884],{"class":882},"  key",[861,2886,887],{"class":886},[861,2888,938],{"class":890},[861,2890,2891,2893,2895,2898,2900],{"class":863,"line":930},[861,2892,944],{"class":875},[861,2894,887],{"class":886},[861,2896,2897],{"class":890}," T",[861,2899,2428],{"class":886},[861,2901,2902],{"class":890}," undefined\n",[960,2904,2905,2915],{},[963,2906,2907],{},[966,2908,2909,2911,2913],{},[969,2910,971],{},[969,2912,974],{},[969,2914,977],{},[979,2916,2917,2931,2945],{},[966,2918,2919,2924,2928],{},[984,2920,2921],{},[825,2922,2923],{},"dbPath",[984,2925,2926],{},[825,2927,993],{},[984,2929,2930],{},"Path to the LMDB environment directory.",[966,2932,2933,2938,2942],{},[984,2934,2935],{},[825,2936,2937],{},"dbName",[984,2939,2940],{},[825,2941,993],{},[984,2943,2944],{},"Sub-database name inside the LMDB environment.",[966,2946,2947,2952,2956],{},[984,2948,2949],{},[825,2950,2951],{},"key",[984,2953,2954],{},[825,2955,993],{},[984,2957,2958],{},"Exact key to retrieve.",[834,2960],{},[842,2962,2964],{"id":2963},"getrange",[825,2965,2966],{},"getRange",[821,2968,2969],{},"Returns the first N records in B-tree order.",[852,2971,2973],{"className":854,"code":2972,"language":856,"meta":857,"style":857},"function getRange\u003CT>(\n  dbPath: string,\n  dbName: string,\n  limit?: number  \u002F\u002F default: 10\n): { key: string; data: T }[]\n",[825,2974,2975,2988,2998,3008,3022],{"__ignoreMap":857},[861,2976,2977,2979,2982,2984,2986],{"class":863,"line":864},[861,2978,868],{"class":867},[861,2980,2981],{"class":871}," getRange",[861,2983,952],{"class":875},[861,2985,2520],{"class":2519},[861,2987,2857],{"class":875},[861,2989,2990,2992,2994,2996],{"class":863,"line":879},[861,2991,2862],{"class":882},[861,2993,887],{"class":886},[861,2995,891],{"class":890},[861,2997,894],{"class":875},[861,2999,3000,3002,3004,3006],{"class":863,"line":897},[861,3001,2873],{"class":882},[861,3003,887],{"class":886},[861,3005,891],{"class":890},[861,3007,894],{"class":875},[861,3009,3010,3013,3015,3018],{"class":863,"line":909},[861,3011,3012],{"class":882},"  limit",[861,3014,1671],{"class":886},[861,3016,3017],{"class":890}," number",[861,3019,3021],{"class":3020},"sghk6","  \u002F\u002F default: 10\n",[861,3023,3024,3026,3028,3030,3032,3034,3036,3038,3041,3043,3045],{"class":863,"line":930},[861,3025,944],{"class":875},[861,3027,887],{"class":886},[861,3029,2578],{"class":875},[861,3031,2951],{"class":2581},[861,3033,887],{"class":886},[861,3035,891],{"class":890},[861,3037,2597],{"class":875},[861,3039,3040],{"class":2581},"data",[861,3042,887],{"class":886},[861,3044,2897],{"class":890},[861,3046,3047],{"class":875}," }[]\n",[960,3049,3050,3060],{},[963,3051,3052],{},[966,3053,3054,3056,3058],{},[969,3055,971],{},[969,3057,974],{},[969,3059,977],{},[979,3061,3062,3074,3086],{},[966,3063,3064,3068,3072],{},[984,3065,3066],{},[825,3067,2923],{},[984,3069,3070],{},[825,3071,993],{},[984,3073,2930],{},[966,3075,3076,3080,3084],{},[984,3077,3078],{},[825,3079,2937],{},[984,3081,3082],{},[825,3083,993],{},[984,3085,2944],{},[966,3087,3088,3093,3098],{},[984,3089,3090],{},[825,3091,3092],{},"limit",[984,3094,3095],{},[825,3096,3097],{},"number",[984,3099,3100],{},"Maximum number of results to return.",[834,3102],{},[842,3104,3106],{"id":3105},"getbyprefix",[825,3107,3108],{},"getByPrefix",[821,3110,3111],{},"Finds all records whose keys start with the given prefix.",[852,3113,3115],{"className":854,"code":3114,"language":856,"meta":857,"style":857},"function getByPrefix\u003CT>(\n  dbPath: string,\n  dbName: string,\n  prefix: string,\n  limit?: number  \u002F\u002F default: 20\n): { key: string; data: T }[]\n",[825,3116,3117,3130,3140,3150,3161,3172],{"__ignoreMap":857},[861,3118,3119,3121,3124,3126,3128],{"class":863,"line":864},[861,3120,868],{"class":867},[861,3122,3123],{"class":871}," getByPrefix",[861,3125,952],{"class":875},[861,3127,2520],{"class":2519},[861,3129,2857],{"class":875},[861,3131,3132,3134,3136,3138],{"class":863,"line":879},[861,3133,2862],{"class":882},[861,3135,887],{"class":886},[861,3137,891],{"class":890},[861,3139,894],{"class":875},[861,3141,3142,3144,3146,3148],{"class":863,"line":897},[861,3143,2873],{"class":882},[861,3145,887],{"class":886},[861,3147,891],{"class":890},[861,3149,894],{"class":875},[861,3151,3152,3155,3157,3159],{"class":863,"line":909},[861,3153,3154],{"class":882},"  prefix",[861,3156,887],{"class":886},[861,3158,891],{"class":890},[861,3160,894],{"class":875},[861,3162,3163,3165,3167,3169],{"class":863,"line":930},[861,3164,3012],{"class":882},[861,3166,1671],{"class":886},[861,3168,3017],{"class":890},[861,3170,3171],{"class":3020},"  \u002F\u002F default: 20\n",[861,3173,3174,3176,3178,3180,3182,3184,3186,3188,3190,3192,3194],{"class":863,"line":941},[861,3175,944],{"class":875},[861,3177,887],{"class":886},[861,3179,2578],{"class":875},[861,3181,2951],{"class":2581},[861,3183,887],{"class":886},[861,3185,891],{"class":890},[861,3187,2597],{"class":875},[861,3189,3040],{"class":2581},[861,3191,887],{"class":886},[861,3193,2897],{"class":890},[861,3195,3047],{"class":875},[960,3197,3198,3208],{},[963,3199,3200],{},[966,3201,3202,3204,3206],{},[969,3203,971],{},[969,3205,974],{},[969,3207,977],{},[979,3209,3210,3222,3234,3248],{},[966,3211,3212,3216,3220],{},[984,3213,3214],{},[825,3215,2923],{},[984,3217,3218],{},[825,3219,993],{},[984,3221,2930],{},[966,3223,3224,3228,3232],{},[984,3225,3226],{},[825,3227,2937],{},[984,3229,3230],{},[825,3231,993],{},[984,3233,2944],{},[966,3235,3236,3241,3245],{},[984,3237,3238],{},[825,3239,3240],{},"prefix",[984,3242,3243],{},[825,3244,993],{},[984,3246,3247],{},"Prefix filter for keys.",[966,3249,3250,3254,3258],{},[984,3251,3252],{},[825,3253,3092],{},[984,3255,3256],{},[825,3257,3097],{},[984,3259,3100],{},[834,3261],{},[842,3263,3265],{"id":3264},"countrecords",[825,3266,3267],{},"countRecords",[821,3269,3270],{},"Returns the total number of records in the database.",[852,3272,3274],{"className":854,"code":3273,"language":856,"meta":857,"style":857},"function countRecords(\n  dbPath: string,\n  dbName: string\n): number\n",[825,3275,3276,3285,3295,3303],{"__ignoreMap":857},[861,3277,3278,3280,3283],{"class":863,"line":864},[861,3279,868],{"class":867},[861,3281,3282],{"class":871}," countRecords",[861,3284,876],{"class":875},[861,3286,3287,3289,3291,3293],{"class":863,"line":879},[861,3288,2862],{"class":882},[861,3290,887],{"class":886},[861,3292,891],{"class":890},[861,3294,894],{"class":875},[861,3296,3297,3299,3301],{"class":863,"line":897},[861,3298,2873],{"class":882},[861,3300,887],{"class":886},[861,3302,938],{"class":890},[861,3304,3305,3307,3309],{"class":863,"line":909},[861,3306,944],{"class":875},[861,3308,887],{"class":886},[861,3310,3311],{"class":890}," number\n",[960,3313,3314,3324],{},[963,3315,3316],{},[966,3317,3318,3320,3322],{},[969,3319,971],{},[969,3321,974],{},[969,3323,977],{},[979,3325,3326,3338],{},[966,3327,3328,3332,3336],{},[984,3329,3330],{},[825,3331,2923],{},[984,3333,3334],{},[825,3335,993],{},[984,3337,2930],{},[966,3339,3340,3344,3348],{},[984,3341,3342],{},[825,3343,2937],{},[984,3345,3346],{},[825,3347,993],{},[984,3349,2944],{},[834,3351],{},[842,3353,3355],{"id":3354},"doesexist",[825,3356,3357],{},"doesExist",[821,3359,3360],{},"Checks whether a key exists in the database.",[852,3362,3364],{"className":854,"code":3363,"language":856,"meta":857,"style":857},"function doesExist(\n  dbPath: string,\n  dbName: string,\n  key: string\n): boolean\n",[825,3365,3366,3375,3385,3395,3403],{"__ignoreMap":857},[861,3367,3368,3370,3373],{"class":863,"line":864},[861,3369,868],{"class":867},[861,3371,3372],{"class":871}," doesExist",[861,3374,876],{"class":875},[861,3376,3377,3379,3381,3383],{"class":863,"line":879},[861,3378,2862],{"class":882},[861,3380,887],{"class":886},[861,3382,891],{"class":890},[861,3384,894],{"class":875},[861,3386,3387,3389,3391,3393],{"class":863,"line":897},[861,3388,2873],{"class":882},[861,3390,887],{"class":886},[861,3392,891],{"class":890},[861,3394,894],{"class":875},[861,3396,3397,3399,3401],{"class":863,"line":909},[861,3398,2884],{"class":882},[861,3400,887],{"class":886},[861,3402,938],{"class":890},[861,3404,3405,3407,3409],{"class":863,"line":930},[861,3406,944],{"class":875},[861,3408,887],{"class":886},[861,3410,1680],{"class":890},[960,3412,3413,3423],{},[963,3414,3415],{},[966,3416,3417,3419,3421],{},[969,3418,971],{},[969,3420,974],{},[969,3422,977],{},[979,3424,3425,3437,3449],{},[966,3426,3427,3431,3435],{},[984,3428,3429],{},[825,3430,2923],{},[984,3432,3433],{},[825,3434,993],{},[984,3436,2930],{},[966,3438,3439,3443,3447],{},[984,3440,3441],{},[825,3442,2937],{},[984,3444,3445],{},[825,3446,993],{},[984,3448,2944],{},[966,3450,3451,3455,3459],{},[984,3452,3453],{},[825,3454,2951],{},[984,3456,3457],{},[825,3458,993],{},[984,3460,3461],{},"Key to check for existence.",[834,3463],{},[842,3465,3467],{"id":3466},"stats",[825,3468,3466],{},[821,3470,3471],{},"Returns low-level LMDB environment statistics (page size, depth, record count).",[852,3473,3475],{"className":854,"code":3474,"language":856,"meta":857,"style":857},"function stats(\n  dbPath: string,\n  dbName: string\n): object\n",[825,3476,3477,3486,3496,3504],{"__ignoreMap":857},[861,3478,3479,3481,3484],{"class":863,"line":864},[861,3480,868],{"class":867},[861,3482,3483],{"class":871}," stats",[861,3485,876],{"class":875},[861,3487,3488,3490,3492,3494],{"class":863,"line":879},[861,3489,2862],{"class":882},[861,3491,887],{"class":886},[861,3493,891],{"class":890},[861,3495,894],{"class":875},[861,3497,3498,3500,3502],{"class":863,"line":897},[861,3499,2873],{"class":882},[861,3501,887],{"class":886},[861,3503,938],{"class":890},[861,3505,3506,3508,3510],{"class":863,"line":909},[861,3507,944],{"class":875},[861,3509,887],{"class":886},[861,3511,3512],{"class":890}," object\n",[960,3514,3515,3525],{},[963,3516,3517],{},[966,3518,3519,3521,3523],{},[969,3520,971],{},[969,3522,974],{},[969,3524,977],{},[979,3526,3527,3539],{},[966,3528,3529,3533,3537],{},[984,3530,3531],{},[825,3532,2923],{},[984,3534,3535],{},[825,3536,993],{},[984,3538,2930],{},[966,3540,3541,3545,3549],{},[984,3542,3543],{},[825,3544,2937],{},[984,3546,3547],{},[825,3548,993],{},[984,3550,2944],{},[834,3552],{},[842,3554,3556],{"id":3555},"drop",[825,3557,3555],{},[821,3559,3560],{},"Permanently deletes the database. This operation is irreversible.",[852,3562,3564],{"className":854,"code":3563,"language":856,"meta":857,"style":857},"function drop(\n  dbPath: string,\n  dbName: string\n): Promise\u003Cvoid>\n",[825,3565,3566,3575,3585,3593],{"__ignoreMap":857},[861,3567,3568,3570,3573],{"class":863,"line":864},[861,3569,868],{"class":867},[861,3571,3572],{"class":871}," drop",[861,3574,876],{"class":875},[861,3576,3577,3579,3581,3583],{"class":863,"line":879},[861,3578,2862],{"class":882},[861,3580,887],{"class":886},[861,3582,891],{"class":890},[861,3584,894],{"class":875},[861,3586,3587,3589,3591],{"class":863,"line":897},[861,3588,2873],{"class":882},[861,3590,887],{"class":886},[861,3592,938],{"class":890},[861,3594,3595,3597,3599,3601,3603,3605],{"class":863,"line":909},[861,3596,944],{"class":875},[861,3598,887],{"class":886},[861,3600,949],{"class":890},[861,3602,952],{"class":875},[861,3604,955],{"class":890},[861,3606,958],{"class":875},[960,3608,3609,3619],{},[963,3610,3611],{},[966,3612,3613,3615,3617],{},[969,3614,971],{},[969,3616,974],{},[969,3618,977],{},[979,3620,3621,3633],{},[966,3622,3623,3627,3631],{},[984,3624,3625],{},[825,3626,2923],{},[984,3628,3629],{},[825,3630,993],{},[984,3632,2930],{},[966,3634,3635,3639,3643],{},[984,3636,3637],{},[825,3638,2937],{},[984,3640,3641],{},[825,3642,993],{},[984,3644,3645],{},"Sub-database name to delete.",[3647,3648,3649],"caution",{},[821,3650,3651,3652,3654],{},"The ",[825,3653,3555],{}," function permanently wipes the sub-database. The database file remains on disk but all records are deleted.",[834,3656],{},[837,3658,3660],{"id":3659},"utility-functions","Utility Functions",[842,3662,3664],{"id":3663},"downloadfile",[825,3665,3666],{},"downloadFile",[821,3668,3669],{},"Downloads a file from a URL and writes it to disk.",[852,3671,3673],{"className":854,"code":3672,"language":856,"meta":857,"style":857},"function downloadFile(\n  outputPath: string,\n  url: string\n): Promise\u003Cvoid>\n",[825,3674,3675,3684,3694,3703],{"__ignoreMap":857},[861,3676,3677,3679,3682],{"class":863,"line":864},[861,3678,868],{"class":867},[861,3680,3681],{"class":871}," downloadFile",[861,3683,876],{"class":875},[861,3685,3686,3688,3690,3692],{"class":863,"line":879},[861,3687,883],{"class":882},[861,3689,887],{"class":886},[861,3691,891],{"class":890},[861,3693,894],{"class":875},[861,3695,3696,3699,3701],{"class":863,"line":897},[861,3697,3698],{"class":882},"  url",[861,3700,887],{"class":886},[861,3702,938],{"class":890},[861,3704,3705,3707,3709,3711,3713,3715],{"class":863,"line":909},[861,3706,944],{"class":875},[861,3708,887],{"class":886},[861,3710,949],{"class":890},[861,3712,952],{"class":875},[861,3714,955],{"class":890},[861,3716,958],{"class":875},[960,3718,3719,3729],{},[963,3720,3721],{},[966,3722,3723,3725,3727],{},[969,3724,971],{},[969,3726,974],{},[969,3728,977],{},[979,3730,3731,3744],{},[966,3732,3733,3737,3741],{},[984,3734,3735],{},[825,3736,988],{},[984,3738,3739],{},[825,3740,993],{},[984,3742,3743],{},"Absolute output path for the downloaded file.",[966,3745,3746,3751,3755],{},[984,3747,3748],{},[825,3749,3750],{},"url",[984,3752,3753],{},[825,3754,993],{},[984,3756,3757],{},"Source URL to fetch.",[834,3759],{},[842,3761,3762],{"id":648},[825,3763,648],{},[821,3765,3766],{},"Executes a shell command and returns the output.",[852,3768,3770],{"className":854,"code":3769,"language":856,"meta":857,"style":857},"interface RunResult {\n  stdout: string | Buffer;\n  stderr: string | Buffer;\n}\n\nfunction run(command: string): Promise\u003CRunResult>\n",[825,3771,3772,3783,3800,3815,3820,3824],{"__ignoreMap":857},[861,3773,3774,3777,3780],{"class":863,"line":864},[861,3775,3776],{"class":867},"interface",[861,3778,3779],{"class":890}," RunResult",[861,3781,3782],{"class":875}," {\n",[861,3784,3785,3788,3790,3792,3794,3797],{"class":863,"line":879},[861,3786,3787],{"class":2581},"  stdout",[861,3789,887],{"class":886},[861,3791,891],{"class":890},[861,3793,2428],{"class":886},[861,3795,3796],{"class":890}," Buffer",[861,3798,3799],{"class":875},";\n",[861,3801,3802,3805,3807,3809,3811,3813],{"class":863,"line":897},[861,3803,3804],{"class":2581},"  stderr",[861,3806,887],{"class":886},[861,3808,891],{"class":890},[861,3810,2428],{"class":886},[861,3812,3796],{"class":890},[861,3814,3799],{"class":875},[861,3816,3817],{"class":863,"line":909},[861,3818,3819],{"class":875},"}\n",[861,3821,3822],{"class":863,"line":930},[861,3823,2553],{"emptyLinePlaceholder":8},[861,3825,3826,3828,3831,3833,3836,3838,3840,3842,3844,3846,3848,3851],{"class":863,"line":941},[861,3827,868],{"class":867},[861,3829,3830],{"class":871}," run",[861,3832,1917],{"class":875},[861,3834,3835],{"class":882},"command",[861,3837,887],{"class":886},[861,3839,891],{"class":890},[861,3841,944],{"class":875},[861,3843,887],{"class":886},[861,3845,949],{"class":890},[861,3847,952],{"class":875},[861,3849,3850],{"class":2519},"RunResult",[861,3852,958],{"class":875},[960,3854,3855,3865],{},[963,3856,3857],{},[966,3858,3859,3861,3863],{},[969,3860,971],{},[969,3862,974],{},[969,3864,977],{},[979,3866,3867],{},[966,3868,3869,3873,3877],{},[984,3870,3871],{},[825,3872,3835],{},[984,3874,3875],{},[825,3876,993],{},[984,3878,3879],{},"Shell command to execute.",[3881,3882,3883],"style",{},"html pre.shiki code .sl46w, html code.shiki .sl46w{--shiki-light:#0000FF;--shiki-default:#0000FF;--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 .sDd4n, html code.shiki .sDd4n{--shiki-light:#000000;--shiki-default:#000000;--shiki-dark:#F8F8F2}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 .saOXh, html code.shiki .saOXh{--shiki-light:#000000;--shiki-default:#000000;--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 .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 .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 .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 .sghk6, html code.shiki .sghk6{--shiki-light:#008000;--shiki-default:#008000;--shiki-dark:#6272A4}",{"title":857,"searchDepth":879,"depth":879,"links":3885},[3886,3903,3907,3916],{"id":839,"depth":879,"text":840,"children":3887},[3888,3889,3890,3891,3892,3893,3894,3895,3896,3897,3898,3899,3900,3901,3902],{"id":844,"depth":897,"text":847},{"id":1055,"depth":897,"text":1058},{"id":1187,"depth":897,"text":1190},{"id":1298,"depth":897,"text":1301},{"id":1403,"depth":897,"text":1406},{"id":1515,"depth":897,"text":1518},{"id":1620,"depth":897,"text":1623},{"id":1757,"depth":897,"text":1760},{"id":1887,"depth":897,"text":1890},{"id":1966,"depth":897,"text":1969},{"id":2043,"depth":897,"text":2046},{"id":2119,"depth":897,"text":2122},{"id":2193,"depth":897,"text":2196},{"id":2301,"depth":897,"text":2304},{"id":2366,"depth":897,"text":2369},{"id":2493,"depth":879,"text":2494,"children":3904},[3905,3906],{"id":2497,"depth":897,"text":2497},{"id":2683,"depth":897,"text":2686},{"id":2814,"depth":879,"text":2815,"children":3908},[3909,3910,3911,3912,3913,3914,3915],{"id":2832,"depth":897,"text":2835},{"id":2963,"depth":897,"text":2966},{"id":3105,"depth":897,"text":3108},{"id":3264,"depth":897,"text":3267},{"id":3354,"depth":897,"text":3357},{"id":3466,"depth":897,"text":3466},{"id":3555,"depth":897,"text":3555},{"id":3659,"depth":879,"text":3660,"children":3917},[3918,3919],{"id":3663,"depth":897,"text":3666},{"id":648,"depth":897,"text":648},"Complete reference for all exported functions from @riavzon\u002Fshield-base, including data source scripts, the compiler, and the LMDB reader utilities.","md",{},null,"---\ntitle: API Reference\ndescription: Complete reference for all exported functions from @riavzon\u002Fshield-base, including data source scripts, the compiler, and the LMDB reader utilities.\nicon: i-lucide-book-open\n---\n\nAll functions, types, and utilities are exported from `@riavzon\u002Fshield-base`. The internal subpath `@riavzon\u002Fshield-base\u002Finternal` exports lower-level utilities used by the CLI.\n\n---\n\n## Data Source Functions\n\n### `generateData`\n\nRuns the full pipeline in parallel and compiles all built-in sources.\n\n```ts\nfunction generateData(\n  outputPath: string,\n  userAgent: string,\n  selectedSources: string[] | boolean,\n  mmdbPath: string\n): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `outputPath` | `string` | Directory to write compiled files. |\n| `userAgent` | `string` | BGP.tools contact string: `\u003Cname> [url] - \u003Cemail>`. |\n| `selectedSources` | `string[] \\| boolean` | `true` = all FireHOL levels; string array = specific level IDs. |\n| `mmdbPath` | `string` | Path to the `mmdbctl` binary. |\n\n---\n\n### `getBGPAndASN`\n\nFetches BGP routing tables and ASN data from [BGP.tools](https:\u002F\u002Fbgp.tools) and compiles `asn.mmdb`.\n\n```ts\nfunction getBGPAndASN(\n  userAgent: string,\n  outputPath: string,\n  mmdbPath: string\n): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `userAgent` | `string` | BGP.tools contact string: `\u003Cname> [url] - \u003Cemail>`. |\n| `outputPath` | `string` | Directory to write compiled files. |\n| `mmdbPath` | `string` | Path to the `mmdbctl` binary. |\n\n---\n\n### `buildCitiesData`\n\nFetches [RFC 8805](https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fhtml\u002Frfc8805) geofeed data from [geolocatemuch.com](https:\u002F\u002Fgeolocatemuch.com) and compiles `city.mmdb`.\n\n```ts\nfunction buildCitiesData(\n  outputPath: string,\n  mmdbPath: string\n): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `outputPath` | `string` | Directory to write compiled files. |\n| `mmdbPath` | `string` | Path to the `mmdbctl` binary. |\n\n---\n\n### `getGeoDatas`\n\nFetches IP-to-country mapping data from [sapics\u002Fip-location-db](https:\u002F\u002Fgithub.com\u002Fsapics\u002Fip-location-db) and compiles `country.mmdb`.\n\n```ts\nfunction getGeoDatas(\n  outputPath: string,\n  mmdbPath: string\n): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `outputPath` | `string` | Directory to write compiled files. |\n| `mmdbPath` | `string` | Path to the `mmdbctl` binary. |\n\n---\n\n### `getListOfProxies`\n\nFetches proxy and anonymizer IP lists from [awesome-lists](https:\u002F\u002Fgithub.com\u002Fmthcht\u002Fawesome-lists\u002Ftree\u002Fmain\u002FLists\u002FPROXY) and [FireHOL](https:\u002F\u002Fgithub.com\u002Ffirehol\u002Fblocklist-ipsets\u002Fblob\u002Fmaster\u002Ffirehol_proxies.netset), then compiles `proxy.mmdb`.\n\n```ts\nfunction getListOfProxies(\n  outputPath: string,\n  mmdbPath: string\n): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `outputPath` | `string` | Directory to write compiled files. |\n| `mmdbPath` | `string` | Path to the `mmdbctl` binary. |\n\n---\n\n### `getTorLists`\n\nFetches live Tor relay data from the [Onionoo API](https:\u002F\u002Fmetrics.torproject.org\u002Fonionoo.html) and compiles `tor.mmdb`.\n\n```ts\nfunction getTorLists(\n  outputPath: string,\n  mmdbPath: string\n): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `outputPath` | `string` | Directory to write compiled files. |\n| `mmdbPath` | `string` | Path to the `mmdbctl` binary. |\n\n---\n\n### `getThreatLists`\n\nFetches [FireHOL](https:\u002F\u002Fgithub.com\u002Ffirehol\u002Fblocklist-ipsets) blocklists and compiles one MMDB file per selected level.\n\n```ts\nfunction getThreatLists(\n  outputPath: string,\n  mmdbPath: string,\n  selectedSources?: string[] | boolean\n): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `outputPath` | `string` | Directory to write compiled files. |\n| `mmdbPath` | `string` | Path to the `mmdbctl` binary. |\n| `selectedSources` | `string[] \\| boolean` | `true` = all five lists; string array = subset of `['firehol_l1', 'firehol_l2', 'firehol_l3', 'firehol_l4', 'firehol_anonymous']`. |\n\n---\n\n### `getCrawlersIps`\n\nFetches verified crawler IP ranges from known providers and compiles `goodBots.mmdb`.\n\n```ts\nfunction getCrawlersIps(\n  outputPath: string,\n  mmdbPath: string,\n  customUrls?: ProvidersLists[]\n): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `outputPath` | `string` | Directory to write compiled files. |\n| `mmdbPath` | `string` | Path to the `mmdbctl` binary. |\n| `customUrls` | `ProvidersLists[]` | Optional providers merged with built-in datasets. |\n\n---\n\n### `getUserAgentLmdbList`\n\nDownloads the suspicious user-agent CSV from [mthcht\u002Fawesome-lists](https:\u002F\u002Fgithub.com\u002Fmthcht\u002Fawesome-lists) and compiles it into `useragent-db\u002Fuseragent.mdb`.\n\n```ts\nfunction getUserAgentLmdbList(outputPath: string): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `outputPath` | `string` | Directory to write compiled files. |\n\n---\n\n### `getDisposableEmailLmdbList`\n\nDownloads the disposable email domain blocklist from [disposable-email-domains](https:\u002F\u002Fgithub.com\u002Fdisposable-email-domains\u002Fdisposable-email-domains) and compiles it into `email-db\u002Fdisposable-emails.mdb`.\n\n```ts\nfunction getDisposableEmailLmdbList(outputPath: string): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `outputPath` | `string` | Directory to write compiled files. |\n\n---\n\n### `getUserAgentList`\n\nDownloads the raw suspicious user-agent CSV without compiling it.\n\n```ts\nfunction getUserAgentList(outputPath: string): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `outputPath` | `string` | Directory to write downloaded files. |\n\nOutput: `\u003CoutputPath>\u002Fuseragent.csv`\n\n---\n\n### `getDisposableEmailList`\n\nDownloads the raw disposable email domain plain-text list without compiling it.\n\n```ts\nfunction getDisposableEmailList(outputPath: string): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `outputPath` | `string` | Directory to write downloaded files. |\n\nOutput: `\u003CoutputPath>\u002Fdisposable_email_blocklist.txt`\n\n---\n\n### `restartData`\n\nRe-downloads and recompiles previously compiled sources using the cached configuration at `~\u002F.shield-base\u002F.cache.json`.\n\n```ts\nfunction restartData(\n  outputPath: string,\n  all: boolean\n): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `outputPath` | `string` | Directory to write compiled files. |\n| `all` | `boolean` | `true` = restart all cached sources; `false` = restart only the sources in the current run. |\n\n---\n\n### `normalizeIp`\n\nNormalizes raw IP\u002FCIDR input into canonical format.\n\n```ts\nfunction normalizeIp(ip: string): string\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `ip` | `string` | Raw IPv4, IPv6, or CIDR string. |\n\n---\n\n### `normalizeExtractedMatch`\n\nNormalizes extracted regex groups into canonical CIDR output.\n\n```ts\nfunction normalizeExtractedMatch(\n  ip1: string,\n  ip2?: string,\n  mask?: string\n): string | string[]\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `ip1` | `string` | First extracted IP address. |\n| `ip2` | `string` | Optional second IP when parsing ranges. |\n| `mask` | `string` | Optional CIDR mask when parsing CIDR notation. |\n\n---\n\n## Compiler Functions\n\n### `compiler`\n\nCompiles JSON data into either MMDB or LMDB format.\n\n```ts\nfunction compiler\u003CT>(options: CompilerOptions\u003CT>): Promise\u003Cvoid>\n\ntype CompilerOptions\u003CT> =\n  | { type: 'lmdb'; input: LmdbInput\u003CT> }\n  | { type: 'mmdb'; input: Input\u003CT> }\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `options` | `CompilerOptions\u003CT>` | Compiler mode and typed input payload. |\n\nSee [Custom Data Sources](\u002Fdocs\u002Fshield-base\u002Fcustom-data-sources) for full usage examples.\n\n---\n\n### `generateTypeFile`\n\nGenerates TypeScript type definitions from a JSON input without compiling a database.\n\n```ts\nfunction generateTypeFile(\n  jsonSource: unknown,\n  name: string,\n  outPutPath: string\n): void\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `jsonSource` | `unknown` | File path string, raw JSON string, or a JavaScript object\u002Farray. |\n| `name` | `string` | Base name for the output file (`\u003Cname>Types.ts`). |\n| `outPutPath` | `string` | Directory to write the type file. |\n\nSee [TypeScript Types](\u002Fdocs\u002Fshield-base\u002Ftypes) for full usage examples.\n\n---\n\n## LMDB Reader Functions\n\nThese convenience functions wrap the `lmdb` library for scripting and inspection. For production use, open the database directly with [`lmdb-js`](https:\u002F\u002Fgithub.com\u002Fkriszyp\u002Flmdb-js) for full control over transactions and iteration.\n\n### `getByKey`\n\nRetrieves a single record by exact key.\n\n```ts\nfunction getByKey\u003CT>(\n  dbPath: string,\n  dbName: string,\n  key: string\n): T | undefined\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `dbPath` | `string` | Path to the LMDB environment directory. |\n| `dbName` | `string` | Sub-database name inside the LMDB environment. |\n| `key` | `string` | Exact key to retrieve. |\n\n---\n\n### `getRange`\n\nReturns the first N records in B-tree order.\n\n```ts\nfunction getRange\u003CT>(\n  dbPath: string,\n  dbName: string,\n  limit?: number  \u002F\u002F default: 10\n): { key: string; data: T }[]\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `dbPath` | `string` | Path to the LMDB environment directory. |\n| `dbName` | `string` | Sub-database name inside the LMDB environment. |\n| `limit` | `number` | Maximum number of results to return. |\n\n---\n\n### `getByPrefix`\n\nFinds all records whose keys start with the given prefix.\n\n```ts\nfunction getByPrefix\u003CT>(\n  dbPath: string,\n  dbName: string,\n  prefix: string,\n  limit?: number  \u002F\u002F default: 20\n): { key: string; data: T }[]\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `dbPath` | `string` | Path to the LMDB environment directory. |\n| `dbName` | `string` | Sub-database name inside the LMDB environment. |\n| `prefix` | `string` | Prefix filter for keys. |\n| `limit` | `number` | Maximum number of results to return. |\n\n---\n\n### `countRecords`\n\nReturns the total number of records in the database.\n\n```ts\nfunction countRecords(\n  dbPath: string,\n  dbName: string\n): number\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `dbPath` | `string` | Path to the LMDB environment directory. |\n| `dbName` | `string` | Sub-database name inside the LMDB environment. |\n\n---\n\n### `doesExist`\n\nChecks whether a key exists in the database.\n\n```ts\nfunction doesExist(\n  dbPath: string,\n  dbName: string,\n  key: string\n): boolean\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `dbPath` | `string` | Path to the LMDB environment directory. |\n| `dbName` | `string` | Sub-database name inside the LMDB environment. |\n| `key` | `string` | Key to check for existence. |\n\n---\n\n### `stats`\n\nReturns low-level LMDB environment statistics (page size, depth, record count).\n\n```ts\nfunction stats(\n  dbPath: string,\n  dbName: string\n): object\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `dbPath` | `string` | Path to the LMDB environment directory. |\n| `dbName` | `string` | Sub-database name inside the LMDB environment. |\n\n---\n\n### `drop`\n\nPermanently deletes the database. This operation is irreversible.\n\n```ts\nfunction drop(\n  dbPath: string,\n  dbName: string\n): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `dbPath` | `string` | Path to the LMDB environment directory. |\n| `dbName` | `string` | Sub-database name to delete. |\n\n::caution\nThe `drop` function permanently wipes the sub-database. The database file remains on disk but all records are deleted.\n::\n\n---\n\n## Utility Functions\n\n### `downloadFile`\n\nDownloads a file from a URL and writes it to disk.\n\n```ts\nfunction downloadFile(\n  outputPath: string,\n  url: string\n): Promise\u003Cvoid>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `outputPath` | `string` | Absolute output path for the downloaded file. |\n| `url` | `string` | Source URL to fetch. |\n\n---\n\n### `run`\n\nExecutes a shell command and returns the output.\n\n```ts\ninterface RunResult {\n  stdout: string | Buffer;\n  stderr: string | Buffer;\n}\n\nfunction run(command: string): Promise\u003CRunResult>\n```\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| `command` | `string` | Shell command to execute. |\n\n",{"title":135,"description":3920},"K8qiCqbL2t1qkAAGqk7--CqqUAfmUjY0jDY3No64-fU",[3928,3923],{"title":131,"path":132,"stem":133,"children":-1},{"id":816,"title":135,"body":3930,"description":3920,"extension":3921,"icon":10,"meta":6665,"module":3923,"navigation":8,"path":136,"rawbody":3924,"seo":6666,"stem":137,"__hash__":3926},{"type":818,"value":3931,"toc":6629},[3932,3938,3940,3942,3946,3948,4018,4086,4088,4092,4099,4153,4207,4209,4213,4223,4267,4307,4309,4313,4320,4364,4404,4406,4410,4420,4464,4504,4506,4510,4517,4561,4601,4603,4607,4612,4672,4728,4730,4734,4738,4794,4846,4848,4852,4859,4889,4915,4917,4921,4928,4958,4984,4986,4990,4992,5022,5048,5052,5054,5058,5060,5090,5116,5120,5122,5126,5130,5174,5216,5218,5222,5224,5248,5274,5276,5280,5282,5336,5386,5388,5390,5394,5396,5512,5538,5542,5544,5548,5550,5598,5650,5654,5656,5658,5667,5671,5673,5729,5779,5781,5785,5787,5857,5907,5909,5913,5915,5995,6057,6059,6063,6065,6103,6141,6143,6147,6149,6197,6247,6249,6253,6255,6293,6331,6333,6337,6339,6383,6421,6427,6429,6431,6435,6437,6481,6519,6521,6525,6527,6601,6627],[821,3933,823,3934,828,3936,832],{},[825,3935,827],{},[825,3937,831],{},[834,3939],{},[837,3941,840],{"id":839},[842,3943,3944],{"id":844},[825,3945,847],{},[821,3947,850],{},[852,3949,3950],{"className":854,"code":855,"language":856,"meta":857,"style":857},[825,3951,3952,3960,3970,3980,3996,4004],{"__ignoreMap":857},[861,3953,3954,3956,3958],{"class":863,"line":864},[861,3955,868],{"class":867},[861,3957,872],{"class":871},[861,3959,876],{"class":875},[861,3961,3962,3964,3966,3968],{"class":863,"line":879},[861,3963,883],{"class":882},[861,3965,887],{"class":886},[861,3967,891],{"class":890},[861,3969,894],{"class":875},[861,3971,3972,3974,3976,3978],{"class":863,"line":897},[861,3973,900],{"class":882},[861,3975,887],{"class":886},[861,3977,891],{"class":890},[861,3979,894],{"class":875},[861,3981,3982,3984,3986,3988,3990,3992,3994],{"class":863,"line":909},[861,3983,912],{"class":882},[861,3985,887],{"class":886},[861,3987,891],{"class":890},[861,3989,919],{"class":875},[861,3991,922],{"class":886},[861,3993,925],{"class":890},[861,3995,894],{"class":875},[861,3997,3998,4000,4002],{"class":863,"line":930},[861,3999,933],{"class":882},[861,4001,887],{"class":886},[861,4003,938],{"class":890},[861,4005,4006,4008,4010,4012,4014,4016],{"class":863,"line":941},[861,4007,944],{"class":875},[861,4009,887],{"class":886},[861,4011,949],{"class":890},[861,4013,952],{"class":875},[861,4015,955],{"class":890},[861,4017,958],{"class":875},[960,4019,4020,4030],{},[963,4021,4022],{},[966,4023,4024,4026,4028],{},[969,4025,971],{},[969,4027,974],{},[969,4029,977],{},[979,4031,4032,4044,4058,4072],{},[966,4033,4034,4038,4042],{},[984,4035,4036],{},[825,4037,988],{},[984,4039,4040],{},[825,4041,993],{},[984,4043,996],{},[966,4045,4046,4050,4054],{},[984,4047,4048],{},[825,4049,1003],{},[984,4051,4052],{},[825,4053,993],{},[984,4055,1010,4056,1014],{},[825,4057,1013],{},[966,4059,4060,4064,4068],{},[984,4061,4062],{},[825,4063,1021],{},[984,4065,4066],{},[825,4067,1026],{},[984,4069,4070,1032],{},[825,4071,1031],{},[966,4073,4074,4078,4082],{},[984,4075,4076],{},[825,4077,1039],{},[984,4079,4080],{},[825,4081,993],{},[984,4083,1046,4084,1050],{},[825,4085,1049],{},[834,4087],{},[842,4089,4090],{"id":1055},[825,4091,1058],{},[821,4093,1061,4094,1069,4097,1014],{},[1063,4095,1068],{"href":1065,"rel":4096},[1067],[825,4098,1072],{},[852,4100,4101],{"className":854,"code":1075,"language":856,"meta":857,"style":857},[825,4102,4103,4111,4121,4131,4139],{"__ignoreMap":857},[861,4104,4105,4107,4109],{"class":863,"line":864},[861,4106,868],{"class":867},[861,4108,1084],{"class":871},[861,4110,876],{"class":875},[861,4112,4113,4115,4117,4119],{"class":863,"line":879},[861,4114,900],{"class":882},[861,4116,887],{"class":886},[861,4118,891],{"class":890},[861,4120,894],{"class":875},[861,4122,4123,4125,4127,4129],{"class":863,"line":897},[861,4124,883],{"class":882},[861,4126,887],{"class":886},[861,4128,891],{"class":890},[861,4130,894],{"class":875},[861,4132,4133,4135,4137],{"class":863,"line":909},[861,4134,933],{"class":882},[861,4136,887],{"class":886},[861,4138,938],{"class":890},[861,4140,4141,4143,4145,4147,4149,4151],{"class":863,"line":930},[861,4142,944],{"class":875},[861,4144,887],{"class":886},[861,4146,949],{"class":890},[861,4148,952],{"class":875},[861,4150,955],{"class":890},[861,4152,958],{"class":875},[960,4154,4155,4165],{},[963,4156,4157],{},[966,4158,4159,4161,4163],{},[969,4160,971],{},[969,4162,974],{},[969,4164,977],{},[979,4166,4167,4181,4193],{},[966,4168,4169,4173,4177],{},[984,4170,4171],{},[825,4172,1003],{},[984,4174,4175],{},[825,4176,993],{},[984,4178,1010,4179,1014],{},[825,4180,1013],{},[966,4182,4183,4187,4191],{},[984,4184,4185],{},[825,4186,988],{},[984,4188,4189],{},[825,4190,993],{},[984,4192,996],{},[966,4194,4195,4199,4203],{},[984,4196,4197],{},[825,4198,1039],{},[984,4200,4201],{},[825,4202,993],{},[984,4204,1046,4205,1050],{},[825,4206,1049],{},[834,4208],{},[842,4210,4211],{"id":1187},[825,4212,1190],{},[821,4214,1193,4215,1199,4218,1069,4221,1014],{},[1063,4216,1198],{"href":1196,"rel":4217},[1067],[1063,4219,1204],{"href":1202,"rel":4220},[1067],[825,4222,1207],{},[852,4224,4225],{"className":854,"code":1210,"language":856,"meta":857,"style":857},[825,4226,4227,4235,4245,4253],{"__ignoreMap":857},[861,4228,4229,4231,4233],{"class":863,"line":864},[861,4230,868],{"class":867},[861,4232,1219],{"class":871},[861,4234,876],{"class":875},[861,4236,4237,4239,4241,4243],{"class":863,"line":879},[861,4238,883],{"class":882},[861,4240,887],{"class":886},[861,4242,891],{"class":890},[861,4244,894],{"class":875},[861,4246,4247,4249,4251],{"class":863,"line":897},[861,4248,933],{"class":882},[861,4250,887],{"class":886},[861,4252,938],{"class":890},[861,4254,4255,4257,4259,4261,4263,4265],{"class":863,"line":909},[861,4256,944],{"class":875},[861,4258,887],{"class":886},[861,4260,949],{"class":890},[861,4262,952],{"class":875},[861,4264,955],{"class":890},[861,4266,958],{"class":875},[960,4268,4269,4279],{},[963,4270,4271],{},[966,4272,4273,4275,4277],{},[969,4274,971],{},[969,4276,974],{},[969,4278,977],{},[979,4280,4281,4293],{},[966,4282,4283,4287,4291],{},[984,4284,4285],{},[825,4286,988],{},[984,4288,4289],{},[825,4290,993],{},[984,4292,996],{},[966,4294,4295,4299,4303],{},[984,4296,4297],{},[825,4298,1039],{},[984,4300,4301],{},[825,4302,993],{},[984,4304,1046,4305,1050],{},[825,4306,1049],{},[834,4308],{},[842,4310,4311],{"id":1298},[825,4312,1301],{},[821,4314,1304,4315,1069,4318,1014],{},[1063,4316,1309],{"href":1307,"rel":4317},[1067],[825,4319,1312],{},[852,4321,4322],{"className":854,"code":1315,"language":856,"meta":857,"style":857},[825,4323,4324,4332,4342,4350],{"__ignoreMap":857},[861,4325,4326,4328,4330],{"class":863,"line":864},[861,4327,868],{"class":867},[861,4329,1324],{"class":871},[861,4331,876],{"class":875},[861,4333,4334,4336,4338,4340],{"class":863,"line":879},[861,4335,883],{"class":882},[861,4337,887],{"class":886},[861,4339,891],{"class":890},[861,4341,894],{"class":875},[861,4343,4344,4346,4348],{"class":863,"line":897},[861,4345,933],{"class":882},[861,4347,887],{"class":886},[861,4349,938],{"class":890},[861,4351,4352,4354,4356,4358,4360,4362],{"class":863,"line":909},[861,4353,944],{"class":875},[861,4355,887],{"class":886},[861,4357,949],{"class":890},[861,4359,952],{"class":875},[861,4361,955],{"class":890},[861,4363,958],{"class":875},[960,4365,4366,4376],{},[963,4367,4368],{},[966,4369,4370,4372,4374],{},[969,4371,971],{},[969,4373,974],{},[969,4375,977],{},[979,4377,4378,4390],{},[966,4379,4380,4384,4388],{},[984,4381,4382],{},[825,4383,988],{},[984,4385,4386],{},[825,4387,993],{},[984,4389,996],{},[966,4391,4392,4396,4400],{},[984,4393,4394],{},[825,4395,1039],{},[984,4397,4398],{},[825,4399,993],{},[984,4401,1046,4402,1050],{},[825,4403,1049],{},[834,4405],{},[842,4407,4408],{"id":1403},[825,4409,1406],{},[821,4411,1409,4412,1415,4415,1421,4418,1014],{},[1063,4413,1414],{"href":1412,"rel":4414},[1067],[1063,4416,1420],{"href":1418,"rel":4417},[1067],[825,4419,1424],{},[852,4421,4422],{"className":854,"code":1427,"language":856,"meta":857,"style":857},[825,4423,4424,4432,4442,4450],{"__ignoreMap":857},[861,4425,4426,4428,4430],{"class":863,"line":864},[861,4427,868],{"class":867},[861,4429,1436],{"class":871},[861,4431,876],{"class":875},[861,4433,4434,4436,4438,4440],{"class":863,"line":879},[861,4435,883],{"class":882},[861,4437,887],{"class":886},[861,4439,891],{"class":890},[861,4441,894],{"class":875},[861,4443,4444,4446,4448],{"class":863,"line":897},[861,4445,933],{"class":882},[861,4447,887],{"class":886},[861,4449,938],{"class":890},[861,4451,4452,4454,4456,4458,4460,4462],{"class":863,"line":909},[861,4453,944],{"class":875},[861,4455,887],{"class":886},[861,4457,949],{"class":890},[861,4459,952],{"class":875},[861,4461,955],{"class":890},[861,4463,958],{"class":875},[960,4465,4466,4476],{},[963,4467,4468],{},[966,4469,4470,4472,4474],{},[969,4471,971],{},[969,4473,974],{},[969,4475,977],{},[979,4477,4478,4490],{},[966,4479,4480,4484,4488],{},[984,4481,4482],{},[825,4483,988],{},[984,4485,4486],{},[825,4487,993],{},[984,4489,996],{},[966,4491,4492,4496,4500],{},[984,4493,4494],{},[825,4495,1039],{},[984,4497,4498],{},[825,4499,993],{},[984,4501,1046,4502,1050],{},[825,4503,1049],{},[834,4505],{},[842,4507,4508],{"id":1515},[825,4509,1518],{},[821,4511,1521,4512,1069,4515,1014],{},[1063,4513,1526],{"href":1524,"rel":4514},[1067],[825,4516,1529],{},[852,4518,4519],{"className":854,"code":1532,"language":856,"meta":857,"style":857},[825,4520,4521,4529,4539,4547],{"__ignoreMap":857},[861,4522,4523,4525,4527],{"class":863,"line":864},[861,4524,868],{"class":867},[861,4526,1541],{"class":871},[861,4528,876],{"class":875},[861,4530,4531,4533,4535,4537],{"class":863,"line":879},[861,4532,883],{"class":882},[861,4534,887],{"class":886},[861,4536,891],{"class":890},[861,4538,894],{"class":875},[861,4540,4541,4543,4545],{"class":863,"line":897},[861,4542,933],{"class":882},[861,4544,887],{"class":886},[861,4546,938],{"class":890},[861,4548,4549,4551,4553,4555,4557,4559],{"class":863,"line":909},[861,4550,944],{"class":875},[861,4552,887],{"class":886},[861,4554,949],{"class":890},[861,4556,952],{"class":875},[861,4558,955],{"class":890},[861,4560,958],{"class":875},[960,4562,4563,4573],{},[963,4564,4565],{},[966,4566,4567,4569,4571],{},[969,4568,971],{},[969,4570,974],{},[969,4572,977],{},[979,4574,4575,4587],{},[966,4576,4577,4581,4585],{},[984,4578,4579],{},[825,4580,988],{},[984,4582,4583],{},[825,4584,993],{},[984,4586,996],{},[966,4588,4589,4593,4597],{},[984,4590,4591],{},[825,4592,1039],{},[984,4594,4595],{},[825,4596,993],{},[984,4598,1046,4599,1050],{},[825,4600,1049],{},[834,4602],{},[842,4604,4605],{"id":1620},[825,4606,1623],{},[821,4608,1193,4609,1630],{},[1063,4610,1420],{"href":1628,"rel":4611},[1067],[852,4613,4614],{"className":854,"code":1633,"language":856,"meta":857,"style":857},[825,4615,4616,4624,4634,4644,4658],{"__ignoreMap":857},[861,4617,4618,4620,4622],{"class":863,"line":864},[861,4619,868],{"class":867},[861,4621,1642],{"class":871},[861,4623,876],{"class":875},[861,4625,4626,4628,4630,4632],{"class":863,"line":879},[861,4627,883],{"class":882},[861,4629,887],{"class":886},[861,4631,891],{"class":890},[861,4633,894],{"class":875},[861,4635,4636,4638,4640,4642],{"class":863,"line":897},[861,4637,933],{"class":882},[861,4639,887],{"class":886},[861,4641,891],{"class":890},[861,4643,894],{"class":875},[861,4645,4646,4648,4650,4652,4654,4656],{"class":863,"line":909},[861,4647,912],{"class":882},[861,4649,1671],{"class":886},[861,4651,891],{"class":890},[861,4653,919],{"class":875},[861,4655,922],{"class":886},[861,4657,1680],{"class":890},[861,4659,4660,4662,4664,4666,4668,4670],{"class":863,"line":930},[861,4661,944],{"class":875},[861,4663,887],{"class":886},[861,4665,949],{"class":890},[861,4667,952],{"class":875},[861,4669,955],{"class":890},[861,4671,958],{"class":875},[960,4673,4674,4684],{},[963,4675,4676],{},[966,4677,4678,4680,4682],{},[969,4679,971],{},[969,4681,974],{},[969,4683,977],{},[979,4685,4686,4698,4712],{},[966,4687,4688,4692,4696],{},[984,4689,4690],{},[825,4691,988],{},[984,4693,4694],{},[825,4695,993],{},[984,4697,996],{},[966,4699,4700,4704,4708],{},[984,4701,4702],{},[825,4703,1039],{},[984,4705,4706],{},[825,4707,993],{},[984,4709,1046,4710,1050],{},[825,4711,1049],{},[966,4713,4714,4718,4722],{},[984,4715,4716],{},[825,4717,1021],{},[984,4719,4720],{},[825,4721,1026],{},[984,4723,4724,1749,4726,1014],{},[825,4725,1031],{},[825,4727,1752],{},[834,4729],{},[842,4731,4732],{"id":1757},[825,4733,1760],{},[821,4735,1763,4736,1014],{},[825,4737,1766],{},[852,4739,4740],{"className":854,"code":1769,"language":856,"meta":857,"style":857},[825,4741,4742,4750,4760,4770,4780],{"__ignoreMap":857},[861,4743,4744,4746,4748],{"class":863,"line":864},[861,4745,868],{"class":867},[861,4747,1778],{"class":871},[861,4749,876],{"class":875},[861,4751,4752,4754,4756,4758],{"class":863,"line":879},[861,4753,883],{"class":882},[861,4755,887],{"class":886},[861,4757,891],{"class":890},[861,4759,894],{"class":875},[861,4761,4762,4764,4766,4768],{"class":863,"line":897},[861,4763,933],{"class":882},[861,4765,887],{"class":886},[861,4767,891],{"class":890},[861,4769,894],{"class":875},[861,4771,4772,4774,4776,4778],{"class":863,"line":909},[861,4773,1805],{"class":882},[861,4775,1671],{"class":886},[861,4777,1810],{"class":890},[861,4779,1813],{"class":875},[861,4781,4782,4784,4786,4788,4790,4792],{"class":863,"line":930},[861,4783,944],{"class":875},[861,4785,887],{"class":886},[861,4787,949],{"class":890},[861,4789,952],{"class":875},[861,4791,955],{"class":890},[861,4793,958],{"class":875},[960,4795,4796,4806],{},[963,4797,4798],{},[966,4799,4800,4802,4804],{},[969,4801,971],{},[969,4803,974],{},[969,4805,977],{},[979,4807,4808,4820,4834],{},[966,4809,4810,4814,4818],{},[984,4811,4812],{},[825,4813,988],{},[984,4815,4816],{},[825,4817,993],{},[984,4819,996],{},[966,4821,4822,4826,4830],{},[984,4823,4824],{},[825,4825,1039],{},[984,4827,4828],{},[825,4829,993],{},[984,4831,1046,4832,1050],{},[825,4833,1049],{},[966,4835,4836,4840,4844],{},[984,4837,4838],{},[825,4839,1874],{},[984,4841,4842],{},[825,4843,1879],{},[984,4845,1882],{},[834,4847],{},[842,4849,4850],{"id":1887},[825,4851,1890],{},[821,4853,1893,4854,1899,4857,1014],{},[1063,4855,1898],{"href":1896,"rel":4856},[1067],[825,4858,1902],{},[852,4860,4861],{"className":854,"code":1905,"language":856,"meta":857,"style":857},[825,4862,4863],{"__ignoreMap":857},[861,4864,4865,4867,4869,4871,4873,4875,4877,4879,4881,4883,4885,4887],{"class":863,"line":864},[861,4866,868],{"class":867},[861,4868,1914],{"class":871},[861,4870,1917],{"class":875},[861,4872,988],{"class":882},[861,4874,887],{"class":886},[861,4876,891],{"class":890},[861,4878,944],{"class":875},[861,4880,887],{"class":886},[861,4882,949],{"class":890},[861,4884,952],{"class":875},[861,4886,955],{"class":890},[861,4888,958],{"class":875},[960,4890,4891,4901],{},[963,4892,4893],{},[966,4894,4895,4897,4899],{},[969,4896,971],{},[969,4898,974],{},[969,4900,977],{},[979,4902,4903],{},[966,4904,4905,4909,4913],{},[984,4906,4907],{},[825,4908,988],{},[984,4910,4911],{},[825,4912,993],{},[984,4914,996],{},[834,4916],{},[842,4918,4919],{"id":1966},[825,4920,1969],{},[821,4922,1972,4923,1899,4926,1014],{},[1063,4924,1977],{"href":1975,"rel":4925},[1067],[825,4927,1980],{},[852,4929,4930],{"className":854,"code":1983,"language":856,"meta":857,"style":857},[825,4931,4932],{"__ignoreMap":857},[861,4933,4934,4936,4938,4940,4942,4944,4946,4948,4950,4952,4954,4956],{"class":863,"line":864},[861,4935,868],{"class":867},[861,4937,1992],{"class":871},[861,4939,1917],{"class":875},[861,4941,988],{"class":882},[861,4943,887],{"class":886},[861,4945,891],{"class":890},[861,4947,944],{"class":875},[861,4949,887],{"class":886},[861,4951,949],{"class":890},[861,4953,952],{"class":875},[861,4955,955],{"class":890},[861,4957,958],{"class":875},[960,4959,4960,4970],{},[963,4961,4962],{},[966,4963,4964,4966,4968],{},[969,4965,971],{},[969,4967,974],{},[969,4969,977],{},[979,4971,4972],{},[966,4973,4974,4978,4982],{},[984,4975,4976],{},[825,4977,988],{},[984,4979,4980],{},[825,4981,993],{},[984,4983,996],{},[834,4985],{},[842,4987,4988],{"id":2043},[825,4989,2046],{},[821,4991,2049],{},[852,4993,4994],{"className":854,"code":2052,"language":856,"meta":857,"style":857},[825,4995,4996],{"__ignoreMap":857},[861,4997,4998,5000,5002,5004,5006,5008,5010,5012,5014,5016,5018,5020],{"class":863,"line":864},[861,4999,868],{"class":867},[861,5001,2061],{"class":871},[861,5003,1917],{"class":875},[861,5005,988],{"class":882},[861,5007,887],{"class":886},[861,5009,891],{"class":890},[861,5011,944],{"class":875},[861,5013,887],{"class":886},[861,5015,949],{"class":890},[861,5017,952],{"class":875},[861,5019,955],{"class":890},[861,5021,958],{"class":875},[960,5023,5024,5034],{},[963,5025,5026],{},[966,5027,5028,5030,5032],{},[969,5029,971],{},[969,5031,974],{},[969,5033,977],{},[979,5035,5036],{},[966,5037,5038,5042,5046],{},[984,5039,5040],{},[825,5041,988],{},[984,5043,5044],{},[825,5045,993],{},[984,5047,2108],{},[821,5049,2111,5050],{},[825,5051,2114],{},[834,5053],{},[842,5055,5056],{"id":2119},[825,5057,2122],{},[821,5059,2125],{},[852,5061,5062],{"className":854,"code":2128,"language":856,"meta":857,"style":857},[825,5063,5064],{"__ignoreMap":857},[861,5065,5066,5068,5070,5072,5074,5076,5078,5080,5082,5084,5086,5088],{"class":863,"line":864},[861,5067,868],{"class":867},[861,5069,2137],{"class":871},[861,5071,1917],{"class":875},[861,5073,988],{"class":882},[861,5075,887],{"class":886},[861,5077,891],{"class":890},[861,5079,944],{"class":875},[861,5081,887],{"class":886},[861,5083,949],{"class":890},[861,5085,952],{"class":875},[861,5087,955],{"class":890},[861,5089,958],{"class":875},[960,5091,5092,5102],{},[963,5093,5094],{},[966,5095,5096,5098,5100],{},[969,5097,971],{},[969,5099,974],{},[969,5101,977],{},[979,5103,5104],{},[966,5105,5106,5110,5114],{},[984,5107,5108],{},[825,5109,988],{},[984,5111,5112],{},[825,5113,993],{},[984,5115,2108],{},[821,5117,2111,5118],{},[825,5119,2188],{},[834,5121],{},[842,5123,5124],{"id":2193},[825,5125,2196],{},[821,5127,2199,5128,1014],{},[825,5129,2202],{},[852,5131,5132],{"className":854,"code":2205,"language":856,"meta":857,"style":857},[825,5133,5134,5142,5152,5160],{"__ignoreMap":857},[861,5135,5136,5138,5140],{"class":863,"line":864},[861,5137,868],{"class":867},[861,5139,2214],{"class":871},[861,5141,876],{"class":875},[861,5143,5144,5146,5148,5150],{"class":863,"line":879},[861,5145,883],{"class":882},[861,5147,887],{"class":886},[861,5149,891],{"class":890},[861,5151,894],{"class":875},[861,5153,5154,5156,5158],{"class":863,"line":897},[861,5155,2231],{"class":882},[861,5157,887],{"class":886},[861,5159,1680],{"class":890},[861,5161,5162,5164,5166,5168,5170,5172],{"class":863,"line":909},[861,5163,944],{"class":875},[861,5165,887],{"class":886},[861,5167,949],{"class":890},[861,5169,952],{"class":875},[861,5171,955],{"class":890},[861,5173,958],{"class":875},[960,5175,5176,5186],{},[963,5177,5178],{},[966,5179,5180,5182,5184],{},[969,5181,971],{},[969,5183,974],{},[969,5185,977],{},[979,5187,5188,5200],{},[966,5189,5190,5194,5198],{},[984,5191,5192],{},[825,5193,988],{},[984,5195,5196],{},[825,5197,993],{},[984,5199,996],{},[966,5201,5202,5206,5210],{},[984,5203,5204],{},[825,5205,2282],{},[984,5207,5208],{},[825,5209,2287],{},[984,5211,5212,2292,5214,2296],{},[825,5213,1031],{},[825,5215,2295],{},[834,5217],{},[842,5219,5220],{"id":2301},[825,5221,2304],{},[821,5223,2307],{},[852,5225,5226],{"className":854,"code":2310,"language":856,"meta":857,"style":857},[825,5227,5228],{"__ignoreMap":857},[861,5229,5230,5232,5234,5236,5238,5240,5242,5244,5246],{"class":863,"line":864},[861,5231,868],{"class":867},[861,5233,2319],{"class":871},[861,5235,1917],{"class":875},[861,5237,2324],{"class":882},[861,5239,887],{"class":886},[861,5241,891],{"class":890},[861,5243,944],{"class":875},[861,5245,887],{"class":886},[861,5247,938],{"class":890},[960,5249,5250,5260],{},[963,5251,5252],{},[966,5253,5254,5256,5258],{},[969,5255,971],{},[969,5257,974],{},[969,5259,977],{},[979,5261,5262],{},[966,5263,5264,5268,5272],{},[984,5265,5266],{},[825,5267,2324],{},[984,5269,5270],{},[825,5271,993],{},[984,5273,2361],{},[834,5275],{},[842,5277,5278],{"id":2366},[825,5279,2369],{},[821,5281,2372],{},[852,5283,5284],{"className":854,"code":2375,"language":856,"meta":857,"style":857},[825,5285,5286,5294,5304,5314,5322],{"__ignoreMap":857},[861,5287,5288,5290,5292],{"class":863,"line":864},[861,5289,868],{"class":867},[861,5291,2384],{"class":871},[861,5293,876],{"class":875},[861,5295,5296,5298,5300,5302],{"class":863,"line":879},[861,5297,2391],{"class":882},[861,5299,887],{"class":886},[861,5301,891],{"class":890},[861,5303,894],{"class":875},[861,5305,5306,5308,5310,5312],{"class":863,"line":897},[861,5307,2402],{"class":882},[861,5309,1671],{"class":886},[861,5311,891],{"class":890},[861,5313,894],{"class":875},[861,5315,5316,5318,5320],{"class":863,"line":909},[861,5317,2413],{"class":882},[861,5319,1671],{"class":886},[861,5321,938],{"class":890},[861,5323,5324,5326,5328,5330,5332,5334],{"class":863,"line":930},[861,5325,944],{"class":875},[861,5327,887],{"class":886},[861,5329,891],{"class":890},[861,5331,2428],{"class":886},[861,5333,891],{"class":890},[861,5335,1813],{"class":875},[960,5337,5338,5348],{},[963,5339,5340],{},[966,5341,5342,5344,5346],{},[969,5343,971],{},[969,5345,974],{},[969,5347,977],{},[979,5349,5350,5362,5374],{},[966,5351,5352,5356,5360],{},[984,5353,5354],{},[825,5355,2453],{},[984,5357,5358],{},[825,5359,993],{},[984,5361,2460],{},[966,5363,5364,5368,5372],{},[984,5365,5366],{},[825,5367,2467],{},[984,5369,5370],{},[825,5371,993],{},[984,5373,2474],{},[966,5375,5376,5380,5384],{},[984,5377,5378],{},[825,5379,2481],{},[984,5381,5382],{},[825,5383,993],{},[984,5385,2488],{},[834,5387],{},[837,5389,2494],{"id":2493},[842,5391,5392],{"id":2497},[825,5393,2497],{},[821,5395,2502],{},[852,5397,5398],{"className":854,"code":2505,"language":856,"meta":857,"style":857},[825,5399,5400,5434,5438,5452,5482],{"__ignoreMap":857},[861,5401,5402,5404,5406,5408,5410,5412,5414,5416,5418,5420,5422,5424,5426,5428,5430,5432],{"class":863,"line":864},[861,5403,868],{"class":867},[861,5405,2514],{"class":871},[861,5407,952],{"class":875},[861,5409,2520],{"class":2519},[861,5411,2523],{"class":875},[861,5413,2526],{"class":882},[861,5415,887],{"class":886},[861,5417,2531],{"class":890},[861,5419,952],{"class":875},[861,5421,2520],{"class":2519},[861,5423,2538],{"class":875},[861,5425,887],{"class":886},[861,5427,949],{"class":890},[861,5429,952],{"class":875},[861,5431,955],{"class":890},[861,5433,958],{"class":875},[861,5435,5436],{"class":863,"line":879},[861,5437,2553],{"emptyLinePlaceholder":8},[861,5439,5440,5442,5444,5446,5448,5450],{"class":863,"line":897},[861,5441,2558],{"class":867},[861,5443,2531],{"class":890},[861,5445,952],{"class":875},[861,5447,2520],{"class":2519},[861,5449,2567],{"class":875},[861,5451,2570],{"class":886},[861,5453,5454,5456,5458,5460,5462,5464,5466,5468,5470,5472,5474,5476,5478,5480],{"class":863,"line":909},[861,5455,2575],{"class":886},[861,5457,2578],{"class":875},[861,5459,2558],{"class":2581},[861,5461,887],{"class":886},[861,5463,2587],{"class":2586},[861,5465,2591],{"class":2590},[861,5467,2594],{"class":2586},[861,5469,2597],{"class":875},[861,5471,2600],{"class":2581},[861,5473,887],{"class":886},[861,5475,2605],{"class":890},[861,5477,952],{"class":875},[861,5479,2520],{"class":2519},[861,5481,2612],{"class":875},[861,5483,5484,5486,5488,5490,5492,5494,5496,5498,5500,5502,5504,5506,5508,5510],{"class":863,"line":930},[861,5485,2575],{"class":886},[861,5487,2578],{"class":875},[861,5489,2558],{"class":2581},[861,5491,887],{"class":886},[861,5493,2587],{"class":2586},[861,5495,2627],{"class":2590},[861,5497,2594],{"class":2586},[861,5499,2597],{"class":875},[861,5501,2600],{"class":2581},[861,5503,887],{"class":886},[861,5505,2638],{"class":890},[861,5507,952],{"class":875},[861,5509,2520],{"class":2519},[861,5511,2612],{"class":875},[960,5513,5514,5524],{},[963,5515,5516],{},[966,5517,5518,5520,5522],{},[969,5519,971],{},[969,5521,974],{},[969,5523,977],{},[979,5525,5526],{},[966,5527,5528,5532,5536],{},[984,5529,5530],{},[825,5531,2526],{},[984,5533,5534],{},[825,5535,2669],{},[984,5537,2672],{},[821,5539,2675,5540,2678],{},[1063,5541,127],{"href":128},[834,5543],{},[842,5545,5546],{"id":2683},[825,5547,2686],{},[821,5549,2689],{},[852,5551,5552],{"className":854,"code":2692,"language":856,"meta":857,"style":857},[825,5553,5554,5562,5572,5582,5590],{"__ignoreMap":857},[861,5555,5556,5558,5560],{"class":863,"line":864},[861,5557,868],{"class":867},[861,5559,2701],{"class":871},[861,5561,876],{"class":875},[861,5563,5564,5566,5568,5570],{"class":863,"line":879},[861,5565,2708],{"class":882},[861,5567,887],{"class":886},[861,5569,2713],{"class":890},[861,5571,894],{"class":875},[861,5573,5574,5576,5578,5580],{"class":863,"line":897},[861,5575,2720],{"class":882},[861,5577,887],{"class":886},[861,5579,891],{"class":890},[861,5581,894],{"class":875},[861,5583,5584,5586,5588],{"class":863,"line":909},[861,5585,2731],{"class":882},[861,5587,887],{"class":886},[861,5589,938],{"class":890},[861,5591,5592,5594,5596],{"class":863,"line":930},[861,5593,944],{"class":875},[861,5595,887],{"class":886},[861,5597,2744],{"class":890},[960,5599,5600,5610],{},[963,5601,5602],{},[966,5603,5604,5606,5608],{},[969,5605,971],{},[969,5607,974],{},[969,5609,977],{},[979,5611,5612,5624,5638],{},[966,5613,5614,5618,5622],{},[984,5615,5616],{},[825,5617,2765],{},[984,5619,5620],{},[825,5621,2770],{},[984,5623,2773],{},[966,5625,5626,5630,5634],{},[984,5627,5628],{},[825,5629,2780],{},[984,5631,5632],{},[825,5633,993],{},[984,5635,2787,5636,2791],{},[825,5637,2790],{},[966,5639,5640,5644,5648],{},[984,5641,5642],{},[825,5643,2798],{},[984,5645,5646],{},[825,5647,993],{},[984,5649,2805],{},[821,5651,2675,5652,2678],{},[1063,5653,131],{"href":132},[834,5655],{},[837,5657,2815],{"id":2814},[821,5659,2818,5660,2821,5662,2829],{},[825,5661,2591],{},[1063,5663,5665],{"href":2824,"rel":5664},[1067],[825,5666,2828],{},[842,5668,5669],{"id":2832},[825,5670,2835],{},[821,5672,2838],{},[852,5674,5675],{"className":854,"code":2841,"language":856,"meta":857,"style":857},[825,5676,5677,5689,5699,5709,5717],{"__ignoreMap":857},[861,5678,5679,5681,5683,5685,5687],{"class":863,"line":864},[861,5680,868],{"class":867},[861,5682,2850],{"class":871},[861,5684,952],{"class":875},[861,5686,2520],{"class":2519},[861,5688,2857],{"class":875},[861,5690,5691,5693,5695,5697],{"class":863,"line":879},[861,5692,2862],{"class":882},[861,5694,887],{"class":886},[861,5696,891],{"class":890},[861,5698,894],{"class":875},[861,5700,5701,5703,5705,5707],{"class":863,"line":897},[861,5702,2873],{"class":882},[861,5704,887],{"class":886},[861,5706,891],{"class":890},[861,5708,894],{"class":875},[861,5710,5711,5713,5715],{"class":863,"line":909},[861,5712,2884],{"class":882},[861,5714,887],{"class":886},[861,5716,938],{"class":890},[861,5718,5719,5721,5723,5725,5727],{"class":863,"line":930},[861,5720,944],{"class":875},[861,5722,887],{"class":886},[861,5724,2897],{"class":890},[861,5726,2428],{"class":886},[861,5728,2902],{"class":890},[960,5730,5731,5741],{},[963,5732,5733],{},[966,5734,5735,5737,5739],{},[969,5736,971],{},[969,5738,974],{},[969,5740,977],{},[979,5742,5743,5755,5767],{},[966,5744,5745,5749,5753],{},[984,5746,5747],{},[825,5748,2923],{},[984,5750,5751],{},[825,5752,993],{},[984,5754,2930],{},[966,5756,5757,5761,5765],{},[984,5758,5759],{},[825,5760,2937],{},[984,5762,5763],{},[825,5764,993],{},[984,5766,2944],{},[966,5768,5769,5773,5777],{},[984,5770,5771],{},[825,5772,2951],{},[984,5774,5775],{},[825,5776,993],{},[984,5778,2958],{},[834,5780],{},[842,5782,5783],{"id":2963},[825,5784,2966],{},[821,5786,2969],{},[852,5788,5789],{"className":854,"code":2972,"language":856,"meta":857,"style":857},[825,5790,5791,5803,5813,5823,5833],{"__ignoreMap":857},[861,5792,5793,5795,5797,5799,5801],{"class":863,"line":864},[861,5794,868],{"class":867},[861,5796,2981],{"class":871},[861,5798,952],{"class":875},[861,5800,2520],{"class":2519},[861,5802,2857],{"class":875},[861,5804,5805,5807,5809,5811],{"class":863,"line":879},[861,5806,2862],{"class":882},[861,5808,887],{"class":886},[861,5810,891],{"class":890},[861,5812,894],{"class":875},[861,5814,5815,5817,5819,5821],{"class":863,"line":897},[861,5816,2873],{"class":882},[861,5818,887],{"class":886},[861,5820,891],{"class":890},[861,5822,894],{"class":875},[861,5824,5825,5827,5829,5831],{"class":863,"line":909},[861,5826,3012],{"class":882},[861,5828,1671],{"class":886},[861,5830,3017],{"class":890},[861,5832,3021],{"class":3020},[861,5834,5835,5837,5839,5841,5843,5845,5847,5849,5851,5853,5855],{"class":863,"line":930},[861,5836,944],{"class":875},[861,5838,887],{"class":886},[861,5840,2578],{"class":875},[861,5842,2951],{"class":2581},[861,5844,887],{"class":886},[861,5846,891],{"class":890},[861,5848,2597],{"class":875},[861,5850,3040],{"class":2581},[861,5852,887],{"class":886},[861,5854,2897],{"class":890},[861,5856,3047],{"class":875},[960,5858,5859,5869],{},[963,5860,5861],{},[966,5862,5863,5865,5867],{},[969,5864,971],{},[969,5866,974],{},[969,5868,977],{},[979,5870,5871,5883,5895],{},[966,5872,5873,5877,5881],{},[984,5874,5875],{},[825,5876,2923],{},[984,5878,5879],{},[825,5880,993],{},[984,5882,2930],{},[966,5884,5885,5889,5893],{},[984,5886,5887],{},[825,5888,2937],{},[984,5890,5891],{},[825,5892,993],{},[984,5894,2944],{},[966,5896,5897,5901,5905],{},[984,5898,5899],{},[825,5900,3092],{},[984,5902,5903],{},[825,5904,3097],{},[984,5906,3100],{},[834,5908],{},[842,5910,5911],{"id":3105},[825,5912,3108],{},[821,5914,3111],{},[852,5916,5917],{"className":854,"code":3114,"language":856,"meta":857,"style":857},[825,5918,5919,5931,5941,5951,5961,5971],{"__ignoreMap":857},[861,5920,5921,5923,5925,5927,5929],{"class":863,"line":864},[861,5922,868],{"class":867},[861,5924,3123],{"class":871},[861,5926,952],{"class":875},[861,5928,2520],{"class":2519},[861,5930,2857],{"class":875},[861,5932,5933,5935,5937,5939],{"class":863,"line":879},[861,5934,2862],{"class":882},[861,5936,887],{"class":886},[861,5938,891],{"class":890},[861,5940,894],{"class":875},[861,5942,5943,5945,5947,5949],{"class":863,"line":897},[861,5944,2873],{"class":882},[861,5946,887],{"class":886},[861,5948,891],{"class":890},[861,5950,894],{"class":875},[861,5952,5953,5955,5957,5959],{"class":863,"line":909},[861,5954,3154],{"class":882},[861,5956,887],{"class":886},[861,5958,891],{"class":890},[861,5960,894],{"class":875},[861,5962,5963,5965,5967,5969],{"class":863,"line":930},[861,5964,3012],{"class":882},[861,5966,1671],{"class":886},[861,5968,3017],{"class":890},[861,5970,3171],{"class":3020},[861,5972,5973,5975,5977,5979,5981,5983,5985,5987,5989,5991,5993],{"class":863,"line":941},[861,5974,944],{"class":875},[861,5976,887],{"class":886},[861,5978,2578],{"class":875},[861,5980,2951],{"class":2581},[861,5982,887],{"class":886},[861,5984,891],{"class":890},[861,5986,2597],{"class":875},[861,5988,3040],{"class":2581},[861,5990,887],{"class":886},[861,5992,2897],{"class":890},[861,5994,3047],{"class":875},[960,5996,5997,6007],{},[963,5998,5999],{},[966,6000,6001,6003,6005],{},[969,6002,971],{},[969,6004,974],{},[969,6006,977],{},[979,6008,6009,6021,6033,6045],{},[966,6010,6011,6015,6019],{},[984,6012,6013],{},[825,6014,2923],{},[984,6016,6017],{},[825,6018,993],{},[984,6020,2930],{},[966,6022,6023,6027,6031],{},[984,6024,6025],{},[825,6026,2937],{},[984,6028,6029],{},[825,6030,993],{},[984,6032,2944],{},[966,6034,6035,6039,6043],{},[984,6036,6037],{},[825,6038,3240],{},[984,6040,6041],{},[825,6042,993],{},[984,6044,3247],{},[966,6046,6047,6051,6055],{},[984,6048,6049],{},[825,6050,3092],{},[984,6052,6053],{},[825,6054,3097],{},[984,6056,3100],{},[834,6058],{},[842,6060,6061],{"id":3264},[825,6062,3267],{},[821,6064,3270],{},[852,6066,6067],{"className":854,"code":3273,"language":856,"meta":857,"style":857},[825,6068,6069,6077,6087,6095],{"__ignoreMap":857},[861,6070,6071,6073,6075],{"class":863,"line":864},[861,6072,868],{"class":867},[861,6074,3282],{"class":871},[861,6076,876],{"class":875},[861,6078,6079,6081,6083,6085],{"class":863,"line":879},[861,6080,2862],{"class":882},[861,6082,887],{"class":886},[861,6084,891],{"class":890},[861,6086,894],{"class":875},[861,6088,6089,6091,6093],{"class":863,"line":897},[861,6090,2873],{"class":882},[861,6092,887],{"class":886},[861,6094,938],{"class":890},[861,6096,6097,6099,6101],{"class":863,"line":909},[861,6098,944],{"class":875},[861,6100,887],{"class":886},[861,6102,3311],{"class":890},[960,6104,6105,6115],{},[963,6106,6107],{},[966,6108,6109,6111,6113],{},[969,6110,971],{},[969,6112,974],{},[969,6114,977],{},[979,6116,6117,6129],{},[966,6118,6119,6123,6127],{},[984,6120,6121],{},[825,6122,2923],{},[984,6124,6125],{},[825,6126,993],{},[984,6128,2930],{},[966,6130,6131,6135,6139],{},[984,6132,6133],{},[825,6134,2937],{},[984,6136,6137],{},[825,6138,993],{},[984,6140,2944],{},[834,6142],{},[842,6144,6145],{"id":3354},[825,6146,3357],{},[821,6148,3360],{},[852,6150,6151],{"className":854,"code":3363,"language":856,"meta":857,"style":857},[825,6152,6153,6161,6171,6181,6189],{"__ignoreMap":857},[861,6154,6155,6157,6159],{"class":863,"line":864},[861,6156,868],{"class":867},[861,6158,3372],{"class":871},[861,6160,876],{"class":875},[861,6162,6163,6165,6167,6169],{"class":863,"line":879},[861,6164,2862],{"class":882},[861,6166,887],{"class":886},[861,6168,891],{"class":890},[861,6170,894],{"class":875},[861,6172,6173,6175,6177,6179],{"class":863,"line":897},[861,6174,2873],{"class":882},[861,6176,887],{"class":886},[861,6178,891],{"class":890},[861,6180,894],{"class":875},[861,6182,6183,6185,6187],{"class":863,"line":909},[861,6184,2884],{"class":882},[861,6186,887],{"class":886},[861,6188,938],{"class":890},[861,6190,6191,6193,6195],{"class":863,"line":930},[861,6192,944],{"class":875},[861,6194,887],{"class":886},[861,6196,1680],{"class":890},[960,6198,6199,6209],{},[963,6200,6201],{},[966,6202,6203,6205,6207],{},[969,6204,971],{},[969,6206,974],{},[969,6208,977],{},[979,6210,6211,6223,6235],{},[966,6212,6213,6217,6221],{},[984,6214,6215],{},[825,6216,2923],{},[984,6218,6219],{},[825,6220,993],{},[984,6222,2930],{},[966,6224,6225,6229,6233],{},[984,6226,6227],{},[825,6228,2937],{},[984,6230,6231],{},[825,6232,993],{},[984,6234,2944],{},[966,6236,6237,6241,6245],{},[984,6238,6239],{},[825,6240,2951],{},[984,6242,6243],{},[825,6244,993],{},[984,6246,3461],{},[834,6248],{},[842,6250,6251],{"id":3466},[825,6252,3466],{},[821,6254,3471],{},[852,6256,6257],{"className":854,"code":3474,"language":856,"meta":857,"style":857},[825,6258,6259,6267,6277,6285],{"__ignoreMap":857},[861,6260,6261,6263,6265],{"class":863,"line":864},[861,6262,868],{"class":867},[861,6264,3483],{"class":871},[861,6266,876],{"class":875},[861,6268,6269,6271,6273,6275],{"class":863,"line":879},[861,6270,2862],{"class":882},[861,6272,887],{"class":886},[861,6274,891],{"class":890},[861,6276,894],{"class":875},[861,6278,6279,6281,6283],{"class":863,"line":897},[861,6280,2873],{"class":882},[861,6282,887],{"class":886},[861,6284,938],{"class":890},[861,6286,6287,6289,6291],{"class":863,"line":909},[861,6288,944],{"class":875},[861,6290,887],{"class":886},[861,6292,3512],{"class":890},[960,6294,6295,6305],{},[963,6296,6297],{},[966,6298,6299,6301,6303],{},[969,6300,971],{},[969,6302,974],{},[969,6304,977],{},[979,6306,6307,6319],{},[966,6308,6309,6313,6317],{},[984,6310,6311],{},[825,6312,2923],{},[984,6314,6315],{},[825,6316,993],{},[984,6318,2930],{},[966,6320,6321,6325,6329],{},[984,6322,6323],{},[825,6324,2937],{},[984,6326,6327],{},[825,6328,993],{},[984,6330,2944],{},[834,6332],{},[842,6334,6335],{"id":3555},[825,6336,3555],{},[821,6338,3560],{},[852,6340,6341],{"className":854,"code":3563,"language":856,"meta":857,"style":857},[825,6342,6343,6351,6361,6369],{"__ignoreMap":857},[861,6344,6345,6347,6349],{"class":863,"line":864},[861,6346,868],{"class":867},[861,6348,3572],{"class":871},[861,6350,876],{"class":875},[861,6352,6353,6355,6357,6359],{"class":863,"line":879},[861,6354,2862],{"class":882},[861,6356,887],{"class":886},[861,6358,891],{"class":890},[861,6360,894],{"class":875},[861,6362,6363,6365,6367],{"class":863,"line":897},[861,6364,2873],{"class":882},[861,6366,887],{"class":886},[861,6368,938],{"class":890},[861,6370,6371,6373,6375,6377,6379,6381],{"class":863,"line":909},[861,6372,944],{"class":875},[861,6374,887],{"class":886},[861,6376,949],{"class":890},[861,6378,952],{"class":875},[861,6380,955],{"class":890},[861,6382,958],{"class":875},[960,6384,6385,6395],{},[963,6386,6387],{},[966,6388,6389,6391,6393],{},[969,6390,971],{},[969,6392,974],{},[969,6394,977],{},[979,6396,6397,6409],{},[966,6398,6399,6403,6407],{},[984,6400,6401],{},[825,6402,2923],{},[984,6404,6405],{},[825,6406,993],{},[984,6408,2930],{},[966,6410,6411,6415,6419],{},[984,6412,6413],{},[825,6414,2937],{},[984,6416,6417],{},[825,6418,993],{},[984,6420,3645],{},[3647,6422,6423],{},[821,6424,3651,6425,3654],{},[825,6426,3555],{},[834,6428],{},[837,6430,3660],{"id":3659},[842,6432,6433],{"id":3663},[825,6434,3666],{},[821,6436,3669],{},[852,6438,6439],{"className":854,"code":3672,"language":856,"meta":857,"style":857},[825,6440,6441,6449,6459,6467],{"__ignoreMap":857},[861,6442,6443,6445,6447],{"class":863,"line":864},[861,6444,868],{"class":867},[861,6446,3681],{"class":871},[861,6448,876],{"class":875},[861,6450,6451,6453,6455,6457],{"class":863,"line":879},[861,6452,883],{"class":882},[861,6454,887],{"class":886},[861,6456,891],{"class":890},[861,6458,894],{"class":875},[861,6460,6461,6463,6465],{"class":863,"line":897},[861,6462,3698],{"class":882},[861,6464,887],{"class":886},[861,6466,938],{"class":890},[861,6468,6469,6471,6473,6475,6477,6479],{"class":863,"line":909},[861,6470,944],{"class":875},[861,6472,887],{"class":886},[861,6474,949],{"class":890},[861,6476,952],{"class":875},[861,6478,955],{"class":890},[861,6480,958],{"class":875},[960,6482,6483,6493],{},[963,6484,6485],{},[966,6486,6487,6489,6491],{},[969,6488,971],{},[969,6490,974],{},[969,6492,977],{},[979,6494,6495,6507],{},[966,6496,6497,6501,6505],{},[984,6498,6499],{},[825,6500,988],{},[984,6502,6503],{},[825,6504,993],{},[984,6506,3743],{},[966,6508,6509,6513,6517],{},[984,6510,6511],{},[825,6512,3750],{},[984,6514,6515],{},[825,6516,993],{},[984,6518,3757],{},[834,6520],{},[842,6522,6523],{"id":648},[825,6524,648],{},[821,6526,3766],{},[852,6528,6529],{"className":854,"code":3769,"language":856,"meta":857,"style":857},[825,6530,6531,6539,6553,6567,6571,6575],{"__ignoreMap":857},[861,6532,6533,6535,6537],{"class":863,"line":864},[861,6534,3776],{"class":867},[861,6536,3779],{"class":890},[861,6538,3782],{"class":875},[861,6540,6541,6543,6545,6547,6549,6551],{"class":863,"line":879},[861,6542,3787],{"class":2581},[861,6544,887],{"class":886},[861,6546,891],{"class":890},[861,6548,2428],{"class":886},[861,6550,3796],{"class":890},[861,6552,3799],{"class":875},[861,6554,6555,6557,6559,6561,6563,6565],{"class":863,"line":897},[861,6556,3804],{"class":2581},[861,6558,887],{"class":886},[861,6560,891],{"class":890},[861,6562,2428],{"class":886},[861,6564,3796],{"class":890},[861,6566,3799],{"class":875},[861,6568,6569],{"class":863,"line":909},[861,6570,3819],{"class":875},[861,6572,6573],{"class":863,"line":930},[861,6574,2553],{"emptyLinePlaceholder":8},[861,6576,6577,6579,6581,6583,6585,6587,6589,6591,6593,6595,6597,6599],{"class":863,"line":941},[861,6578,868],{"class":867},[861,6580,3830],{"class":871},[861,6582,1917],{"class":875},[861,6584,3835],{"class":882},[861,6586,887],{"class":886},[861,6588,891],{"class":890},[861,6590,944],{"class":875},[861,6592,887],{"class":886},[861,6594,949],{"class":890},[861,6596,952],{"class":875},[861,6598,3850],{"class":2519},[861,6600,958],{"class":875},[960,6602,6603,6613],{},[963,6604,6605],{},[966,6606,6607,6609,6611],{},[969,6608,971],{},[969,6610,974],{},[969,6612,977],{},[979,6614,6615],{},[966,6616,6617,6621,6625],{},[984,6618,6619],{},[825,6620,3835],{},[984,6622,6623],{},[825,6624,993],{},[984,6626,3879],{},[3881,6628,3883],{},{"title":857,"searchDepth":879,"depth":879,"links":6630},[6631,6648,6652,6661],{"id":839,"depth":879,"text":840,"children":6632},[6633,6634,6635,6636,6637,6638,6639,6640,6641,6642,6643,6644,6645,6646,6647],{"id":844,"depth":897,"text":847},{"id":1055,"depth":897,"text":1058},{"id":1187,"depth":897,"text":1190},{"id":1298,"depth":897,"text":1301},{"id":1403,"depth":897,"text":1406},{"id":1515,"depth":897,"text":1518},{"id":1620,"depth":897,"text":1623},{"id":1757,"depth":897,"text":1760},{"id":1887,"depth":897,"text":1890},{"id":1966,"depth":897,"text":1969},{"id":2043,"depth":897,"text":2046},{"id":2119,"depth":897,"text":2122},{"id":2193,"depth":897,"text":2196},{"id":2301,"depth":897,"text":2304},{"id":2366,"depth":897,"text":2369},{"id":2493,"depth":879,"text":2494,"children":6649},[6650,6651],{"id":2497,"depth":897,"text":2497},{"id":2683,"depth":897,"text":2686},{"id":2814,"depth":879,"text":2815,"children":6653},[6654,6655,6656,6657,6658,6659,6660],{"id":2832,"depth":897,"text":2835},{"id":2963,"depth":897,"text":2966},{"id":3105,"depth":897,"text":3108},{"id":3264,"depth":897,"text":3267},{"id":3354,"depth":897,"text":3357},{"id":3466,"depth":897,"text":3466},{"id":3555,"depth":897,"text":3555},{"id":3659,"depth":879,"text":3660,"children":6662},[6663,6664],{"id":3663,"depth":897,"text":3666},{"id":648,"depth":897,"text":648},{},{"title":135,"description":3920},1780436287882]