1"use strict";(self.webpackChunkbeeceptor_docs=self.webpackChunkbeeceptor_docs||[]).push([["7194"],{95384(e,s,t){t.r(s),t.d(s,{metadata:()=>i,default:()=>h,frontMatter:()=>a,contentTitle:()=>o,toc:()=>c,assets:()=>l});var i=JSON.parse('{"id":"features/mock-rules/features-mocking-rules","title":"Mock Rules & Request Matching","description":"Beeceptor is your no-code HTTP mock server. You can define mock behaviors as \'rules\' on the incoming requests, and generating HTTP/API responses when requests are received.","source":"@site/docs/features/mock-rules/features-mocking-rules.md","sourceDirName":"features/mock-rules","slug":"/create-mocking-server","permalink":"/docs/create-mocking-server","draft":false,"unlisted":false,"tags":[{"inline":true,"label":"Features","permalink":"/docs/tags/features"}],"version":"current","sidebarPosition":1,"frontMatter":{"id":"features-mocking-rules","slug":"/create-mocking-server","title":"Mock Rules & Request Matching","description":"Beeceptor is your no-code HTTP mock server. You can define mock behaviors as \'rules\' on the incoming requests, and generating HTTP/API responses when requests are received.","keywords":["api-mock","rules-matching","request data","JSON","HTTP","HTTPS","HTTP2"],"sidebar_label":"Mock Rules & Request Matching","sidebar_position":1,"tags":["Features"],"date":"2026-08-08T13:00:00.000Z"},"sidebar":"tutorialSidebar","previous":{"title":"Mock Rules & API Routes","permalink":"/docs/mock-rules"},"next":{"title":"Request Matching Filters (Advanced)","permalink":"/docs/request-matching-filters"}}'),r=t(74848),n=t(28453);let a={id:"features-mocking-rules",slug:"/create-mocking-server",title:"Mock Rules & Request Matching",description:"Beeceptor is your no-code HTTP mock server. You can define mock behaviors as 'rules' on the incoming requests, and generating HTTP/API responses when requests are received.",keywords:["api-mock","rules-matching","request data","JSON","HTTP","HTTPS","HTTP2"],sidebar_label:"Mock Rules & Request Matching",sidebar_position:1,tags:["Features"],date:new Date("2026-08-08T13:00:00.000Z")},o,l={},c=[{value:"Creating a mock rule",id:"creating-a-mock-rule",level:2},{value:"Matching requests",id:"matching-requests",level:2},{value:"Matching with request parameters",id:"matching-with-request-parameters",level:3},{value:"Multiple conditions using AND",id:"multiple-conditions-using-and",level:4},{value:"Path parameters",id:"path-parameters",level:4},{value:"Matching with state data",id:"matching-with-state-data",level:3},{value:"Generating a response",id:"generating-a-response",level:2},{value:"Single response",id:"single-response",level:3},{value:"Weighted response",id:"weighted-response",level:3},{value:"Introducing delay",id:"introducing-delay",level:3},{value:"Find which rule matched",id:"find-which-rule-matched",level:2},{value:"Rule Priority and Reordering",id:"rule-priority-and-reordering",level:3},{value:"Dashboard visibility",id:"dashboard-visibility",level:3},{value:"Programmatic insight",id:"programmatic-insight",level:3}];function d(e){let s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(s.p,{children:["Beeceptor is a robust mock server that empowers you to ",(0,r.jsx)(s.a,{href:"https://beeceptor.com/",children:"create mock APIs"})," with zero coding required. This no-code solution enables you to deploy a dedicated sub-domain to serve as your API or server endpoint."]}),"\n",(0,r.jsx)("div",{style:{padding:"56.25% 0 0 0",position:"relative"},children:(0,r.jsx)("iframe",{src:"https://player.vimeo.com/video/780480130?h=e6c93a3f9e&badge=0&autopause=0&player_id=0&app_id=58479",frameborder:"0",allow:"autoplay; fullscreen; picture-in-picture",allowfullscreen:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%"},title:"Beeceptor - How Mock Rules Work"})}),"\n",(0,r.jsx)("script",{src:"https://player.vimeo.com/api/player.js"}),"\n",(0,r.jsx)(s.h2,{id:"creating-a-mock-rule",children:"Creating a mock rule"}),"\n",(0,r.jsxs)(s.p,{children:["To manage mock server routes, use the ",(0,r.jsx)(s.strong,{children:"Mocking Rules"})," link on the endpoint's dashboard. Creating a rule involves two steps."]}),"\n",(0,r.jsx)("div",{style:{width:"100%",textAlign:"center"},children:(0,r.jsx)("video",{loop:!0,autoPlay:!0,muted:!0,style:{width:"90%"},title:"Create a mock rule",children:(0,r.jsx)("source",{src:"/docs/videos/creating-a-mock-rule.mp4",type:"video/mp4"})})}),"\n",(0,r.jsx)("br",{}),"\n",(0,r.jsx)(s.admonition,{type:"tip",children:(0,r.jsxs)(s.p,{children:["Beeceptor also supports mock rules for ",(0,r.jsx)(s.a,{href:"/docs/graphql-mock-server/",children:"GraphQL"})," and ",(0,r.jsx)(s.a,{href:"/docs/grpc-mock-server/",children:"gRPC"})," based services."]})}),"\n",(0,r.jsx)(s.h2,{id:"matching-requests",children:"Matching requests"}),"\n",(0,r.jsxs)(s.p,{children:["When a request arrives at the Beeceptor endpoint, it is evaluated against the mock rules. The ",(0,r.jsx)(s.a,{href:"/mock-rules-priority-order/",children:"first rule that matches the request"})," is selected, and the corresponding mock response is sent back to the client. You have the flexibility to modify the order of these rules and set priority."]}),"\n",(0,r.jsx)(s.h3,{id:"matching-with-request-parameters",children:"Matching with request parameters"}
1),"\n",(0,r.jsx)(s.p,{children:"A mock rule can be defined using one or more of the following matching criteria:"}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{children:"Condition Type"}),(0,r.jsx)(s.th,{children:"Value & Example Usage"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Request path exactly matches given text"}),(0,r.jsxs)(s.td,{children:["Value: ",(0,r.jsx)(s.code,{children:"/api/users/123"})," ",(0,r.jsx)("br",{})," Example requests matched:",(0,r.jsx)("ul",{children:(0,r.jsxs)("li",{children:[" ",(0,r.jsx)(s.code,{children:"/api/users/123"})]})})]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Request path starts with given text"}),(0,r.jsxs)(s.td,{children:["Value: ",(0,r.jsx)(s.code,{children:"/api/users"})," ",(0,r.jsx)("br",{})," Example requests matched:",(0,r.jsxs)("ul",{children:[(0,r.jsx)("li",{children:(0,r.jsx)(s.code,{children:"/api/users/123"})}),(0,r.jsx)("li",{children:(0,r.jsx)(s.code,{children:"/api/users/profile"})})]})]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Request path contains given text"}),(0,r.jsxs)(s.td,{children:["Value: ",(0,r.jsx)(s.code,{children:"users"})," ",(0,r.jsx)("br",{})," Example requests matched:",(0,r.jsxs)("ul",{children:[(0,r.jsx)("li",{children:(0,r.jsx)(s.code,{children:"/api/users/123"})}),(0,r.jsx)("li",{children:(0,r.jsx)(s.code,{children:"/admin/users/list"})})]})]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Request path matches a regular expression"}),(0,r.jsxs)(s.td,{children:["Value: ",(0,r.jsx)(s.code,{children:"/api/users/\\d+"})," ",(0,r.jsx)("br",{})," Example requests matched:",(0,r.jsxs)("ul",{children:[(0,r.jsxs)("li",{children:[" ",(0,r.jsx)(s.code,{children:"/api/users/123"})]}),(0,r.jsx)("li",{children:(0,r.jsx)(s.code,{children:"/api/users/456"})})]})]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Request body contains some text"}),(0,r.jsxs)(s.td,{children:["Example: ",(0,r.jsx)(s.code,{children:"user_id=123"}),(0,r.jsx)("br",{}),"Matches requests where the request body contains the specified text."]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Request body matches a regular expression"}),(0,r.jsxs)(s.td,{children:["Example: ",(0,r.jsx)(s.code,{children:"user_id=\\d+"}),(0,r.jsx)("br",{}),"Matches requests where the body content fits the given regular expression."]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Request header value matches a regular expression"}),(0,r.jsxs)(s.td,{children:["Example: ",(0,r.jsx)(s.code,{children:"Authorization"})," with ",(0,r.jsx)(s.code,{children:"Bearer .*"}),(0,r.jsx)("br",{}),"Matches requests with a header value matching the specified pattern."]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Request body parameter matches specific value"}),(0,r.jsxs)(s.td,{children:["Example: ",(0,r.jsx)(s.code,{children:"user.email"})," equals ",(0,r.jsx)(s.code,{children:'"[email protected]"'}),(0,r.jsx)("br",{}),"Matches requests where a JSON or form field has the specified value."]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Request query parameter matches"}),(0,r.jsxs)(s.td,{children:["Example: ",(0,r.jsx)(s.code,{children:"id"})," equals ",(0,r.jsx)(s.code,{children:"123"}),(0,r.jsx)("br",{}),"Matches decoded query parameters by name and value, including repeated values."]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"SOAPAction matches"}),(0,r.jsxs)(s.td,{children:["Example: ",(0,r.jsx)(s.code,{children:"http://example.org/orders/GetOrder"})," ",(0,r.jsx)("br",{})," Matches SOAP requests with this SOAPAction header."]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"GraphQL query matches"}),(0,r.jsxs)(s.td,{children:["Example: ",(0,r.jsx)(s.code,{children:"query GetUser { user { id name } }"})," ",(0,r.jsx)("br",{}),"Matches GraphQL requests containing this specific query."]})]})]})]}),"\n",(0,r.jsx)(s.p,{children:"Here are a couple of advanced strategies to optimize request matching features within Beeceptor:"}),"\n",(0,r.jsx)(s.h4,{id:"multiple-conditions-using-and",children:"Multiple conditions using AND"}),"\n",(0,r.jsxs)(s.p,{children:["Imagine a scenario where you are building a ",(0,r.jsx)(s.code,{children:"POST"})," request at the endpoint ",(0,r.jsx)(s.code,{children:"/login"})," and you want to simulate success and failure scenarios."]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["If the entering request body contains the word 'alex' as a username the call should success with ",(0,r.jsx)(s.code,{children:"200 OK"}),"."]}),"\n",(0,r.jsxs)(s.li,{children:["Else, the call should be failed with ",(0,r.jsx)(s.code,{children:"401 Unauthorized"}),"."]}),"\n"]}),"\n",(0,r.jsx)(s.p,{children:"With Beeceptor, you can craft a condition that triggers a successful login response specifically for Alex. Anyone else will fail the login attempt. This flexibility empowers you to simulate diverse scenarios, enhancing your testing and development workflow."}),"\n",(0,r.jsx)(s.p,{children:"You can introduce AND conditions to incorporate supplementary conditions during the request matching process. Here's a brief demonstration showcasing this functionality in action."}),"\n",(0,r.jsx)("div",{style:{width:"100%",textAlign:"center"},children:(0,r.jsx)("video",{loop:!0,autoPlay:!0,muted:!0,style:{width:"90%"},title:"Mock Rule with Multiple Conditions",children:(0,r.jsx)("source",{src:"/docs/videos/mocking-rule-multiple-conditions.mp4",type:"video/mp4"})})}),"\n",(0,r.jsx)("figcaption",{children:"Adding multiple conditions in a mock rule."}),"\n",(0,r.jsxs)(s.p,{children:["Beeceptor provides a pre-built ",(0,r.jsx)(s.a,{href:"https://app.beeceptor.com/virtual-sandbox/json-placeholder",children:"JSON Mock Server for the above login behavior"}),". You should give it a try."]}),"\n",(0,r.jsx)(s.h4,{id:"path-parameters",children:"Path parameters"}),"\n",(0,r.jsx)(s.p,{children:"If you are matching a request using regular expression (RegEx) on the request path, you can use named groups. All the named groups and their values are available as template variables."}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.img,{alt:"path parameter match using regular expression",src:t(6913).A+"",width:"959",height:"198"})}),"\n",(0,r.jsxs)(s.p,{children:["The above example considers that you are ",(0,r.jsx)(s.a,{href:"https://beeceptor.com/",children:"building an API mock"})," for Company entity. You can match all the requests paths for Company entity and extract the company-id as path parameter."]}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.strong,{children:"Regular expression examples"})}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"/companies/(?<company_id>[a-zA-Z0-9-]+)"})," - for matching alphanumeric company-ids. Example request path ",(0,r.jsx)(s.code,{children:"/companies/be32a3a3-c2af-493c-adbd-ae2d09d8a0b8"})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"/companies/(?<company_id>[0-9]+)"})," - for matching numeric company-ids. Example request path ",(0,r.jsx)(s.code,{children:"/companies/123"})]}),"\n"]}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.strong,{children:"Using path parameters in templates"})}),"\n",(0,r.jsx)(s.p,{children:"The named groups are available to be used as path parameters in templated response. You should use the following syntax."}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{children:"{{pathParam 'group-name' 'default-value'}}\n"})}),"\n",(0,r.jsx)(s.p,{children:"Example:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{children:"{{pathParam 'company_id' '123'}}\n"})}),"\n",(0,r.jsx)(s.h3,{id:"matching-with-state-data",children:"Matching with state data"}),"\n",(0,r.jsxs)(s.p,{children:["Beeceptor is a ",(0,r.jsx)(s.a,{href:"/mock-data-management/",children:"stateful mock server"}),", allowing you to save, update, and share state data across multiple requests. This enables you to design context-aware responses that reflect real-world API behavior. You can also combine state-based filters with standard request filters to build rules that respond dynamically based on previously stored values or counters."]}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.img,{alt:"adding-state-filters-in-mock-rules",src:t(80685).A+"",width:"1094",height:"288"})}),"\n",(0,r.jsx)(s.p,{children:"Beeceptor supports three types of state variables:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Datastore"})," (key\u2013value pairs),"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"List"}),", and"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Counter"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["The type Datastore (key\u2013value pairs) is ideal for storing simple attributes, such as user preferences or feature flags. For a deeper dive into using state variables inside response templates refer ",(0,r.jsx)(s.a,{href:"/docs/template-stateful-mocks/",children:"to this comprehensive guide"}),"."]}),"\n",(0,r.jsx)(s.h2,{id:"generating-a-response",children:"Generating a response"}),"\n",(0,r.jsx)(s.p,{children:"The second section in the create rule form defines what to send as HTTP response when the given rule is matched. You can define following things in this section."}),"\n",(0,r.jsxs)(s.ol,{children:["\n",(0,r.jsxs)(s.li,{children:["Response HTTP status code: Enter a valid ",(0,r.jsx)(s.a,{href:"/concepts/http-status-codes/#classification-of-http-status-codes",children:"HTTP status code between 200 and 599"}),"."]}),"\n",(0,r.jsx)(s.li,{children:"Response Headers: Specify multiple response headers in JSON format."}),"\n",(0,r.jsx)(s.li,{children:"Response Body/Payload: Define the content for the response."}),"\n"]}),"\n",(0,r.jsx)(s.p,{children:"When configuring a mock rule within Beeceptor, you're presented with two options: Single Response and Weighted Response. This choice allows you to precisely define how your mock rule will handle incoming requests."}),"\n",(0,r.jsx)(s.h3,{id:"single-response",children:"Single response"}),"\n",(0,r.jsx)(s.p,{children:"Single Response is straightforward; you specify a single response, including the status code, response payload, and HTTP headers, to be returned consistently for all incoming requests."}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.img,{alt:"single-response",src:t(34711).A+"",width:"1522",height:"902"}),"."]}),"\n",(0,r.jsx)(s.h3,{id:"weighted-response",children:"Weighted response"}),"\n",(0,r.jsx)(s.p,{children:"Weighted Response introduces a dynamic element. In this mode, you have the flexibility to declare multiple responses, each with its own set of parameters (status code, response payload, and HTTP headers). What's unique is that Beeceptor randomly selects one of these responses based on defined weights."}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:"For each additional response, you can assign a name and specify a weight in terms of percentage probability."}),"\n",(0,r.jsx)(s.li,{children:"You must have at least one response defined."}),"\n",(0,r.jsx)(s.li,{children:"The sum of all response weights must precisely equal 100%."}),"\n",(0,r.jsx)(s.li,{children:"The selection of responses is entirely random. While it will closely approximate the defined weights, it may not be exact in every instance."}),"\n"]}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.strong,{children:"Use case"})}),"\n",(0,r.jsx)(s.p,{children:"Suppose you want to create a mock rule where there's a 1% chance of failure and a 99% chance of a successful response for incoming calls. You can set this up in the Weighted Response configuration as shown below:"}),"\n",(0,r.jsx)("div",{style:{width:"100%",textAlign:"center"},children:(0,r.jsx)("video",{loop:!0,autoPlay:!0,muted:!0,style:{width:"90%"},title:"Define Weights for Responses",children:(0,r.jsx)("source",{src:"/docs/videos/multiple-responses-demo.mp4",type:"video/mp4"})})}),"\n",(0,r.jsx)(s.h3,{id:"introducing-delay",children:"Introducing delay"}),"\n",(0,r.jsxs)(s.p,{children:["In the response section, you have the option to introduce a delay for the response. The caller will receive the response after a specific number of seconds. To simulate latency across all responses, configure an endpoint-wide ",(0,r.jsx)(s.a,{href:"/default-latency/",children:"Latency Profile"})," and let the Mock Rule inherit it."]}),"\n",(0,r.jsx)("div",{style:{width:"100%",textAlign:"center"},children:(0,r.jsx)("video",{loop:!0,autoPlay:!0,muted:!0,style:{width:"90%"},title:"Mocking Rule Delay in Seconds",children:(0,r.jsx)("source",{src:"/docs/videos/add-delay-to-mocking-rule.mp4",type:"video/mp4"})})}),"\n",(0,r.jsx)("br",{}),"\n",(0,r.jsx)(s.admonition,{type:"tip",children:(0,r.jsx)(s.p,{children:"Beeceptor handles this delay computation on the server and attempts to match the specified seconds. However, please be aware that requests may take slightly longer than the exact time specified. This variance is influenced by factors such as network latency, server load, and other related variables."})}),"\n",(0,r.jsx)(s.h2,{id:"find-which-rule-matched",children:"Find which rule matched"}),"\n",(0,r.jsx)(s.p,{children:"When dealing with multiple rules that share similar or slightly varied request paths, it can be challenging to pinpoint which rule was matched. Beeceptor simplifies this process by helping you identify the exact rule that matched."}),"\n",(0,r.jsx)(s.h3,{id:"rule-priority-and-reordering",children:"Rule Priority and Reordering"}),"\n",(0,r.jsx)(s.p,{children:"Beeceptor evaluates incoming requests strictly in a top-down manner, checking each mock rule in the order they appear in the dashboard. As soon as the first matching rule is found, Beeceptor applies its configured behavior, and stops evaluating any further rules. This means the visual order of rules directly determines which one takes precedence, making the \u201Cfirst match wins\u201D approach central to how mock behavior is resolved."}),"\n",(0,r.jsx)(s.p,{children:"To manage this priority, you can reorder rules using the drag-and-drop interface in the dashboard. As a best practice, place specific or narrow rules at the top and keep broader or catch-all rules toward the bottom. This ensures your intended mock responses are applied correctly, especially when multiple rules could match a similar request."}),"\n",(0,r.jsx)("div",{style:{width:"100%",textAlign:"center"},children:(0,r.jsx)("video",{loop:!0,autoPlay:!0,muted:!0,style:{width:"75%"},title:"Reordering a rule",children:(0,r.jsx)("source",{src:"/docs/videos/reorder-mocking-rules.mp4",type:"video/mp4"})})}),"\n",(0,r.jsx)(s.h3,{id:"dashboard-visibility",children:"Dashboard visibility"}),"\n",(0,r.jsx)(s.p,{children:"When a rule is successfully matched for a mocked response, a tickmark icon will appear alongside the request log on the dashboard. A single click allows you to review the specific rule that produced this match. To illustrate this feature, here's a quick demo."}),"\n",(0,r.jsx)("div",{style:{width:"100%",textAlign:"center"},children:(0,r.jsx)("video",{loop:!0,autoPlay:!0,muted:!0,style:{width:"90%"},title:"Highlight the Matched Mock Rule in Beeceptor",children:(0,r.jsx)("source",{src:"/docs/videos/highlight-matched-mock-rule.mp4",type:"video/mp4"})})}),"\n",(0,r.jsx)(s.h3,{id:"programmatic-insight",children:"Programmatic insight"}),"\n",(0,r.jsxs)(s.p,{children:["For those who programmatically utilize Beeceptor APIs to configure mock rules, you can find an HTTP header named ",(0,r.jsx)(s.code,{children:"x-beeceptor-rule-id"})," within the mocked response. This header contains the rule ID that was matched to generate the HTTP response, providing you with invaluable insights for debugging and troubleshooting."]})]})}function h(e={}){let{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},6913(e,s,t){t.d(s,{A:()=>i});let i=t.p+"assets/images/matching-path-parameters-60b6f74e70d343952a5968308eaf7bf5.png"},34711(e,s,t){t.d(s,{A:()=>i});let i=t.p+"assets/images/mocking-rule-create-1b41830ad67794856a5e832d4dce4e94.png"},80685(e,s,t){t.d(s,{A:()=>i});let i=t.p+"assets/images/state-filters-in-mock-rules-7833c7a93aeb99c2ef66b2b16b9d9cb4.png"},28453(e,s
1,t){t.d(s,{R:()=>a,x:()=>o});var i=t(96540);let r={},n=i.createContext(r);function a(e){let s=i.useContext(n);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(n.Provider,{value:s},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.