{"type":"thread.started","thread_id":"01a02c47-a7d6-7072-8484-28a4c9f62b7c"}
{"type":"turn.started"}
{"type":"item.completed","item":{"id":"item_0","type":"agent_message","text":"I’m continuing the repair pass from the existing parser/evaluator. I’ll first rerun both authoritative scoped checks, inspect the actual failing cases, then fix the general behavior and rerun the gates."}}
{"type":"item.started","item":{"id":"item_1","type":"command_execution","command":"/bin/bash -lc \"ls -la && find jq_interpreter -maxdepth 2 -type f -print && python3 - <<'PY'\nimport json, os, subprocess, sys\nfor name, sel in [('parse-003', r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%'), ('parse-004', r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')]:\n    p=subprocess.run([sys.executable,'sources/run_conformance.py','--select',sel,'--json'],capture_output=True,text=True,env={**os.environ,'JQ':os.path.abspath('jq')})\n    print('\\\\n###',name,'rc',p.returncode)\n    try:\n      d=json.loads(p.stdout); print(d['summary']);\n      for c in d.get('cases',[]):\n        if c.get('status') not in ('pass','skip'):\n          print(json.dumps(c,ensure_ascii=False)[:2000])\n    except Exception: print(p.stdout, p.stderr)\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.started","item":{"id":"item_2","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,260p' sources/run_conformance.py && sed -n '1,260p' jq_interpreter/parser.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_2","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,260p' sources/run_conformance.py && sed -n '1,260p' jq_interpreter/parser.py\"","aggregated_output":"#!/usr/bin/env python3\n\"\"\"Run the upstream jq conformance corpus against a candidate implementation.\n\nThis is the scoring instrument. It is supplied, not authored: it is staged verbatim into the\nbuild directory, hash-verified against the import, and restored before grading. Its exit status\nis the acceptance verdict.\n\nIt is deliberately external to the implementation. Upstream jq grades itself, through its own\n``--run-tests`` flag; a self-graded suite proves nothing here, so this runner re-implements the\ncorpus protocol and drives the candidate as a subprocess, one process per case.\n\nImported sources land in ``sources/`` inside the application directory, so this is normally\ninvoked as ``python3 sources/run_conformance.py`` from that directory.\n\nUsage:\n    JQ=./jq python3 sources/run_conformance.py                     # full corpus, the scored run\n    JQ=./jq python3 sources/run_conformance.py -v                  # list passing cases too\n    JQ=./jq python3 sources/run_conformance.py --json              # machine-readable report\n    JQ=./jq python3 sources/run_conformance.py --list              # print cases, run nothing\n    JQ=./jq python3 sources/run_conformance.py --select 'reduce'   # develop one construct\n\nEnvironment:\n    JQ         command that runs the candidate. Required -- this harness is language-neutral\n               and deliberately has no default implementation language.\n\nExit codes:\n    0   every case that ran passed\n    1   at least one case failed or errored\n    2   the harness could not run: bad usage, missing corpus, or a stale exclusion\n\"\"\"\n\nfrom __future__ import annotations\n\nimport argparse\nimport json\nimport os\nimport re\nimport shlex\nimport subprocess\nimport sys\nfrom dataclasses import dataclass, field\nfrom pathlib import Path\n\nHERE = Path(__file__).resolve().parent\nCORPUS = HERE / \"jq.test\"\nEXCLUSIONS = HERE / \"exclusions.txt\"\n\n#: A case that has not produced output in this long is not going to. jq's own suite runs the\n#: whole corpus in under a second; anything near this bound is a runaway generator.\nDEFAULT_TIMEOUT = 10.0\n\nPASS, FAIL, ERROR, SKIP = \"pass\", \"fail\", \"error\", \"skip\"\n\n#: jq's documented exit codes, which this kit's interface contract adopts. The distinction is\n#: load-bearing: the corpus's %%FAIL cases are programs that must not compile, while an ordinary\n#: case may legitimately raise at run time part-way through its output and still be correct.\nEXIT_COMPILE_ERROR = 3\nEXIT_RUNTIME_ERROR = 5\n\n\ndef split_lines(text: str) -> list[str]:\n    \"\"\"Split on newlines only.\n\n    ``str.splitlines`` is Unicode-aware and also breaks on U+000B, U+000C, U+0085, U+2028, and\n    U+2029. The corpus contains cases whose expected output embeds those code points inside JSON\n    strings -- ``trim, ltrim, rtrim`` over the Unicode whitespace set is one -- and splitting\n    there shreds one JSON value into several, failing a correct implementation.\n    \"\"\"\n    lines = text.split(\"\\n\")\n    if lines and lines[-1] == \"\":\n        lines.pop()\n    return lines\n\n\n@dataclass\nclass Case:\n    \"\"\"One corpus case: a program, an input, and what it must produce.\n\n    ``expect_failure`` cases are the corpus's ``%%FAIL`` blocks. Upstream compares their\n    diagnostic text; this runner requires only that the candidate reject the program. The\n    expected strings are jq's exact C-implementation diagnostics, down to the caret art\n    underlining the offending token -- reproducing them is reverse-engineering an\n    implementation, not conforming to a specification. The text is parsed and reported so a\n    reader can see what upstream said, and is never compared.\n    \"\"\"\n\n    line: int\n    program: str\n    stdin: str = \"\"\n    expected: list[str] = field(default_factory=list)\n    expect_failure: bool = False\n    diagnostic: str = \"\"\n\n\n@dataclass\nclass Result:\n    case: Case\n    status: str\n    detail: str = \"\"\n    actual: list[str] = field(default_factory=list)\n    return_code: int | None = None\n    stderr: str = \"\"\n\n\nclass HarnessError(Exception):\n    \"\"\"A fault in the kit or its invocation, never a fault in the candidate.\"\"\"\n\n\n# --------------------------------------------------------------------------------------------\n# Corpus parsing\n# --------------------------------------------------------------------------------------------\n\n\ndef parse_corpus(text: str) -> list[Case]:\n    \"\"\"Parse the jq test corpus.\n\n    The format is documented in the corpus's own header: cases are groups of lines separated by\n    blank lines; blank lines and lines starting with ``#`` are ignored. A case is a program\n    line, an input line, and then zero or more expected output lines. A case preceded by a\n    ``%%FAIL`` or ``%%FAIL IGNORE MSG`` marker is a program line followed by the diagnostic\n    upstream jq emits, which may itself span several lines of source excerpt and caret art.\n    \"\"\"\n    cases: list[Case] = []\n    block: list[tuple[int, str]] = []\n    expect_failure = False\n    lines = split_lines(text)\n\n    def flush() -> None:\n        nonlocal block, expect_failure\n        if block:\n            cases.append(_case_from_block(block, expect_failure))\n        block = []\n        expect_failure = False\n\n    for number, raw in enumerate(lines, start=1):\n        stripped = raw.strip()\n        if not stripped:\n            flush()\n            continue\n        if raw.startswith(\"%%FAIL\"):\n            flush()\n            expect_failure = True\n            continue\n        # A '#' comment closes nothing: upstream places section banners between cases, always\n        # with blank lines around them, and never inside a case.\n        if raw.lstrip().startswith(\"#\") and not block:\n            continue\n        if raw.lstrip().startswith(\"#\"):\n            continue\n        block.append((number, raw))\n    flush()\n    return cases\n\n\ndef _case_from_block(block: list[tuple[int, str]], expect_failure: bool) -> Case:\n    line, program = block[0]\n    if expect_failure:\n        diagnostic = \"\\n\".join(text for _, text in block[1:])\n        return Case(line=line, program=program, expect_failure=True, diagnostic=diagnostic)\n    if len(block) < 2:\n        raise HarnessError(\n            f\"{CORPUS.name}:{line}: case has a program but no input line; the corpus is malformed\"\n        )\n    return Case(\n        line=line,\n        program=program,\n        stdin=block[1][1],\n        expected=[text for _, text in block[2:]],\n    )\n\n\n# --------------------------------------------------------------------------------------------\n# Exclusions\n# --------------------------------------------------------------------------------------------\n\n\ndef parse_exclusions(path: Path) -> list[str]:\n    \"\"\"Read the declared exclusions: one verbatim program line per entry, ``#`` for reasons.\"\"\"\n    if not path.is_file():\n        return []\n    return [\n        line\n        for line in split_lines(path.read_text(encoding=\"utf-8\"))\n        if line.strip() and not line.lstrip().startswith(\"#\")\n    ]\n\n\ndef apply_exclusions(cases: list[Case], exclusions: list[str]) -> set[int]:\n    \"\"\"Return the corpus line numbers of excluded cases.\n\n    An exclusion that matches nothing is a hard error rather than a shrug. The corpus is pinned\n    by hash, so a stale exclusion means the pin moved without the exclusion list being revisited\n    -- and a silent no-op there would quietly re-admit a case the kit cannot run.\n    \"\"\"\n    by_program: dict[str, list[Case]] = {}\n    for case in cases:\n        by_program.setdefault(case.program, []).append(case)\n\n    excluded: set[int] = set()\n    stale: list[str] = []\n    for program in exclusions:\n        matched = by_program.get(program)\n        if not matched:\n            stale.append(program)\n            continue\n        excluded.update(case.line for case in matched)\n    if stale:\n        listed = \"\\n\".join(f\"    {program}\" for program in stale)\n        raise HarnessError(\n            f\"{EXCLUSIONS.name}: these exclusions match no case in {CORPUS.name}:\\n{listed}\\n\"\n            \"The corpus and the exclusion list have drifted apart.\"\n        )\n    return excluded\n\n\n# --------------------------------------------------------------------------------------------\n# Comparison\n# --------------------------------------------------------------------------------------------\n\n\ndef jv_equal(left: object, right: object) -> bool:\n    \"\"\"Compare two decoded JSON values the way jq's own ``jv_equal`` does.\n\n    Structural, not textual: ``1`` and ``1.0`` are the same jq value and the corpus relies on\n    that. Python's ``==`` almost does this, but it also equates ``True`` with ``1`` and\n    ``False`` with ``0``, which jq does not; booleans are therefore matched by identity of type\n    before anything else.\n    \"\"\"\n    if isinstance(left, bool) or isinstance(right, bool):\n        return isinstance(left, bool) and isinstance(right, bool) and left is right\n    if isinstance(left, (int, float)) and isinstance(right, (int, float)):\n        return left == right\n    if isinstance(left, list) and isinstance(right, list):\n        return len(left) == len(right) and all(jv_equal(a, b) for a, b in zip(left, right))\n    if isinstance(left, dict) and isinstance(right, dict):\n        return left.keys() == right.keys() and all(jv_equal(left[k], right[k]) for k in left)\n    if type(left) is not type(right):\n        return False\n    return left == right\n\n\ndef _decode(line: str) -> tuple[bool, object]:\n    try:\n        return True, json.loads(line)\n    except ValueError:\n        return False, line\n\n\ndef outputs_match(expected: list[str], actual: list[str]) -> bool:\n    if len(expected) != len(actual):\n        return False\n    for want, got in zip(expected, actual):\n        want_ok, want_value = _decode(want)\n        got_ok, got_value = _decode(got)\n        if want_ok and got_ok:\n            if not jv_equal(want_value, got_value):\n                return False\n        elif want.strip() != got.strip():\n            return False\n    return True\n\"\"\"Precedence-aware jq expression parser.\"\"\"\nimport json\nimport re\nfrom dataclasses import dataclass\nfrom .ast import Filter, Node, StringTemplate, Format\nfrom .errors import CompileError\nfrom .lexer import tokenize\n\n@dataclass(frozen=True)\nclass T: text: str\nOPS=(\"//=\",\"?//\",\"!=\",\"==\",\"|=\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"<=\",\">=\",\"..\",\"//\")\n# jq's query grammar gives the pipe lower precedence than comma.  This is\n# significant for ``a | b, c``: it means ``a | (b, c)`` and keeps the input\n# stream attached to both branches.  The parser's numeric levels increase\n# with binding strength.\nPREC={\"|\":1,\",\":2,\"=\":3,\"|=\":3,\"+=\":3,\"-=\":3,\"*=\":3,\"/=\":3,\"%=\":3,\"//=\":3,\"//\":4,\"or\":5,\"and\":6,\"==\":7,\"!=\":7,\"<\":7,\">\":7,\"<=\":7,\">=\":7,\"+\":8,\"-\":8,\"*\":9,\"/\":9,\"%\":9}\n\ndef lex(s: str) -> list[T]:\n    s=re.sub(r\"#[^\\n]*\",\"\",s); out=[]; i=0\n    while i<len(s):\n        if s[i].isspace(): i+=1; continue\n        if s[i]=='\"':\n            a=i; i+=1; esc=False\n            while i<len(s):\n                c=s[i]; i+=1\n                if esc: esc=False\n                elif c=='\\\\': esc=True\n                elif c=='\"': break\n            else: raise CompileError(\"unterminated string\")\n            out.append(T(s[a:i])); continue\n        op=next((x for x in OPS if s.startswith(x,i)),None)\n        if op: out.append(T(op)); i+=len(op); continue\n        m=re.match(r\"(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\",s[i:])\n        if m: out.append(T(m.group())); i+=len(m.group()); continue\n        m=re.match(r\"(?:[A-Za-z_][A-Za-z_0-9]*::)*[A-Za-z_][A-Za-z_0-9]*\",s[i:])\n        if m: out.append(T(m.group())); i+=len(m.group()); continue\n        if s[i]=='$':\n            m=re.match(r\"\\$[A-Za-z_][A-Za-z_0-9]*(?:::[A-Za-z_][A-Za-z_0-9]*)*\",s[i:])\n            if not m: raise CompileError(\"invalid binding\")\n            out.append(T(m.group())); i+=len(m.group()); continue\n        if s[i]=='.' and i+1<len(s) and re.match(r\"[A-Za-z_]\",s[i+1]):\n            m=re.match(r\"\\.[A-Za-z_][A-Za-z_0-9]*\",s[i:]); out.append(T(m.group())); i+=len(m.group()); continue\n        if s[i]=='@':\n            m=re.match(r\"@[A-Za-z_][A-Za-z_0-9]*\",s[i:])\n            if not m: raise CompileError(\"invalid format\")\n            out.append(T(m.group())); i+=len(m.group()); continue\n        if s[i] in \".?=;,:|+-*/%$<>()[]{}\": out.append(T(s[i])); i+=1; continue\n        raise CompileError(\"unexpected character\")\n    out.append(T(\"<eof>\")); return out\n\nclass Parser:\n    def __init__(self,s:str): self.t=lex(s); self.i=0\n    def p(self): return self.t[self.i].text\n    def take(self,x=None):\n        v=self.p()\n        if x is not None and v!=x: raise CompileError(f\"expected {x}\")\n        self.i+=1; return v\n    def parse(self):\n        if self.p()==\"<eof>\": raise CompileError(\"empty program\")\n        x=self.expr(0)\n        while self.p()==';': self.take()\n        if self.p()!='<eof>': raise CompileError(\"unexpected token\")\n        return x\n    def expr(self,n, stop_comma=False):\n        x=self.prefix()\n        # Binding is a query construct, below all ordinary operators.\n        if self.p()=='as' and n <= 2:\n            self.take('as'); pattern=self.pattern(); self.take('|')\n            return Node('bind',(x,pattern,self.expr(0)))\n        while (self.p() in PREC or self.p() in ('and','or')) and PREC.get(self.p(), 0)>=n:\n            if stop_comma and self.p() == ',': break\n            op=self.take(); q=PREC[op]; x=Node(\"binary\",(op,x,self.expr(q if op in (\"=\",\"|=\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"//=\") else q+1, stop_comma)))\n        if self.p()=='as' and n <= 2:\n            self.take('as'); pattern=self.pattern(); self.take('|')\n            return Node('bind',(x,pattern,self.expr(0)))\n        return x\n    def prefix(self):\n        t=self.p()\n        if t=='-':\n            # Unary minus binds to the complete postfix term.  In particular\n            # ``-.?`` is try-able arithmetic, not an optional identity.\n            self.take(); return Node('unary',('-',self.prefix()))\n        if t=='if': return self.post(self.if_expr())\n        if t in ('try','reduce','foreach','label','break','def','module','import','include'): return self.post(self.control(t))\n        if t=='(': self.take(); x=self.expr(0); self.take(')'); return self.post(x)\n        if t=='[':\n            self.take()\n            if self.p()==']': x=Node('array',(None,))\n            else:\n                # Commas delimit array elements here; query commas inside an\n                # element remain available through parentheses.\n                parts=[self.expr(1, True)]\n                while self.p()==',': self.take(); parts.append(self.expr(1, True))\n                combined=parts[0]\n                for part in parts[1:]: combined=Node('binary',(',',combined,part))\n                x=Node('array',(combined,))\n            self.take(']'); return self.post(x)\n        if t=='{': return self.object()\n        if t=='.': self.take(); return self.post(Node('identity'))\n        if t=='..': self.take(); return self.post(Node('recurse'))\n        if t.startswith('.'): self.take(); return self.post(Node('field',(t[1:],)))\n        if t.startswith('$'): self.take(); return self.post(Node('var',(t[1:],)))\n        if t.startswith('\"'): self.take(); return self.post(Node('string',(t,)))\n        if t.startswith('@'): self.take(); return self.post(Node('format',(t[1:],)))\n        self.take()\n        if t in ('true','false','null','nan','infinite','-infinite','-nan') or re.fullmatch(r'(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?',t): return self.post(Node('literal',(t,)))\n        return self.post(Node('call',(t,())))\n    def post(self,x):\n        while True:\n            if self.p().startswith('\"') and isinstance(x,Node) and x.operation=='format':\n                x=Node('format_template',(x.arguments[0],self.take())); continue\n            if self.p().startswith('\"'):\n                x=Node('indexexpr',(x,Node('string',(self.take(),)))); continue\n            if self.p()=='?': self.take(); x=Node('optional',(x,)); continue\n            if self.p().startswith('.') and len(self.p())>1: x=Node('index',(x,self.take()[1:],False)); continue\n            if self.p()=='.' and self.t[self.i+1].text.startswith('\"'):\n                self.take('.'); x=Node('indexexpr',(x,Node('string',(self.take(),)))); continue\n            if self.p()=='.' and self.t[self.i+1].text=='[':\n                self.take('.'); continue\n            if self.p()=='[':\n                self.take()\n                if self.p()==']': self.take(); x=Node('iterate',(x,)); continue\n                a = Node('literal', ('null',)) if self.p()==':' else self.expr(0)\n                if self.p()==':': self.take(); b=None if self.p()==']' else self.expr(0); self.take(']'); x=Node('slice',(x,a,b))\n                else: self.take(']'); x=Node('indexexpr',(x,a))\n                continue\n            if self.p()=='(' and isinstance(x,Node) and x.operation=='call':\n                name=x.arguments[0]; self.take(); args=[]\n                if self.p()!=')':\n                    args.append(self.expr(1))\n                    # jq's grammar uses semicolons for filter arguments.  The\n                    # corpus also exercises the permissive comma spelling.\n                    while self.p()==';': self.take(); args.append(self.expr(1))\n                self.take(')'); x=Node('call',(name,tuple(args))); continue\n            break\n        return x\n    def object(self):\n        self.take('{'); pairs=[]\n        while self.p()!='}':\n            if self.p()=='(':\n                self.take('('); key=self.expr(0); self.take(')')\n            else:\n                k=self.take()\n                if k.startswith('\"'):\n                    key=Node('string',(k,))\n                elif k.startswith('$'):\n                    key=Node('var',(k[1:],))\n                else:\n                    key=Node('string',(json.dumps(k.lstrip('$').lstrip('.')),))\n            if self.p()==':': self.take(); v=self.expr(1, True)\n            else:\n                # `{name}` and `{$name}` abbreviate an access using the key.\n                if k.startswith('\"'):\n                    # The key itself may be an interpolated jq string; keep\n                    # it as a filter so decoding happens at evaluation time.\n                    raw = None\n                    v = Node('indexexpr',(Node('identity'), key))\n                else:\n                    raw = k.lstrip('$').lstrip('.')\n                if k.startswith('$'):\n                    key = Node('string',(json.dumps(raw),))\n                    v=Node('var',(raw,))\n                elif not k.startswith('\"'):\n                    v=Node('index',(Node('identity'),raw,False))\n            if key.operation == 'literal':\n                raise CompileError('object key must be a string')\n            if key.operation == 'literal':\n                raise CompileError('object key must be a string')\n            pairs.append((key,v))\n            if self.p()!= '}': self.take(',')\n        self.take('}'); return Node('object',(tuple(pairs),))\n\n    def pattern(self):\n        t=self.p()\n        if t.startswith('$'):\n            result=Node('pattern_var',(self.take()[1:],))\n            return self._pattern_alt(result)\n        if t=='[':\n            self.take()\n            if self.p()==']': raise CompileError('empty destructuring pattern')\n            items=[]\n            if self.p()!=']':\n                items.append(self.pattern())\n                while self.p()==',': self.take(); items.append(self.pattern())\n            self.take(']'); return self._pattern_alt(Node('pattern_array',(tuple(items),)))\n        if t=='{':\n            self.take()\n            if self.p()=='}': raise CompileError('empty destructuring pattern')\n            items=[]\n            if self.p()!='}':\n                while True:\n                    if self.p() == '(':\n                        self.take('('); key_node = self.expr(0); self.take(')')\n                        if key_node.operation == 'literal':\n                            raise CompileError('object key must be a string')\n                        key = '<computed>'\n                    else:\n                        key=self.take(); key_node = None\n                        if key.startswith('\"'): key = json.loads(key)\n                    if self.p()==':':\n                        self.take(); pat=self.pattern()\n                        if key.startswith('$'):\n                            pat = Node('pattern_bind',(key[1:],pat))\n                    elif key.startswith('$'): pat=Node('pattern_var',(key[1:],))\n                    else: pat=Node('pattern_var',(key,))\n                    items.append((key_node if key_node is not None else key.lstrip('$'),pat))\n                    if self.p()!='}': self.take(',')\n                    else: break\n            self.take('}'); return self._pattern_alt(Node('pattern_object',(tuple(items),)))\n        raise CompileError('expected binding pattern')\n\n    def _pattern_alt(self, result):\n        if self.p()=='?//':\n            self.take('?//'); return Node('pattern_alt',(result,self.pattern()))\n        return result\n    def if_expr(self):\n        self.take('if'); c=self.expr(0); self.take('then'); a=self.expr(0); b=Node('literal',('null',))\n        if self.p()=='else': self.take(); b=self.expr(0); self.take('end')\n        elif self.p()=='elif':\n            b=self._elif_expr()\n        else: self.take('end'); b=Node('identity')\n        return Node('if',(c,a,b))\n    def _elif_expr(self):\n        self.take('elif'); c=self.expr(0); self.take('then'); a=self.expr(0)\n        if self.p()=='elif': b=self._elif_expr()\n        elif self.p()=='else': self.take(); b=self.expr(0); self.take('end')\n        else: self.take('end'); b=Node('identity')\n        return Node('if',(c,a,b))\n    def control(self,w):\n        self.take(w)\n        if w in ('module', 'import', 'include'):\n            raise CompileError('module directives are not available')\n        if w=='try':\n            # In object values the following comma belongs to the object,\n            # while the try/catch body still admits the full query pipe.\n            # `try` binds more tightly than defined-or and comma.  Its\n            # optional catch clause is consequently visible to this control\n            # production rather than being swallowed by the protected query.\n            a=self.expr(10, True); b=None\n            if self.p()=='catch': self.take(); b=self.expr(10, True)\n            return Node('try',(a,b))\n        if w=='def':\n            name=self.take(); ps=[]\n            if self.p()=='(': self.take();\n            while self.p() not in (')',':'):\n                ps.append(self.take().lstrip('$'))\n                if self.p()==';': self.take()\n            if ps: self.take(')')\n            self.take(':'); b=self.expr(0); self.take(';')\n            definition=Node('def',(name,tuple(ps),b))\n            if self.p()!='<eof>': return Node('defprog',(definition,self.expr(0)))\n            return definition\n        if w in ('reduce','foreach'):\n            src=self.expr(3); self.take('as'); pat=self.pattern(); self.take('('); init=self.expr(0); self.take(';'); upd=self.expr(2); ext=None\n            if self.p()==';': self.take(); ext=self.expr(2)\n            self.take(')'); return Node(w,(src,pat,init,upd,ext))\n        if w=='label': name=self.take().lstrip('$'); self.take('|'); return Node('label',(name,self.expr(0)))\n        if w=='break': return Node('break',(self.take().lstrip('$'),))\n        return Node('unsupported',(w,))\n\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_3","type":"command_execution","command":"/bin/bash -lc \"sed -n '260,560p' sources/run_conformance.py; sed -n '1,260p' jq_interpreter/evaluator.py; sed -n '1,220p' jq_interpreter/interpreter.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_3","type":"command_execution","command":"/bin/bash -lc \"sed -n '260,560p' sources/run_conformance.py; sed -n '1,260p' jq_interpreter/evaluator.py; sed -n '1,220p' jq_interpreter/interpreter.py\"","aggregated_output":"    return True\n\n\n# --------------------------------------------------------------------------------------------\n# Execution\n# --------------------------------------------------------------------------------------------\n\n\ndef run_case(case: Case, argv: list[str], timeout: float) -> Result:\n    try:\n        completed = subprocess.run(\n            [*argv, \"-c\", case.program],\n            input=case.stdin,\n            capture_output=True,\n            text=True,\n            timeout=timeout,\n        )\n    except subprocess.TimeoutExpired:\n        return Result(case, ERROR, detail=f\"timed out after {timeout:g}s\")\n    except OSError as exc:\n        raise HarnessError(f\"cannot execute {shlex.join(argv)}: {exc}\") from exc\n\n    actual = split_lines(completed.stdout)\n    stderr = completed.stderr.strip()\n    code = completed.returncode\n    first_diagnostic = split_lines(stderr)[0] if stderr else \"\"\n\n    if case.expect_failure:\n        # The corpus's %%FAIL cases are programs that must be rejected at compile time. Accepting\n        # one and then failing at run time is a different, wrong behaviour, so the compile-error\n        # code specifically -- not merely a non-zero exit -- is what passes here.\n        if code == EXIT_COMPILE_ERROR:\n            return Result(case, PASS, return_code=code, stderr=stderr)\n        detail = (\n            \"program was accepted, but the corpus marks it %%FAIL\"\n            if code == 0\n            else f\"exited {code}; a rejected program must exit {EXIT_COMPILE_ERROR}\"\n        )\n        return Result(case, FAIL, detail=detail, actual=actual, return_code=code, stderr=stderr)\n\n    if code == EXIT_COMPILE_ERROR:\n        return Result(\n            case,\n            FAIL,\n            detail=f\"program did not compile: {first_diagnostic}\",\n            actual=actual,\n            return_code=code,\n            stderr=stderr,\n        )\n    if code not in (0, EXIT_RUNTIME_ERROR):\n        # A runtime error is legitimate: several cases raise part-way through a generator and are\n        # judged on the outputs produced before the raise, exactly as upstream judges them. Any\n        # other non-zero status is the program failing in a way the contract does not describe.\n        return Result(\n            case,\n            FAIL,\n            detail=f\"exited {code}: {first_diagnostic}\",\n            actual=actual,\n            return_code=code,\n            stderr=stderr,\n        )\n    if not outputs_match(case.expected, actual):\n        return Result(\n            case,\n            FAIL,\n            detail=\"output mismatch\",\n            actual=actual,\n            return_code=code,\n            stderr=stderr,\n        )\n    return Result(case, PASS, actual=actual, return_code=code, stderr=stderr)\n\n\n# --------------------------------------------------------------------------------------------\n# Reporting\n# --------------------------------------------------------------------------------------------\n\n\ndef _render_failure(result: Result) -> str:\n    case = result.case\n    lines = [\n        f\"FAIL {CORPUS.name}:{case.line}  {result.detail}\",\n        f\"    program:  {case.program}\",\n    ]\n    if not case.expect_failure:\n        lines.append(f\"    input:    {case.stdin}\")\n        lines.append(f\"    expected: {case.expected if case.expected else '(no output)'}\")\n        lines.append(f\"    actual:   {result.actual if result.actual else '(no output)'}\")\n    if result.stderr:\n        lines.append(f\"    stderr:   {split_lines(result.stderr)[0]}\")\n    return \"\\n\".join(lines)\n\n\ndef main(argv: list[str] | None = None) -> int:\n    parser = argparse.ArgumentParser(\n        description=\"Run the upstream jq conformance corpus against a candidate implementation.\",\n    )\n    parser.add_argument(\"--jq\", default=None, help=\"candidate command (default: $JQ)\")\n    parser.add_argument(\"--timeout\", type=float, default=DEFAULT_TIMEOUT, help=\"seconds per case\")\n    parser.add_argument(\"--json\", action=\"store_true\", help=\"machine-readable report\")\n    parser.add_argument(\"-v\", \"--verbose\", action=\"store_true\", help=\"list passing cases too\")\n    parser.add_argument(\"--list\", action=\"store_true\", help=\"print the cases and run nothing\")\n    parser.add_argument(\n        \"--select\",\n        default=None,\n        metavar=\"REGEX\",\n        help=\"run only cases whose program matches REGEX (development aid; the acceptance \"\n        \"gate always runs the whole corpus)\",\n    )\n    args = parser.parse_args(argv)\n\n    try:\n        return _run(args)\n    except HarnessError as exc:\n        print(f\"error: {exc}\", file=sys.stderr)\n        return 2\n\n\ndef _run(args: argparse.Namespace) -> int:\n    if not CORPUS.is_file():\n        raise HarnessError(f\"corpus not found at {CORPUS}\")\n\n    cases = parse_corpus(CORPUS.read_text(encoding=\"utf-8\"))\n    excluded = apply_exclusions(cases, parse_exclusions(EXCLUSIONS))\n\n    selector = re.compile(args.select) if args.select else None\n    if selector is not None:\n        cases = [case for case in cases if selector.search(case.program)]\n\n    if args.list:\n        for case in cases:\n            mark = \"skip\" if case.line in excluded else \"run \"\n            print(f\"{mark} {CORPUS.name}:{case.line}  {case.program}\")\n        print(f\"\\n{len(cases)} cases, {sum(1 for c in cases if c.line in excluded)} excluded\")\n        return 0\n\n    command = args.jq or os.environ.get(\"JQ\") or \"\"\n    if not command.strip():\n        raise HarnessError(\n            \"JQ is not set; give the command that runs your implementation, e.g.\\n\"\n            '    JQ=\"$PWD/jq\" python3 sources/run_conformance.py'\n        )\n    jq_argv = shlex.split(command)\n\n    results: list[Result] = []\n    for case in cases:\n        if case.line in excluded:\n            results.append(Result(case, SKIP, detail=\"declared in exclusions.txt\"))\n            continue\n        results.append(run_case(case, jq_argv, args.timeout))\n\n    tally = {status: sum(1 for r in results if r.status == status) for status in\n             (PASS, FAIL, ERROR, SKIP)}\n    summary = (\n        f\"jq conformance: {tally[PASS]} passed, {tally[FAIL]} failed, \"\n        f\"{tally[ERROR]} errored, {tally[SKIP]} skipped \"\n        f\"(corpus {CORPUS.name} @ jq-1.8.2)\"\n    )\n\n    if args.json:\n        print(json.dumps(\n            {\n                \"candidate\": jq_argv,\n                \"corpus\": CORPUS.name,\n                \"summary\": tally,\n                \"cases\": [\n                    {\n                        \"line\": r.case.line,\n                        \"program\": r.case.program,\n                        \"status\": r.status,\n                        \"detail\": r.detail,\n                        \"expect_failure\": r.case.expect_failure,\n                        \"expected\": r.case.expected,\n                        \"actual\": r.actual,\n                    }\n                    for r in results\n                    if args.verbose or r.status != PASS\n                ],\n            },\n            indent=2,\n        ))\n    else:\n        for result in results:\n            if result.status in (FAIL, ERROR):\n                print(_render_failure(result))\n            elif args.verbose and result.status == PASS:\n                print(f\"ok   {CORPUS.name}:{result.case.line}  {result.case.program}\")\n            elif args.verbose and result.status == SKIP:\n                print(f\"skip {CORPUS.name}:{result.case.line}  {result.case.program}\")\n        print(summary)\n\n    return 0 if tally[FAIL] == 0 and tally[ERROR] == 0 else 1\n\n\nif __name__ == \"__main__\":\n    raise SystemExit(main())\n\"\"\"Ordered generator evaluator boundary.\"\"\"\nimport json\nimport math\nimport datetime\n\nfrom .ast import Add, Array, Comma, Filter, Format, Identity, Iterate, Literal, Limit, Node, Pipe, Raise, StringTemplate\nfrom .errors import RuntimeError\nfrom .runtime import JsonValue, ValueStream, identity_stream\n\n\ndef evaluate(program: Filter, value: JsonValue) -> ValueStream:\n    \"\"\"Evaluate one input as an ordered stream of output values.\"\"\"\n    if isinstance(program, Node):\n        yield from _node(program, value, {})\n        return\n    if isinstance(program, Identity):\n        yield from identity_stream(value)\n        return\n    if isinstance(program, Iterate):\n        if isinstance(value, list):\n            yield from value\n        elif isinstance(value, dict):\n            yield from value.values()\n        else:\n            raise RuntimeError(f\"Cannot iterate over {_type_name(value)} ({_stringify(value)})\")\n        return\n    if isinstance(program, Literal):\n        yield program.value\n        return\n    if isinstance(program, Pipe):\n        for intermediate in evaluate(program.left, value): yield from evaluate(program.right, intermediate)\n        return\n    if isinstance(program, Add):\n        left = list(evaluate(program.left, value))\n        right = list(evaluate(program.right, value))\n        for first in left:\n            for second in right:\n                if isinstance(first, (int, float)) and isinstance(second, (int, float)):\n                    yield first + second\n                elif isinstance(first, str) and isinstance(second, str): yield first + second\n                elif first is None: yield second\n                elif second is None: yield first\n                else: raise RuntimeError(\"cannot add values\")\n        return\n    if isinstance(program, StringTemplate):\n        pieces: list[str] = []\n        for part in program.parts:\n            pieces.append(part if isinstance(part, str) else \"\".join(_stringify(x) for x in evaluate(part, value)))\n        yield \"\".join(pieces)\n        return\n    if isinstance(program, Format):\n        if program.template is None: yield _apply_format(program.name, value)\n        else:\n            pieces: list[str] = []\n            for part in program.template.parts:\n                if isinstance(part, str): pieces.append(part)\n                else:\n                    pieces.extend(_apply_format(program.name, item) for item in evaluate(part, value))\n            yield \"\".join(pieces)\n        return\n    if isinstance(program, Comma):\n        yield from evaluate(program.left, value)\n        yield from evaluate(program.right, value)\n        return\n    if isinstance(program, Raise):\n        raise RuntimeError(program.message)\n    if isinstance(program, Array):\n        yield list(evaluate(program.expression, value))\n        return\n    if isinstance(program, Limit):\n        outputs = iter(evaluate(program.expression, value))\n        for _ in range(program.count):\n            try:\n                yield next(outputs)\n            except StopIteration:\n                break\n        return\n    raise RuntimeError(\"unknown compiled filter\")\n\ndef _node(node: Node, value: object, env: dict[str, object]) -> ValueStream:\n    op, a = node.operation, node.arguments\n    if op == \"identity\": yield value\n    elif op == \"literal\":\n        text=a[0]; special={\"true\":True,\"false\":False,\"null\":None,\"nan\":float(\"nan\"),\"infinite\":float(\"inf\"),\"-infinite\":float(\"-inf\"),\"-nan\":float(\"nan\")}; yield special[text] if text in special else json.loads(text)\n    elif op == \"string\": yield _decode_string(a[0], value, env)\n    elif op == \"format\": yield _apply_format(a[0], value)\n    elif op == \"format_template\":\n        # Interpolation is evaluated first; the formatter consumes the\n        # resulting string (not the original input value).\n        yield _apply_format(a[0], _decode_string(a[1], value, env))\n    elif op == \"var\":\n        if a[0] == '__loc__':\n            yield {'file': '<top-level>', 'line': 1}\n            return\n        if a[0] in env and not isinstance(env[a[0]], tuple):\n            bound = env[a[0]]\n            if isinstance(bound, Node): yield from _node(bound, value, env)\n            else: yield bound\n            return\n        if a[0] in env.get('__params__', {}):\n            captured, argument = env['__params__'][a[0]]\n            yield from _node(argument, value, captured)\n            return\n        if a[0] not in env: raise RuntimeError(f\"variable ${a[0]} is not defined\")\n        bound = env[a[0]]\n        if isinstance(bound, tuple) and bound and bound[0] == '__closure__':\n            yield from _node(bound[1], value, {**env, **bound[2]})\n        elif isinstance(bound, Node):\n            yield from _node(bound, value, env)\n        else:\n            yield bound\n    elif op == \"bind\":\n        for item in _node(a[0], value, env):\n            bound=dict(env)\n            _initialize_pattern(a[1], bound)\n            if not _bind_pattern(a[1], item, bound):\n                continue\n            # `exp as $x | rest` binds the value produced by exp while the\n            # remainder continues with the original input.\n            yield from _node(a[2], value, bound)\n    elif op == \"field\": yield _index(value, a[0])\n    elif op == \"recurse\":\n        def walk(item):\n            yield item\n            if isinstance(item, list):\n                for child in item: yield from walk(child)\n            elif isinstance(item, dict):\n                for child in item.values(): yield from walk(child)\n        yield from walk(value)\n    elif op == \"index\":\n        for base in _node(a[0],value,env): yield _index(base,a[1])\n    elif op == \"iterate\":\n        for base in _node(a[0],value,env):\n            if isinstance(base,dict): yield from base.values()\n            elif isinstance(base,list): yield from base\n            else: raise RuntimeError(f\"Cannot iterate over {_type_name(base)} ({_stringify(base)})\")\n    elif op in (\"indexexpr\",\"slice\"):\n        for base in _node(a[0],value,env):\n            if op==\"slice\":\n                # Slice bounds are filters over the surrounding input, not\n                # over the value being sliced (for example map([1,2][0:.])).\n                start=_one(a[1],value,env); end=None if a[2] is None else _one(a[2],value,env)\n                import math as _math\n                first = 0 if start is None or (isinstance(start, float) and _math.isnan(start)) else _math.floor(start)\n                last = None if end is None or (isinstance(end, float) and _math.isnan(end)) else _math.ceil(end)\n                if first < 0: first = max(0, len(base) + int(first))\n                if last is not None and last < 0: last = max(0, len(base) + int(last))\n                if base is None:\n                    yield None\n                elif isinstance(base, (list, str)):\n                    yield base[int(first):None if last is None else int(last)]\n                else:\n                    raise RuntimeError(f'Cannot index {_type_name(base)} with string (\"\\\")')\n            else:\n                for key in _node(a[1], value, env):\n                    yield _index(base, key)\n    elif op == \"array\": yield [] if a[0] is None else list(_node(a[0],value,env))\n    elif op == \"object\":\n        results=[{}]\n        for key, expr in a[0]:\n            keys=list(_node(key,value,env))\n            values=list(_node(expr,value,env))\n            expanded=[]\n            for prior in results:\n                for k in keys:\n                    for v in values:\n                        item=dict(prior); item[str(k)]=v; expanded.append(item)\n            results=expanded\n        yield from results\n    elif op == \"binary\": yield from _binary(a[0],a[1],a[2],value,env)\n    elif op == \"unary\":\n        # Unary operators are filters and must preserve generator\n        # multiplicity (``-.[]`` negates every array element).\n        for x in _node(a[1], value, env):\n            if not isinstance(x, (int, float)) or isinstance(x, bool):\n                raise RuntimeError(f\"{_type_name(x)} ({_short(x)}) cannot be negated\")\n            yield -x\n    elif op == \"optional\":\n        stream = iter(_node(a[0], value, env))\n        while True:\n            try:\n                yield next(stream)\n            except StopIteration:\n                return\n            except (RuntimeError, ValueError, TypeError, IndexError):\n                return\n    elif op == \"if\":\n        # The condition is a filter, not a scalar expression.  jq evaluates\n        # each condition result independently and therefore may select both\n        # branches for one input.\n        for condition in _node(a[0], value, env):\n            branch = a[1] if _truth(condition) else a[2]\n            yield from _node(branch, value, env)\n    elif op == \"try\":\n        try: yield from _node(a[0],value,env)\n        except (RuntimeError, ValueError, TypeError, IndexError) as error:\n            if a[1] is not None:\n                caught = error.args[0] if error.args else str(error)\n                yield from _node(a[1],caught,env)\n    elif op == \"label\":\n        try: yield from _node(a[1], value, {**env, '__label__': a[0]})\n        except _Break as exc:\n            if exc.name != a[0]: raise\n    elif op == \"break\":\n        raise _Break(a[0])\n    elif op in (\"reduce\", \"foreach\"):\n        states=list(_node(a[0], value, env))\n        # Binary filters in jq are generator products whose divisor-side\n        # stream is advanced outermost.  This matters for reductions and\n        # foreach because their state observes the ordering, even though the\n        # resulting multiset is unchanged.\n        source = a[0]\n        if (source.operation == 'binary' and source.arguments[0] == '/'\n                and source.arguments[1].operation == 'iterate'\n                and source.arguments[2].operation == 'iterate'):\n            left = list(_node(source.arguments[1], value, env))\n            right = list(_node(source.arguments[2], value, env))\n            states = [x / y for y in right for x in left]\n        initial=list(_node(a[2], value, env))\n        if op == 'foreach':\n            for start in initial:\n                current = start\n                for item in states:\n                    bound=dict(env)\n                    if not _bind_pattern(a[1], item, bound): continue\n                    outputs=list(_node(a[3], current, bound))\n                    for result in outputs:\n                        current = result\n                        if a[4] is None: yield result\n                        else: yield from _node(a[4], result, bound)\n            return\n        currents=initial\n        for item in states:\n            next_currents=[]\n            for current in currents:\n                bound=dict(env)\n                _initialize_pattern(a[1], bound)\n                if not _bind_pattern(a[1], item, bound):\n                    continue\n                next_currents.extend(_node(a[3], current, bound))\n            currents=next_currents\n            if op == \"foreach\":\n                if a[4] is None:\n                    yield from currents\n                else:\n                    for result in currents: yield from _node(a[4], result, env)\n        if op==\"reduce\": yield from currents\n    elif op == \"call\": yield from _call(a[0],a[1],value,env)\n    elif op == \"def\":\n        env.setdefault('__funcs__',{})[(a[0], len(a[1]))]=(a[1],a[2])\n        yield value\n    elif op == \"defprog\":\n        funcs=dict(env.get('__funcs__',{}))\n        definitions=[]\n        program: Node = node\n        while program.operation == 'defprog':\n            definitions.append(program.arguments[0].arguments)\n            program = program.arguments[1]\n        # Each definition captures the overload set visible at its point of\n        # declaration.  Later redefinitions affect the remainder of the\n\"\"\"Application-facing interpreter orchestration.\"\"\"\n\nimport json\nfrom collections.abc import Iterable, Iterator\n\nfrom .evaluator import evaluate\nfrom .parser import parse\nfrom .runtime import JsonValue\n\n\nclass Interpreter:\n    \"\"\"Compile once, then evaluate each JSON input in order.\"\"\"\n\n    def __init__(self, program: str) -> None:\n        self._compiled = parse(program)\n\n    def run(self, inputs: Iterable[JsonValue]) -> Iterator[JsonValue]:\n        \"\"\"Yield every output, preserving input and generator ordering.\"\"\"\n        for value in inputs:\n            yield from evaluate(self._compiled, value)\n\n\ndef parse_input(line: str) -> JsonValue:\n    \"\"\"Decode one JSON input value.\"\"\"\n    return json.loads(line.lstrip(\"\\ufeff\"), parse_constant=_parse_json_constant)\n\n\ndef parse_inputs(text: str) -> Iterator[JsonValue]:\n    \"\"\"Decode every whitespace-separated JSON value in an input stream.\n\n    ``jq`` accepts JSON values separated by arbitrary whitespace, so a value may\n    span multiple physical lines.  ``raw_decode`` preserves the boundary\n    between successive values without requiring a non-standard JSON parser.\n    \"\"\"\n    # jq accepts its non-standard constants in lower case as well.  The\n    # standard decoder only dispatches parse_constant for JSON's capitalized\n    # spellings, so normalize standalone bare constants before decoding.\n    import re\n    text = re.sub(r'(?<![A-Za-z_])-(?:nan|infinite)(?![A-Za-z_])', lambda m: '-NaN' if 'nan' in m.group(0) else '-Infinity', text)\n    text = re.sub(r'(?<![A-Za-z_])(?:nan|infinite)(?![A-Za-z_])', lambda m: 'NaN' if m.group(0) == 'nan' else 'Infinity', text)\n    decoder = json.JSONDecoder(parse_constant=_parse_json_constant)\n    position = 0\n    while True:\n        while position < len(text) and text[position].isspace():\n            position += 1\n        if position >= len(text):\n            return\n        if position == 0 and text.startswith(\"\\ufeff\"):\n            position += 1\n            continue\n        value, position = decoder.raw_decode(text, position)\n        yield value\n\n\ndef _parse_json_constant(value: str) -> float:\n    \"\"\"Decode jq's accepted non-standard numeric constants.\"\"\"\n    return {\"NaN\": float(\"nan\"), \"nan\": float(\"nan\"),\n            \"Infinity\": float(\"inf\"), \"infinite\": float(\"inf\"),\n            \"-Infinity\": float(\"-inf\"), \"-infinite\": float(\"-inf\"),\n            \"-NaN\": float(\"nan\"), \"-nan\": float(\"nan\")} [value]\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_4","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys,os,re,json\nsys.path.insert(0,'sources'); import run_conformance as h\ncases=h.parse_corpus(h.CORPUS.read_text()); ex=h.apply_exclusions(cases,h.parse_exclusions(h.EXCLUSIONS));\nfor name,rx in [('p3',r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%'),('p4',r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')]:\n print(name)\n out=[]\n for c in cases:\n  if c.line in ex or not re.search(rx,c.program): continue\n  r=h.run_case(c,[os.path.abspath('jq')],1.0)\n  if r.status\"'!='\"'pass': out.append((c.line,c.program,r.status,r.detail,r.actual,c.expected,r.return_code))\n print('fail',len(out))\n for x in out: print(json.dumps(x,ensure_ascii=False)[:1800])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.started","item":{"id":"item_5","type":"command_execution","command":"/bin/bash -lc \"for q in 'reduce ' 'foreach ' 'def ' 'if ' 'try ' ' as ' 'label ' '\\\\.\\\\[' 'object' ; do echo ===\"'$q; timeout 25s bash -c \"JQ='\"\\\\\"'$PWD/jq python3 sources/run_conformance.py --select '\"\\\\\\\"\"'$q'\"\\\\\\\" --json\\\" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(d[\\\"summary\\\"]); [print(x) for x in d[\\\"cases\\\"]]' 2>/dev/null || echo timed; done\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_1","type":"command_execution","command":"/bin/bash -lc \"ls -la && find jq_interpreter -maxdepth 2 -type f -print && python3 - <<'PY'\nimport json, os, subprocess, sys\nfor name, sel in [('parse-003', r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%'), ('parse-004', r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')]:\n    p=subprocess.run([sys.executable,'sources/run_conformance.py','--select',sel,'--json'],capture_output=True,text=True,env={**os.environ,'JQ':os.path.abspath('jq')})\n    print('\\\\n###',name,'rc',p.returncode)\n    try:\n      d=json.loads(p.stdout); print(d['summary']);\n      for c in d.get('cases',[]):\n        if c.get('status') not in ('pass','skip'):\n          print(json.dumps(c,ensure_ascii=False)[:2000])\n    except Exception: print(p.stdout, p.stderr)\nPY\"","aggregated_output":"\n### parse-003 rc 1\n{'pass': 425, 'fail': 30, 'error': 0, 'skip': 9}\n{\"line\": 661, \"program\": \"9E999999999, 9999999999E999999990, 1E-999999999, 0.000000001E-999999990\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"9E+999999999\", \"9.999999999E+999999999\", \"1E-999999999\", \"1E-999999999\"], \"actual\": [\"null\", \"null\", \"0.0\", \"0.0\"]}\n{\"line\": 689, \"program\": \"[(infinite, -infinite) % (1, -1, infinite)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[0,0,0,0,0,-1]\"], \"actual\": []}\n{\"line\": 693, \"program\": \"[nan % 1, 1 % nan | isnan]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[true,true]\"], \"actual\": [\"[null,true]\"]}\n{\"line\": 1201, \"program\": \"pick(.a.b.c)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"{\\\"a\\\":{\\\"b\\\":{\\\"c\\\":null}}}\"], \"actual\": []}\n{\"line\": 1258, \"program\": \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], \"actual\": [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5},1]}\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"]}\n{\"line\": 1302, \"program\": \"try (def x: reverse; x=10) catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"Invalid path expression with result [2,1,0]\\\"\"], \"actual\": [\"\\\"Invalid path expression\\\"\"]}\n{\"line\": 1306, \"program\": \".[] = 1\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[1,1,1,1,1,1]\"], \"actual\": []}\n{\"line\": 1693, \"program\": \"[min, max, min_by(.[1]), max_by(.[1]), min_by(.[2]), max_by(.[2])]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[[1,3,\\\"a\\\"],[4,2,\\\"a\\\"],[3,1,\\\"a\\\"],[2,4,\\\"a\\\"],[4,2,\\\"a\\\"],[1,3,\\\"a\\\"]]\"], \"actual\": [\"[[1,3,\\\"a\\\"],[4,2,\\\"a\\\"],[3,1,\\\"a\\\"],[3,1,\\\"a\\\"],[2,4,\\\"a\\\"],[2,4,\\\"a\\\"]]\"]}\n{\"line\": 1697, \"program\": \"[min,max,min_by(.),max_by(.)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[null,null,null,null]\"], \"actual\": [\"[null,null,[],[]]\"]}\n{\"line\": 1847, \"program\": \"strftime(\\\"%A, %B %d, %Y\\\")\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"Tuesday, June 30, 2015\\\"\"], \"actual\": []}\n{\"line\": 1851, \"program\": \"strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"2024-03-15T00:00:00Z\\\"\"], \"actual\": []}\n{\"line\": 1889, \"program\": \"[strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|(.,mktime)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[[2015,2,5,23,51,47,4,63],1425599507]\"], \"actual\": []}\n{\"line\": 1895, \"program\": \"last(range(365 * 67)|(\\\"1970-03-01T01:02:03Z\\\"|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|mktime) + (86400 * .)|strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\"))\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[2037,1,11,1,2,3,3,41]\"], \"actual\": []}\n{\"line\": 2005, \"program\": \"\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\\\") cannot be negated\\\"\"], \"actual\": [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\"]}\n{\"line\": 2014, \"program\": \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2089, \"program\": \"INDEX(range(5)|[., \\\"foo\\\\(.)\\\"]; .[0])\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"{\\\"0\\\":[0,\\\"foo0\\\"],\\\"1\\\":[1,\\\"foo1\\\"],\\\"2\\\":[2,\\\"foo2\\\"],\\\"3\\\":[3,\\\"foo3\\\"],\\\"4\\\":[4,\\\"foo4\\\"]}\"], \"actual\": []}\n{\"line\": 2093, \"program\": \"JOIN({\\\"0\\\":[0,\\\"abc\\\"],\\\"1\\\":[1,\\\"bcd\\\"],\\\"2\\\":[2,\\\"def\\\"],\\\"3\\\":[3,\\\"efg\\\"],\\\"4\\\":[4,\\\"fgh\\\"]}; .[0]|tostring)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[[[5,\\\"foo\\\"],null],[[3,\\\"bar\\\"],[3,\\\"efg\\\"]],[[1,\\\"foobar\\\"],[1,\\\"bcd\\\"]]]\"], \"actual\": []}\n{\"line\": 2135, \"program\": \"(.. | select(type == \\\"object\\\" and has(\\\"b\\\") and (.b | type) == \\\"array\\\")|.b) |= .[0]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"{\\\"a\\\": {\\\"b\\\": 1}}\"], \"actual\": []}\n{\"line\": 2161, \"program\": \"\\\"-1\\\"|IN(builtins[] / \\\"/\\\"|.[1])\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"false\"], \"actual\": []}\n{\"line\": 2165, \"program\": \"all(builtins[] / \\\"/\\\"; .[1]|tonumber >= 0)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": []}\n{\"line\": 2169, \"program\": \"builtins|any(.[:1] == \\\"_\\\")\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"false\"], \"actual\": []}\n{\"line\": 2228, \"program\": \"-. | tojson == if have_decnum then \\\"0.12345678901234567890123456789\\\" else \\\"0.12345678901234568\\\" end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2232, \"program\": \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2241, \"program\": \".[] as $n | $n+0 | [., tostring, . == $n]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[13911860366432392,\\\"13911860366432392\\\",true]\"], \"actual\": [\"[-9007199254740992.0,\\\"-9007199254740992.0\\\",false]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992.0,\\\"9007199254740992.0\\\",false]\", \"[1.3911860366432392e+16,\\\"1.3911860366432392e+16\\\",false]\"]}\n{\"line\": 2271, \"program\": \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2275, \"program\": \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2425, \"program\": \"[walk(.,1)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[{\\\"x\\\":0},1]\"], \"actual\": [\"[{\\\"x\\\":0}]\"]}\n{\"line\": 2430, \"program\": \"walk(select(IN({}, []) | not))\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"{\\\"a\\\":1}\"], \"actual\": []}\n{\"line\": 2455, \"program\": \"[[range(10)] | .[1.1,1.5,1.7]]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[1,1,1]\"], \"actual\": []}\n{\"line\": 2548, \"program\": \"strflocaltime(\\\"\\\" | ., @uri)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"\\\"\", \"\\\"\\\"\"], \"actual\": []}\n\n### parse-004 rc 1\n{'pass': 202, 'fail': 9, 'error': 0, 'skip': 13}\n{\"line\": 1258, \"program\": \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], \"actual\": [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5},1]}\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"]}\n{\"line\": 1302, \"program\": \"try (def x: reverse; x=10) catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"Invalid path expression with result [2,1,0]\\\"\"], \"actual\": [\"\\\"Invalid path expression\\\"\"]}\n{\"line\": 2005, \"program\": \"\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\\\") cannot be negated\\\"\"], \"actual\": [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\"]}\n{\"line\": 2014, \"program\": \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2228, \"program\": \"-. | tojson == if have_decnum then \\\"0.12345678901234567890123456789\\\" else \\\"0.12345678901234568\\\" end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2232, \"program\": \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2241, \"program\": \".[] as $n | $n+0 | [., tostring, . == $n]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[13911860366432392,\\\"13911860366432392\\\",true]\"], \"actual\": [\"[-9007199254740992.0,\\\"-9007199254740992.0\\\",false]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992.0,\\\"9007199254740992.0\\\",false]\", \"[1.3911860366432392e+16,\\\"1.3911860366432392e+16\\\",false]\"]}\n{\"line\": 2271, \"program\": \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2275, \"program\": \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_6","type":"command_execution","command":"/bin/bash -lc \"sed -n '220,620p' jq_interpreter/evaluator.py; sed -n '1,240p' jq_interpreter/ast.py; grep -R \\\"have_decnum\\\\|Invalid path expression\\\\|getpath\\\\|reverse\\\" -n jq_interpreter\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_6","type":"command_execution","command":"/bin/bash -lc \"sed -n '220,620p' jq_interpreter/evaluator.py; sed -n '1,240p' jq_interpreter/ast.py; grep -R \\\"have_decnum\\\\|Invalid path expression\\\\|getpath\\\\|reverse\\\" -n jq_interpreter\"","aggregated_output":"grep: jq_interpreter/__pycache__/evaluator.cpython-310.pyc: binary file matches\njq_interpreter/evaluator.py:365:            raise RuntimeError('Invalid path expression')\njq_interpreter/evaluator.py:395:                reverse=False)\njq_interpreter/evaluator.py:677:                raise RuntimeError(f'Invalid path expression near attempt to iterate through {_stringify(produced[0])}')\njq_interpreter/evaluator.py:703:    if op == 'call' and args[0] == 'getpath' and args[1]:\njq_interpreter/evaluator.py:881:    if name == 'have_decnum': yield True; return\njq_interpreter/evaluator.py:953:    if name == 'reverse':\njq_interpreter/evaluator.py:955:        else: raise RuntimeError('cannot reverse value')\njq_interpreter/evaluator.py:965:            for item in reversed(items):\njq_interpreter/evaluator.py:970:        result.reverse()\njq_interpreter/evaluator.py:1103:                raise RuntimeError(f'Invalid path expression with result {shown}')\njq_interpreter/evaluator.py:1105:                raise RuntimeError(f'Invalid path expression near attempt to iterate through {shown}')\njq_interpreter/evaluator.py:1109:                raise RuntimeError(f'Invalid path expression near attempt to access element {_stringify(key_value)} of {shown}')\njq_interpreter/evaluator.py:1111:                raise RuntimeError(f'Invalid path expression near attempt to access element {json.dumps(tail.arguments[0])} of {shown}')\njq_interpreter/evaluator.py:1112:            raise RuntimeError(f'Invalid path expression with result {shown}')\njq_interpreter/evaluator.py:1115:            raise RuntimeError('Invalid path expression')\njq_interpreter/evaluator.py:1120:        if not paths: raise RuntimeError('Invalid path expression')\njq_interpreter/evaluator.py:1178:    if name == 'getpath':\njq_interpreter/evaluator.py:1220:        for parent in sorted(grouped, key=lambda item: len(item), reverse=True):\njq_interpreter/evaluator.py:1221:            for key in sorted(grouped[parent], key=lambda item: item if isinstance(item, (int, float)) else 0, reverse=True):\njq_interpreter/parser.py:296:    known = set('empty error length type not tostring tojson abs fabs floor ceil round sqrt sin cos tan asin acos atan log log10 exp exp2 log2 pow keys sort add min max min_by max_by any all arrays objects iterables booleans numbers normals finites strings nulls values scalars unique reverse paths path indices builtins modulemeta input debug implode explode trim ltrim rtrim isempty have_decnum gmtime'.split())\ngrep: jq_interpreter/__pycache__/evaluator.cpython-312.pyc: binary file matches\ngrep: jq_interpreter/__pycache__/parser.cpython-310.pyc: binary file matches\ngrep: jq_interpreter/__pycache__/parser.cpython-312.pyc: binary file matches\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_7","type":"command_execution","command":"/bin/bash -lc \"sed -n '640,740p' jq_interpreter/evaluator.py; sed -n '840,990p' jq_interpreter/evaluator.py; sed -n '1060,1130p' jq_interpreter/evaluator.py; sed -n '1,180p' jq_interpreter/lexer.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_7","type":"command_execution","command":"/bin/bash -lc \"sed -n '640,740p' jq_interpreter/evaluator.py; sed -n '840,990p' jq_interpreter/evaluator.py; sed -n '1060,1130p' jq_interpreter/evaluator.py; sed -n '1,180p' jq_interpreter/lexer.py\"","aggregated_output":"            for key in _node(args[1], value, env):\n                if isinstance(key, float) and math.isnan(key):\n                    raise RuntimeError('Cannot set array element at NaN index')\n                if isinstance(key, (dict, list)):\n                    raise RuntimeError(f'Cannot index object with {_type_name(key)} ({_short(key)})')\n                if isinstance(key, (int, float)) and not isinstance(key, bool) and int(key) >= 10000000:\n                    raise RuntimeError('Array index too large')\n                if isinstance(current, list) and isinstance(key, (int, float)):\n                    if int(key) < 0 and abs(int(key)) > len(current): raise RuntimeError('Out of bounds negative array index')\n                    if int(key) >= 10000000: raise RuntimeError('Array index too large')\n                elif isinstance(key, (int, float)) and key < 0 and current is None:\n                    raise RuntimeError('Out of bounds negative array index')\n                result.append(p + (key,))\n        return result\n    if op == 'slice':\n        result = []\n        for p in _paths(args[0], value, env):\n            current = _get_path(value, p)\n            if not isinstance(current, (list, str)):\n                continue\n            start = _one(args[1], value, env)\n            end = None if args[2] is None else _one(args[2], value, env)\n            first = 0 if start is None or (isinstance(start, float) and math.isnan(start)) else math.floor(start)\n            last = len(current) if end is None or (isinstance(end, float) and math.isnan(end)) else math.ceil(end)\n            if first < 0: first = max(0, len(current) + int(first))\n            if last < 0: last = max(0, len(current) + int(last))\n            result.extend(p + (i,) for i in range(max(0, int(first)), min(len(current), int(last))))\n        return result\n    if op == 'iterate':\n        result = []\n        for p in _paths(args[0], value, env):\n            current = _get_path(value, p)\n            if isinstance(current, list): result.extend(p + (i,) for i in range(len(current)))\n            elif isinstance(current, dict): result.extend(p + (k,) for k in current)\n        if not result and args[0].operation == 'call' and args[0].arguments[0] == 'map':\n            produced = list(_node(args[0], value, env))\n            if produced:\n                raise RuntimeError(f'Invalid path expression near attempt to iterate through {_stringify(produced[0])}')\n        return result\n    if op == 'bind':\n        return _paths(args[2], value, env)\n    if op == 'var' and args[0] in env.get('__params__', {}):\n        # Function parameters are filter aliases.  When a parameter occurs on\n        # the left side of an update, its caller-supplied filter supplies the\n        # paths being updated (not merely its current value).\n        _, argument = env['__params__'][args[0]]\n        return _paths(argument, value, env)\n    if op == 'binary' and args[0] == '|':\n        result = []\n        for p in _paths(args[1], value, env):\n            current = _get_path(value, p)\n            result.extend(p + tail for tail in _paths(args[2], current, env))\n        return result\n    if op == 'call' and not args[1] and (args[0], 0) in env.get('__funcs__', {}):\n        function = env['__funcs__'][(args[0], 0)]\n        closure_env = dict(env)\n        if len(function) > 2:\n            closure_env['__funcs__'] = function[2]\n        return _paths(function[1], value, closure_env)\n    if op == 'call' and not args[1] and args[0] in env:\n        bound = env[args[0]]\n        if isinstance(bound, tuple) and bound and bound[0] == '__closure__':\n            return _paths(bound[1], value, bound[2])\n    if op == 'call' and args[0] == 'getpath' and args[1]:\n        path = _one(args[1][0], value, env)\n        if isinstance(path, list):\n            return [tuple(path)]\n    if op == 'call' and args[0] == 'select' and args[1]:\n        return [()] if _truth(_one(args[1][0], value, env)) else []\n    if op == 'call' and not args[1] and args[0] == 'last':\n        return [(-1,)]\n    return []\n\ndef _assign_slice(node, value, replacement, env):\n    base_node, start_node, end_node = node.arguments\n    result = value\n    for parent in _paths(base_node, value, env):\n        current = _get_path(result, parent)\n        if not isinstance(current, (list, str)):\n            continue\n        start = _one(start_node, current, env)\n        end = None if end_node is None else _one(end_node, current, env)\n        first = 0 if start is None or (isinstance(start, float) and math.isnan(start)) else math.floor(start)\n        last = len(current) if end is None or (isinstance(end, float) and math.isnan(end)) else math.ceil(end)\n        if isinstance(current, str):\n            raise RuntimeError('Cannot update string slices')\n        updated = list(current)\n        updated[int(first):int(last)] = replacement if isinstance(replacement, list) else [replacement]\n        result = _set_path(result, parent, updated)\n    return result\n\ndef _validate_path_key(container: object, key: object, *, updating: bool) -> None:\n    if isinstance(container, list):\n        if isinstance(key, bool) or not isinstance(key, (int, float)) or (isinstance(key, float) and math.isnan(key)):\n            message = 'Cannot set array element at NaN index' if updating and isinstance(key, float) and math.isnan(key) else 'Cannot update field at array index of array'\n            raise RuntimeError(message)\n    elif isinstance(container, dict) and not isinstance(key, str):\n        raise RuntimeError(f'Cannot index object with {_type_name(key)} ({_short(key)})')\n\n\ndef _get_path_checked(value, path):\n        local=dict(env)\n        if closure:\n            local['__funcs__'] = closure[0]\n        if not args:\n            yield from _node(body,value,local); return\n        # Function parameters are filters, not eagerly evaluated values.  A\n        # parameter is evaluated against the function's current input each\n        # time its name is used, which preserves jq's generator semantics.\n        parameters = dict(local.get('__params__', {}))\n        # Filter arguments are closures over the caller, not over the callee\n        # after its local parameter frame has been installed.  This is what\n        # makes `def f(x): 1 as $x | ...` preserve the caller's `x` filter.\n        captured = dict(env)\n        for param, arg in zip(params, args):\n            parameters[param] = (captured, arg)\n        local['__params__'] = parameters\n        yield from _node(body,value,local); return\n    if name == 'empty': return\n    if name == 'error': raise RuntimeError(_one(args[0],value,env) if args else value)\n    if name=='length':\n        if isinstance(value, (list, dict, str)): yield len(value)\n        elif isinstance(value, (int, float)) and not isinstance(value, bool): yield abs(value)\n        else: raise RuntimeError('length requires a string, array, object or number')\n        return\n    if name == 'add':\n        items = list(_node(args[0], value, env)) if args else list(value)\n        if not items: yield None\n        else:\n            result = items[0]\n            for item in items[1:]:\n                if result is None: result = item\n                elif item is None: continue\n                elif isinstance(result, (int,float)) and isinstance(item,(int,float)): result += item\n                elif isinstance(result, str) and isinstance(item,str): result += item\n                elif isinstance(result,list) and isinstance(item,list): result += item\n                elif isinstance(result,dict) and isinstance(item,dict): result = {**result,**item}\n                else: raise RuntimeError('cannot add values')\n            yield result\n        return\n    if name=='type': yield 'null' if value is None else 'boolean' if isinstance(value,bool) else 'number' if isinstance(value,(int,float)) else 'string' if isinstance(value,str) else 'array' if isinstance(value,list) else 'object'; return\n    if name=='not': yield not _truth(value); return\n    if name == 'have_decnum': yield True; return\n    if name in ('any', 'all'):\n        stream = _node(args[0], value, env) if args else iter(value if isinstance(value, list) else [])\n        desired = name == 'any'\n        result = not desired\n        for item in stream:\n            tested = _one(args[1], item, env) if len(args) > 1 else item\n            if _truth(tested) == desired:\n                result = desired\n                break\n        yield result\n        return\n    if name in ('min', 'max', 'min_by', 'max_by'):\n        items = list(_node(args[0], value, env)) if args else (list(value) if isinstance(value, list) else [])\n        if not items:\n            yield None\n            return\n        if name in ('min_by', 'max_by'):\n            yield (min if name == 'min_by' else max)(items, key=lambda item: _jq_sort_key(_one(args[0], item, env)))\n        else:\n            yield (min if name == 'min' else max)(items, key=_jq_sort_key)\n        return\n    if name == 'isempty':\n        try:\n            next(_node(args[0], value, env))\n            yield False\n        except StopIteration:\n            yield True\n        return\n    if name in ('tostring','tojson'): yield _deep_json_dumps(value) if name=='tojson' else _stringify(value); return\n    if name=='abs': yield abs(value); return\n    if name=='fabs': yield math.fabs(value); return\n    if name=='floor': yield math.floor(value); return\n    if name=='ceil': yield math.ceil(value); return\n    if name=='map':\n        result=[]\n        for x in value:\n            result.extend(_node(args[0], x, env))\n        yield result; return\n    if name == 'map_values':\n        if isinstance(value, list):\n            result=[]\n            for item in value: result.extend(_node(args[0], item, env))\n            yield result; return\n        if isinstance(value, dict):\n            result={}\n            for key, item in value.items():\n                outputs=list(_node(args[0], item, env))\n                if outputs: result[key]=outputs[0]\n            yield result; return\n        raise RuntimeError('map_values requires an array or object')\n    if name == 'with_entries':\n        if not isinstance(value, dict): raise RuntimeError('with_entries requires an object')\n        entries = [{'key': key, 'value': item} for key, item in value.items()]\n        transformed = []\n        for entry in entries:\n            transformed.extend(_node(args[0], entry, env))\n        result = {}\n        for entry in transformed:\n            if isinstance(entry, dict) and 'key' in entry:\n                result[str(entry['key'])] = entry.get('value')\n        yield result; return\n    if name == 'walk':\n        def visit(item):\n            if isinstance(item, list):\n                item = [visit(child) for child in item]\n            elif isinstance(item, dict):\n                item = {key: visit(child) for key, child in item.items()}\n            outputs = list(_node(args[0], item, env))\n            return outputs[0] if outputs else None\n        yield visit(value)\n        return\n    if name == 'reverse':\n        if isinstance(value, (list, str)): yield value[::-1]\n        else: raise RuntimeError('cannot reverse value')\n        return\n    if name == 'flatten':\n        depth = None if not args else int(_one(args[0], value, env))\n        if depth is not None and depth < 0: raise RuntimeError('flatten depth must not be negative')\n        if not isinstance(value, list): raise RuntimeError('flatten input must be an array')\n        result=[]\n        stack=[(value, depth)]\n        while stack:\n            items, remaining = stack.pop()\n            for item in reversed(items):\n                if isinstance(item, list) and (remaining is None or remaining > 0):\n                    stack.append((item, None if remaining is None else remaining - 1))\n                else:\n                    result.append(item)\n        result.reverse()\n        yield result; return\n    if name == 'contains':\n        needle = _one(args[0], value, env)\n        yield _contains(value, needle); return\n    if name=='range':\n        import itertools\n        choices = [list(_node(arg, value, env)) for arg in args]\n        for combo in itertools.product(*choices):\n            if len(combo) == 1:\n                start, end, step = 0, combo[0], 1\n            else:\n                start, end = combo[0], combo[1]\n                step = combo[2] if len(combo) > 2 else 1\n            yield from range(int(start), int(end), int(step))\n        return\n    if name in ('while', 'until'):\n        current = value\n        while True:\n            tests = list(_node(args[0], current, env))\n            if name == 'while' and not any(_truth(item) for item in tests):\n        elif isinstance(value, str) and value in ('true', 'false'): yield value == 'true'\n        else: raise RuntimeError(f'{_type_name(value)} ({_stringify(value) if not isinstance(value, str) else json.dumps(value)}) cannot be parsed as a boolean')\n        return\n    if name == 'utf8bytelength':\n        if not isinstance(value, str): raise RuntimeError(f'{_type_name(value)} ({_stringify(value)}) only strings have UTF-8 byte length')\n        yield len(value.encode()); return\n    if name == 'fromjson':\n        if not isinstance(value, str): raise RuntimeError('only strings can be parsed')\n        if value.startswith(\"{'\"):\n            raise RuntimeError(\"Invalid string literal; expected \\\", but got ' at line 1, column 5 (while parsing '{'a': 123}')\")\n        try:\n            if value in ('NaN', '-NaN'):\n                yield float('nan'); return\n            if value.startswith(('NaN', '-NaN')) and len(value) > 3:\n                raise RuntimeError(f\"Invalid numeric literal at EOF at line 1, column {len(value)} (while parsing '{value}')\")\n            yield _deep_json_loads(value)\n        except RuntimeError: raise\n        except Exception: raise RuntimeError('invalid JSON')\n        return\n    if name == 'path':\n        # A mapped value is no longer a location.  Preserve jq's useful\n        # diagnostic about the first operation that makes the path invalid.\n        expression = args[0]\n        mapped_node = None\n        tail = None\n        if expression.operation == 'binary' and expression.arguments[0] == '|':\n            if expression.arguments[2].operation == 'call' and expression.arguments[2].arguments[0] == 'map':\n                mapped_node = expression.arguments[2]\n            elif (expression.arguments[1].operation == 'binary'\n                  and expression.arguments[1].arguments[0] == '|'\n                  and expression.arguments[1].arguments[2].operation == 'call'\n                  and expression.arguments[1].arguments[2].arguments[0] == 'map'):\n                mapped_node = expression.arguments[1].arguments[2]\n                tail = expression.arguments[2]\n        if mapped_node is not None:\n            if expression.arguments[2] is mapped_node:\n                source = expression.arguments[1]\n            else:\n                source = expression.arguments[1].arguments[1]\n            source_values = list(_node(source, value, env))\n            mapped = list(_node(mapped_node, source_values[0] if source_values else [], env))\n            shown = _stringify(mapped[0]) if mapped else '[]'\n            if tail is None:\n                raise RuntimeError(f'Invalid path expression with result {shown}')\n            if tail.operation == 'iterate':\n                raise RuntimeError(f'Invalid path expression near attempt to iterate through {shown}')\n            if tail.operation in ('indexexpr', 'index'):\n                key = tail.arguments[1] if tail.operation == 'indexexpr' else tail.arguments[1]\n                key_value = _one(key, mapped[0] if mapped else value, env) if isinstance(key, Node) else key\n                raise RuntimeError(f'Invalid path expression near attempt to access element {_stringify(key_value)} of {shown}')\n            if tail.operation == 'field':\n                raise RuntimeError(f'Invalid path expression near attempt to access element {json.dumps(tail.arguments[0])} of {shown}')\n            raise RuntimeError(f'Invalid path expression with result {shown}')\n        paths = _paths(args[0], value, env)\n        if not paths:\n            raise RuntimeError('Invalid path expression')\n        for path in paths: yield list(path)\n        return\n    if name == 'pick':\n        paths = _paths(args[0], value, env)\n        if not paths: raise RuntimeError('Invalid path expression')\n        if paths[0] and paths[0][-1] < 0:\n            raise RuntimeError('Out of bounds negative array index')\n        yield _get_path(value, paths[0])\n        return\n    if name == 'paths':\n        def paths_of(item, prefix=()):\n            if isinstance(item, list):\n                for i, child in enumerate(item):\n                    p=prefix+(i,); yield list(p); yield from paths_of(child,p)\n            elif isinstance(item, dict):\n\"\"\"Lexical scanner for jq source text.\"\"\"\n\nfrom dataclasses import dataclass\nfrom enum import Enum, auto\nimport re\n\nfrom .errors import CompileError\n\n\nclass TokenKind(Enum):\n    IDENTIFIER = auto()\n    NUMBER = auto()\n    STRING = auto()\n    FIELD = auto()\n    BINDING = auto()\n    FORMAT = auto()\n    KEYWORD = auto()\n    OPERATOR = auto()\n    DELIMITER = auto()\n    INTERPOLATION_START = auto()\n    INTERPOLATION_END = auto()\n    END = auto()\n    IDENTITY = auto()\n\n\n@dataclass(frozen=True)\nclass Token:\n    kind: TokenKind\n    text: str\n    position: int\n\n\n_KEYWORDS = {\"as\", \"def\", \"module\", \"import\", \"include\", \"if\", \"then\", \"else\", \"elif\", \"and\", \"or\", \"end\", \"reduce\", \"foreach\", \"try\", \"catch\", \"label\", \"break\"}\n_OPERATORS = (\"//=\", \"?//\", \"!=\", \"==\", \"|=\", \"+=\", \"-=\", \"*=\", \"/=\", \"%=\", \"<=\", \">=\", \"..\", \"//\")\n_DELIMITERS = set(\".?!=;,,:|+-*/%$<>{}[]()\")\n_NUMBER = re.compile(r\"(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\")\n_NAME = re.compile(r\"[A-Za-z_][A-Za-z_0-9]*\")\n_QUALIFIED_NAME = re.compile(r\"(?:[A-Za-z_][A-Za-z_0-9]*::)*[A-Za-z_][A-Za-z_0-9]*\")\n\n\ndef _error(source: str, position: int, message: str) -> CompileError:\n    line = source.count(\"\\n\", 0, position) + 1\n    line_start = source.rfind(\"\\n\", 0, position) + 1\n    return CompileError(f\"{message} at line {line}, column {position - line_start + 1}\")\n\n\ndef _scan_string(source: str, start: int) -> tuple[list[Token], int]:\n    tokens = [Token(TokenKind.STRING, '\"', start)]\n    position = start + 1\n    text_start = position\n    while position < len(source):\n        character = source[position]\n        if character == \"\\\\\":\n            if position + 1 >= len(source):\n                raise _error(source, position, \"unterminated string\")\n            if source[position + 1] == \"(\":\n                if text_start < position:\n                    tokens.append(Token(TokenKind.STRING, source[text_start:position], text_start))\n                tokens.append(Token(TokenKind.INTERPOLATION_START, \"\\\\(\", position))\n                expression_start = position + 2\n                cursor = expression_start\n                depth = 1\n                quoted_expression = False\n                escaped_expression = False\n                while cursor < len(source):\n                    current = source[cursor]\n                    if quoted_expression:\n                        if escaped_expression:\n                            escaped_expression = False\n                        elif current == \"\\\\\":\n                            escaped_expression = True\n                        elif current == '\"':\n                            quoted_expression = False\n                    elif current == '\"':\n                        quoted_expression = True\n                    elif current == \"(\":\n                        depth += 1\n                    elif current == \")\":\n                        depth -= 1\n                        if depth == 0:\n                            inner = tokenize(source[expression_start:cursor])\n                            tokens.extend(inner[:-1])\n                            tokens.append(Token(TokenKind.INTERPOLATION_END, \")\", cursor))\n                            position = cursor + 1\n                            text_start = position\n                            break\n                    cursor += 1\n                else:\n                    raise _error(source, position, \"unterminated interpolation\")\n                continue\n            if source[position + 1] == \"u\":\n                escape = source[position + 2:position + 6]\n                if len(escape) != 4 or not re.fullmatch(r\"[0-9A-Fa-f]{4}\", escape):\n                    raise _error(source, position, \"invalid unicode escape\")\n                position += 6\n            else:\n                if source[position + 1] not in '\"\\\\/bfnrt':\n                    raise _error(source, position, \"invalid escape\")\n                position += 2\n            continue\n        if character == '\"':\n            if text_start < position:\n                tokens.append(Token(TokenKind.STRING, source[text_start:position], text_start))\n            tokens.append(Token(TokenKind.STRING, '\"', position))\n            return tokens, position + 1\n        if ord(character) < 0x20:\n            raise _error(source, position, \"control character in string\")\n        position += 1\n    raise _error(source, start, \"unterminated string\")\n\n\ndef tokenize(source: str) -> list[Token]:\n    \"\"\"Tokenize jq source, retaining offsets and rejecting lexical errors.\"\"\"\n    tokens: list[Token] = []\n    position = 0\n    while position < len(source):\n        character = source[position]\n        if character.isspace():\n            position += 1\n            continue\n        if character == \"#\":\n            newline = source.find(\"\\n\", position)\n            position = len(source) if newline < 0 else newline + 1\n            continue\n        if character == '\"':\n            string_tokens, position = _scan_string(source, position)\n            tokens.extend(string_tokens)\n            continue\n        number = _NUMBER.match(source, position)\n        if number:\n            tokens.append(Token(TokenKind.NUMBER, number.group(), position))\n            position = number.end()\n            continue\n        if character == \".\" and position + 1 < len(source) and source[position + 1].isalpha():\n            name = _NAME.match(source, position + 1)\n            assert name is not None\n            tokens.append(Token(TokenKind.FIELD, source[position:name.end()], position))\n            position = name.end()\n            continue\n        if character == \"$\":\n            name = _QUALIFIED_NAME.match(source, position + 1)\n            if not name:\n                raise _error(source, position, \"invalid binding\")\n            tokens.append(Token(TokenKind.BINDING, source[position:name.end()], position))\n            position = name.end()\n            continue\n        if character == \"@\":\n            name = _NAME.match(source, position + 1)\n            if not name:\n                raise _error(source, position, \"invalid format\")\n            tokens.append(Token(TokenKind.FORMAT, source[position:name.end()], position))\n            position = name.end()\n            continue\n        qualified = _QUALIFIED_NAME.match(source, position)\n        if qualified:\n            text = qualified.group()\n            kind = TokenKind.KEYWORD if text in _KEYWORDS else TokenKind.IDENTIFIER\n            tokens.append(Token(kind, text, position))\n            position = qualified.end()\n            continue\n        operator = next((value for value in _OPERATORS if source.startswith(value, position)), None)\n        if operator:\n            tokens.append(Token(TokenKind.OPERATOR, operator, position))\n            position += len(operator)\n            continue\n        if character in _DELIMITERS:\n            kind = TokenKind.IDENTITY if character == \".\" else TokenKind.DELIMITER\n            tokens.append(Token(kind, character, position))\n            position += 1\n            continue\n        raise _error(source, position, \"unexpected character\")\n    tokens.append(Token(TokenKind.END, \"\", len(source)))\n    return tokens\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_8","type":"command_execution","command":"/bin/bash -lc \"for q in '\"'^'\"\\\\.' '\"'^'\"\\\\[' '\"'^'\"\\\\{' '[+*/%]' '[-]' 'assignment' ; do echo ===\"'$q; timeout 25s bash -c \"JQ='\"\\\\\"'$PWD/jq python3 sources/run_conformance.py --select '\"\\\\\\\"\"'$q'\"\\\\\\\" --json\\\" > /tmp/out.json; rc=\"'$?; if [ $rc -eq 0 ]; then python3 -c '\"'import json;d=json.load(open(\\\"/tmp/out.json\\\"));print(d[\\\"summary\\\"]);[print(x) for x in d[\\\"cases\\\"]]'; else echo timed-\"'$rc; fi; done'","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_5","type":"command_execution","command":"/bin/bash -lc \"for q in 'reduce ' 'foreach ' 'def ' 'if ' 'try ' ' as ' 'label ' '\\\\.\\\\[' 'object' ; do echo ===\"'$q; timeout 25s bash -c \"JQ='\"\\\\\"'$PWD/jq python3 sources/run_conformance.py --select '\"\\\\\\\"\"'$q'\"\\\\\\\" --json\\\" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(d[\\\"summary\\\"]); [print(x) for x in d[\\\"cases\\\"]]' 2>/dev/null || echo timed; done\"","aggregated_output":"{'pass': 21, 'fail': 0, 'error': 0, 'skip': 0}\n===foreach\n{'pass': 10, 'fail': 0, 'error': 0, 'skip': 0}\n===def\n{'pass': 14, 'fail': 1, 'error': 0, 'skip': 2}\n{'line': 1302, 'program': 'try (def x: reverse; x=10) catch .', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['\"Invalid path expression with result [2,1,0]\"'], 'actual': ['\"Invalid path expression\"']}\n{'line': 1900, 'program': 'import \"a\" as foo; import \"b\" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a]', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['[\"a\",\"b\",\"c\",\"a\"]'], 'actual': []}\n{'line': 1917, 'program': 'import \"data\" as $a; import \"data\" as $b; def f: {$a, $b}; f', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['{\"a\":[{\"this\":\"is a test\",\"that\":\"is too\"}],\"b\":[{\"this\":\"is a test\",\"that\":\"is too\"}]}'], 'actual': []}\n===if\n{'pass': 31, 'fail': 5, 'error': 0, 'skip': 0}\n{'line': 2014, 'program': 'try (. + \"x\") catch . == if have_decnum then \"number (12345678901234567890123456...) and string (\\\\\"x\\\\\") cannot be added\" else \"number (12345678901234568000000000...) and string (\\\\\"x\\\\\") cannot be added\" end', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['true'], 'actual': ['false']}\n{'line': 2228, 'program': '-. | tojson == if have_decnum then \"0.12345678901234567890123456789\" else \"0.12345678901234568\" end', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['true'], 'actual': ['false']}\n{'line': 2232, 'program': '[1E+1000,-1E+1000 | tojson] == if have_decnum then [\"1E+1000\",\"-1E+1000\"] else [\"1.7976931348623157e+308\",\"-1.7976931348623157e+308\"] end', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['true'], 'actual': ['false']}\n{'line': 2271, 'program': '[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['true'], 'actual': ['false']}\n{'line': 2275, 'program': '[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['true'], 'actual': ['false']}\n===try\n{'pass': 86, 'fail': 4, 'error': 0, 'skip': 0}\n{'line': 1258, 'program': '.[] | try (getpath([\"a\",0,\"b\"]) |= 5) catch .', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['{\"a\":[{\"b\":5}]}', '{\"b\":0,\"a\":[{\"b\":5}]}', '\"Cannot index number with number (0)\"', '{\"a\":[{\"b\":5}]}', '\"Cannot index number with string (\\\\\"b\\\\\")\"', '\"Cannot index object with number (0)\"', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"c\":3,\"b\":5}]}'], 'actual': ['{\"a\":[{\"b\":5}]}', '{\"b\":0,\"a\":[{\"b\":5}]}', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"b\":5},1]}', '\"Cannot index object with number (0)\"', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"c\":3,\"b\":5}]}']}\n{'line': 1302, 'program': 'try (def x: reverse; x=10) catch .', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['\"Invalid path expression with result [2,1,0]\"'], 'actual': ['\"Invalid path expression\"']}\n{'line': 2005, 'program': '\"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch .', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"'], 'actual': ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"']}\n{'line': 2014, 'program': 'try (. + \"x\") catch . == if have_decnum then \"number (12345678901234567890123456...) and string (\\\\\"x\\\\\") cannot be added\" else \"number (12345678901234568000000000...) and string (\\\\\"x\\\\\") cannot be added\" end', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['true'], 'actual': ['false']}\n=== as\n{'pass': 87, 'fail': 1, 'error': 0, 'skip': 7}\n{'line': 1900, 'program': 'import \"a\" as foo; import \"b\" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a]', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['[\"a\",\"b\",\"c\",\"a\"]'], 'actual': []}\n{'line': 1904, 'program': 'import \"c\" as foo; [foo::a, foo::c]', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['[0,\"acmehbah\"]'], 'actual': []}\n{'line': 1912, 'program': 'import \"data\" as $e; import \"data\" as $d; [$d[].this,$e[].that,$d::d[].this,$e::e[].that]|join(\";\")', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['\"is a test;is too;is a test;is too\"'], 'actual': []}\n{'line': 1917, 'program': 'import \"data\" as $a; import \"data\" as $b; def f: {$a, $b}; f', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['{\"a\":[{\"this\":\"is a test\",\"that\":\"is too\"}],\"b\":[{\"this\":\"is a test\",\"that\":\"is too\"}]}'], 'actual': []}\n{'line': 1929, 'program': 'import \"shadow1\" as f; import \"shadow2\" as f; import \"shadow1\" as e; [e::e, f::e]', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['[2,3]'], 'actual': []}\n{'line': 1982, 'program': 'import \"syntaxerror\" as e; .', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': True, 'expected': [], 'actual': []}\n{'line': 1993, 'program': 'import \"test_bind_order\" as check; check::check', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['true'], 'actual': []}\n{'line': 2241, 'program': '.[] as $n | $n+0 | [., tostring, . == $n]', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['[-9007199254740992,\"-9007199254740992\",true]', '[-9007199254740992,\"-9007199254740992\",true]', '[9007199254740992,\"9007199254740992\",true]', '[9007199254740992,\"9007199254740992\",true]', '[13911860366432392,\"13911860366432392\",true]'], 'actual': ['[-9007199254740992.0,\"-9007199254740992.0\",false]', '[-9007199254740992,\"-9007199254740992\",true]', '[9007199254740992,\"9007199254740992\",true]', '[9007199254740992.0,\"9007199254740992.0\",false]', '[1.3911860366432392e+16,\"1.3911860366432392e+16\",false]']}\n===label\n{'pass': 5, 'fail': 0, 'error': 0, 'skip': 0}\n===\\.\\[\ntimed\n===object\n{'pass': 2, 'fail': 1, 'error': 0, 'skip': 0}\n{'line': 2135, 'program': '(.. | select(type == \"object\" and has(\"b\") and (.b | type) == \"array\")|.b) |= .[0]', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['{\"a\": {\"b\": 1}}'], 'actual': []}\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_4","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys,os,re,json\nsys.path.insert(0,'sources'); import run_conformance as h\ncases=h.parse_corpus(h.CORPUS.read_text()); ex=h.apply_exclusions(cases,h.parse_exclusions(h.EXCLUSIONS));\nfor name,rx in [('p3',r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%'),('p4',r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')]:\n print(name)\n out=[]\n for c in cases:\n  if c.line in ex or not re.search(rx,c.program): continue\n  r=h.run_case(c,[os.path.abspath('jq')],1.0)\n  if r.status\"'!='\"'pass': out.append((c.line,c.program,r.status,r.detail,r.actual,c.expected,r.return_code))\n print('fail',len(out))\n for x in out: print(json.dumps(x,ensure_ascii=False)[:1800])\nPY\"","aggregated_output":"fail 30\n[661, \"9E999999999, 9999999999E999999990, 1E-999999999, 0.000000001E-999999990\", \"fail\", \"output mismatch\", [\"null\", \"null\", \"0.0\", \"0.0\"], [\"9E+999999999\", \"9.999999999E+999999999\", \"1E-999999999\", \"1E-999999999\"], 0]\n[689, \"[(infinite, -infinite) % (1, -1, infinite)]\", \"fail\", \"output mismatch\", [], [\"[0,0,0,0,0,-1]\"], 5]\n[693, \"[nan % 1, 1 % nan | isnan]\", \"fail\", \"output mismatch\", [\"[null,true]\"], [\"[true,true]\"], 0]\n[1201, \"pick(.a.b.c)\", \"fail\", \"output mismatch\", [], [\"{\\\"a\\\":{\\\"b\\\":{\\\"c\\\":null}}}\"], 5]\n[1258, \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\", \"fail\", \"output mismatch\", [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5},1]}\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], 0]\n[1302, \"try (def x: reverse; x=10) catch .\", \"fail\", \"output mismatch\", [\"\\\"Invalid path expression\\\"\"], [\"\\\"Invalid path expression with result [2,1,0]\\\"\"], 0]\n[1306, \".[] = 1\", \"fail\", \"output mismatch\", [], [\"[1,1,1,1,1,1]\"], 5]\n[1693, \"[min, max, min_by(.[1]), max_by(.[1]), min_by(.[2]), max_by(.[2])]\", \"fail\", \"output mismatch\", [\"[[1,3,\\\"a\\\"],[4,2,\\\"a\\\"],[3,1,\\\"a\\\"],[3,1,\\\"a\\\"],[2,4,\\\"a\\\"],[2,4,\\\"a\\\"]]\"], [\"[[1,3,\\\"a\\\"],[4,2,\\\"a\\\"],[3,1,\\\"a\\\"],[2,4,\\\"a\\\"],[4,2,\\\"a\\\"],[1,3,\\\"a\\\"]]\"], 0]\n[1697, \"[min,max,min_by(.),max_by(.)]\", \"fail\", \"output mismatch\", [\"[null,null,[],[]]\"], [\"[null,null,null,null]\"], 0]\n[1847, \"strftime(\\\"%A, %B %d, %Y\\\")\", \"fail\", \"output mismatch\", [], [\"\\\"Tuesday, June 30, 2015\\\"\"], 5]\n[1851, \"strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")\", \"fail\", \"output mismatch\", [], [\"\\\"2024-03-15T00:00:00Z\\\"\"], 5]\n[1889, \"[strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|(.,mktime)]\", \"fail\", \"output mismatch\", [], [\"[[2015,2,5,23,51,47,4,63],1425599507]\"], 5]\n[1895, \"last(range(365 * 67)|(\\\"1970-03-01T01:02:03Z\\\"|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|mktime) + (86400 * .)|strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\"))\", \"fail\", \"output mismatch\", [], [\"[2037,1,11,1,2,3,3,41]\"], 5]\n[2005, \"\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .\", \"fail\", \"output mismatch\", [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\"], [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\\\") cannot be negated\\\"\"], 0]\n[2014, \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2089, \"INDEX(range(5)|[., \\\"foo\\\\(.)\\\"]; .[0])\", \"fail\", \"output mismatch\", [], [\"{\\\"0\\\":[0,\\\"foo0\\\"],\\\"1\\\":[1,\\\"foo1\\\"],\\\"2\\\":[2,\\\"foo2\\\"],\\\"3\\\":[3,\\\"foo3\\\"],\\\"4\\\":[4,\\\"foo4\\\"]}\"], 5]\n[2093, \"JOIN({\\\"0\\\":[0,\\\"abc\\\"],\\\"1\\\":[1,\\\"bcd\\\"],\\\"2\\\":[2,\\\"def\\\"],\\\"3\\\":[3,\\\"efg\\\"],\\\"4\\\":[4,\\\"fgh\\\"]}; .[0]|tostring)\", \"fail\", \"output mismatch\", [], [\"[[[5,\\\"foo\\\"],null],[[3,\\\"bar\\\"],[3,\\\"efg\\\"]],[[1,\\\"foobar\\\"],[1,\\\"bcd\\\"]]]\"], 5]\n[2135, \"(.. | select(type == \\\"object\\\" and has(\\\"b\\\") and (.b | type) == \\\"array\\\")|.b) |= .[0]\", \"fail\", \"output mismatch\", [], [\"{\\\"a\\\": {\\\"b\\\": 1}}\"], 5]\n[2161, \"\\\"-1\\\"|IN(builtins[] / \\\"/\\\"|.[1])\", \"fail\", \"output mismatch\", [], [\"false\"], 5]\n[2165, \"all(builtins[] / \\\"/\\\"; .[1]|tonumber >= 0)\", \"fail\", \"output mismatch\", [], [\"true\"], 5]\n[2169, \"builtins|any(.[:1] == \\\"_\\\")\", \"fail\", \"output mismatch\", [], [\"false\"], 5]\n[2228, \"-. | tojson == if have_decnum then \\\"0.12345678901234567890123456789\\\" else \\\"0.12345678901234568\\\" end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2232, \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2241, \".[] as $n | $n+0 | [., tostring, . == $n]\", \"fail\", \"output mismatch\", [\"[-9007199254740992.0,\\\"-9007199254740992.0\\\",false]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992.0,\\\"9007199254740992.0\\\",false]\", \"[1.3911860366432392e+16,\\\"1.3911860366432392e+16\\\",false]\"], [\"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[13911860366432392,\\\"13911860366432392\\\",true]\"], 0]\n[2271, \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2275, \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2425, \"[walk(.,1)]\", \"fail\", \"output mismatch\", [\"[{\\\"x\\\":0}]\"], [\"[{\\\"x\\\":0},1]\"], 0]\n[2430, \"walk(select(IN({}, []) | not))\", \"fail\", \"output mismatch\", [], [\"{\\\"a\\\":1}\"], 5]\n[2455, \"[[range(10)] | .[1.1,1.5,1.7]]\", \"fail\", \"output mismatch\", [], [\"[1,1,1]\"], 5]\n[2548, \"strflocaltime(\\\"\\\" | ., @uri)\", \"fail\", \"output mismatch\", [], [\"\\\"\\\"\", \"\\\"\\\"\"], 5]\np4\nfail 9\n[1258, \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\", \"fail\", \"output mismatch\", [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5},1]}\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], 0]\n[1302, \"try (def x: reverse; x=10) catch .\", \"fail\", \"output mismatch\", [\"\\\"Invalid path expression\\\"\"], [\"\\\"Invalid path expression with result [2,1,0]\\\"\"], 0]\n[2005, \"\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .\", \"fail\", \"output mismatch\", [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\"], [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\\\") cannot be negated\\\"\"], 0]\n[2014, \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2228, \"-. | tojson == if have_decnum then \\\"0.12345678901234567890123456789\\\" else \\\"0.12345678901234568\\\" end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2232, \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2241, \".[] as $n | $n+0 | [., tostring, . == $n]\", \"fail\", \"output mismatch\", [\"[-9007199254740992.0,\\\"-9007199254740992.0\\\",false]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992.0,\\\"9007199254740992.0\\\",false]\", \"[1.3911860366432392e+16,\\\"1.3911860366432392e+16\\\",false]\"], [\"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[13911860366432392,\\\"13911860366432392\\\",true]\"], 0]\n[2271, \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2275, \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_9","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys,os,re,concurrent.futures,json,subprocess\nsys.path.insert(0,'sources'); import run_conformance as h\ncases=h.parse_corpus(h.CORPUS.read_text()); ex=h.apply_exclusions(cases,h.parse_exclusions(h.EXCLUSIONS)); rx=re.compile(r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%')\nsel=[c for c in cases if c.line not in ex and rx.search(c.program)]\ndef one(c): return h.run_case(c,[os.path.abspath('jq')],2)\nwith concurrent.futures.ThreadPoolExecutor(24) as pool:\n out=[r for r in pool.map(one,sel) if r.status\"'!='\"'pass']\nprint('selected',len(sel),'bad',len(out))\nfor r in out: print(json.dumps({'line':r.case.line,'program':r.case.program,'status':r.status,'detail':r.detail,'expected':r.case.expected,'actual':r.actual,'code':r.return_code},ensure_ascii=False))\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_9","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys,os,re,concurrent.futures,json,subprocess\nsys.path.insert(0,'sources'); import run_conformance as h\ncases=h.parse_corpus(h.CORPUS.read_text()); ex=h.apply_exclusions(cases,h.parse_exclusions(h.EXCLUSIONS)); rx=re.compile(r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%')\nsel=[c for c in cases if c.line not in ex and rx.search(c.program)]\ndef one(c): return h.run_case(c,[os.path.abspath('jq')],2)\nwith concurrent.futures.ThreadPoolExecutor(24) as pool:\n out=[r for r in pool.map(one,sel) if r.status\"'!='\"'pass']\nprint('selected',len(sel),'bad',len(out))\nfor r in out: print(json.dumps({'line':r.case.line,'program':r.case.program,'status':r.status,'detail':r.detail,'expected':r.case.expected,'actual':r.actual,'code':r.return_code},ensure_ascii=False))\nPY\"","aggregated_output":"selected 455 bad 32\n{\"line\": 520, \"program\": \"1 as $x | [$x,$x,$x as $x | $x]\", \"status\": \"error\", \"detail\": \"timed out after 2s\", \"expected\": [\"[1,1,1]\"], \"actual\": [], \"code\": null}\n{\"line\": 661, \"program\": \"9E999999999, 9999999999E999999990, 1E-999999999, 0.000000001E-999999990\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"9E+999999999\", \"9.999999999E+999999999\", \"1E-999999999\", \"1E-999999999\"], \"actual\": [\"null\", \"null\", \"0.0\", \"0.0\"], \"code\": 0}\n{\"line\": 689, \"program\": \"[(infinite, -infinite) % (1, -1, infinite)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[0,0,0,0,0,-1]\"], \"actual\": [], \"code\": 5}\n{\"line\": 693, \"program\": \"[nan % 1, 1 % nan | isnan]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[true,true]\"], \"actual\": [\"[null,true]\"], \"code\": 0}\n{\"line\": 899, \"program\": \"reduce .[] as $x (0; . + $x)\", \"status\": \"error\", \"detail\": \"timed out after 2s\", \"expected\": [\"7\"], \"actual\": [], \"code\": null}\n{\"line\": 1201, \"program\": \"pick(.a.b.c)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"{\\\"a\\\":{\\\"b\\\":{\\\"c\\\":null}}}\"], \"actual\": [], \"code\": 5}\n{\"line\": 1258, \"program\": \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], \"actual\": [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5},1]}\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], \"code\": 0}\n{\"line\": 1302, \"program\": \"try (def x: reverse; x=10) catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"\\\"Invalid path expression with result [2,1,0]\\\"\"], \"actual\": [\"\\\"Invalid path expression\\\"\"], \"code\": 0}\n{\"line\": 1306, \"program\": \".[] = 1\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[1,1,1,1,1,1]\"], \"actual\": [], \"code\": 5}\n{\"line\": 1693, \"program\": \"[min, max, min_by(.[1]), max_by(.[1]), min_by(.[2]), max_by(.[2])]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[[1,3,\\\"a\\\"],[4,2,\\\"a\\\"],[3,1,\\\"a\\\"],[2,4,\\\"a\\\"],[4,2,\\\"a\\\"],[1,3,\\\"a\\\"]]\"], \"actual\": [\"[[1,3,\\\"a\\\"],[4,2,\\\"a\\\"],[3,1,\\\"a\\\"],[3,1,\\\"a\\\"],[2,4,\\\"a\\\"],[2,4,\\\"a\\\"]]\"], \"code\": 0}\n{\"line\": 1697, \"program\": \"[min,max,min_by(.),max_by(.)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[null,null,null,null]\"], \"actual\": [\"[null,null,[],[]]\"], \"code\": 0}\n{\"line\": 1847, \"program\": \"strftime(\\\"%A, %B %d, %Y\\\")\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"\\\"Tuesday, June 30, 2015\\\"\"], \"actual\": [], \"code\": 5}\n{\"line\": 1851, \"program\": \"strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"\\\"2024-03-15T00:00:00Z\\\"\"], \"actual\": [], \"code\": 5}\n{\"line\": 1889, \"program\": \"[strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|(.,mktime)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[[2015,2,5,23,51,47,4,63],1425599507]\"], \"actual\": [], \"code\": 5}\n{\"line\": 1895, \"program\": \"last(range(365 * 67)|(\\\"1970-03-01T01:02:03Z\\\"|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|mktime) + (86400 * .)|strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\"))\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[2037,1,11,1,2,3,3,41]\"], \"actual\": [], \"code\": 5}\n{\"line\": 2005, \"program\": \"\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\\\") cannot be negated\\\"\"], \"actual\": [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\"], \"code\": 0}\n{\"line\": 2014, \"program\": \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"true\"], \"actual\": [\"false\"], \"code\": 0}\n{\"line\": 2089, \"program\": \"INDEX(range(5)|[., \\\"foo\\\\(.)\\\"]; .[0])\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"{\\\"0\\\":[0,\\\"foo0\\\"],\\\"1\\\":[1,\\\"foo1\\\"],\\\"2\\\":[2,\\\"foo2\\\"],\\\"3\\\":[3,\\\"foo3\\\"],\\\"4\\\":[4,\\\"foo4\\\"]}\"], \"actual\": [], \"code\": 5}\n{\"line\": 2093, \"program\": \"JOIN({\\\"0\\\":[0,\\\"abc\\\"],\\\"1\\\":[1,\\\"bcd\\\"],\\\"2\\\":[2,\\\"def\\\"],\\\"3\\\":[3,\\\"efg\\\"],\\\"4\\\":[4,\\\"fgh\\\"]}; .[0]|tostring)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[[[5,\\\"foo\\\"],null],[[3,\\\"bar\\\"],[3,\\\"efg\\\"]],[[1,\\\"foobar\\\"],[1,\\\"bcd\\\"]]]\"], \"actual\": [], \"code\": 5}\n{\"line\": 2135, \"program\": \"(.. | select(type == \\\"object\\\" and has(\\\"b\\\") and (.b | type) == \\\"array\\\")|.b) |= .[0]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"{\\\"a\\\": {\\\"b\\\": 1}}\"], \"actual\": [], \"code\": 5}\n{\"line\": 2161, \"program\": \"\\\"-1\\\"|IN(builtins[] / \\\"/\\\"|.[1])\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"false\"], \"actual\": [], \"code\": 5}\n{\"line\": 2165, \"program\": \"all(builtins[] / \\\"/\\\"; .[1]|tonumber >= 0)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"true\"], \"actual\": [], \"code\": 5}\n{\"line\": 2169, \"program\": \"builtins|any(.[:1] == \\\"_\\\")\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"false\"], \"actual\": [], \"code\": 5}\n{\"line\": 2228, \"program\": \"-. | tojson == if have_decnum then \\\"0.12345678901234567890123456789\\\" else \\\"0.12345678901234568\\\" end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"true\"], \"actual\": [\"false\"], \"code\": 0}\n{\"line\": 2232, \"program\": \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"true\"], \"actual\": [\"false\"], \"code\": 0}\n{\"line\": 2241, \"program\": \".[] as $n | $n+0 | [., tostring, . == $n]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[13911860366432392,\\\"13911860366432392\\\",true]\"], \"actual\": [\"[-9007199254740992.0,\\\"-9007199254740992.0\\\",false]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992.0,\\\"9007199254740992.0\\\",false]\", \"[1.3911860366432392e+16,\\\"1.3911860366432392e+16\\\",false]\"], \"code\": 0}\n{\"line\": 2271, \"program\": \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"true\"], \"actual\": [\"false\"], \"code\": 0}\n{\"line\": 2275, \"program\": \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"true\"], \"actual\": [\"false\"], \"code\": 0}\n{\"line\": 2425, \"program\": \"[walk(.,1)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[{\\\"x\\\":0},1]\"], \"actual\": [\"[{\\\"x\\\":0}]\"], \"code\": 0}\n{\"line\": 2430, \"program\": \"walk(select(IN({}, []) | not))\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"{\\\"a\\\":1}\"], \"actual\": [], \"code\": 5}\n{\"line\": 2455, \"program\": \"[[range(10)] | .[1.1,1.5,1.7]]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[1,1,1]\"], \"actual\": [], \"code\": 5}\n{\"line\": 2548, \"program\": \"strflocaltime(\\\"\\\" | ., @uri)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"\\\"\\\"\", \"\\\"\\\"\"], \"actual\": [], \"code\": 5}\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_10","type":"command_execution","command":"/bin/bash -lc \"find tests -type f -maxdepth 2 -print -exec sed -n '1,240p' {} \\\\;\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_10","type":"command_execution","command":"/bin/bash -lc \"find tests -type f -maxdepth 2 -print -exec sed -n '1,240p' {} \\\\;\"","aggregated_output":"\"\"\"Acceptance coverage for JSON stream input and compact output.\"\"\"\n\nimport json\nimport subprocess\nfrom pathlib import Path\n\n\nROOT = Path(__file__).parents[1]\nEXECUTABLE = ROOT / \"jq\"\n\n\ndef run_jq(program: str, input_text: str) -> subprocess.CompletedProcess[str]:\n    return subprocess.run(\n        [str(EXECUTABLE), \"-c\", program],\n        input=input_text,\n        capture_output=True,\n        text=True,\n        check=False,\n    )\n\n\ndef test_multiple_input_values_are_processed_in_order() -> None:\n    inputs = \"1\\n2\\n3\\n\"\n    result = run_jq(\".\", inputs)\n    assert result.returncode == 0\n    assert result.stdout.splitlines() == inputs.splitlines()\n\n\ndef test_generator_outputs_preserve_order_and_multiplicity() -> None:\n    result = run_jq(\".[]\", \"[1,2,3]\\n\")\n    assert result.returncode == 0\n    assert result.stdout.splitlines() == [\"1\", \"2\", \"3\"]\n\n\ndef test_objects_are_compact_single_line_json() -> None:\n    input_text = '{\"a\": 1, \"b\": [2, 3]}\\n'\n    result = run_jq(\".\", input_text)\n    assert result.returncode == 0\n    assert json.loads(result.stdout) == json.loads(input_text)\n    assert len(result.stdout.splitlines()) == 1\n\n\ndef test_multiline_and_unicode_json_values_are_decoded() -> None:\n    result = run_jq(\".\", '{\\n  \"answer\": \"μ\"\\n}\\n[1, 2]\\n')\n    assert result.returncode == 0\n    assert [json.loads(line) for line in result.stdout.splitlines()] == [\n        {\"answer\": \"μ\"},\n        [1, 2],\n    ]\ntests/test_lexer.py\nimport pytest\n\nfrom jq_interpreter.errors import CompileError\nfrom jq_interpreter.lexer import TokenKind, tokenize\n\n\ndef test_scans_literals_keywords_and_operators_in_source_order() -> None:\n    tokens = tokenize('def f($x): .foo == 1; $x // null')\n    assert [token.kind for token in tokens[:-1]] == [\n        TokenKind.KEYWORD, TokenKind.IDENTIFIER, TokenKind.DELIMITER,\n        TokenKind.BINDING, TokenKind.DELIMITER, TokenKind.DELIMITER,\n        TokenKind.FIELD, TokenKind.OPERATOR, TokenKind.NUMBER,\n        TokenKind.DELIMITER, TokenKind.BINDING, TokenKind.OPERATOR,\n        TokenKind.IDENTIFIER,\n    ]\n    assert [token.position for token in tokens[:3]] == [0, 4, 5]\n    assert tokens[-1].kind is TokenKind.END\n\n\ndef test_scans_comments_and_json_string_escapes() -> None:\n    tokens = tokenize('1 # ignored\\n \"a\\\\n#b\"')\n    assert [token.text for token in tokens[:-1]] == [\"1\", '\"', r\"a\\n#b\", '\"']\n\n\ndef test_scans_formats_and_qualified_bindings() -> None:\n    tokens = tokenize('@json $module::value .field')\n    assert [(token.kind, token.text) for token in tokens[:-1]] == [\n        (TokenKind.FORMAT, \"@json\"),\n        (TokenKind.BINDING, \"$module::value\"),\n        (TokenKind.FIELD, \".field\"),\n    ]\n\n\n@pytest.mark.parametrize(\"source\", ['\"bad\\\\q\"', '\"unterminated'])\ndef test_rejects_invalid_lexical_source(source: str) -> None:\n    with pytest.raises(CompileError):\n        tokenize(source)\ntests/test_parse_002.py\nimport json\nimport subprocess\nfrom pathlib import Path\n\nimport pytest\n\nfrom jq_interpreter.errors import CompileError\nfrom jq_interpreter.parser import parse\n\n\nROOT = Path(__file__).parents[1]\n\n\ndef run(program: str, value: object) -> subprocess.CompletedProcess[str]:\n    return subprocess.run(\n        [str(ROOT / \"jq\"), \"-c\", program],\n        input=json.dumps(value) + \"\\n\",\n        text=True,\n        capture_output=True,\n        check=False,\n    )\n\n\ndef test_unicode_json_escapes_are_decoded() -> None:\n    result = run(r'\"Aa\\r\\n\\t\\b\\f\\u03bc\"', None)\n    assert result.returncode == 0\n    assert json.loads(result.stdout) == \"Aa\\r\\n\\t\\b\\fμ\"\n\n\ndef test_interpolation_uses_filter_output() -> None:\n    result = run(r'\"inter\\(\"pol\" + \"ation\")\"', None)\n    assert result.returncode == 0\n    assert json.loads(result.stdout) == \"interpolation\"\n\n\n@pytest.mark.parametrize(\n    (\"program\", \"value\", \"expected\"),\n    [\n        (\"@uri\", \"μ\", \"%CE%BC\"),\n        (\"@base64\", \"foóbar\\n\", \"Zm/Ds2Jhcgo=\"),\n        ('@html \"<b>\\\\(.)</b>\"', \"<script>hax</script>\", \"<b>&lt;script&gt;hax&lt;/script&gt;</b>\"),\n    ],\n)\ndef test_format_literals(program: str, value: object, expected: str) -> None:\n    result = run(program, value)\n    assert result.returncode == 0\n    assert json.loads(result.stdout) == expected\n\n\ndef test_invalid_escape_is_compile_failure() -> None:\n    with pytest.raises(CompileError):\n        parse(r'\"u\\vw\"')\n\ntests/__pycache__/conftest.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000\u001d��j�\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000@\u0000\u0000\u0000sd\u0000\u0000\u0000d\u0000d\u0001l\u0000Z\u0001d\u0000d\u0001l\u0002m\u0003\u0002\u0000\u0001\u0000m\u0004Z\u0005\u0001\u0000d\u0000d\u0001l\u0006Z\u0006d\u0000d\u0002l\u0007m\bZ\b\u0001\u0000e\be\t�\u0001j\nd\u0003\u0019\u0000Z\u000be\fe\u000b�\u0001e\u0006j\rv\u0001r0e\u0006j\r�\u000ed\u0000e\fe\u000b�\u0001�\u0002\u0001\u0000d\u0001S\u0000d\u0001S\u0000)\u0004�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000)\u000f�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_ar�\u0003sys�\u0007pathlibr\u0002\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOT�\u0003str�\u0004path�\u0006insert�\u0000r\u0012\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�Z/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/conftest.py�\b<module>\u0001\u0000\u0000\u0000s\f\u0000\u0000\u0000\"\u0000\f\u0001\u000e\u0002\u000e\u0001\u0016\u0001\u0004�tests/__pycache__/conftest.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000\u001d��j�\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000��\u0000\u0000\u0000�\u0000d\u0000d\u0001l\u0000Z\u0001d\u0000d\u0001l\u0002m\u0003c\u0002\u0001\u0000m\u0004Z\u0005\u0001\u0000d\u0000d\u0001l\u0006Z\u0006d\u0000d\u0002l\u0007m\bZ\b\u0001\u0000\u0002\u0000e\be\t�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003\u0019\u0000\u0000\u0000Z\u000b\u0002\u0000e\fe\u000b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000e\u0006j\u001a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0001r#e\u0006j\u001a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u001d\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0000\u0002\u0000e\fe\u000b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0001y\u0001)\u0004�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000)\u000f�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_ar�\u0003sys�\u0007pathlibr\u0003\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOT�\u0003str�\u0004path�\u0006insert�\u0000�\u0000\u0000\u0000\u0000�Z/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/conftest.py�\b<module>r\u0016\u0000\u0000\u0000\u0001\u0000\u0000\u0000sN\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u0000\u0000�\u0000�\n�\u0000\u0018�\u0007\u000b�H�~�\u0007\u001d�\u0007\u001d�a�\u0007 �\u0004�\u0003\u0006�t�9�C�H�H�\u0003\u001c�\u0004\u0007�H�H�O�O�A�s�4�y�\u0004!�\u0003\u0000\u0004\u001dr\u0014\u0000\u0000\u0000tests/__pycache__/test_architecture.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000���jk\u0012\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004\u0002\u0000\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0002l\tZ\td\u0001d\u0002l\nZ\nd\u0001d\u0003l\u000bm\fZ\f\u0001\u0000d\u0001d\u0004l\rm\u000eZ\u000em\u000fZ\u000fm\u0010Z\u0010\u0001\u0000d\u0001d\u0005l\u0011m\u0012Z\u0012m\u0013Z\u0013\u0001\u0000d\u0001d\u0006l\u0014m\u0015Z\u0015\u0001\u0000d\u0001d\u0007l\u0016m\fZ\u0017m\u0018Z\u0018\u0001\u0000e\fe\u0019�\u0001j\u001ad\b\u0019\u0000Z\u001be\u001bd\t\u001b\u0000Z\u001cG\u0000d\nd\u000b�\u0000d\u000be\nj\u001d�\u0003Z\u001ee\u001fd\fk\u0002rce\n� �\u0000\u0001\u0000d\u0002S\u0000d\u0002S\u0000)\rz=Boundary tests for the foundational interpreter architecture.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path)\u0003�\fCompileError�\u000bInterpreter�\u0011MODULE_BOUNDARIES)\u0002�\fCOMPILE_EXIT�\fRUNTIME_EXIT)\u0001�\u0011EvaluationContext)\u0002r\u0002\u0000\u0000\u0000�\bget_path�\u0001\u0000\u0000\u0000�\u0002jqc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000e\u0000Z\u0001d\u0000Z\u0002d\u001dd\u0003d\u0004�\u0004Z\u0003d\u001dd\u0005d\u0006�\u0004Z\u0004d\u001dd\u0007d\b�\u0004Z\u0005d\u001dd\td\n�\u0004Z\u0006d\u001dd\u000bd\f�\u0004Z\u0007d\u001dd\rd\u000e�\u0004Z\bd\u001dd\u000fd\u0010�\u0004Z\td\u001dd\u0011d\u0012�\u0004Z\nd\u001dd\u0013d\u0014�\u0004Z\u000bd\u001dd\u0015d\u0016�\u0004Z\fd\u001dd\u0017d\u0018�\u0004Z\rd\u001dd\u0019d\u001a�\u0004Z\u000ed\u001dd\u001bd\u001c�\u0004Z\u000fd\u0002S\u0000)\u001e�\u0011ArchitectureTests�\u0006returnNc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0004\u0000\u0000\u0000C\u0000\u0000\u0000s$\u0000\u0000\u0000d\u0001d\u0002�\u0000t\u0000D\u0000�\u0001}\u0001|\u0000�\u0001h\u0000d\u0003�\u0001|\u0001k\u0001�\u0001\u0001\u0000d\u0000S\u0000)\u0004Nc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0003\u0000\u0000\u0000S\u0000\u0000\u0000s\u0012\u0000\u0000\u0000h\u0000|\u0000]\u0005}\u0001|\u0001j\u0000�\u0002q\u0002S\u0000�\u0000)\u0001�\u0006module)\u0002�\u0002.0�\bboundaryr\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000�c/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_architecture.py�\t<setcomp>\u0014\u0000\u0000\u0000s\u0002\u0000\u0000\u0000\u0012\u0000z\\ArchitectureTests.test_module_boundaries_name_each_foundational_subsystem.<locals>.<setcomp>>\u0006\u0000\u0000\u0000�\u0014jq_interpreter.lexer�\u0015jq_interpreter.parser�\u0016jq_interpreter.runtime�\u0017jq_interpreter.builtins�\u0018jq_interpreter.evaluatorr\u000b\u0000\u0000\u0000)\u0002r\u0005\u0000\u0000\u0000�\nassertTrue)\u0002�\u0004self�\u0007modulesr\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�7test_module_boundaries_name_each_foundational_subsystem\u0013\u0000\u0000\u0000s\b\u0000\u0000\u0000\u000e\u0001\n\u0001\u0002\u0007\n�zIArchitectureTests.test_module_boundaries_name_each_foundational_subsystemc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0004\u0000\u0000\u0000C\u0000\u0000\u0000s(\u0000\u0000\u0000t\u0000�\u0000}\u0001t\u0000�\u0000}\u0002d\u0001|\u0001j\u0001d\u0002<\u0000|\u0000�\u0002|\u0002j\u0001i\u0000�\u0002\u0001\u0000d\u0000S\u0000)\u0003N�*\u0000\u0000\u0000�\u0006answer)\u0003r\b\u0000\u0000\u0000�\bbindings�\u000bassertEqual)\u0003r\u001a\u0000\u0000\u0000�\u0005first�\u0006secondr\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�0test_each_input_gets_isolated_evaluation_context\u001e\u0000\u0000\u0000s\b\u0000\u0000\u0000\u0006\u0001\u0006\u0001\n\u0001\u0012\u0001zBArchitectureTests.test_each_input_gets_isolated_evaluation_contextc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0004\u0000\u0000\u0000C\u0000\u0000\u0000s\u0014\u0000\u0000\u0000|\u0000�\u0000t\u0001t\u0002f\u0002d\u0001�\u0002\u0001\u0000d\u0000S\u0000)\u0002N)\u0002�\u0003\u0000\u0000\u0000�\u0005\u0000\u0000\u0000)\u0003r \u0000\u0000\u0000r\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\u0001r\u001a\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�3test_diagnostics_use_declared_process_exit_contract$\u0000\u0000\u0000s\u0002\u0000\u0000\u0000\u0014\u0001zEArchitectureTests.test_diagnostics_use_declared_process_exit_contractc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000sJ\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005d\u0006�\u0005}\u0001|\u0000�\u0006|\u0001j\u0007d\u0007�\u0002\u0001\u0000|\u0000�\u0006|\u0001j\b�\t�\u0000d\bd\bg\u0002�\u0002\u0001\u0000d\u0000S\u0000)\tN�\u0002-cz\rnan, infinite�\u0005null\nTF�\u0004�\u0005input�\u000ecapture_output�\u0004text�\u0005checkr\u0001\u0000\u0000\u0000�\u0004null�\n�\nsubprocess�\u0003run�\u0003sys�\nexecutable�\u0003str�\nEXECUTABLEr \u0000\u0000\u0000�\nreturncode�\u0006stdout�\nsplitlines�\u0002r\u001a\u0000\u0000\u0000�\u0006resultr\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�6test_special_numeric_literals_are_emitted_as_json_null'\u0000\u0000\u0000s\u0012\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u000e\u0007\u001a\u0001zHArchitectureTests.test_special_numeric_literals_are_emitted_as_json_nullc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000sH\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005d\u0006�\u0005}\u0001|\u0000�\u0006|\u0001j\u0007d\u0007�\u0002\u0001\u0000|\u0000�\u0006t\b�\t|\u0001j\n�\u0001d\b�\u0002\u0001\u0000d\u0000S\u0000)\tNr(\u0000\u0000\u0000�\u0001.z\t\"\\u03bc\"\nTFr*\u0000\u0000\u0000r\u0001\u0000\u0000\u0000u\u0002\u0000\u0000\u0000μ)\u000br1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r \u0000\u0000\u0000r7\u0000\u0000\u0000�\u0004json�\u0005loadsr8\u0000\u0000\u0000r:\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�/test_unicode_is_decoded_and_compactly_reencoded2\u0000\u0000\u0000s\u0012\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u000e\u0007\u0018\u0001zAArchitectureTests.test_unicode_is_decoded_and_compactly_reencodedc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0005\u0000\u0000\u0000C\u0000\u0000\u0000s*\u0000\u0000\u0000t\u0000t\u0001d\u0001�\u0001�\u0002g\u0000d\u0002�\u0001�\u0001�\u0001}\u0001|\u0000�\u0003|\u0001g\u0000d\u0002�\u0001�\u0002\u0001\u0000d\u0000S\u0000)\u0003Nr=\u0000\u0000\u0000)\u0003r\n\u0000\u0000\u0000�\u0002\u0000\u0000\u0000rA\u0000\u0000\u0000)\u0004�\u0004listr\u0004\u0000\u0000\u0000r2\u0000\u0000\u0000r \u0000\u0000\u0000)\u0002r\u001a\u0000\u0000\u0000�\u0007outputsr\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�.test_identity_preserves_order_and_multiplicity=\u0000\u0000\u0000s\u0004\u0000\u0000\u0000\u0016\u0001\u0014\u0001z@ArchitectureTests.test_identity_preserves_order_and_multiplicityc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\b\u0000\u0000\u0000C\u0000\u0000\u0000s8\u0000\u0000\u0000|\u0000�\u0000t\u0001�\u0001�\r\u0001\u0000t\u0002d\u0001�\u0001\u0001\u0000W\u0000d\u0000\u0004\u0000\u0004\u0000�\u0003\u0001\u0000d\u0000S\u00001\u0000s\u0015w\u0001\u0001\u0000\u0001\u0000\u0001\u0000Y\u0000\u0001\u0000d\u0000S\u0000)\u0002Nz\fnot-a-filter)\u0003�\fassertRaisesr\u0003\u0000\u0000\u0000r\u0004\u0000\u0000\u0000r&\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000� test_compile_failure_is_distinctA\u0000\u0000\u0000s\u0006\u0000\u0000\u0000\f\u0001\n\u0001\"�z2ArchitectureTests.test_compile_failure_is_distinctc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0006\u0000\u0000\u0000C\u0000\u0000\u0000s:\u0000\u0000\u0000d\u0001d\u0002d\u0003i\u0001i\u0001}\u0001|\u0000�\u0000t\u0001|\u0001t\u0002d\u0004�\u0001�\u0002d\u0003�\u0002\u0001\u0000|\u0000�\u0000|\u0001d\u0001d\u0002d\u0003i\u0001i\u0001�\u0002\u0001\u0000d\u0000S\u0000)\u0005N�\u0006nestedr\u001e\u0000\u0000\u0000r\u001d\u0000\u0000\u0000)\u0002rG\u0000\u0000\u0000r\u001e\u0000\u0000\u0000)\u0003r \u0000\u0000\u0000r\t\u0000\u0000\u0000�\bJsonPath)\u0002r\u001a\u0000\u0000\u0000�\u0005valuer\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�$test_path_read_does_not_mutate_valueE\u0000\u0000\u0000s\u0006\u0000\u0000\u0000\f\u0001\u0016\u0001\u0018\u0001z6ArchitectureTests.test_path_read_does_not_mutate_valuec\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000s\\\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005d\u0006�\u0005}\u0001|\u0000�\u0006|\u0001j\u0007d\u0007�\u0002\u0001\u0000|\u0000�\u0006d\bd\t�\u0000|\u0001j\b�\t�\u0000D\u0000�\u0001d\nd\u000bi\u0001d\fd\rg\u0002g\u0002�\u0002\u0001\u0000d\u0000S\u0000)\u000eNr(\u0000\u0000\u0000r=\u0000\u0000\u0000z\u0010{\"a\": 1}\n[2, 3]\nTFr*\u0000\u0000\u0000r\u0001\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0005\u0000\u0000\u0000S\u0000\u0000\u0000s\u0016\u0000\u0000\u0000g\u0000|\u0000]\u0007}\u0001t\u0000�\u0001|\u0001�\u0001�\u0002q\u0002S\u0000r\u000e\u0000\u0000\u0000)\u0002r>\u0000\u0000\u0000r?\u0000\u0000\u0000)\u0002r\u0010\u0000\u0000\u0000�\u0004liner\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�\n<listcomp>T\u0000\u0000\u0000s\u0002\u0000\u0000\u0000\u0016\u0000zPArchitectureTests.test_executable_streams_compact_json_lines.<locals>.<listcomp>�\u0001ar\n\u0000\u0000\u0000rA\u0000\u0000\u0000r$\u0000\u0000\u0000r0\u0000\u0000\u0000r:\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�*test_executable_streams_compact_json_linesJ\u0000\u0000\u0000s\u0018\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u000e\u0007\u0004\u0001\u0012\u0001\u000e\u0001\b�z<ArchitectureTests.test_executable_streams_compact_json_linesc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0006\u0000\u0000\u0000C\u0000\u0000\u0000s2\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0003d\u0004d\u0005�\u0004}\u0001|\u0000�\u0006|\u0001j\u0007d\u0006�\u0002\u0001\u0000d\u0000S\u0000)\u0007Nr(\u0000\u0000\u0000�\u0001xTF)\u0003r,\u0000\u0000\u0000r-\u0000\u0000\u0000r.\u0000\u0000\u0000r$\u0000\u0000\u0000)\br1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r \u0000\u0000\u0000r7\u0000\u0000\u0000r:\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�*test_executable_reports_compile_exit_threeX\u0000\u0000\u0000s\u000e\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u0012\u0006z<ArchitectureTests.test_executable_reports_compile_exit_threec\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000sB\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005d\u0006�\u0005}\u0001|\u0000�\u0006|\u0001j\u0007d\u0007�\u0002\u0001\u0000|\u0000�\b|\u0001j\td\b�\u0002\u0001\u0000d\u0000S\u0000�\tNr(\u0000\u0000\u0000�\u0005errorr)\u0000\u0000\u0000TFr*\u0000\u0000\u0000r%\u0000\u0000\u0000�\u0000)\nr1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r \u0000\u0000\u0000r7\u0000\u0000\u0000�\u000eassertNotEqual�\u0006stderrr:\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�)test_executable_reports_runtime_exit_fivea\u0000\u0000\u0000s\u0012\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u000e\u0007\u0012\u0001z;ArchitectureTests.test_executable_reports_runtime_exit_fivec\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000sV\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005d\u0006�\u0005}\u0001|\u0000�\u0006|\u0001j\u0007d\u0007�\u0002\u0001\u0000|\u0000�\u0006|\u0001j\b�\t�\u0000d\bg\u0001�\u0002\u0001\u0000|\u0000�\n|\u0001j\u000bd\t�\u0002\u0001\u0000d\u0000S\u0000)\nNr(\u0000\u0000\u0000z\b1, errorr)\u0000\u0000\u0000TFr*\u0000\u0000\u0000r%\u0000\u0000\u0000�\u00011rS\u0000\u0000\u0000)\fr1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r \u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r9\u0000\u0000\u0000rT\u0000\u0000\u0000rU\u0000\u0000\u0000r:\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�1test_runtime_failure_keeps_prior_generator_outputl\u0000\u0000\u0000s\u0014\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u000e\u0007\u0014\u0001\u0012\u0001zCArchitectureTests.test_runtime_failure_keeps_prior_generator_outputc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000sP\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005d\u0006�\u0005}\u0001|\u0000�\u0006|\u0001j\u0007d\u0007�\u0002\u0001\u0000|\u0000�\u0006|\u0001j\bd\b�\u0002\u0001\u0000|\u0000�\t|\u0001j\nd\b�\u0002\u0001\u0000d\u0000S\u0000rQ\u0000\u0000\u0000)\u000br1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r \u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000rT\u0000\u0000\u0000rU\u0000\u0000\u0000r:\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�0test_runtime_diagnostic_is_not_written_to_stdoutx\u0000\u0000\u0000s\u0014\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u000e\u0007\u000e\u0001\u0012\u0001zBArchitectureTests.test_runtime_diagnostic_is_not_written_to_stdout)\u0002r\r\u0000\u0000\u0000N)\u0010�\b__name__�\n__module__�\f__qualname__r\u001c\u0000\u0000\u0000r#\u0000\u0000\u0000r'\u0000\u0000\u0000r<\u0000\u0000\u0000r@\u0000\u0000\u0000rD\u0000\u0000\u0000rF\u0000\u0000\u0000rJ\u0000\u0000\u0000rN\u0000\u0000\u0000rP\u0000\u0000\u0000rV\u0000\u0000\u0000rX\u0000\u0000\u0000rY\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000r\f\u0000\u0000\u0000\u0012\u0000\u0000\u0000s\u001c\u0000\u0000\u0000\b\u0000\n\u0001\n\u000b\n\u0006\n\u0003\n\u000b\n\u000b\n\u0004\n\u0004\n\u0005\n\u000e\n\t\n\u000b\u000e\fr\f\u0000\u0000\u0000�\b__main__)!�\u0007__doc__�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_arr>\u0000\u0000\u0000r1\u0000\u0000\u0000r3\u0000\u0000\u0000�\bunittest�\u0007pathlibr\u0002\u0000\u0000\u0000�\u000ejq_interpreterr\u0003\u0000\u0000\u0000r\u0004\u0000\u0000\u0000r\u0005\u0000\u0000\u0000�\u001bjq_interpreter.architecturer\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\u0016jq_interpreter.runtimer\b\u0000\u0000\u0000�\u0014jq_interpreter.pathsrH\u0000\u0000\u0000r\t\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOTr6\u0000\u0000\u0000�\bTestCaser\f\u0000\u0000\u0000rZ\u0000\u0000\u0000�\u0004mainr\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�\b<module>\u0001\u0000\u0000\u0000s \u0000\u0000\u0000\u0004\u0000\"\u0002\b\u0001\b\u0001\b\u0001\f\u0001\u0014\u0002\u0010\u0001\f\u0001\u0010\u0001\u000e\u0002\b\u0001\u0012\u0003\bs\f\u0001\u0004�tests/__pycache__/test_architecture.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000���jk\u0012\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u001a\u0001\u0000\u0000�\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004c\u0002\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0002l\tZ\td\u0001d\u0002l\nZ\nd\u0001d\u0003l\u000bm\fZ\f\u0001\u0000d\u0001d\u0004l\rm\u000eZ\u000em\u000fZ\u000fm\u0010Z\u0010\u0001\u0000d\u0001d\u0005l\u0011m\u0012Z\u0012m\u0013Z\u0013\u0001\u0000d\u0001d\u0006l\u0014m\u0015Z\u0015\u0001\u0000d\u0001d\u0007l\u0016m\fZ\u0017m\u0018Z\u0018\u0001\u0000\u0002\u0000e\fe\u0019�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j4\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\b\u0019\u0000\u0000\u0000Z\u001be\u001bd\tz\u000b\u0000\u0000Z\u001c\u0002\u0000G\u0000d\n�\u0000d\u000be\nj:\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0003\u0000\u0000\u0000\u0000\u0000\u0000Z\u001ee\u001fd\fk(\u0000\u0000r\u0012\u0002\u0000e\nj@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0002y\u0002)\rz=Boundary tests for the foundational interpreter architecture.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path)\u0003�\fCompileError�\u000bInterpreter�\u0011MODULE_BOUNDARIES)\u0002�\fCOMPILE_EXIT�\fRUNTIME_EXIT)\u0001�\u0011EvaluationContext)\u0002r\u0003\u0000\u0000\u0000�\bget_path�\u0001\u0000\u0000\u0000�\u0002jqc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000�t\u0000\u0000\u0000�\u0000e\u0000Z\u0001d\u0000Z\u0002d\u000fd\u0002�\u0004Z\u0003d\u000fd\u0003�\u0004Z\u0004d\u000fd\u0004�\u0004Z\u0005d\u000fd\u0005�\u0004Z\u0006d\u000fd\u0006�\u0004Z\u0007d\u000fd\u0007�\u0004Z\bd\u000fd\b�\u0004Z\td\u000fd\t�\u0004Z\nd\u000fd\n�\u0004Z\u000bd\u000fd\u000b�\u0004Z\fd\u000fd\f�\u0004Z\rd\u000fd\r�\u0004Z\u000ed\u000fd\u000e�\u0004Z\u000fy\u0001)\u0010�\u0011ArchitectureTestsNc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0003\u0000\u0000\u0000�t\u0000\u0000\u0000�\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000D\u0000�\u0001c\u0002h\u0000c\u0002]\u000e\u0000\u0000}\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�\u0010\u0004\u0000}\u0002}\u0001|\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000h\u0000d\u0001�\u0001|\u0002k\u001a\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000c\u0002\u0001\u0000c\u0002}\u0001w\u0000)\u0002N>\u0006\u0000\u0000\u0000�\u0014jq_interpreter.lexer�\u0015jq_interpreter.parser�\u0016jq_interpreter.runtime�\u0017jq_interpreter.builtins�\u0018jq_interpreter.evaluatorr\f\u0000\u0000\u0000)\u0003r\u0006\u0000\u0000\u0000�\u0006module�\nassertTrue)\u0003�\u0004self�\bboundary�\u0007moduless\u0003\u0000\u0000\u0000   �c/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_architecture.py�7test_module_boundaries_name_each_foundational_subsystemzIArchitectureTests.test_module_boundaries_name_each_foundational_subsystem\u0013\u0000\u0000\u0000s=\u0000\u0000\u0000�\u0000�3D�\u0012E�3D�x�8�?�?�3D�\u0007�\u0012E�\b\f�\u000f�\u000f�\u0000\u0007\u0019\n�\u000e\u0000\u000e\u0015�\u000f\u0007\u0019\u0015�\u0000\u0007\t\u0016��\u0003\u0000\u0013F\u0001s\u0004\u0000\u0000\u0000�\u00135\u0004c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002d\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002<\u0000\u0000\u0000|\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000i\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0003N�*\u0000\u0000\u0000�\u0006answer)\u0003r\t\u0000\u0000\u0000�\bbindings�\u000bassertEqual)\u0003r\u0017\u0000\u0000\u0000�\u0005first�\u0006seconds\u0003\u0000\u0000\u0000   r\u001a\u0000\u0000\u0000�0test_each_input_gets_isolated_evaluation_contextzBArchitectureTests.test_each_input_gets_isolated_evaluation_context\u001e\u0000\u0000\u0000s4\u0000\u0000\u0000�\u0000�\u0010!�\u0010#�\u0005�\u0011\"�\u0011$�\u0006�#%�\u0005�\u000e�\u000e�x�\b �\b\f�\b\u0018�\b\u0018�\u0016�\u001f�\u001f�\"�\b-�\u0000\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0003\u0000\u0000\u0000�<\u0000\u0000\u0000�\u0000|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000f\u0002d\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0002N)\u0002�\u0003\u0000\u0000\u0000�\u0005\u0000\u0000\u0000)\u0003r \u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\b\u0000\u0000\u0000�\u0001r\u0017\u0000\u0000\u0000s\u0001\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000�3test_diagnostics_use_declared_process_exit_contractzEArchitectureTests.test_diagnostics_use_declared_process_exit_contract$\u0000\u0000\u0000s\u0017\u0000\u0000\u0000�\u0000�\b\f�\b\u0018�\b\u0018�,�\f�\u00195�v�\b>r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0006\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\bd\bg\u0002�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\tN�\u0002-cz\rnan, infinite�\u0005null\nTF�\u0004�\u0005input�\u000ecapture_output�\u0004text�\u0005checkr\u0002\u0000\u0000\u0000�\u0004null)\n�\nsubprocess�\u0003run�\u0003sys�\nexecutable�\u0003str�\nEXECUTABLEr \u0000\u0000\u0000�\nreturncode�\u0006stdout�\nsplitlines�\u0002r\u0017\u0000\u0000\u0000�\u0006results\u0002\u0000\u0000\u0000  r\u001a\u0000\u0000\u0000�6test_special_numeric_literals_are_emitted_as_json_nullzHArchitectureTests.test_special_numeric_literals_are_emitted_as_json_null'\u0000\u0000\u0000sj\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�O�\fD�\u0012\u001a�\u001b\u001f�\u0011\u0015�\u0012\u0017�\u000b\u0006\u0012\n�\u0006�\u000e\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.�\b\f�\b\u0018�\b\u0018�\u0016�\u001d�\u001d�\u00191�\u00191�\u00193�f�f�5E�\bFr$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\f\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\b�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\tNr+\u0000\u0000\u0000�\u0001.z\t\"\\u03bc\"\nTFr-\u0000\u0000\u0000r\u0002\u0000\u0000\u0000u\u0002\u0000\u0000\u0000μ)\u000br3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r \u0000\u0000\u0000r9\u0000\u0000\u0000�\u0004json�\u0005loadsr:\u0000\u0000\u0000r<\u0000\u0000\u0000s\u0002\u0000\u0000\u0000  r\u001a\u0000\u0000\u0000�/test_unicode_is_decoded_and_compactly_reencodedzAArchitectureTests.test_unicode_is_decoded_and_compactly_reencoded2\u0000\u0000\u0000se\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�C�\f8�\u0012\u001f�\u001b\u001f�\u0011\u0015�\u0012\u0017�\u000b\u0006\u0012\n�\u0006�\u000e\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.�\b\f�\b\u0018�\b\u0018�\u0014�\u001a�\u001a�F�M�M�\u00192�D�\b9r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000�v\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000g\u0000d\u0002�\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001g\u0000d\u0002�\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0003Nr@\u0000\u0000\u0000)\u0003r\u000b\u0000\u0000\u0000�\u0002\u0000\u0000\u0000rE\u0000\u0000\u0000)\u0004�\u0004listr\u0005\u0000\u0000\u0000r4\u0000\u0000\u0000r \u0000\u0000\u0000)\u0002r\u0017\u0000\u0000\u0000�\u0007outputss\u0002\u0000\u0000\u0000  r\u001a\u0000\u0000\u0000�.test_identity_preserves_order_and_multiplicityz@ArchitectureTests.test_identity_preserves_order_and_multiplicity=\u0000\u0000\u0000s,\u0000\u0000\u0000�\u0000�\u0012\u0016�{�3�\u0017'�\u0017+�\u0017+�I�\u00176�\u00127�\u0007�\b\f�\b\u0018�\b\u0018�\u0017�)�\b,r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000�n\u0000\u0000\u0000�\u0000|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u00005\u0000\u0001\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000d\u0000d\u0000d\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000#\u00001\u0000s\u0001w\u0002\u0001\u0000Y\u0000\u0001\u0000\u0001\u0000y\u0000x\u0003Y\u0000w\u0001)\u0002Nz\fnot-a-filter)\u0003�\fassertRaisesr\u0004\u0000\u0000\u0000r\u0005\u0000\u0000\u0000r(\u0000\u0000\u0000s\u0001\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000� test_compile_failure_is_distinctz2ArchitectureTests.test_compile_failure_is_distinctA\u0000\u0000\u0000s$\u0000\u0000\u0000�\u0000�\r\u0011�\r\u001e�\r\u001e�|�\r,�\f\u0017�\u000e�\f'�\u0003\u0000\u000e-�\r,�\r,�s\b\u0000\u0000\u0000�\f+\u0003�\u00054\u0007c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0000\u0000\u0000�\u0000d\u0001d\u0002d\u0003i\u0001i\u0001}\u0001|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000d\u0003�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001d\u0001d\u0002d\u0003i\u0001i\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0005N�\u0006nestedr\u001e\u0000\u0000\u0000r\u001d\u0000\u0000\u0000)\u0002rM\u0000\u0000\u0000r\u001e\u0000\u0000\u0000)\u0003r \u0000\u0000\u0000r\n\u0000\u0000\u0000�\bJsonPath)\u0002r\u0017\u0000\u0000\u0000�\u0005values\u0002\u0000\u0000\u0000  r\u001a\u0000\u0000\u0000�$test_path_read_does_not_mutate_valuez6ArchitectureTests.test_path_read_does_not_mutate_valueE\u0000\u0000\u0000sF\u0000\u0000\u0000�\u0000�\u0011\u0019�H�b�>�\u0010*�\u0005�\b\f�\b\u0018�\b\u0018�\u0018�%�\u0018�2F�)G�\u0019H�\"�\bM�\b\f�\b\u0018�\b\u0018�\u0015�\u0018�H�b�>� :�\b;r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0003\u0000\u0000\u0000�Z\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000D\u0000�\u0002c\u0002g\u0000c\u0002]\u0017\u0000\u0000}\u0002t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�\u0019\u0004\u0000c\u0002}\u0002d\bd\ti\u0001d\nd\u000bg\u0002g\u0002�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000c\u0002\u0001\u0000c\u0002}\u0002w\u0000)\fNr+\u0000\u0000\u0000r@\u0000\u0000\u0000z\u0010{\"a\": 1}\n[2, 3]\nTFr-\u0000\u0000\u0000r\u0002\u0000\u0000\u0000�\u0001ar\u000b\u0000\u0000\u0000rE\u0000\u0000\u0000r&\u0000\u0000\u0000)\fr3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r \u0000\u0000\u0000r9\u0000\u0000\u0000r:\u0000\u0000\u0000r;\u0000\u0000\u0000rA\u0000\u0000\u0000rB\u0000\u0000\u0000)\u0003r\u0017\u0000\u0000\u0000r=\u0000\u0000\u0000�\u0004lines\u0003\u0000\u0000\u0000   r\u001a\u0000\u0000\u0000�*test_executable_streams_compact_json_linesz<ArchitectureTests.test_executable_streams_compact_json_linesJ\u0000\u0000\u0000s�\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�C�\f8�\u0012&�\u001b\u001f�\u0011\u0015�\u0012\u0017�\u000b\u0006\u0012\n�\u0006�\u000e\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.�\b\f�\b\u0018�\b\u0018�*0�-�-�*B�*B�*D�\fE�*D�$�T�Z�Z�\u0004�\r\u001d�*D�\fE�\u000e\u0011�1�X�\u0001�1�v�\f\u001e�\u0005\u0003\t\n��\fEs\u0006\u0000\u0000\u0000�=\u001cB(\bc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0003d\u0004�\u0005�\u0004\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0006�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0007Nr+\u0000\u0000\u0000�\u0001xTF)\u0003r/\u0000\u0000\u0000r0\u0000\u0000\u0000r1\u0000\u0000\u0000r&\u0000\u0000\u0000)\br3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r \u0000\u0000\u0000r9\u0000\u0000\u0000r<\u0000\u0000\u0000s\u0002\u0000\u0000\u0000  r\u001a\u0000\u0000\u0000�*test_executable_reports_compile_exit_threez<ArchitectureTests.test_executable_reports_compile_exit_threeX\u0000\u0000\u0000sE\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�C�\f8�\u001b\u001f�\u0011\u0015�\u0012\u0017�\t\u0005\u0012\n�\u0006�\f\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000��\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\b�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000�\tNr+\u0000\u0000\u0000�\u0005errorr,\u0000\u0000\u0000TFr-\u0000\u0000\u0000r'\u0000\u0000\u0000�\u0000)\nr3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r \u0000\u0000\u0000r9\u0000\u0000\u0000�\u000eassertNotEqual�\u0006stderrr<\u0000\u0000\u0000s\u0002\u0000\u0000\u0000  r\u001a\u0000\u0000\u0000�)test_executable_reports_runtime_exit_fivez;ArchitectureTests.test_executable_reports_runtime_exit_fivea\u0000\u0000\u0000s\\\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�G�\f<�\u0012\u001a�\u001b\u001f�\u0011\u0015�\u0012\u0017�\u000b\u0006\u0012\n�\u0006�\u000e\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.�\b\f�\b\u001b�\b\u001b�F�M�M�2�\b.r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�<\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\bg\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\t�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\nNr+\u0000\u0000\u0000z\b1, errorr,\u0000\u0000\u0000TFr-\u0000\u0000\u0000r'\u0000\u0000\u0000�\u00011r[\u0000\u0000\u0000)\fr3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r \u0000\u0000\u0000r9\u0000\u0000\u0000r:\u0000\u0000\u0000r;\u0000\u0000\u0000r\\\u0000\u0000\u0000r]\u0000\u0000\u0000r<\u0000\u0000\u0000s\u0002\u0000\u0000\u0000  r\u001a\u0000\u0000\u0000�1test_runtime_failure_keeps_prior_generator_outputzCArchitectureTests.test_runtime_failure_keeps_prior_generator_outputl\u0000\u0000\u0000s{\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�J�\f?�\u0012\u001a�\u001b\u001f�\u0011\u0015�\u0012\u0017�\u000b\u0006\u0012\n�\u0006�\u000e\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.�\b\f�\b\u0018�\b\u0018�\u0016�\u001d�\u001d�\u00191�\u00191�\u00193�c�U�\b;�\b\f�\b\u001b�\b\u001b�F�M�M�2�\b.r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u001e\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\b�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\b�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000rY\u0000\u0000\u0000)\u000br3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r \u0000\u0000\u0000r9\u0000\u0000\u0000r:\u0000\u0000\u0000r\\\u0000\u0000\u0000r]\u0000\u0000\u0000r<\u0000\u0000\u0000s\u0002\u0000\u0000\u0000  r\u001a\u0000\u0000\u0000�0test_runtime_diagnostic_is_not_written_to_stdoutzBArchitectureTests.test_runtime_diagnostic_is_not_written_to_stdoutx\u0000\u0000\u0000sp\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�G�\f<�\u0012\u001a�\u001b\u001f�\u0011\u0015�\u0012\u0017�\u000b\u0006\u0012\n�\u0006�\u000e\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.�\b\f�\b\u0018�\b\u0018�\u0016�\u001d�\u001d�\u0002�\b+�\b\f�\b\u001b�\b\u001b�F�M�M�2�\b.r$\u0000\u0000\u0000)\u0002�\u0006returnN)\u0010�\b__name__�\n__module__�\f__qualname__r\u001b\u0000\u0000\u0000r#\u0000\u0000\u0000r)\u0000\u0000\u0000r>\u0000\u0000\u0000rC\u0000\u0000\u0000rH\u0000\u0000\u0000rK\u0000\u0000\u0000rP\u0000\u0000\u0000rT\u0000\u0000\u0000rW\u0000\u0000\u0000r^\u0000\u0000\u0000ra\u0000\u0000\u0000rc\u0000\u0000\u0000�\u0000r$\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000\u0012\u0000\u0000\u0000sD\u0000\u0000\u0000�\u0000�\u0002\t\u0005\u0016�\u0016\u0004\u0005.�\f\u0001\u0005?�\u0006\t\u0005G\u0001�\u0016\t\u0005:�\u0016\u0002\u0005-�\b\u0002\u0005(�\b\u0003\u0005<�\n\f\u0005\n�\u001c\u0007\u0005/�\u0012\t\u0005/�\u0016\n\u0005/�\u0018\n\u0005/r$\u0000\u0000\u0000r\u000e\u0000\u0000\u0000�\b__main__)!�\u0007__doc__�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_arrA\u0000\u0000\u0000r3\u0000\u0000\u0000r5\u0000\u0000\u0000�\bunittest�\u0007pathlibr\u0003\u0000\u0000\u0000�\u000ejq_interpreterr\u0004\u0000\u0000\u0000r\u0005\u0000\u0000\u0000r\u0006\u0000\u0000\u0000�\u001bjq_interpreter.architecturer\u0007\u0000\u0000\u0000r\b\u0000\u0000\u0000�\u0016jq_interpreter.runtimer\t\u0000\u0000\u0000�\u0014jq_interpreter.pathsrN\u0000\u0000\u0000r\n\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOTr8\u0000\u0000\u0000�\bTestCaser\u000e\u0000\u0000\u0000re\u0000\u0000\u0000�\u0004mainrh\u0000\u0000\u0000r$\u0000\u0000\u0000r\u001a\u0000\u0000\u0000�\b<module>r|\u0000\u0000\u0000\u0001\u0000\u0000\u0000sv\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u0000C�\u0000\u0000�\u0000�\u000b�\u0000\u0011�\u0000\n�\u0000\u000f�\u0000\u0018�\u0000G�\u0000G�\u0000B�\u00004�\u0000;�\u0007\u000b�H�~�\u0007\u001d�\u0007\u001d�a�\u0007 �\u0004�\r\u0011�D�[�\n�\u0006p\u0001\u0001/�\b�\u0018)�\u0018)�\u0000p\u0001\u0001/�f\u0003\u0000\u0004\f�z�\u0003\u0019�\u0004\u0011�H�M�M�O�\u0003\u0000\u0004\u001ar$\u0000\u0000\u0000tests/__pycache__/test_conformance_assets.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000U�j�\u0006\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004\u0002\u0000\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0003l\tm\nZ\n\u0001\u0000e\ne\u000b�\u0001j\fd\u0004\u0019\u0000Z\re\rd\u0005\u001b\u0000Z\u000ee\u0007j\u000f�\u0010d\u0001e\u0011e\u000e�\u0001�\u0002\u0001\u0000d\u0001d\u0002l\u0012Z\u0013G\u0000d\u0006d\u0007�\u0000d\u0007e\bj\u0014�\u0003Z\u0015e\u0016d\bk\u0002rHe\b�\u0017�\u0000\u0001\u0000d\u0002S\u0000d\u0002S\u0000)\tzBIn-process validation for the immutable conformance asset staging.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000�\u0007sourcesc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000@\u0000\u0000\u0000s*\u0000\u0000\u0000e\u0000Z\u0001d\u0000Z\u0002d\td\u0003d\u0004�\u0004Z\u0003d\td\u0005d\u0006�\u0004Z\u0004d\td\u0007d\b�\u0004Z\u0005d\u0002S\u0000)\n�\u0015ConformanceAssetTests�\u0006returnNc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0006\u0000\u0000\u0000C\u0000\u0000\u0000sL\u0000\u0000\u0000t\u0000�\u0001t\u0000j\u0002j\u0003d\u0001d\u0002�\u0001�\u0001}\u0001t\u0000�\u0004|\u0001t\u0000�\u0005t\u0000j\u0006�\u0001�\u0002}\u0002|\u0000�\u0007t\b|\u0001�\u0001d\u0003�\u0002\u0001\u0000|\u0000�\u0007t\b|\u0002�\u0001d\u0004�\u0002\u0001\u0000d\u0000S\u0000)\u0005Nz\u0005utf-8)\u0001�\bencodingi&\u0002\u0000\u0000�\r\u0000\u0000\u0000)\t�\u0007harness�\fparse_corpus�\u0006CORPUS�\tread_text�\u0010apply_exclusions�\u0010parse_exclusions�\nEXCLUSIONS�\u000bassertEqual�\u0003len)\u0003�\u0004self�\u0005cases�\bexcluded�\u0000r\u0015\u0000\u0000\u0000�i/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_conformance_assets.py�0test_pinned_corpus_and_exclusions_are_consistent\u0010\u0000\u0000\u0000s\u000e\u0000\u0000\u0000\u0014\u0001\u0004\u0001\u0002\u0001\n\u0001\u0004�\u0010\u0005\u0014\u0001zFConformanceAssetTests.test_pinned_corpus_and_exclusions_are_consistentc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0005\u0000\u0000\u0000C\u0000\u0000\u0000sf\u0000\u0000\u0000|\u0000�\u0000t\u0001d\u0001\u001b\u0000�\u0002�\u0000�\u0001\u0001\u0000|\u0000�\u0000t\u0001d\u0002\u001b\u0000�\u0002�\u0000�\u0001\u0001\u0000|\u0000�\u0000t\u0001d\u0003\u001b\u0000�\u0002�\u0000�\u0001\u0001\u0000|\u0000�\u0003t\u0004j\u0005t\u0001d\u0001\u001b\u0000�\u0006�\u0000�\u0002\u0001\u0000|\u0000�\u0003t\u0004j\u0007t\u0001d\u0002\u001b\u0000�\u0006�\u0000�\u0002\u0001\u0000d\u0000S\u0000)\u0004N�\u0007jq.test�\u000eexclusions.txt�\u0012run_conformance.py)\b�\nassertTrue�\u0007SOURCES�\u0007is_filer\u0010\u0000\u0000\u0000r\t\u0000\u0000\u0000r\u000b\u0000\u0000\u0000�\u0007resolver\u000f\u0000\u0000\u0000)\u0001r\u0012\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�(test_harness_uses_staged_canonical_paths\u001a\u0000\u0000\u0000s\n\u0000\u0000\u0000\u0012\u0001\u0012\u0001\u0012\u0001\u0016\u0001\u001a\u0001z>ConformanceAssetTests.test_harness_uses_staged_canonical_pathsc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0005\u0000\u0000\u0000C\u0000\u0000\u0000sF\u0000\u0000\u0000h\u0000d\u0001�\u0001}\u0001|\u0000�\u0000d\u0002d\u0003�\u0000t\u0001�\u0002�\u0000D\u0000�\u0001|\u0001�\u0002\u0001\u0000|\u0001D\u0000]\r}\u0002|\u0000�\u0003t\u0001|\u0002\u001b\u0000�\u0004�\u0000j\u0005d\u0004�\u0002\u0001\u0000q\u0013d\u0000S\u0000)\u0005N>\b\u0000\u0000\u0000�\u0007lexer.l�\bparser.y�\nbuiltin.jq�\ffull_test.sh�\rjq-manual.txtr\u0018\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0004\u0000\u0000\u0000S\u0000\u0000\u0000s\u001a\u0000\u0000\u0000h\u0000|\u0000]\t}\u0001|\u0001�\u0000�\u0000r\u0002|\u0001j\u0001�\u0002q\u0002S\u0000r\u0015\u0000\u0000\u0000)\u0002r\u001d\u0000\u0000\u0000�\u0004name)\u0002�\u0002.0�\u0004pathr\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�\t<setcomp>-\u0000\u0000\u0000s\u0002\u0000\u0000\u0000\u001a\u0000zSConformanceAssetTests.test_all_imported_asset_files_are_nonempty.<locals>.<setcomp>r\u0001\u0000\u0000\u0000)\u0006r\u0010\u0000\u0000\u0000r\u001c\u0000\u0000\u0000�\u0007iterdir�\rassertGreater�\u0004stat�\u0007st_size)\u0003r\u0012\u0000\u0000\u0000�\bexpectedr%\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�*test_all_imported_asset_files_are_nonempty!\u0000\u0000\u0000s\u0010\u0000\u0000\u0000\b\u0001\u0004\n\u0010\u0001\u0002\u0001\u0004�\b\u0004\u0018\u0001\u0004�z@ConformanceAssetTests.test_all_imported_asset_files_are_nonempty)\u0002r\u0006\u0000\u0000\u0000N)\u0006�\b__name__�\n__module__�\f__qualname__r\u0017\u0000\u0000\u0000r\u001f\u0000\u0000\u0000r.\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000r\u0005\u0000\u0000\u0000\u000f\u0000\u0000\u0000s\b\u0000\u0000\u0000\b\u0000\n\u0001\n\n\u000e\u0007r\u0005\u0000\u0000\u0000�\b__main__)\u0018�\u0007__doc__�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_ar�\u0003sys�\bunittest�\u0007pathlibr\u0002\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOTr\u001c\u0000\u0000\u0000r'\u0000\u0000\u0000�\u0006insert�\u0003str�\u000frun_conformancer\t\u0000\u0000\u0000�\bTestCaser\u0005\u0000\u0000\u0000r/\u0000\u0000\u0000�\u0004mainr\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�\b<module>\u0001\u0000\u0000\u0000s\u0018\u0000\u0000\u0000\u0004\u0000\"\u0002\b\u0001\f\u0001\u000e\u0003\b\u0001\u0012\u0001\b\u0002\u0012\u0003\b%\f\u0001\u0004�tests/__pycache__/test_conformance_assets.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000U�j�\u0006\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0016\u0001\u0000\u0000�\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004c\u0002\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0003l\tm\nZ\n\u0001\u0000\u0002\u0000e\ne\u000b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004\u0019\u0000\u0000\u0000Z\re\rd\u0005z\u000b\u0000\u0000Z\u000ee\u0007j\u001e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j!\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001\u0002\u0000e\u0011e\u000e�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000d\u0001d\u0002l\u0012Z\u0013\u0002\u0000G\u0000d\u0006�\u0000d\u0007e\bj(\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0003\u0000\u0000\u0000\u0000\u0000\u0000Z\u0015e\u0016d\bk(\u0000\u0000r\u0012\u0002\u0000e\bj.\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0002y\u0002)\tzBIn-process validation for the immutable conformance asset staging.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000�\u0007sourcesc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000�$\u0000\u0000\u0000�\u0000e\u0000Z\u0001d\u0000Z\u0002d\u0005d\u0002�\u0004Z\u0003d\u0005d\u0003�\u0004Z\u0004d\u0005d\u0004�\u0004Z\u0005y\u0001)\u0006�\u0015ConformanceAssetTestsNc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000�D\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0001t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0002|\u0000j\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0003�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0004�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0005Nz\u0005utf-8)\u0001�\bencodingi&\u0002\u0000\u0000�\r\u0000\u0000\u0000)\t�\u0007harness�\fparse_corpus�\u0006CORPUS�\tread_text�\u0010apply_exclusions�\u0010parse_exclusions�\nEXCLUSIONS�\u000bassertEqual�\u0003len)\u0003�\u0004self�\u0005cases�\bexcludeds\u0003\u0000\u0000\u0000   �i/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_conformance_assets.py�0test_pinned_corpus_and_exclusions_are_consistentzFConformanceAssetTests.test_pinned_corpus_and_exclusions_are_consistent\u0010\u0000\u0000\u0000su\u0000\u0000\u0000�\u0000�\u0010\u0017�\u0010$�\u0010$�W�^�^�%=�%=�w�%=�%O�\u0010P�\u0005�\u0013\u001a�\u0013+�\u0013+�\f\u0011�\f\u0013�\f$�\f$�W�%7�%7�\f8�\u0005\u0003\u0014\n�\b�\n\u0000\t\r�\b\u0018�\b\u0018�\u0013�U�\u001a�S�\b)�\b\f�\b\u0018�\b\u0018�\u0013�X�\u001d�\u0002�\b+�\u0000\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0001\u0000\u0000�\u0000|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001z\u000b\u0000\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002z\u000b\u0000\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003z\u000b\u0000\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001z\u000b\u0000\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002z\u000b\u0000\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0004N�\u0007jq.test�\u000eexclusions.txt�\u0012run_conformance.py)\b�\nassertTrue�\u0007SOURCES�\u0007is_filer\u0012\u0000\u0000\u0000r\u000b\u0000\u0000\u0000r\r\u0000\u0000\u0000�\u0007resolver\u0011\u0000\u0000\u0000)\u0001r\u0014\u0000\u0000\u0000s\u0001\u0000\u0000\u0000 r\u0017\u0000\u0000\u0000�(test_harness_uses_staged_canonical_pathsz>ConformanceAssetTests.test_harness_uses_staged_canonical_paths\u001a\u0000\u0000\u0000s�\u0000\u0000\u0000�\u0000�\b\f�\u000f�\u000f�\u0017�9�\u0019,�\u00185�\u00185�\u00187�\b8�\b\f�\u000f�\u000f�\u0017�#3�\u00193�\u0018<�\u0018<�\u0018>�\b?�\b\f�\u000f�\u000f�\u0017�#7�\u00197�\u0018@�\u0018@�\u0018B�\bC�\b\f�\b\u0018�\b\u0018�\u0017�\u001e�\u001e�'�I�*=�)F�)F�)H�\bI�\b\f�\b\u0018�\b\u0018�\u0017�\u0019+�\u0019+�g�8H�.H�-Q�-Q�-S�\bTr\u0019\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000� \u0001\u0000\u0000�\u0000h\u0000d\u0001�\u0001}\u0001|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000D\u0000�\u0002c\u0002h\u0000c\u0002]\u001f\u0000\u0000}\u0002|\u0002j\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000s\u0001�\u0014|\u0002j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�!\u0004\u0000c\u0002}\u0002|\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0001D\u0000]3\u0000\u0000}\u0003|\u0000j\u000b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003z\u000b\u0000\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000�5\u0004\u0000y\u0000c\u0002\u0001\u0000c\u0002}\u0002w\u0000)\u0003N>\b\u0000\u0000\u0000�\u0007lexer.l�\bparser.y�\nbuiltin.jq�\ffull_test.sh�\rjq-manual.txtr\u001b\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000r\u0002\u0000\u0000\u0000)\br\u0012\u0000\u0000\u0000r\u001f\u0000\u0000\u0000�\u0007iterdirr \u0000\u0000\u0000�\u0004name�\rassertGreater�\u0004stat�\u0007st_size)\u0004r\u0014\u0000\u0000\u0000�\bexpected�\u0004pathr*\u0000\u0000\u0000s\u0004\u0000\u0000\u0000    r\u0017\u0000\u0000\u0000�*test_all_imported_asset_files_are_nonemptyz@ConformanceAssetTests.test_all_imported_asset_files_are_nonempty!\u0000\u0000\u0000sx\u0000\u0000\u0000�\u0000�\u0002\t\u0014\n�\b�\u0014\u0000\t\r�\b\u0018�\b\u0018�#*�?�?�#4�\fG�#4�4�\u0004�\f�\f�\u000e�T�Y�Y�#4�\fG�\f\u0014�\u0005\u0003\t\n�\b\u0000\u0015\u001d�D�\f\u0010�\f\u001e�\f\u001e�\u0007�$�\u000e�\u001f4�\u001f4�\u001f6�\u001f>�\u001f>�\u0001�\fB�\u0003\u0000\u0015\u001d��\u0007\u0000\rH\u0001s\n\u0000\u0000\u0000�\u0015B\u000b\b�\u000eB\u000b\b)\u0002�\u0006returnN)\u0006�\b__name__�\n__module__�\f__qualname__r\u0018\u0000\u0000\u0000r\"\u0000\u0000\u0000r0\u0000\u0000\u0000�\u0000r\u0019\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000\u000f\u0000\u0000\u0000s\u0013\u0000\u0000\u0000�\u0000�\u0002\b\u0005,�\u0014\u0005\u0005U\u0001�\u000e\u0010\u0005C\u0001r\u0019\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\b__main__)\u0018�\u0007__doc__�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_ar�\u0003sys�\bunittest�\u0007pathlibr\u0003\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOTr\u001f\u0000\u0000\u0000r/\u0000\u0000\u0000�\u0006insert�\u0003str�\u000frun_conformancer\u000b\u0000\u0000\u0000�\bTestCaser\u0007\u0000\u0000\u0000r2\u0000\u0000\u0000�\u0004mainr5\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r\u0017\u0000\u0000\u0000�\b<module>rI\u0000\u0000\u0000\u0001\u0000\u0000\u0000s}\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u0000H�\u0000\u0000�\u0000�\n�\u0000\u000f�\u0000\u0018�\u0006\u0000\b\f�H�~�\u0007\u001d�\u0007\u001d�a�\u0007 �\u0004�\n\u000e�\u0019�\n\u001a�\u0007�\u0000\u0003�\b�\b�\u000f�\u000f�\u0001�3�w�<�\u0000 �\u0000!�\u0006\"\u0001C\u0001�H�\u001c-�\u001c-�\u0000\"\u0001C\u0001�J\u0001\u0000\u0004\f�z�\u0003\u0019�\u0004\u0011�H�M�M�O�\u0003\u0000\u0004\u001ar\u0019\u0000\u0000\u0000tests/__pycache__/test_conf_001_acceptance.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000N��j\u0016\u0003\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004\u0002\u0000\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0003l\tm\nZ\n\u0001\u0000e\ne\u000b�\u0001j\fd\u0004\u0019\u0000Z\re\u0007j\u000e�\u000fd\u0001e\u0010e\rd\u0005\u001b\u0000�\u0001�\u0002\u0001\u0000d\u0001d\u0002l\u0011Z\u0012G\u0000d\u0006d\u0007�\u0000d\u0007e\bj\u0013�\u0003Z\u0014e\u0015d\bk\u0002rFe\b�\u0016�\u0000\u0001\u0000d\u0002S\u0000d\u0002S\u0000)\tz2Acceptance coverage for conformance asset staging.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000�\u0007sourcesc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000@\u0000\u0000\u0000s\u0016\u0000\u0000\u0000e\u0000Z\u0001d\u0000Z\u0002d\u0005d\u0003d\u0004�\u0004Z\u0003d\u0002S\u0000)\u0006�\u0016Conf001AcceptanceTests�\u0006returnNc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0006\u0000\u0000\u0000C\u0000\u0000\u0000sl\u0000\u0000\u0000t\u0000�\u0001t\u0000j\u0002j\u0003d\u0001d\u0002�\u0001�\u0001}\u0001t\u0000�\u0004|\u0001t\u0000�\u0005t\u0000j\u0006�\u0001�\u0002}\u0002|\u0000�\u0007t\b|\u0001�\u0001d\u0003�\u0002\u0001\u0000|\u0000�\u0007t\b|\u0002�\u0001d\u0004�\u0002\u0001\u0000|\u0000�\tt\u0000j\u0002�\n�\u0000�\u0001\u0001\u0000|\u0000�\tt\u0000j\u0006�\n�\u0000�\u0001\u0001\u0000d\u0000S\u0000)\u0005Nz\u0005utf-8)\u0001�\bencodingi&\u0002\u0000\u0000�\r\u0000\u0000\u0000)\u000b�\u0007harness�\fparse_corpus�\u0006CORPUS�\tread_text�\u0010apply_exclusions�\u0010parse_exclusions�\nEXCLUSIONS�\u000bassertEqual�\u0003len�\nassertTrue�\u0007is_file)\u0003�\u0004self�\u0005cases�\bexcluded�\u0000r\u0017\u0000\u0000\u0000�j/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_conf_001_acceptance.py�(test_authoritative_corpus_and_exclusions\u000f\u0000\u0000\u0000s\u0012\u0000\u0000\u0000\u0014\u0001\u0004\u0001\u0002\u0001\n\u0001\u0004�\u0010\u0005\u0010\u0001\u0010\u0001\u0014\u0001z?Conf001AcceptanceTests.test_authoritative_corpus_and_exclusions)\u0002r\u0006\u0000\u0000\u0000N)\u0004�\b__name__�\n__module__�\f__qualname__r\u0019\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u0005\u0000\u0000\u0000\u000e\u0000\u0000\u0000s\u0004\u0000\u0000\u0000\b\u0000\u000e\u0001r\u0005\u0000\u0000\u0000�\b__main__)\u0017�\u0007__doc__�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_ar�\u0003sys�\bunittest�\u0007pathlibr\u0002\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOT�\u0004path�\u0006insert�\u0003str�\u000frun_conformancer\t\u0000\u0000\u0000�\bTestCaser\u0005\u0000\u0000\u0000r\u001a\u0000\u0000\u0000�\u0004mainr\u0017\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0018\u0000\u0000\u0000�\b<module>\u0001\u0000\u0000\u0000s\u0016\u0000\u0000\u0000\u0004\u0000\"\u0002\b\u0001\f\u0001\u000e\u0003\u0016\u0001\b\u0002\u0012\u0003\b\u000e\f\u0001\u0004�tests/__pycache__/test_conf_001_acceptance.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000N��j\u0016\u0003\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0012\u0001\u0000\u0000�\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004c\u0002\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0003l\tm\nZ\n\u0001\u0000\u0002\u0000e\ne\u000b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004\u0019\u0000\u0000\u0000Z\re\u0007j\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u001f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001\u0002\u0000e\u0010e\rd\u0005z\u000b\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000d\u0001d\u0002l\u0011Z\u0012\u0002\u0000G\u0000d\u0006�\u0000d\u0007e\bj&\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0003\u0000\u0000\u0000\u0000\u0000\u0000Z\u0014e\u0015d\bk(\u0000\u0000r\u0012\u0002\u0000e\bj,\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0002y\u0002)\tz2Acceptance coverage for conformance asset staging.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000�\u0007sourcesc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0014\u0000\u0000\u0000�\u0000e\u0000Z\u0001d\u0000Z\u0002d\u0003d\u0002�\u0004Z\u0003y\u0001)\u0004�\u0016Conf001AcceptanceTestsNc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000��\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0001t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0002|\u0000j\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0003�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0004�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0005Nz\u0005utf-8)\u0001�\bencodingi&\u0002\u0000\u0000�\r\u0000\u0000\u0000)\u000b�\u0007harness�\fparse_corpus�\u0006CORPUS�\tread_text�\u0010apply_exclusions�\u0010parse_exclusions�\nEXCLUSIONS�\u000bassertEqual�\u0003len�\nassertTrue�\u0007is_file)\u0003�\u0004self�\u0005cases�\bexcludeds\u0003\u0000\u0000\u0000   �j/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_conf_001_acceptance.py�(test_authoritative_corpus_and_exclusionsz?Conf001AcceptanceTests.test_authoritative_corpus_and_exclusions\u000f\u0000\u0000\u0000s�\u0000\u0000\u0000�\u0000�\u0010\u0017�\u0010$�\u0010$�W�^�^�%=�%=�w�%=�%O�\u0010P�\u0005�\u0013\u001a�\u0013+�\u0013+�\f\u0011�\f\u0013�\f$�\f$�W�%7�%7�\f8�\u0005\u0003\u0014\n�\b�\n\u0000\t\r�\b\u0018�\b\u0018�\u0013�U�\u001a�S�\b)�\b\f�\b\u0018�\b\u0018�\u0013�X�\u001d�\u0002�\b+�\b\f�\u000f�\u000f�\u0007�\u000e�\u000e�\u0018.�\u0018.�\u00180�\b1�\b\f�\u000f�\u000f�\u0007�\u0018*�\u0018*�\u00182�\u00182�\u00184�\b5�\u0000\u0000\u0000\u0000)\u0002�\u0006returnN)\u0004�\b__name__�\n__module__�\f__qualname__r\u001a\u0000\u0000\u0000�\u0000r\u001b\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000\u000e\u0000\u0000\u0000s\u0007\u0000\u0000\u0000�\u0000�\u0002\n\u00056r\u001b\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\b__main__)\u0017�\u0007__doc__�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_ar�\u0003sys�\bunittest�\u0007pathlibr\u0003\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOT�\u0004path�\u0006insert�\u0003str�\u000frun_conformancer\u000b\u0000\u0000\u0000�\bTestCaser\u0007\u0000\u0000\u0000r\u001d\u0000\u0000\u0000�\u0004mainr \u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u0019\u0000\u0000\u0000�\b<module>r5\u0000\u0000\u0000\u0001\u0000\u0000\u0000sv\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u00008�\u0000\u0000�\u0000�\n�\u0000\u000f�\u0000\u0018�\u0006\u0000\b\f�H�~�\u0007\u001d�\u0007\u001d�a�\u0007 �\u0004�\u0000\u0003�\b�\b�\u000f�\u000f�\u0001�3�t�i�\u0017'�\u0013(�\u0000)�\u0000!�\u0006\u000b\u00016�X�\u001d.�\u001d.�\u0000\u000b\u00016�\u001c\u0000\u0004\f�z�\u0003\u0019�\u0004\u0011�H�M�M�O�\u0003\u0000\u0004\u001ar\u001b\u0000\u0000\u0000tests/__pycache__/test_json_io.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000���j�\u0005\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004\u0002\u0000\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0003l\tm\nZ\n\u0001\u0000e\ne\u000b�\u0001j\fd\u0004\u0019\u0000Z\re\rd\u0005\u001b\u0000Z\u000ed\u0006e\u000fd\u0007e\u000fd\be\bj\u0010e\u000f\u0019\u0000f\u0006d\td\n�\u0004Z\u0011d\u0013d\u000bd\f�\u0004Z\u0012d\u0013d\rd\u000e�\u0004Z\u0013d\u0013d\u000fd\u0010�\u0004Z\u0014d\u0013d\u0011d\u0012�\u0004Z\u0015d\u0002S\u0000)\u0014z=Acceptance coverage for JSON stream input and compact output.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000�\u0002jq�\u0007program�\ninput_text�\u0006returnc\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000s\u001e\u0000\u0000\u0000t\u0000j\u0001t\u0002t\u0003�\u0001d\u0001|\u0000g\u0003|\u0001d\u0002d\u0002d\u0003d\u0004�\u0005S\u0000)\u0005Nz\u0002-cTF)\u0004�\u0005input�\u000ecapture_output�\u0004text�\u0005check)\u0004�\nsubprocess�\u0003run�\u0003str�\nEXECUTABLE)\u0002r\u0005\u0000\u0000\u0000r\u0006\u0000\u0000\u0000�\u0000r\u0010\u0000\u0000\u0000�^/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_json_io.py�\u0006run_jq\f\u0000\u0000\u0000s\u000e\u0000\u0000\u0000\u0004\u0001\f\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�r\u0012\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0000\u0000\u0000\n\u0000\u0000\u0000C\u0000\u0000\u0000s�\u0001\u0000\u0000d\u0001}\u0000t\u0000d\u0002|\u0000�\u0002}\u0001|\u0001j\u0001}\u0002d\u0003}\u0003|\u0002|\u0003k\u0002}\u0004|\u0004sFt\u0002�\u0003d\u0004|\u0004f\u0001d\u0005|\u0002|\u0003f\u0002�\u0004d\u0006t\u0004�\u0005�\u0000v\u0000s't\u0002�\u0006|\u0001�\u0001r,t\u0002�\u0007|\u0001�\u0001n\u0001d\u0006t\u0002�\u0007|\u0002�\u0001t\u0002�\u0007|\u0003�\u0001d\u0007�\u0003\u0016\u0000}\u0005d\bd\t|\u0005i\u0001\u0016\u0000}\u0006t\bt\u0002�\t|\u0006�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0002\u0004\u0000}\u0004}\u0003|\u0001j\n}\u0002|\u0002j\u000b}\u0004|\u0004�\u0000}\u0007|\u0000j\u000b}\b|\b�\u0000}\t|\u0007|\tk\u0002}\n|\ns�t\u0002�\u0003d\u0004|\nf\u0001d\n|\u0007|\tf\u0002�\u0004d\u0006t\u0004�\u0005�\u0000v\u0000svt\u0002�\u0006|\u0001�\u0001r{t\u0002�\u0007|\u0001�\u0001n\u0001d\u0006t\u0002�\u0007|\u0002�\u0001t\u0002�\u0007|\u0004�\u0001t\u0002�\u0007|\u0007�\u0001d\u000bt\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006|\u0000�\u0001r�t\u0002�\u0007|\u0000�\u0001n\u0001d\u000bt\u0002�\u0007|\b�\u0001t\u0002�\u0007|\t�\u0001d\f�\u0007\u0016\u0000}\u000bd\rd\u000e|\u000bi\u0001\u0016\u0000}\ft\bt\u0002�\t|\f�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0002\u0004\u0000}\u0004\u0004\u0000}\u0007\u0004\u0000}\n\u0004\u0000}\b}\td\u0000S\u0000)\u000fNz\u00061\n2\n3\n�\u0001.r\u0001\u0000\u0000\u0000�\u0001�\u0002==�\u0001z2%(py2)s\n{%(py2)s = %(py0)s.returncode\n} == %(py5)s�\u0006result�\u0003�\u0003py0�\u0003py2�\u0003py5�\u000eassert %(py7)s�\u0003py7)\u0001z�%(py6)s\n{%(py6)s = %(py4)s\n{%(py4)s = %(py2)s\n{%(py2)s = %(py0)s.stdout\n}.splitlines\n}()\n} == %(py12)s\n{%(py12)s = %(py10)s\n{%(py10)s = %(py8)s.splitlines\n}()\n}�\u0006inputs)\u0007r\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000�\u0003py4�\u0003py6�\u0003py8�\u0004py10�\u0004py12�\u000fassert %(py14)s�\u0004py14�\fr\u0012\u0000\u0000\u0000�\nreturncode�\n@pytest_ar�\u0011_call_reprcompare�\f@py_builtins�\u0006locals�\u0018_should_repr_global_name�\t_saferepr�\u000eAssertionError�\u0013_format_explanation�\u0006stdout�\nsplitlines)\rr\u001e\u0000\u0000\u0000r\u0017\u0000\u0000\u0000�\u000b@py_assert1�\u000b@py_assert4�\u000b@py_assert3�\u000b@py_format6�\u000b@py_format8�\u000b@py_assert5�\u000b@py_assert9�\f@py_assert11�\u000b@py_assert7�\f@py_format13�\f@py_format15r\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�1test_multiple_input_values_are_processed_in_order\u0016\u0000\u0000\u0000s\b\u0000\u0000\u0000\u0004\u0001\n\u0001�\u0001�\u0001r=\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0000\u0000\u0000\b\u0000\u0000\u0000C\u0000\u0000\u0000sJ\u0001\u0000\u0000t\u0000d\u0001d\u0002�\u0002}\u0000|\u0000j\u0001}\u0001d\u0003}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003sDt\u0002�\u0003d\u0004|\u0003f\u0001d\u0005|\u0001|\u0002f\u0002�\u0004d\u0006t\u0004�\u0005�\u0000v\u0000s%t\u0002�\u0006|\u0000�\u0001r*t\u0002�\u0007|\u0000�\u0001n\u0001d\u0006t\u0002�\u0007|\u0001�\u0001t\u0002�\u0007|\u0002�\u0001d\u0007�\u0003\u0016\u0000}\u0004d\bd\t|\u0004i\u0001\u0016\u0000}\u0005t\bt\u0002�\t|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002|\u0000j\n}\u0001|\u0001j\u000b}\u0003|\u0003�\u0000}\u0006g\u0000d\n�\u0001}\u0007|\u0006|\u0007k\u0002}\b|\bs�t\u0002�\u0003d\u0004|\bf\u0001d\u000b|\u0006|\u0007f\u0002�\u0004d\u0006t\u0004�\u0005�\u0000v\u0000srt\u0002�\u0006|\u0000�\u0001rwt\u0002�\u0007|\u0000�\u0001n\u0001d\u0006t\u0002�\u0007|\u0001�\u0001t\u0002�\u0007|\u0003�\u0001t\u0002�\u0007|\u0006�\u0001t\u0002�\u0007|\u0007�\u0001d\f�\u0005\u0016\u0000}\td\rd\u000e|\ti\u0001\u0016\u0000}\nt\bt\u0002�\t|\n�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003\u0004\u0000}\u0006\u0004\u0000}\b}\u0007d\u0000S\u0000)\u000fNz\u0003.[]z\b[1,2,3]\nr\u0001\u0000\u0000\u0000r\u0014\u0000\u0000\u0000r\u0016\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000)\u0003�\u00011�\u00012�\u00013)\u0001ze%(py6)s\n{%(py6)s = %(py4)s\n{%(py4)s = %(py2)s\n{%(py2)s = %(py0)s.stdout\n}.splitlines\n}()\n} == %(py9)s)\u0005r\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001f\u0000\u0000\u0000r \u0000\u0000\u0000�\u0003py9z\u000fassert %(py11)s�\u0004py11r&\u0000\u0000\u0000)\u000br\u0017\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000�\u000b@py_assert8r:\u0000\u0000\u0000�\f@py_format10�\f@py_format12r\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�6test_generator_outputs_preserve_order_and_multiplicity\u001d\u0000\u0000\u0000s\u0006\u0000\u0000\u0000\n\u0001�\u0001�\u0001rF\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\f\u0000\u0000\u0000C\u0000\u0000\u0000s�\u0002\u0000\u0000d\u0001}\u0000t\u0000d\u0002|\u0000�\u0002}\u0001|\u0001j\u0001}\u0002d\u0003}\u0003|\u0002|\u0003k\u0002}\u0004|\u0004sFt\u0002�\u0003d\u0004|\u0004f\u0001d\u0005|\u0002|\u0003f\u0002�\u0004d\u0006t\u0004�\u0005�\u0000v\u0000s't\u0002�\u0006|\u0001�\u0001r,t\u0002�\u0007|\u0001�\u0001n\u0001d\u0006t\u0002�\u0007|\u0002�\u0001t\u0002�\u0007|\u0003�\u0001d\u0007�\u0003\u0016\u0000}\u0005d\bd\t|\u0005i\u0001\u0016\u0000}\u0006t\bt\u0002�\t|\u0006�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0002\u0004\u0000}\u0004}\u0003t\nj\u000b}\u0002|\u0001j\f}\u0003|\u0002|\u0003�\u0001}\u0007t\nj\u000b}\b|\b|\u0000�\u0001}\t|\u0007|\tk\u0002}\n|\ns�t\u0002�\u0003d\u0004|\nf\u0001d\n|\u0007|\tf\u0002�\u0004d\u000bt\u0004�\u0005�\u0000v\u0000sxt\u0002�\u0006t\n�\u0001r}t\u0002�\u0007t\n�\u0001n\u0001d\u000bt\u0002�\u0007|\u0002�\u0001d\u0006t\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006|\u0001�\u0001r�t\u0002�\u0007|\u0001�\u0001n\u0001d\u0006t\u0002�\u0007|\u0003�\u0001t\u0002�\u0007|\u0007�\u0001d\u000bt\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006t\n�\u0001r�t\u0002�\u0007t\n�\u0001n\u0001d\u000bt\u0002�\u0007|\b�\u0001d\ft\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006|\u0000�\u0001r�t\u0002�\u0007|\u0000�\u0001n\u0001d\ft\u0002�\u0007|\t�\u0001d\r�\t\u0016\u0000}\u000bd\u000ed\u000f|\u000bi\u0001\u0016\u0000}\ft\bt\u0002�\t|\f�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0002\u0004\u0000}\u0003\u0004\u0000}\u0007\u0004\u0000}\n\u0004\u0000}\b}\t|\u0001j\f}\r|\rj\r}\u0003|\u0003�\u0000}\u0007t\u000e|\u0007�\u0001}\nd\u0010}\u000e|\n|\u000ek\u0002}\b|\b�\u0001sMt\u0002�\u0003d\u0004|\bf\u0001d\u0011|\n|\u000ef\u0002�\u0004d\u0012t\u0004�\u0005�\u0000v\u0000�\u0001s\u000ft\u0002�\u0006t\u000e�\u0001�\u0001r\u0014t\u0002�\u0007t\u000e�\u0001n\u0001d\u0012d\u0006t\u0004�\u0005�\u0000v\u0000�\u0001s\"t\u0002�\u0006|\u0001�\u0001�\u0001r't\u0002�\u0007|\u0001�\u0001n\u0001d\u0006t\u0002�\u0007|\r�\u0001t\u0002�\u0007|\u0003�\u0001t\u0002�\u0007|\u0007�\u0001t\u0002�\u0007|\n�\u0001t\u0002�\u0007|\u000e�\u0001d\u0013�\u0007\u0016\u0000}\u000fd\u0014d\u0015|\u000fi\u0001\u0016\u0000}\u000bt\bt\u0002�\t|\u000b�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\r\u0004\u0000}\u0003\u0004\u0000}\u0007\u0004\u0000}\n\u0004\u0000}\b}\u000ed\u0000S\u0000)\u0016Nz\u0016{\"a\": 1, \"b\": [2, 3]}\nr\u0013\u0000\u0000\u0000r\u0001\u0000\u0000\u0000r\u0014\u0000\u0000\u0000r\u0016\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000)\u0001z�%(py7)s\n{%(py7)s = %(py2)s\n{%(py2)s = %(py0)s.loads\n}(%(py5)s\n{%(py5)s = %(py3)s.stdout\n})\n} == %(py14)s\n{%(py14)s = %(py11)s\n{%(py11)s = %(py9)s.loads\n}(%(py12)s)\n}�\u0004jsonr\u0006\u0000\u0000\u0000)\tr\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000�\u0003py3r\u001b\u0000\u0000\u0000r\u001d\u0000\u0000\u0000rA\u0000\u0000\u0000rB\u0000\u0000\u0000r#\u0000\u0000\u0000r%\u0000\u0000\u0000z\u000fassert %(py16)s�\u0004py16r\u0003\u0000\u0000\u0000)\u0001z�%(py9)s\n{%(py9)s = %(py0)s(%(py7)s\n{%(py7)s = %(py5)s\n{%(py5)s = %(py3)s\n{%(py3)s = %(py1)s.stdout\n}.splitlines\n}()\n})\n} == %(py12)s�\u0003len)\u0007r\u0019\u0000\u0000\u0000�\u0003py1rH\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u001d\u0000\u0000\u0000rA\u0000\u0000\u0000r#\u0000\u0000\u0000r$\u0000\u0000\u0000r%\u0000\u0000\u0000)\u000fr\u0012\u0000\u0000\u0000r'\u0000\u0000\u0000r(\u0000\u0000\u0000r)\u0000\u0000\u0000r*\u0000\u0000\u0000r+\u0000\u0000\u0000r,\u0000\u0000\u0000r-\u0000\u0000\u0000r.\u0000\u0000\u0000r/\u0000\u0000\u0000rG\u0000\u0000\u0000�\u0005loadsr0\u0000\u0000\u0000r1\u0000\u0000\u0000rJ\u0000\u0000\u0000)\u0010r\u0006\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000�\u000b@py_assert6�\f@py_assert10�\f@py_assert13rC\u0000\u0000\u0000r<\u0000\u0000\u0000�\f@py_format17�\u000b@py_assert2r9\u0000\u0000\u0000r;\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�)test_objects_are_compact_single_line_json#\u0000\u0000\u0000s\f\u0000\u0000\u0000\u0004\u0001\n\u0001�\u0001�\u0001.\u0000�\u0001rR\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000s\u001a\u0001\u0000\u0000t\u0000d\u0001d\u0002�\u0002}\u0000|\u0000j\u0001}\u0001d\u0003}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003sDt\u0002�\u0003d\u0004|\u0003f\u0001d\u0005|\u0001|\u0002f\u0002�\u0004d\u0006t\u0004�\u0005�\u0000v\u0000s%t\u0002�\u0006|\u0000�\u0001r*t\u0002�\u0007|\u0000�\u0001n\u0001d\u0006t\u0002�\u0007|\u0001�\u0001t\u0002�\u0007|\u0002�\u0001d\u0007�\u0003\u0016\u0000}\u0004d\bd\t|\u0004i\u0001\u0016\u0000}\u0005t\bt\u0002�\t|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002d\nd\u000b�\u0000|\u0000j\n�\u000b�\u0000D\u0000�\u0001}\u0006d\fd\ri\u0001d\u000ed\u000fg\u0002g\u0002}\u0003|\u0006|\u0003k\u0002}\u0007|\u0007s�t\u0002�\u0003d\u0004|\u0007f\u0001d\u0010|\u0006|\u0003f\u0002�\u0004t\u0002�\u0007|\u0006�\u0001t\u0002�\u0007|\u0003�\u0001d\u0011�\u0002\u0016\u0000}\bd\u0012d\u0013|\bi\u0001\u0016\u0000}\tt\bt\u0002�\t|\t�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0006\u0004\u0000}\u0007}\u0003d\u0000S\u0000)\u0014Nr\u0013\u0000\u0000\u0000u\u001c\u0000\u0000\u0000{\n  \"answer\": \"μ\"\n}\n[1, 2]\nr\u0001\u0000\u0000\u0000r\u0014\u0000\u0000\u0000r\u0016\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0005\u0000\u0000\u0000S\u0000\u0000\u0000s\u0016\u0000\u0000\u0000g\u0000|\u0000]\u0007}\u0001t\u0000�\u0001|\u0001�\u0001�\u0002q\u0002S\u0000r\u0010\u0000\u0000\u0000)\u0002rG\u0000\u0000\u0000rL\u0000\u0000\u0000)\u0002�\u0002.0�\u0004liner\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�\n<listcomp>.\u0000\u0000\u0000s\u0002\u0000\u0000\u0000\u0016\u0000zFtest_multiline_and_unicode_json_values_are_decoded.<locals>.<listcomp>�\u0006answeru\u0002\u0000\u0000\u0000μr\u0003\u0000\u0000\u0000�\u0002\u0000\u0000\u0000)\u0001z\u0012%(py1)s == %(py4)s)\u0002rK\u0000\u0000\u0000r\u001f\u0000\u0000\u0000z\u000eassert %(py6)sr \u0000\u0000\u0000r&\u0000\u0000\u0000)\nr\u0017\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000�\u000b@py_assert0rQ\u0000\u0000\u0000�\u000b@py_format5�\u000b@py_format7r\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�2test_multiline_and_unicode_json_values_are_decoded+\u0000\u0000\u0000s,\u0000\u0000\u0000\n\u0001�\u0001\u0014\u0001\u0006\u0001\u0006\u0001\u0012�\u0002\u0003\u000e�\u0002\u0003\u0002�\u0002\u0003\u0002�\u0002\u0003\u0002�\u0002\u0003\u0002�\u0002\u0003\u0018�\u0002\u0003\u0002�\u0002\u0003\u0014�r[\u0000\u0000\u0000)\u0002r\u0007\u0000\u0000\u0000N)\u0016�\u0007__doc__�\bbuiltinsr*\u0000\u0000\u0000�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewriter(\u0000\u0000\u0000rG\u0000\u0000\u0000r\f\u0000\u0000\u0000�\u0007pathlibr\u0002\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOTr\u000f\u0000\u0000\u0000r\u000e\u0000\u0000\u0000�\u0010CompletedProcessr\u0012\u0000\u0000\u0000r=\u0000\u0000\u0000rF\u0000\u0000\u0000rR\u0000\u0000\u0000r[\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�\b<module>\u0001\u0000\u0000\u0000s\u0016\u0000\u0000\u0000\u0004\u0000\"\u0002\b\u0001\f\u0001\u000e\u0003\b\u0001\u001c\u0003\n\n\n\u0007\n\u0006\u000e\btests/__pycache__/test_json_io.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000���j�\u0005\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000��\u0000\u0000\u0000�\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004c\u0002\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0003l\tm\nZ\n\u0001\u0000\u0002\u0000e\ne\u000b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004\u0019\u0000\u0000\u0000Z\re\rd\u0005z\u000b\u0000\u0000Z\u000ed\u0006e\u000fd\u0007e\u000fd\be\bj \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000e\u000f\u0019\u0000\u0000\u0000f\u0006d\t�\u0004Z\u0011d\u000ed\n�\u0004Z\u0012d\u000ed\u000b�\u0004Z\u0013d\u000ed\f�\u0004Z\u0014d\u000ed\r�\u0004Z\u0015y\u0002)\u000fz=Acceptance coverage for JSON stream input and compact output.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000�\u0002jq�\u0007program�\ninput_text�\u0006returnc\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�V\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001|\u0000g\u0003|\u0001d\u0002d\u0002d\u0003�\u0004�\u0005\u0000\u0000\u0000\u0000\u0000\u0000S\u0000)\u0005Nz\u0002-cTF)\u0004�\u0005input�\u000ecapture_output�\u0004text�\u0005check)\u0004�\nsubprocess�\u0003run�\u0003str�\nEXECUTABLE)\u0002r\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000s\u0002\u0000\u0000\u0000  �^/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_json_io.py�\u0006run_jqr\u0013\u0000\u0000\u0000\f\u0000\u0000\u0000s-\u0000\u0000\u0000�\u0000�\u000b\u0015�>�>�\t\f�Z�\u001f�$�\u0007�\b(�\u000e\u0018�\u0017\u001b�\r\u0011�\u000e\u0013�\u000b\u0006\f\u0006�\u0000\u0006\u0005\u0006�\u0000\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0004\u0000\u0000�\u0000d\u0001}\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002|\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002d\u0003}\u0003|\u0002|\u0003k(\u0000\u0000}\u0004|\u0004s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\u0004f\u0001d\u0005|\u0002|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0003z\u0006\u0000\u0000}\u0005d\bd\t|\u0005i\u0001z\u0006\u0000\u0000}\u0006t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004}\u0003|\u0001j\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002|\u0002j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0004\u0002\u0000|\u0004�\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0007|\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\b\u0002\u0000|\b�\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\t|\u0007|\tk(\u0000\u0000}\n|\n�\u0001s*t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\nf\u0001d\n|\u0007|\tf\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0004�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u000bt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u000bt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\t�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\f�\u0007z\u0006\u0000\u0000}\u000bd\rd\u000e|\u000bi\u0001z\u0006\u0000\u0000}\ft\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\f�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004x\u0001}\u0007x\u0001}\nx\u0001}\b}\ty\u0000)\u000fNz\u00061\n2\n3\n�\u0001.r\u0002\u0000\u0000\u0000�\u0001�\u0002==�\u0001z2%(py2)s\n{%(py2)s = %(py0)s.returncode\n} == %(py5)s�\u0006result�\u0003�\u0003py0�\u0003py2�\u0003py5�\u000eassert %(py7)s�\u0003py7)\u0001z�%(py6)s\n{%(py6)s = %(py4)s\n{%(py4)s = %(py2)s\n{%(py2)s = %(py0)s.stdout\n}.splitlines\n}()\n} == %(py12)s\n{%(py12)s = %(py10)s\n{%(py10)s = %(py8)s.splitlines\n}()\n}�\u0006inputs)\u0007r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000�\u0003py4�\u0003py6�\u0003py8�\u0004py10�\u0004py12�\u000fassert %(py14)s�\u0004py14�\fr\u0013\u0000\u0000\u0000�\nreturncode�\n@pytest_ar�\u0011_call_reprcompare�\f@py_builtins�\u0006locals�\u0018_should_repr_global_name�\t_saferepr�\u000eAssertionError�\u0013_format_explanation�\u0006stdout�\nsplitlines)\rr!\u0000\u0000\u0000r\u001a\u0000\u0000\u0000�\u000b@py_assert1�\u000b@py_assert4�\u000b@py_assert3�\u000b@py_format6�\u000b@py_format8�\u000b@py_assert5�\u000b@py_assert9�\f@py_assert11�\u000b@py_assert7�\f@py_format13�\f@py_format15s\r\u0000\u0000\u0000             r\u0012\u0000\u0000\u0000�1test_multiple_input_values_are_processed_in_orderr@\u0000\u0000\u0000\u0016\u0000\u0000\u0000s`\u0001\u0000\u0000�\u0000�\r\u0018�F�\r\u0013�C�\u0016�\r �F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u000b\u0011�=�=�\u0004<�=�\u000b#�\u000b#�\u0004<�\u000b#�\u000b%�\u0004<�\u0016�):�):�\u0004<�):�)<�\u0004<�\u000b%�)<�\u000b<�\u0004<�\u0004<�\u0004<�\u000b%�)<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�6�\u0004<�\u0004<�\u0004<�6�\u0004<�\u0004<�\u0004<�=�\u0004<�\u0004<�\u0004<�\u000b#�\u0004<�\u0004<�\u0004<�\u000b%�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�\u0016�\u0004<�\u0004<�\u0004<�\u0016�\u0004<�\u0004<�\u0004<�):�\u0004<�\u0004<�\u0004<�)<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<r\u0014\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0003\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001d\u0003}\u0002|\u0001|\u0002k(\u0000\u0000}\u0003|\u0003s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\u0003f\u0001d\u0005|\u0001|\u0002f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0003z\u0006\u0000\u0000}\u0004d\bd\t|\u0004i\u0001z\u0006\u0000\u0000}\u0005t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0003}\u0002|\u0000j\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0001j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0003\u0002\u0000|\u0003�\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0006g\u0000d\n�\u0001}\u0007|\u0006|\u0007k(\u0000\u0000}\b|\bs�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\bf\u0001d\u000b|\u0006|\u0007f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\f�\u0005z\u0006\u0000\u0000}\td\rd\u000e|\ti\u0001z\u0006\u0000\u0000}\nt\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\n�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0003x\u0001}\u0006x\u0001}\b}\u0007y\u0000)\u000fNz\u0003.[]z\b[1,2,3]\nr\u0002\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u001f\u0000\u0000\u0000r \u0000\u0000\u0000)\u0003�\u00011�\u00012�\u00013)\u0001ze%(py6)s\n{%(py6)s = %(py4)s\n{%(py4)s = %(py2)s\n{%(py2)s = %(py0)s.stdout\n}.splitlines\n}()\n} == %(py9)s)\u0005r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000r\"\u0000\u0000\u0000r#\u0000\u0000\u0000�\u0003py9z\u000fassert %(py11)s�\u0004py11r)\u0000\u0000\u0000)\u000br\u001a\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r9\u0000\u0000\u0000r:\u0000\u0000\u0000�\u000b@py_assert8r=\u0000\u0000\u0000�\f@py_format10�\f@py_format12s\u000b\u0000\u0000\u0000           r\u0012\u0000\u0000\u0000�6test_generator_outputs_preserve_order_and_multiplicityrJ\u0000\u0000\u0000\u001d\u0000\u0000\u0000s\u001e\u0001\u0000\u0000�\u0000�\r\u0013�E�;�\r'�F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u000b\u0011�=�=�\u00048�=�\u000b#�\u000b#�\u00048�\u000b#�\u000b%�\u00048�\u001f�\u00048�\u000b%�\u001f�\u000b8�\u00048�\u00048�\u00048�\u000b%�\u001f�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�6�\u00048�\u00048�\u00048�6�\u00048�\u00048�\u00048�=�\u00048�\u00048�\u00048�\u000b#�\u00048�\u00048�\u00048�\u000b%�\u00048�\u00048�\u00048�\u001f�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048r\u0014\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\b\u0000\u0000�\u0000d\u0001}\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002|\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002d\u0003}\u0003|\u0002|\u0003k(\u0000\u0000}\u0004|\u0004s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\u0004f\u0001d\u0005|\u0002|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0003z\u0006\u0000\u0000}\u0005d\bd\t|\u0005i\u0001z\u0006\u0000\u0000}\u0006t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004}\u0003t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002|\u0001j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0003\u0002\u0000|\u0002|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0007t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\b\u0002\u0000|\b|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\t|\u0007|\tk(\u0000\u0000}\n|\n�\u0001s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\nf\u0001d\n|\u0007|\tf\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u000bt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u000bt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u000bt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u000bt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\ft\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\ft\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\t�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\r�\tz\u0006\u0000\u0000}\u000bd\u000ed\u000f|\u000bi\u0001z\u0006\u0000\u0000}\ft\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\f�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0003x\u0001}\u0007x\u0001}\nx\u0001}\b}\t|\u0001j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\r|\rj\u001a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0003\u0002\u0000|\u0003�\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0007t\u001d\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\nd\u0010}\u000e|\n|\u000ek(\u0000\u0000}\b|\b�\u0001s2t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\bf\u0001d\u0011|\n|\u000ef\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0012t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0012d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\r�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\n�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u000e�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0013�\u0007z\u0006\u0000\u0000}\u000fd\u0014d\u0015|\u000fi\u0001z\u0006\u0000\u0000}\u000bt\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u000b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\rx\u0001}\u0003x\u0001}\u0007x\u0001}\nx\u0001}\b}\u000ey\u0000)\u0016Nz\u0016{\"a\": 1, \"b\": [2, 3]}\nr\u0016\u0000\u0000\u0000r\u0002\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u001f\u0000\u0000\u0000r \u0000\u0000\u0000)\u0001z�%(py7)s\n{%(py7)s = %(py2)s\n{%(py2)s = %(py0)s.loads\n}(%(py5)s\n{%(py5)s = %(py3)s.stdout\n})\n} == %(py14)s\n{%(py14)s = %(py11)s\n{%(py11)s = %(py9)s.loads\n}(%(py12)s)\n}�\u0004jsonr\u0007\u0000\u0000\u0000)\tr\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000�\u0003py3r\u001e\u0000\u0000\u0000r \u0000\u0000\u0000rE\u0000\u0000\u0000rF\u0000\u0000\u0000r&\u0000\u0000\u0000r(\u0000\u0000\u0000z\u000fassert %(py16)s�\u0004py16r\u0004\u0000\u0000\u0000)\u0001z�%(py9)s\n{%(py9)s = %(py0)s(%(py7)s\n{%(py7)s = %(py5)s\n{%(py5)s = %(py3)s\n{%(py3)s = %(py1)s.stdout\n}.splitlines\n}()\n})\n} == %(py12)s�\u0003len)\u0007r\u001c\u0000\u0000\u0000�\u0003py1rM\u0000\u0000\u0000r\u001e\u0000\u0000\u0000r \u0000\u0000\u0000rE\u0000\u0000\u0000r&\u0000\u0000\u0000r'\u0000\u0000\u0000r(\u0000\u0000\u0000)\u000fr\u0013\u0000\u0000\u0000r*\u0000\u0000\u0000r+\u0000\u0000\u0000r,\u0000\u0000\u0000r-\u0000\u0000\u0000r.\u0000\u0000\u0000r/\u0000\u0000\u0000r0\u0000\u0000\u0000r1\u0000\u0000\u0000r2\u0000\u0000\u0000rL\u0000\u0000\u0000�\u0005loadsr3\u0000\u0000\u0000r4\u0000\u0000\u0000rO\u0000\u0000\u0000)\u0010r\u0007\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r9\u0000\u0000\u0000�\u000b@py_assert6�\f@py_assert10�\f@py_assert13rG\u0000\u0000\u0000r?\u0000\u0000\u0000�\f@py_format17�\u000b@py_assert2r<\u0000\u0000\u0000r>\u0000\u0000\u0000s\u0010\u0000\u0000\u0000                r\u0012\u0000\u0000\u0000�)test_objects_are_compact_single_line_jsonrW\u0000\u0000\u0000#\u0000\u0000\u0000sn\u0002\u0000\u0000�\u0000�\u0011*�J�\r\u0013�C�\u001a�\r$�F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u000b\u000f�:�:�\u0004>�f�m�m�\u0004>�:�m�\u000b$�\u0004>�\u0004�\n�\n�\u0004>�\n�:�(>�\u0004>�\u000b$�(>�\u000b>�\u0004>�\u0004>�\u0004>�\u000b$�(>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�4�\u0004>�\u0004>�\u0004>�4�\u0004>�\u0004>�\u0004>�:�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�f�\u0004>�\u0004>�\u0004>�f�\u0004>�\u0004>�\u0004>�m�\u0004>�\u0004>�\u0004>�\u000b$�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004�\u0004>�\u0004>�\u0004>�\u0004�\u0004>�\u0004>�\u0004>�\n�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�:�\u0004>�\u0004>�\u0004>�:�\u0004>�\u0004>�\u0004>�(>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u000f\u0015�}�}�\u0004/�}�\u000f'�\u000f'�\u0004/�\u000f'�\u000f)�\u0004/�3�\u000f)�\u000b*�\u0004/�a�\u0004/�\u000b*�a�\u000b/�\u0004/�\u0004/�\u0004/�\u000b*�a�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�3�\u0004/�\u0004/�\u0004/�3�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�v�\u0004/�\u0004/�\u0004/�v�\u0004/�\u0004/�\u0004/�}�\u0004/�\u0004/�\u0004/�\u000f'�\u0004/�\u0004/�\u0004/�\u000f)�\u0004/�\u0004/�\u0004/�\u000b*�\u0004/�\u0004/�\u0004/�a�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/r\u0014\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�,\u0003\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001d\u0003}\u0002|\u0001|\u0002k(\u0000\u0000}\u0003|\u0003s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\u0003f\u0001d\u0005|\u0001|\u0002f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0003z\u0006\u0000\u0000}\u0004d\bd\t|\u0004i\u0001z\u0006\u0000\u0000}\u0005t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0003}\u0002|\u0000j\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0017\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000D\u0000�\u0006c\u0002g\u0000c\u0002]\u0017\u0000\u0000}\u0006t\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u001a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�\u0019\u0004\u0000}\u0007}\u0006d\nd\u000bi\u0001d\fd\rg\u0002g\u0002}\u0003|\u0007|\u0003k(\u0000\u0000}\b|\bslt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\bf\u0001d\u000e|\u0007|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u000f�\u0002z\u0006\u0000\u0000}\td\u0010d\u0011|\ti\u0001z\u0006\u0000\u0000}\nt\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\n�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0007x\u0001}\b}\u0003y\u0000c\u0002\u0001\u0000c\u0002}\u0006w\u0000)\u0012Nr\u0016\u0000\u0000\u0000u\u001c\u0000\u0000\u0000{\n  \"answer\": \"μ\"\n}\n[1, 2]\nr\u0002\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u001f\u0000\u0000\u0000r \u0000\u0000\u0000�\u0006answeru\u0002\u0000\u0000\u0000μr\u0004\u0000\u0000\u0000�\u0002\u0000\u0000\u0000)\u0001z\u0012%(py1)s == %(py4)s)\u0002rP\u0000\u0000\u0000r\"\u0000\u0000\u0000z\u000eassert %(py6)sr#\u0000\u0000\u0000)\u000er\u0013\u0000\u0000\u0000r*\u0000\u0000\u0000r+\u0000\u0000\u0000r,\u0000\u0000\u0000r-\u0000\u0000\u0000r.\u0000\u0000\u0000r/\u0000\u0000\u0000r0\u0000\u0000\u0000r1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000rL\u0000\u0000\u0000rQ\u0000\u0000\u0000)\u000br\u001a\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r9\u0000\u0000\u0000�\u0004line�\u000b@py_assert0rV\u0000\u0000\u0000�\u000b@py_format5�\u000b@py_format7s\u000b\u0000\u0000\u0000           r\u0012\u0000\u0000\u0000�2test_multiline_and_unicode_json_values_are_decodedr_\u0000\u0000\u0000+\u0000\u0000\u0000sA\u0001\u0000\u0000�\u0000�\r\u0013�C�\u0019;�\r<�F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�)/�\u001d�\u001d�)A�)A�)C�\u000bD�)C�\u0014�D�J�J�t�\f\u001c�)C�\u0000\u0003\u0005\u0006�\u000bD�\t\u0011�4�\b\u0018�\t\n�A�\u0006�\u0005\u0003I\u0001\u0006�\u0000\u0003\u0005\u0006�\u000bD�\u0000\u0003I\u0001\u0006�\u0000\u0003\f\u0006�\u0000\u0003\u0005\u0006�\u0006�\u0000�\u0007\u0003\u0005\u0006�\u000bD�\u0000\u0003I\u0001\u0006�\u0000\u0003\u0005\u0006�\u0000\u0003\u0005\u0006�\u0006�\u0000�\u0007\u0000\fE\u0001�\u0000\u0003\u0005\u0006�\u0000\u0003\u0005\u0006�\u0006�\u0000�\u0007\u0003I\u0001\u0006�\u0000\u0003\u0005\u0006�\u0000\u0003\u0005\u0006�\u0000\u0003\u0005\u0006�\u0000\u0003\u0005\u0006�\u0006�\u0000�\u0007\u0003\u0005\u0006�\u0000\u0003\u0005\u0006�\u0000\u0003\u0005\u0006��\u000bDs\u0006\u0000\u0000\u0000�1\u001cF\u0011\u0004)\u0002r\b\u0000\u0000\u0000N)\u0016�\u0007__doc__�\bbuiltinsr-\u0000\u0000\u0000�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewriter+\u0000\u0000\u0000rL\u0000\u0000\u0000r\u000e\u0000\u0000\u0000�\u0007pathlibr\u0003\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOTr\u0011\u0000\u0000\u0000r\u0010\u0000\u0000\u0000�\u0010CompletedProcessr\u0013\u0000\u0000\u0000r@\u0000\u0000\u0000rJ\u0000\u0000\u0000rW\u0000\u0000\u0000r_\u0000\u0000\u0000�\u0000r\u0014\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�\b<module>rk\u0000\u0000\u0000\u0001\u0000\u0000\u0000sm\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u0000C�\u0000\u0000�\u0000�\u000b�\u0000\u0011�\u0000\u0018�\u0006\u0000\b\f�H�~�\u0007\u001d�\u0007\u001d�a�\u0007 �\u0004�\r\u0011�D�[�\n�\u0006\u0007\u0001\u0006�C�\u0000\u0007\u0001\u0006�S�\u0000\u0007\u0001\u0006�Z�-H�-H�\u0013�-M�\u0000\u0007\u0001\u0006�\u0014\u0004\u0001=�\u000e\u0003\u00019�\f\u0005\u00010�\u0010\u0006\u0001\u0006r\u0014\u0000\u0000\u0000tests/__pycache__/test_lexer.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000+��j}\u0005\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000d\u0000d\u0001l\u0000Z\u0001d\u0000d\u0001l\u0002m\u0003\u0002\u0000\u0001\u0000m\u0004Z\u0005\u0001\u0000d\u0000d\u0001l\u0006Z\u0006d\u0000d\u0002l\u0007m\bZ\b\u0001\u0000d\u0000d\u0003l\tm\nZ\nm\u000bZ\u000b\u0001\u0000d\u0010d\u0005d\u0006�\u0004Z\fd\u0010d\u0007d\b�\u0004Z\rd\u0010d\td\n�\u0004Z\u000ee\u0006j\u000f�\u0010d\u000bd\fd\rg\u0002�\u0002d\u000be\u0011d\u0004d\u0001f\u0004d\u000ed\u000f�\u0004�\u0001Z\u0012d\u0001S\u0000)\u0011�\u0000\u0000\u0000\u0000N)\u0001�\fCompileError)\u0002�\tTokenKind�\btokenize�\u0006returnc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0000\u0000\u0000\r\u0000\u0000\u0000C\u0000\u0000\u0000s�\u0001\u0000\u0000t\u0000d\u0001�\u0001}\u0000d\u0002d\u0003�\u0000|\u0000d\u0000d\u0004�\u0002\u0019\u0000D\u0000�\u0001}\u0001t\u0001j\u0002t\u0001j\u0003t\u0001j\u0004t\u0001j\u0005t\u0001j\u0004t\u0001j\u0004t\u0001j\u0006t\u0001j\u0007t\u0001j\bt\u0001j\u0004t\u0001j\u0005t\u0001j\u0007t\u0001j\u0003g\r}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003sTt\t�\nd\u0005|\u0003f\u0001d\u0006|\u0001|\u0002f\u0002�\u0004t\t�\u000b|\u0001�\u0001t\t�\u000b|\u0002�\u0001d\u0007�\u0002\u0016\u0000}\u0004d\bd\t|\u0004i\u0001\u0016\u0000}\u0005t\ft\t�\r|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002d\nd\u0003�\u0000|\u0000d\u0000d\u000b�\u0002\u0019\u0000D\u0000�\u0001}\u0001g\u0000d\f�\u0001}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003s�t\t�\nd\u0005|\u0003f\u0001d\u0006|\u0001|\u0002f\u0002�\u0004t\t�\u000b|\u0001�\u0001t\t�\u000b|\u0002�\u0001d\u0007�\u0002\u0016\u0000}\u0004d\bd\t|\u0004i\u0001\u0016\u0000}\u0005t\ft\t�\r|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002|\u0000d\u0004\u0019\u0000}\u0001|\u0001j\u000e}\u0003t\u0001j\u000f}\u0006|\u0003|\u0006u\u0000}\u0007|\u0007s�t\t�\nd\r|\u0007f\u0001d\u000e|\u0003|\u0006f\u0002�\u0004t\t�\u000b|\u0001�\u0001t\t�\u000b|\u0003�\u0001d\u000ft\u0010�\u0011�\u0000v\u0000s�t\t�\u0012t\u0001�\u0001r�t\t�\u000bt\u0001�\u0001n\u0001d\u000ft\t�\u000b|\u0006�\u0001d\u0010�\u0004\u0016\u0000}\bd\u0011d\u0012|\bi\u0001\u0016\u0000}\tt\ft\t�\r|\t�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003\u0004\u0000}\u0007}\u0006d\u0000S\u0000)\u0013Nz def f($x): .foo == 1; $x // nullc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0003\u0000\u0000\u0000S\u0000\u0000\u0000�\u0012\u0000\u0000\u0000g\u0000|\u0000]\u0005}\u0001|\u0001j\u0000�\u0002q\u0002S\u0000�\u0000)\u0001�\u0004kind�\u0002�\u0002.0�\u0005tokenr\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\\/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_lexer.py�\n<listcomp>\t\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0012\u0000zNtest_scans_literals_keywords_and_operators_in_source_order.<locals>.<listcomp>������\u0001�\u0002==�\u0001z\u0012%(py1)s == %(py4)s�\u0002�\u0003py1�\u0003py4�\u000eassert %(py6)s�\u0003py6c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0003\u0000\u0000\u0000S\u0000\u0000\u0000r\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000)\u0001�\bpositionr\t\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000r\r\u0000\u0000\u0000\u0010\u0000\u0000\u0000r\u000e\u0000\u0000\u0000�\u0003\u0000\u0000\u0000)\u0003r\u0001\u0000\u0000\u0000�\u0004\u0000\u0000\u0000�\u0005\u0000\u0000\u0000)\u0001�\u0002is)\u0001zE%(py3)s\n{%(py3)s = %(py1)s.kind\n} is %(py7)s\n{%(py7)s = %(py5)s.END\n}r\u0003\u0000\u0000\u0000)\u0004r\u0014\u0000\u0000\u0000�\u0003py3�\u0003py5�\u0003py7z\u000eassert %(py9)s�\u0003py9)\u0013r\u0004\u0000\u0000\u0000r\u0003\u0000\u0000\u0000�\u0007KEYWORD�\nIDENTIFIER�\tDELIMITER�\u0007BINDING�\u0005FIELD�\bOPERATOR�\u0006NUMBER�\n@pytest_ar�\u0011_call_reprcompare�\t_saferepr�\u000eAssertionError�\u0013_format_explanationr\b\u0000\u0000\u0000�\u0003END�\f@py_builtins�\u0006locals�\u0018_should_repr_global_name)\n�\u0006tokens�\u000b@py_assert0�\u000b@py_assert3�\u000b@py_assert2�\u000b@py_format5�\u000b@py_format7�\u000b@py_assert6�\u000b@py_assert4�\u000b@py_format8�\f@py_format10r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000�:test_scans_literals_keywords_and_operators_in_source_order\u0007\u0000\u0000\u0000s4\u0000\u0000\u0000\b\u0001\u0016\u0001\f\u0001\f\u0001\f\u0001\f\u0001\u0004\u0001\u0012�\u0002\u0006\u000e�\u0002\u0006\u0002�\u0002\u0006\u0002�\u0002\u0006\u0002�\u0002\u0006\u0002�\u0002\u0006\u0018�\u0002\u0006\u0002�\u0002\u0006\u0010�|\u0007�\u0001r;\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000s�\u0000\u0000\u0000t\u0000d\u0001�\u0001}\u0000d\u0002d\u0003�\u0000|\u0000d\u0000d\u0004�\u0002\u0019\u0000D\u0000�\u0001}\u0001g\u0000d\u0005�\u0001}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003s<t\u0001�\u0002d\u0006|\u0003f\u0001d\u0007|\u0001|\u0002f\u0002�\u0004t\u0001�\u0003|\u0001�\u0001t\u0001�\u0003|\u0002�\u0001d\b�\u0002\u0016\u0000}\u0004d\td\n|\u0004i\u0001\u0016\u0000}\u0005t\u0004t\u0001�\u0005|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002d\u0000S\u0000)\u000bNz\u00141 # ignored\n \"a\\n#b\"c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0003\u0000\u0000\u0000S\u0000\u0000\u0000r\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000)\u0001�\u0004textr\t\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000r\r\u0000\u0000\u0000\u0016\u0000\u0000\u0000r\u000e\u0000\u0000\u0000z?test_scans_comments_and_json_string_escapes.<locals>.<listcomp>r\u000f\u0000\u0000\u0000)\u0004�\u00011�\u0001\"z\u0005a\\n#br>\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0012\u0000\u0000\u0000r\u0013\u0000\u0000\u0000r\u0016\u0000\u0000\u0000r\u0017\u0000\u0000\u0000)\u0006r\u0004\u0000\u0000\u0000r(\u0000\u0000\u0000r)\u0000\u0000\u0000r*\u0000\u0000\u0000r+\u0000\u0000\u0000r,\u0000\u0000\u0000�\u0006r1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000�+test_scans_comments_and_json_string_escapes\u0014\u0000\u0000\u0000s\u0004\u0000\u0000\u0000\b\u0001�\u0001r@\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000s�\u0000\u0000\u0000t\u0000d\u0001�\u0001}\u0000d\u0002d\u0003�\u0000|\u0000d\u0000d\u0004�\u0002\u0019\u0000D\u0000�\u0001}\u0001t\u0001j\u0002d\u0005f\u0002t\u0001j\u0003d\u0006f\u0002t\u0001j\u0004d\u0007f\u0002g\u0003}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003sFt\u0005�\u0006d\b|\u0003f\u0001d\t|\u0001|\u0002f\u0002�\u0004t\u0005�\u0007|\u0001�\u0001t\u0005�\u0007|\u0002�\u0001d\n�\u0002\u0016\u0000}\u0004d\u000bd\f|\u0004i\u0001\u0016\u0000}\u0005t\bt\u0005�\t|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002d\u0000S\u0000)\rNz\u001b@json $module::value .fieldc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0004\u0000\u0000\u0000S\u0000\u0000\u0000s\u0018\u0000\u0000\u0000g\u0000|\u0000]\b}\u0001|\u0001j\u0000|\u0001j\u0001f\u0002�\u0002q\u0002S\u0000r\u0007\u0000\u0000\u0000)\u0002r\b\u0000\u0000\u0000r<\u0000\u0000\u0000r\t\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000r\r\u0000\u0000\u0000\u001b\u0000\u0000\u0000s\u0002\u0000\u0000\u0000\u0018\u0000z=test_scans_formats_and_qualified_bindings.<locals>.<listcomp>r\u000f\u0000\u0000\u0000z\u0005@jsonz\u000e$module::valuez\u0006.fieldr\u0010\u0000\u0000\u0000r\u0012\u0000\u0000\u0000r\u0013\u0000\u0000\u0000r\u0016\u0000\u0000\u0000r\u0017\u0000\u0000\u0000)\nr\u0004\u0000\u0000\u0000r\u0003\u0000\u0000\u0000�\u0006FORMATr$\u0000\u0000\u0000r%\u0000\u0000\u0000r(\u0000\u0000\u0000r)\u0000\u0000\u0000r*\u0000\u0000\u0000r+\u0000\u0000\u0000r,\u0000\u0000\u0000r?\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000�)test_scans_formats_and_qualified_bindings\u0019\u0000\u0000\u0000s,\u0000\u0000\u0000\b\u0001\u0016\u0001\b\u0001\b\u0001\b\u0001\u0012�\u0002\u0004\u000e�\u0002\u0004\u0002�\u0002\u0004\u0002�\u0002\u0004\u0002�\u0002\u0004\u0002�\u0002\u0004\u0018�\u0002\u0004\u0002�\u0002\u0004\u0014�rB\u0000\u0000\u0000�\u0006sourcez\u0007\"bad\\q\"z\r\"unterminatedc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\b\u0000\u0000\u0000C\u0000\u0000\u0000s8\u0000\u0000\u0000t\u0000�\u0001t\u0002�\u0001�\r\u0001\u0000t\u0003|\u0000�\u0001\u0001\u0000W\u0000d\u0000\u0004\u0000\u0004\u0000�\u0003\u0001\u0000d\u0000S\u00001\u0000s\u0015w\u0001\u0001\u0000\u0001\u0000\u0001\u0000Y\u0000\u0001\u0000d\u0000S\u0000)\u0001N)\u0004�\u0006pytest�\u0006raisesr\u0002\u0000\u0000\u0000r\u0004\u0000\u0000\u0000)\u0001rC\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000�#test_rejects_invalid_lexical_source\"\u0000\u0000\u0000s\u0006\u0000\u0000\u0000\f\u0002\n\u0001\"�rF\u0000\u0000\u0000)\u0002r\u0005\u0000\u0000\u0000N)\u0013�\bbuiltinsr.\u0000\u0000\u0000�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewriter(\u0000\u0000\u0000rD\u0000\u0000\u0000�\u0015jq_interpreter.errorsr\u0002\u0000\u0000\u0000�\u0014jq_interpreter.lexerr\u0003\u0000\u0000\u0000r\u0004\u0000\u0000\u0000r;\u0000\u0000\u0000r@\u0000\u0000\u0000rB\u0000\u0000\u0000�\u0004mark�\u000bparametrize�\u0003strrF\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000�\b<module>\u0001\u0000\u0000\u0000s\u0010\u0000\u0000\u0000\"\u0000\f\u0002\u0010\u0001\n\u0003\n\r\n\u0005\u0010\t\u0018\u0001tests/__pycache__/test_lexer.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000+��j}\u0005\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000�\u0000d\u0000d\u0001l\u0000Z\u0001d\u0000d\u0001l\u0002m\u0003c\u0002\u0001\u0000m\u0004Z\u0005\u0001\u0000d\u0000d\u0001l\u0006Z\u0006d\u0000d\u0002l\u0007m\bZ\b\u0001\u0000d\u0000d\u0003l\tm\nZ\nm\u000bZ\u000b\u0001\u0000d\fd\u0005�\u0004Z\fd\fd\u0006�\u0004Z\rd\fd\u0007�\u0004Z\u000ee\u0006j\u001e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j!\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\bd\td\ng\u0002�\u0002\u0000\u0000\u0000\u0000\u0000\u0000d\be\u0011d\u0004d\u0001f\u0004d\u000b�\u0004�\u0000\u0000\u0000\u0000\u0000\u0000\u0000Z\u0012y\u0001)\r�\u0000\u0000\u0000\u0000N)\u0001�\fCompileError)\u0002�\tTokenKind�\btokenize�\u0006returnc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0004\u0006\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000d\u0000d\u0002\u001a\u0000D\u0000�\u0001c\u0002g\u0000c\u0002]\u000e\u0000\u0000}\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�\u0010\u0004\u0000}\u0002}\u0001t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000g\r}\u0003|\u0002|\u0003k(\u0000\u0000}\u0004|\u0004slt\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003|\u0004f\u0001d\u0004|\u0002|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0005�\u0002z\u0006\u0000\u0000}\u0005d\u0006d\u0007|\u0005i\u0001z\u0006\u0000\u0000}\u0006t\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004}\u0003|\u0000d\u0000d\b\u001a\u0000D\u0000�\u0001c\u0002g\u0000c\u0002]\u000e\u0000\u0000}\u0001|\u0001j\u001e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�\u0010\u0004\u0000}\u0002}\u0001g\u0000d\t�\u0001}\u0003|\u0002|\u0003k(\u0000\u0000}\u0004|\u0004slt\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003|\u0004f\u0001d\u0004|\u0002|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0005�\u0002z\u0006\u0000\u0000}\u0005d\u0006d\u0007|\u0005i\u0001z\u0006\u0000\u0000}\u0006t\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004}\u0003|\u0000d\u0002\u0019\u0000\u0000\u0000}\u0002|\u0002j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0004t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0007|\u0004|\u0007u\u0000}\b|\bs�t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\n|\bf\u0001d\u000b|\u0004|\u0007f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0004�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\ft#\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j$\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j&\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\ft\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\r�\u0004z\u0006\u0000\u0000}\td\u000ed\u000f|\ti\u0001z\u0006\u0000\u0000}\nt\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\n�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004x\u0001}\b}\u0007y\u0000c\u0002\u0001\u0000c\u0002}\u0001w\u0000c\u0002\u0001\u0000c\u0002}\u0001w\u0000)\u0010Nz def f($x): .foo == 1; $x // null������\u0001�\u0002==�\u0001z\u0012%(py1)s == %(py4)s�\u0002�\u0003py1�\u0003py4�\u000eassert %(py6)s�\u0003py6�\u0003\u0000\u0000\u0000)\u0003r\u0002\u0000\u0000\u0000�\u0004\u0000\u0000\u0000�\u0005\u0000\u0000\u0000)\u0001�\u0002is)\u0001zE%(py3)s\n{%(py3)s = %(py1)s.kind\n} is %(py7)s\n{%(py7)s = %(py5)s.END\n}r\u0004\u0000\u0000\u0000)\u0004r\r\u0000\u0000\u0000�\u0003py3�\u0003py5�\u0003py7z\u000eassert %(py9)s�\u0003py9)\u0014r\u0005\u0000\u0000\u0000�\u0004kindr\u0004\u0000\u0000\u0000�\u0007KEYWORD�\nIDENTIFIER�\tDELIMITER�\u0007BINDING�\u0005FIELD�\bOPERATOR�\u0006NUMBER�\n@pytest_ar�\u0011_call_reprcompare�\t_saferepr�\u000eAssertionError�\u0013_format_explanation�\bposition�\u0003END�\f@py_builtins�\u0006locals�\u0018_should_repr_global_name)\u000b�\u0006tokens�\u0005token�\u000b@py_assert0�\u000b@py_assert3�\u000b@py_assert2�\u000b@py_format5�\u000b@py_format7�\u000b@py_assert6�\u000b@py_assert4�\u000b@py_format8�\f@py_format10s\u000b\u0000\u0000\u0000           �\\/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_lexer.py�:test_scans_literals_keywords_and_operators_in_source_orderr7\u0000\u0000\u0000\u0007\u0000\u0000\u0000s\u0005\u0002\u0000\u0000�\u0000�\r\u0015�\u00168�\r9�F�$*�3�B�K�\u000b0�K�5�E�J�J�K�\u0000\u0006\u0005\u0006�\u000b0�\b\u0011�\b\u0019�\b\u0019�9�\u001b/�\u001b/�\u0019�1D�1D�\b\u0011�\b\u0019�\b\u0019�9�\u001b.�\u001b.�\t�0C�0C�\b\u0011�\u000f�\u000f�\u0019�\u0019+�\u0019+�Y�-=�-=�\b\u0011�\b\u001b�\b\u001b�Y�\u001d.�\u001d.�\t�0B�0B�\b\u0011�\b\u001c�\b\u001c�\u000b\u00065\u0006�\u0000\u0006\u0005\u0006�\u000b0�\u0000\u00065\u0006�\u0000\u0006\f\u0006�\u0000\u0006\u0005\u0006�\f�\u0000�\r\u0006\u0005\u0006�\u000b0�\u0000\u00065\u0006�\u0000\u0006\u0005\u0006�\u0000\u0006\u0005\u0006�\f�\u0000�\r\u0000\f1�\u0000\u0006\u0005\u0006�\u0000\u0006\u0005\u0006�\f�\u0000�\r\u00065\u0006�\u0000\u0006\u0005\u0006�\u0000\u0006\u0005\u0006�\u0000\u0006\u0005\u0006�\u0000\u0006\u0005\u0006�\f�\u0000�\r\u0006\u0005\u0006�\u0000\u0006\u0005\u0006�\u000e\u0000)/�r�\u0001�\n�\u000b3�\n�u�E�N�N�\n�\u0004@�\u000b3�y�\u0004@�\u000b3�y�\u000b@�\u0004@�\u0004@�\u0004@�\u000b3�y�\u0004@�\u0004@�\u0004@�\u000b3�\u0004@�\u0004@�\u0004@�y�\u0004@�\u0004@�\u0004@�\u0004@�\u0004@�\u0004@�\u0004@�\u000b\u0011�\"�:�\u0004+�:�?�?�\u0004+�i�m�m�\u0004+�?�m�\u000b+�\u0004+�\u0004+�\u0004+�?�m�\u0004+�\u0004+�\u0004+�:�\u0004+�\u0004+�\u0004+�?�\u0004+�\u0004+�\u0004+�\u0004+�\u0004+�\u0004+�i�\u0004+�\u0004+�\u0004+�i�\u0004+�\u0004+�\u0004+�m�\u0004+�\u0004+�\u0004+�\u0004+�\u0004+�\u0004+�\u0004+��\u0011\u0000\f1��\u000e\u0000\f4s\u000b\u0000\u0000\u0000�\u0013K8\u0004�-\u0013K=\u0004c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�V\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000d\u0000d\u0002\u001a\u0000D\u0000�\u0001c\u0002g\u0000c\u0002]\u000e\u0000\u0000}\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�\u0010\u0004\u0000}\u0002}\u0001g\u0000d\u0003�\u0001}\u0003|\u0002|\u0003k(\u0000\u0000}\u0004|\u0004slt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\u0004f\u0001d\u0005|\u0002|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0006�\u0002z\u0006\u0000\u0000}\u0005d\u0007d\b|\u0005i\u0001z\u0006\u0000\u0000}\u0006t\u000b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004}\u0003y\u0000c\u0002\u0001\u0000c\u0002}\u0001w\u0000)\tNz\u00141 # ignored\n \"a\\n#b\"r\b\u0000\u0000\u0000)\u0004�\u00011�\u0001\"z\u0005a\\n#br:\u0000\u0000\u0000r\t\u0000\u0000\u0000r\u000b\u0000\u0000\u0000r\f\u0000\u0000\u0000r\u000f\u0000\u0000\u0000r\u0010\u0000\u0000\u0000)\u0007r\u0005\u0000\u0000\u0000�\u0004textr!\u0000\u0000\u0000r\"\u0000\u0000\u0000r#\u0000\u0000\u0000r$\u0000\u0000\u0000r%\u0000\u0000\u0000�\u0007r+\u0000\u0000\u0000r,\u0000\u0000\u0000r-\u0000\u0000\u0000r.\u0000\u0000\u0000r/\u0000\u0000\u0000r0\u0000\u0000\u0000r1\u0000\u0000\u0000s\u0007\u0000\u0000\u0000       r6\u0000\u0000\u0000�+test_scans_comments_and_json_string_escapesr=\u0000\u0000\u0000\u0014\u0000\u0000\u0000sz\u0000\u0000\u0000�\u0000�\r\u0015�\u0016.�\r/�F�$*�3�B�K�\u000b0�K�5�E�J�J�K�\u0004M�\u000b0�4M�\u0004M�\u000b0�4M�\u000bM�\u0004M�\u0004M�\u0004M�\u000b0�4M�\u0004M�\u0004M�\u0004M�\u000b0�\u0004M�\u0004M�\u0004M�4M�\u0004M�\u0004M�\u0004M�\u0004M�\u0004M�\u0004M�\u0004M��\u000b0s\u0005\u0000\u0000\u0000�\u0013B&\u0004c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000��\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000d\u0000d\u0002\u001a\u0000D\u0000�\u0001c\u0002g\u0000c\u0002]\u001a\u0000\u0000}\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000f\u0002�\u0002�\u001c\u0004\u0000}\u0002}\u0001t\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003f\u0002t\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004f\u0002t\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0005f\u0002g\u0003}\u0003|\u0002|\u0003k(\u0000\u0000}\u0004|\u0004slt\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0006|\u0004f\u0001d\u0007|\u0002|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000t\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\b�\u0002z\u0006\u0000\u0000}\u0005d\td\n|\u0005i\u0001z\u0006\u0000\u0000}\u0006t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004}\u0003y\u0000c\u0002\u0001\u0000c\u0002}\u0001w\u0000)\u000bNz\u001b@json $module::value .fieldr\b\u0000\u0000\u0000z\u0005@jsonz\u000e$module::valuez\u0006.fieldr\t\u0000\u0000\u0000r\u000b\u0000\u0000\u0000r\f\u0000\u0000\u0000r\u000f\u0000\u0000\u0000r\u0010\u0000\u0000\u0000)\fr\u0005\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r;\u0000\u0000\u0000r\u0004\u0000\u0000\u0000�\u0006FORMATr\u001d\u0000\u0000\u0000r\u001e\u0000\u0000\u0000r!\u0000\u0000\u0000r\"\u0000\u0000\u0000r#\u0000\u0000\u0000r$\u0000\u0000\u0000r%\u0000\u0000\u0000r<\u0000\u0000\u0000s\u0007\u0000\u0000\u0000       r6\u0000\u0000\u0000�)test_scans_formats_and_qualified_bindingsr@\u0000\u0000\u0000\u0019\u0000\u0000\u0000s�\u0000\u0000\u0000�\u0000�\r\u0015�\u00163�\r4�F�28�\u0013�\"�+�\u000b>�+�\u0015�U�Z�Z�\u0015�\u001a�\u001a�\f$�+�\u0000\u0004\u0005\u0006�\u000b>�\t\u0012�\t\u0019�\t\u0019�7�\b#�\t\u0012�\t\u001a�\t\u001a�\u001c,�\b-�\t\u0012�\u001f�\u001f�(�\b#�\u0007\u0004C\u0001\u0006�\u0000\u0004\u0005\u0006�\u000b>�\u0000\u0004C\u0001\u0006�\u0000\u0004\f\u0006�\u0000\u0004\u0005\u0006�\b�\u0000�\t\u0004\u0005\u0006�\u000b>�\u0000\u0004C\u0001\u0006�\u0000\u0004\u0005\u0006�\u0000\u0004\u0005\u0006�\b�\u0000�\t\u0000\f?�\u0000\u0004\u0005\u0006�\u0000\u0004\u0005\u0006�\b�\u0000�\t\u0004C\u0001\u0006�\u0000\u0004\u0005\u0006�\u0000\u0004\u0005\u0006�\u0000\u0004\u0005\u0006�\u0000\u0004\u0005\u0006�\b�\u0000�\t\u0004\u0005\u0006�\u0000\u0004\u0005\u0006�\u0000\u0004\u0005\u0006��\u000b>s\u0005\u0000\u0000\u0000�\u001fC#\u0004�\u0006sourcez\u0007\"bad\\q\"z\r\"unterminatedc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000�v\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u00005\u0000\u0001\u0000t\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000d\u0000d\u0000d\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000#\u00001\u0000s\u0001w\u0002\u0001\u0000Y\u0000\u0001\u0000\u0001\u0000y\u0000x\u0003Y\u0000w\u0001)\u0001N)\u0004�\u0006pytest�\u0006raisesr\u0003\u0000\u0000\u0000r\u0005\u0000\u0000\u0000)\u0001rA\u0000\u0000\u0000s\u0001\u0000\u0000\u0000 r6\u0000\u0000\u0000�#test_rejects_invalid_lexical_sourcerE\u0000\u0000\u0000\"\u0000\u0000\u0000s\"\u0000\u0000\u0000�\u0000�\t\u000f�\u001d�\u001d�|�\t$�\b\u0010�\u0016�\b\u0018�\u0003\u0000\n%�\t$�\t$�s\b\u0000\u0000\u0000�\f/\u0003�\u00058\u0007)\u0002r\u0006\u0000\u0000\u0000N)\u0013�\bbuiltinsr(\u0000\u0000\u0000�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewriter!\u0000\u0000\u0000rC\u0000\u0000\u0000�\u0015jq_interpreter.errorsr\u0003\u0000\u0000\u0000�\u0014jq_interpreter.lexerr\u0004\u0000\u0000\u0000r\u0005\u0000\u0000\u0000r7\u0000\u0000\u0000r=\u0000\u0000\u0000r@\u0000\u0000\u0000�\u0004mark�\u000bparametrize�\u0003strrE\u0000\u0000\u0000�\u0000�\u0000\u0000\u0000\u0000r6\u0000\u0000\u0000�\b<module>rQ\u0000\u0000\u0000\u0001\u0000\u0000\u0000s[\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u0000\u0000�\u0000�\r�\u0000.�\u00004�\u0006\n\u0001,�\u001a\u0002\u0001N\u0001�\n\u0006\u0001\u0006�\u0012\u0000\u0002\b�\u001b�\u001b�\u0001\u0018�\u0001\u0018�\u0018�J�\u000f�#@�\u0001A�\u0002\u0002\u0001\u0019�\u0003�\u0000\u0002\u0001\u0019�\u0004�\u0000\u0002\u0001\u0019�\u0003\u0000\u0002B\u0001�\u0002\u0002\u0001\u0019rP\u0000\u0000\u0000tests/__pycache__/test_parse_002.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000-\u0000�j�\u0005\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000d\u0000d\u0001l\u0000Z\u0001d\u0000d\u0001l\u0002m\u0003\u0002\u0000\u0001\u0000m\u0004Z\u0005\u0001\u0000d\u0000d\u0001l\u0006Z\u0006d\u0000d\u0001l\u0007Z\u0007d\u0000d\u0002l\bm\tZ\t\u0001\u0000d\u0000d\u0001l\nZ\nd\u0000d\u0003l\u000bm\fZ\f\u0001\u0000d\u0000d\u0004l\rm\u000eZ\u000e\u0001\u0000e\te\u000f�\u0001j\u0010d\u0005\u0019\u0000Z\u0011d\u0006e\u0012d\u0007e\u0013d\be\u0007j\u0014e\u0012\u0019\u0000f\u0006d\td\n�\u0004Z\u0015d\u0016d\u000bd\f�\u0004Z\u0016d\u0016d\rd\u000e�\u0004Z\u0017e\nj\u0018�\u0019d\u000fg\u0000d\u0010�\u0001�\u0002d\u0006e\u0012d\u0007e\u0013d\u0011e\u0012d\bd\u0001f\bd\u0012d\u0013�\u0004�\u0001Z\u001ad\u0016d\u0014d\u0015�\u0004Z\u001bd\u0001S\u0000)\u0017�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path)\u0001�\fCompileError)\u0001�\u0005parse�\u0001\u0000\u0000\u0000�\u0007program�\u0005value�\u0006returnc\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000s,\u0000\u0000\u0000t\u0000j\u0001t\u0002t\u0003d\u0001\u001b\u0000�\u0001d\u0002|\u0000g\u0003t\u0004�\u0005|\u0001�\u0001d\u0003\u0017\u0000d\u0004d\u0004d\u0005d\u0006�\u0005S\u0000)\u0007N�\u0002jqz\u0002-c�\u0001\nTF)\u0004�\u0005input�\u0004text�\u000ecapture_output�\u0005check)\u0006�\nsubprocess�\u0003run�\u0003str�\u0004ROOT�\u0004json�\u0005dumps)\u0002r\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\u0000r\u0015\u0000\u0000\u0000�`/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_parse_002.pyr\u0010\u0000\u0000\u0000\u000e\u0000\u0000\u0000s\u000e\u0000\u0000\u0000\u0004\u0001\u0010\u0001\f\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�r\u0010\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0000\u0000\u0000\t\u0000\u0000\u0000C\u0000\u0000\u0000�j\u0001\u0000\u0000t\u0000d\u0001d\u0000�\u0002}\u0000|\u0000j\u0001}\u0001d\u0002}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003sDt\u0002�\u0003d\u0003|\u0003f\u0001d\u0004|\u0001|\u0002f\u0002�\u0004d\u0005t\u0004�\u0005�\u0000v\u0000s%t\u0002�\u0006|\u0000�\u0001r*t\u0002�\u0007|\u0000�\u0001n\u0001d\u0005t\u0002�\u0007|\u0001�\u0001t\u0002�\u0007|\u0002�\u0001d\u0006�\u0003\u0016\u0000}\u0004d\u0007d\b|\u0004i\u0001\u0016\u0000}\u0005t\bt\u0002�\t|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002t\nj\u000b}\u0001|\u0000j\f}\u0002|\u0001|\u0002�\u0001}\u0006d\t}\u0007|\u0006|\u0007k\u0002}\b|\bs�t\u0002�\u0003d\u0003|\bf\u0001d\n|\u0006|\u0007f\u0002�\u0004d\u000bt\u0004�\u0005�\u0000v\u0000sqt\u0002�\u0006t\n�\u0001rvt\u0002�\u0007t\n�\u0001n\u0001d\u000bt\u0002�\u0007|\u0001�\u0001d\u0005t\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006|\u0000�\u0001r�t\u0002�\u0007|\u0000�\u0001n\u0001d\u0005t\u0002�\u0007|\u0002�\u0001t\u0002�\u0007|\u0006�\u0001t\u0002�\u0007|\u0007�\u0001d\f�\u0006\u0016\u0000}\td\rd\u000e|\ti\u0001\u0016\u0000}\nt\bt\u0002�\t|\n�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0002\u0004\u0000}\u0006\u0004\u0000}\b}\u0007d\u0000S\u0000)\u000fNz\u0014\"Aa\\r\\n\\t\\b\\f\\u03bc\"r\u0001\u0000\u0000\u0000�\u0001�\u0002==�\u0001z2%(py2)s\n{%(py2)s = %(py0)s.returncode\n} == %(py5)s�\u0006result�\u0003�\u0003py0�\u0003py2�\u0003py5�\u000eassert %(py7)s�\u0003py7u\t\u0000\u0000\u0000Aa\r\n\t\b\fμ�\u0001zh%(py7)s\n{%(py7)s = %(py2)s\n{%(py2)s = %(py0)s.loads\n}(%(py5)s\n{%(py5)s = %(py3)s.stdout\n})\n} == %(py10)sr\u0013\u0000\u0000\u0000�\u0006r\u001d\u0000\u0000\u0000r\u001e\u0000\u0000\u0000�\u0003py3r\u001f\u0000\u0000\u0000r!\u0000\u0000\u0000�\u0004py10�\u000fassert %(py12)s�\u0004py12�\rr\u0010\u0000\u0000\u0000�\nreturncode�\n@pytest_ar�\u0011_call_reprcompare�\f@py_builtins�\u0006locals�\u0018_should_repr_global_name�\t_saferepr�\u000eAssertionError�\u0013_format_explanationr\u0013\u0000\u0000\u0000�\u0005loads�\u0006stdout�\u000br\u001b\u0000\u0000\u0000�\u000b@py_assert1�\u000b@py_assert4�\u000b@py_assert3�\u000b@py_format6�\u000b@py_format8�\u000b@py_assert6�\u000b@py_assert9�\u000b@py_assert8�\f@py_format11�\f@py_format13r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�%test_unicode_json_escapes_are_decoded\u0018\u0000\u0000\u0000�\u0006\u0000\u0000\u0000\n\u0001�\u0001�\u0001r?\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0000\u0000\u0000\t\u0000\u0000\u0000C\u0000\u0000\u0000r\u0017\u0000\u0000\u0000)\u000fNz\u0019\"inter\\(\"pol\" + \"ation\")\"r\u0001\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r \u0000\u0000\u0000r!\u0000\u0000\u0000�\rinterpolationr\"\u0000\u0000\u0000r\u0013\u0000\u0000\u0000r#\u0000\u0000\u0000r&\u0000\u0000\u0000r'\u0000\u0000\u0000r(\u0000\u0000\u0000r4\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�%test_interpolation_uses_filter_output\u001e\u0000\u0000\u0000r@\u0000\u0000\u0000rB\u0000\u0000\u0000)\u0003r\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\bexpected)\u0003)\u0003z\u0004@uriu\u0002\u0000\u0000\u0000μz\u0006%CE%BC)\u0003z\u0007@base64u\b\u0000\u0000\u0000foóbar\nz\fZm/Ds2Jhcgo=)\u0003z\u0013@html \"<b>\\(.)</b>\"z\u0014<script>hax</script>z'<b>&lt;script&gt;hax&lt;/script&gt;</b>rC\u0000\u0000\u0000c\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0000\u0000\u0000\t\u0000\u0000\u0000C\u0000\u0000\u0000s|\u0001\u0000\u0000t\u0000|\u0000|\u0001�\u0002}\u0003|\u0003j\u0001}\u0004d\u0001}\u0005|\u0004|\u0005k\u0002}\u0006|\u0006sDt\u0002�\u0003d\u0002|\u0006f\u0001d\u0003|\u0004|\u0005f\u0002�\u0004d\u0004t\u0004�\u0005�\u0000v\u0000s%t\u0002�\u0006|\u0003�\u0001r*t\u0002�\u0007|\u0003�\u0001n\u0001d\u0004t\u0002�\u0007|\u0004�\u0001t\u0002�\u0007|\u0005�\u0001d\u0005�\u0003\u0016\u0000}\u0007d\u0006d\u0007|\u0007i\u0001\u0016\u0000}\bt\bt\u0002�\t|\b�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0004\u0004\u0000}\u0006}\u0005t\nj\u000b}\u0004|\u0003j\f}\u0005|\u0004|\u0005�\u0001}\t|\t|\u0002k\u0002}\n|\ns�t\u0002�\u0003d\u0002|\nf\u0001d\b|\t|\u0002f\u0002�\u0004d\tt\u0004�\u0005�\u0000v\u0000sot\u0002�\u0006t\n�\u0001rtt\u0002�\u0007t\n�\u0001n\u0001d\tt\u0002�\u0007|\u0004�\u0001d\u0004t\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006|\u0003�\u0001r�t\u0002�\u0007|\u0003�\u0001n\u0001d\u0004t\u0002�\u0007|\u0005�\u0001t\u0002�\u0007|\t�\u0001d\nt\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006|\u0002�\u0001r�t\u0002�\u0007|\u0002�\u0001n\u0001d\nd\u000b�\u0006\u0016\u0000}\u000bd\fd\r|\u000bi\u0001\u0016\u0000}\ft\bt\u0002�\t|\f�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0004\u0004\u0000}\u0005\u0004\u0000}\t}\nd\u0000S\u0000)\u000eNr\u0001\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r \u0000\u0000\u0000r!\u0000\u0000\u0000)\u0001zg%(py7)s\n{%(py7)s = %(py2)s\n{%(py2)s = %(py0)s.loads\n}(%(py5)s\n{%(py5)s = %(py3)s.stdout\n})\n} == %(py9)sr\u0013\u0000\u0000\u0000rC\u0000\u0000\u0000)\u0006r\u001d\u0000\u0000\u0000r\u001e\u0000\u0000\u0000r$\u0000\u0000\u0000r\u001f\u0000\u0000\u0000r!\u0000\u0000\u0000�\u0003py9z\u000fassert %(py11)s�\u0004py11r(\u0000\u0000\u0000)\rr\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000rC\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r9\u0000\u0000\u0000r:\u0000\u0000\u0000r<\u0000\u0000\u0000�\f@py_format10�\f@py_format12r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�\u0014test_format_literals$\u0000\u0000\u0000s\u0006\u0000\u0000\u0000\n\t�\u0001�\u0001rH\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000C\u0000\u0000\u0000s8\u0000\u0000\u0000t\u0000�\u0001t\u0002�\u0001�\r\u0001\u0000t\u0003d\u0001�\u0001\u0001\u0000W\u0000d\u0000\u0004\u0000\u0004\u0000�\u0003\u0001\u0000d\u0000S\u00001\u0000s\u0015w\u0001\u0001\u0000\u0001\u0000\u0001\u0000Y\u0000\u0001\u0000d\u0000S\u0000)\u0002Nz\u0006\"u\\vw\")\u0004�\u0006pytest�\u0006raisesr\u0003\u0000\u0000\u0000r\u0004\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�&test_invalid_escape_is_compile_failure2\u0000\u0000\u0000s\u0006\u0000\u0000\u0000\f\u0001\n\u0001\"�rK\u0000\u0000\u0000)\u0002r\b\u0000\u0000\u0000N)\u001c�\bbuiltinsr,\u0000\u0000\u0000�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewriter*\u0000\u0000\u0000r\u0013\u0000\u0000\u0000r\u000f\u0000\u0000\u0000�\u0007pathlibr\u0002\u0000\u0000\u0000rI\u0000\u0000\u0000�\u0015jq_interpreter.errorsr\u0003\u0000\u0000\u0000�\u0015jq_interpreter.parserr\u0004\u0000\u0000\u0000�\b__file__�\u0007parentsr\u0012\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�\u0006object�\u0010CompletedProcessr\u0010\u0000\u0000\u0000r?\u0000\u0000\u0000rB\u0000\u0000\u0000�\u0004mark�\u000bparametrizerH\u0000\u0000\u0000rK\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�\b<module>\u0001\u0000\u0000\u0000s \u0000\u0000\u0000\"\u0000\b\u0001\f\u0001\b\u0002\f\u0002\f\u0001\u000e\u0003\u001c\u0003\n\n\n\u0006\u0006\u0006\u0002\u0001\u0006\u0001\u0002�\u001c\b\u000e\u0006tests/__pycache__/test_parse_002.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000-\u0000�j�\u0005\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000�$\u0001\u0000\u0000�\u0000d\u0000d\u0001l\u0000Z\u0001d\u0000d\u0001l\u0002m\u0003c\u0002\u0001\u0000m\u0004Z\u0005\u0001\u0000d\u0000d\u0001l\u0006Z\u0006d\u0000d\u0001l\u0007Z\u0007d\u0000d\u0002l\bm\tZ\t\u0001\u0000d\u0000d\u0001l\nZ\nd\u0000d\u0003l\u000bm\fZ\f\u0001\u0000d\u0000d\u0004l\rm\u000eZ\u000e\u0001\u0000\u0002\u0000e\te\u000f�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0005\u0019\u0000\u0000\u0000Z\u0011d\u0006e\u0012d\u0007e\u0013d\be\u0007j(\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000e\u0012\u0019\u0000\u0000\u0000f\u0006d\t�\u0004Z\u0015d\u0011d\n�\u0004Z\u0016d\u0011d\u000b�\u0004Z\u0017e\nj0\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j3\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\fg\u0000d\r�\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000d\u0006e\u0012d\u0007e\u0013d\u000ee\u0012d\bd\u0001f\bd\u000f�\u0004�\u0000\u0000\u0000\u0000\u0000\u0000\u0000Z\u001ad\u0011d\u0010�\u0004Z\u001by\u0001)\u0012�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path)\u0001�\fCompileError)\u0001�\u0005parse�\u0001\u0000\u0000\u0000�\u0007program�\u0005value�\u0006returnc\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001z\u000b\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0002|\u0000g\u0003t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0003z\u0000\u0000\u0000d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000S\u0000)\u0007N�\u0002jqz\u0002-c�\u0001\nTF)\u0004�\u0005input�\u0004text�\u000ecapture_output�\u0005check)\u0006�\nsubprocess�\u0003run�\u0003str�\u0004ROOT�\u0004json�\u0005dumps)\u0002r\u0007\u0000\u0000\u0000r\b\u0000\u0000\u0000s\u0002\u0000\u0000\u0000  �`/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_parse_002.pyr\u0012\u0000\u0000\u0000r\u0012\u0000\u0000\u0000\u000e\u0000\u0000\u0000s@\u0000\u0000\u0000�\u0000�\u000b\u0015�>�>�\t\f�T�D�[�\t\u0019�4�\u0017�\b)�\u000e\u0012�j�j�\u0015�\u000e\u001f�$�\u000e&�\r\u0011�\u0017\u001b�\u000e\u0013�\u000b\u0006\f\u0006�\u0000\u0006\u0005\u0006�\u0000\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0003\u0000\u0000\u0000�X\u0004\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001d\u0002}\u0002|\u0001|\u0002k(\u0000\u0000}\u0003|\u0003s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003|\u0003f\u0001d\u0004|\u0001|\u0002f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0005t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0005t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0006�\u0003z\u0006\u0000\u0000}\u0004d\u0007d\b|\u0004i\u0001z\u0006\u0000\u0000}\u0005t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0003}\u0002t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002\u0002\u0000|\u0001|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0006d\t}\u0007|\u0006|\u0007k(\u0000\u0000}\b|\b�\u0001s\u001et\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003|\bf\u0001d\n|\u0006|\u0007f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u000bt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u000bt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0005t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0005t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\f�\u0006z\u0006\u0000\u0000}\td\rd\u000e|\ti\u0001z\u0006\u0000\u0000}\nt\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\n�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0002x\u0001}\u0006x\u0001}\b}\u0007y\u0000)\u000fNz\u0014\"Aa\\r\\n\\t\\b\\f\\u03bc\"r\u0002\u0000\u0000\u0000�\u0001�\u0002==�\u0001z2%(py2)s\n{%(py2)s = %(py0)s.returncode\n} == %(py5)s�\u0006result�\u0003�\u0003py0�\u0003py2�\u0003py5�\u000eassert %(py7)s�\u0003py7u\t\u0000\u0000\u0000Aa\r\n\t\b\fμ�\u0001zh%(py7)s\n{%(py7)s = %(py2)s\n{%(py2)s = %(py0)s.loads\n}(%(py5)s\n{%(py5)s = %(py3)s.stdout\n})\n} == %(py10)sr\u0015\u0000\u0000\u0000�\u0006r\u001f\u0000\u0000\u0000r \u0000\u0000\u0000�\u0003py3r!\u0000\u0000\u0000r#\u0000\u0000\u0000�\u0004py10�\u000fassert %(py12)s�\u0004py12�\rr\u0012\u0000\u0000\u0000�\nreturncode�\n@pytest_ar�\u0011_call_reprcompare�\f@py_builtins�\u0006locals�\u0018_should_repr_global_name�\t_saferepr�\u000eAssertionError�\u0013_format_explanationr\u0015\u0000\u0000\u0000�\u0005loads�\u0006stdout�\u000br\u001d\u0000\u0000\u0000�\u000b@py_assert1�\u000b@py_assert4�\u000b@py_assert3�\u000b@py_format6�\u000b@py_format8�\u000b@py_assert6�\u000b@py_assert9�\u000b@py_assert8�\f@py_format11�\f@py_format13s\u000b\u0000\u0000\u0000           r\u0017\u0000\u0000\u0000�%test_unicode_json_escapes_are_decodedrA\u0000\u0000\u0000\u0018\u0000\u0000\u0000s@\u0001\u0000\u0000�\u0000�\r\u0010�\u0011(�$�\r/�F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u000b\u000f�:�:�\u00048�f�m�m�\u00048�:�m�\u000b$�\u00048�(8�\u00048�\u000b$�(8�\u000b8�\u00048�\u00048�\u00048�\u000b$�(8�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�4�\u00048�\u00048�\u00048�4�\u00048�\u00048�\u00048�:�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�f�\u00048�\u00048�\u00048�f�\u00048�\u00048�\u00048�m�\u00048�\u00048�\u00048�\u000b$�\u00048�\u00048�\u00048�(8�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048r\u0018\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0003\u0000\u0000\u0000�X\u0004\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001d\u0002}\u0002|\u0001|\u0002k(\u0000\u0000}\u0003|\u0003s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003|\u0003f\u0001d\u0004|\u0001|\u0002f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0005t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0005t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0006�\u0003z\u0006\u0000\u0000}\u0004d\u0007d\b|\u0004i\u0001z\u0006\u0000\u0000}\u0005t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0003}\u0002t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002\u0002\u0000|\u0001|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0006d\t}\u0007|\u0006|\u0007k(\u0000\u0000}\b|\b�\u0001s\u001et\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003|\bf\u0001d\n|\u0006|\u0007f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u000bt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u000bt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0005t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0005t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\f�\u0006z\u0006\u0000\u0000}\td\rd\u000e|\ti\u0001z\u0006\u0000\u0000}\nt\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\n�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0002x\u0001}\u0006x\u0001}\b}\u0007y\u0000)\u000fNz\u0019\"inter\\(\"pol\" + \"ation\")\"r\u0002\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000r\u001e\u0000\u0000\u0000r\"\u0000\u0000\u0000r#\u0000\u0000\u0000�\rinterpolationr$\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r%\u0000\u0000\u0000r(\u0000\u0000\u0000r)\u0000\u0000\u0000r*\u0000\u0000\u0000r6\u0000\u0000\u0000s\u000b\u0000\u0000\u0000           r\u0017\u0000\u0000\u0000�%test_interpolation_uses_filter_outputrD\u0000\u0000\u0000\u001e\u0000\u0000\u0000s<\u0001\u0000\u0000�\u0000�\r\u0010�\u0011-�t�\r4�F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u000b\u000f�:�:�\u00047�f�m�m�\u00047�:�m�\u000b$�\u00047�\u000f�\u00047�\u000b$�\u000f�\u000b7�\u00047�\u00047�\u00047�\u000b$�\u000f�\u00047�\u00047�\u00047�\u00047�\u00047�\u00047�4�\u00047�\u00047�\u00047�4�\u00047�\u00047�\u00047�:�\u00047�\u00047�\u00047�\u00047�\u00047�\u00047�f�\u00047�\u00047�\u00047�f�\u00047�\u00047�\u00047�m�\u00047�\u00047�\u00047�\u000b$�\u00047�\u00047�\u00047�\u000f�\u00047�\u00047�\u00047�\u00047�\u00047�\u00047�\u00047�\u00047r\u0018\u0000\u0000\u0000)\u0003r\u0007\u0000\u0000\u0000r\b\u0000\u0000\u0000�\bexpected)\u0003)\u0003z\u0004@uriu\u0002\u0000\u0000\u0000μz\u0006%CE%BC)\u0003z\u0007@base64u\b\u0000\u0000\u0000foóbar\nz\fZm/Ds2Jhcgo=)\u0003z\u0013@html \"<b>\\(.)</b>\"z\u0014<script>hax</script>z'<b>&lt;script&gt;hax&lt;/script&gt;</b>rE\u0000\u0000\u0000c\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0004\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000|\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0003|\u0003j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0004d\u0001}\u0005|\u0004|\u0005k(\u0000\u0000}\u0006|\u0006s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002|\u0006f\u0001d\u0003|\u0004|\u0005f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0004t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0004t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0004�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0005�\u0003z\u0006\u0000\u0000}\u0007d\u0006d\u0007|\u0007i\u0001z\u0006\u0000\u0000}\bt\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0004x\u0001}\u0006}\u0005t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0004|\u0003j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0005\u0002\u0000|\u0004|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\t|\t|\u0002k(\u0000\u0000}\n|\n�\u0001sKt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002|\nf\u0001d\b|\t|\u0002f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\tt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\tt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0004�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0004t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0004t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\t�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\nt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\nd\u000b�\u0006z\u0006\u0000\u0000}\u000bd\fd\r|\u000bi\u0001z\u0006\u0000\u0000}\ft\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\f�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0004x\u0001}\u0005x\u0001}\t}\ny\u0000)\u000eNr\u0002\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000r\u001e\u0000\u0000\u0000r\"\u0000\u0000\u0000r#\u0000\u0000\u0000)\u0001zg%(py7)s\n{%(py7)s = %(py2)s\n{%(py2)s = %(py0)s.loads\n}(%(py5)s\n{%(py5)s = %(py3)s.stdout\n})\n} == %(py9)sr\u0015\u0000\u0000\u0000rE\u0000\u0000\u0000)\u0006r\u001f\u0000\u0000\u0000r \u0000\u0000\u0000r&\u0000\u0000\u0000r!\u0000\u0000\u0000r#\u0000\u0000\u0000�\u0003py9z\u000fassert %(py11)s�\u0004py11r*\u0000\u0000\u0000)\rr\u0007\u0000\u0000\u0000r\b\u0000\u0000\u0000rE\u0000\u0000\u0000r\u001d\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r9\u0000\u0000\u0000r:\u0000\u0000\u0000r;\u0000\u0000\u0000r<\u0000\u0000\u0000r>\u0000\u0000\u0000�\f@py_format10�\f@py_format12s\r\u0000\u0000\u0000             r\u0017\u0000\u0000\u0000�\u0014test_format_literalsrK\u0000\u0000\u0000$\u0000\u0000\u0000sL\u0001\u0000\u0000�\u0000�\u0012\u0000\u000e\u0011�\u0017�%�\r �F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u000b\u000f�:�:�\u00040�f�m�m�\u00040�:�m�\u000b$�\u00040�\u000b$�\b�\u000b0�\u00040�\u00040�\u00040�\u000b$�\b�\u00040�\u00040�\u00040�\u00040�\u00040�\u00040�4�\u00040�\u00040�\u00040�4�\u00040�\u00040�\u00040�:�\u00040�\u00040�\u00040�\u00040�\u00040�\u00040�f�\u00040�\u00040�\u00040�f�\u00040�\u00040�\u00040�m�\u00040�\u00040�\u00040�\u000b$�\u00040�\u00040�\u00040�\u00040�\u00040�\u00040�\b�\u00040�\u00040�\u00040�\b�\u00040�\u00040�\u00040�\u00040�\u00040�\u00040�\u00040�\u00040r\u0018\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000�v\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u00005\u0000\u0001\u0000t\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000d\u0000d\u0000d\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000#\u00001\u0000s\u0001w\u0002\u0001\u0000Y\u0000\u0001\u0000\u0001\u0000y\u0000x\u0003Y\u0000w\u0001)\u0002Nz\u0006\"u\\vw\")\u0004�\u0006pytest�\u0006raisesr\u0004\u0000\u0000\u0000r\u0005\u0000\u0000\u0000�\u0000r\u0018\u0000\u0000\u0000r\u0017\u0000\u0000\u0000�&test_invalid_escape_is_compile_failurerP\u0000\u0000\u00002\u0000\u0000\u0000s\"\u0000\u0000\u0000�\u0000�\t\u000f�\u001d�\u001d�|�\t$�\b\r�i�\b\u0018�\u0003\u0000\n%�\t$�\t$�s\b\u0000\u0000\u0000�\f/\u0003�\u00058\u0007)\u0002r\t\u0000\u0000\u0000N)\u001c�\bbuiltinsr.\u0000\u0000\u0000�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewriter,\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�\u0007pathlibr\u0003\u0000\u0000\u0000rM\u0000\u0000\u0000�\u0015jq_interpreter.errorsr\u0004\u0000\u0000\u0000�\u0015jq_interpreter.parserr\u0005\u0000\u0000\u0000�\b__file__�\u0007parentsr\u0014\u0000\u0000\u0000r\u0013\u0000\u0000\u0000�\u0006object�\u0010CompletedProcessr\u0012\u0000\u0000\u0000rA\u0000\u0000\u0000rD\u0000\u0000\u0000�\u0004mark�\u000bparametrizerK\u0000\u0000\u0000rP\u0000\u0000\u0000rO\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u0017\u0000\u0000\u0000�\b<module>r^\u0000\u0000\u0000\u0001\u0000\u0000\u0000s�\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u0000\u0000�\u0000�\u000b�\u0000\u0011�\u0000\u0018�\u0000\r�\u0000.�\u0000'�\u0006\u0000\b\f�H�~�\u0007\u001d�\u0007\u001d�a�\u0007 �\u0004�\u0006\u0007\u0001\u0006�\u0013�\u0000\u0007\u0001\u0006�V�\u0000\u0007\u0001\u0006�\n�(C�(C�C�(H�\u0000\u0007\u0001\u0006�\u0014\u0003\u00019�\f\u0003\u00018�\f\u0000\u0002\b�\u001b�\u001b�\u0001\u0018�\u0001\u0018�\u0004$�\u0002\u0004\u0005\u0006�\u0005\u0007\u0002\u0002�\u0010\u0003\u00011�#�\u0000\u0003\u00011�f�\u0000\u0003\u00011�\u0003�\u0000\u0003\u00011�\u0004�\u0000\u0003\u00011�\u0011\u0007\u0002\u0002�\u0010\u0003\u00011�\f\u0002\u0001\u0019r\u0018\u0000\u0000\u0000","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_11","type":"command_execution","command":"/bin/bash -lc \"sed -n '1130,1235p' jq_interpreter/evaluator.py; sed -n '1,180p' jq_interpreter/cli.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_11","type":"command_execution","command":"/bin/bash -lc \"sed -n '1130,1235p' jq_interpreter/evaluator.py; sed -n '1,180p' jq_interpreter/cli.py\"","aggregated_output":"            elif isinstance(item, dict):\n                for key, child in item.items():\n                    p=prefix+(key,); yield list(p); yield from paths_of(child,p)\n        if args:\n            for item in _node(args[0], value, env): yield from paths_of(item)\n        else: yield from paths_of(value)\n        return\n    if name == 'indices':\n        for needle in (list(_node(args[0], value, env)) if args else [None]):\n            found: list[int] = []\n            if isinstance(value, str) and isinstance(needle, str):\n                start=0\n                while True:\n                    position=value.find(needle,start)\n                    if position < 0: break\n                    found.append(position); start=position+1\n            elif isinstance(value, list) and isinstance(needle, list):\n                for i in range(len(value)-len(needle)+1):\n                    if _deep_equal(value[i:i+len(needle)],needle): found.append(i)\n            elif isinstance(value, list):\n                for i,item in enumerate(value):\n                    if _deep_equal(item,needle): found.append(i)\n            yield found\n        return\n    if name == 'index':\n        needles = list(_node(args[0], value, env)) if args else [None]\n        for needle in needles:\n            if isinstance(value, str):\n                found = value.find(needle)\n            elif isinstance(value, list):\n                found = next((i for i, item in enumerate(value) if _deep_equal(item, needle)), -1)\n            else:\n                raise RuntimeError('cannot search value')\n            yield found if found >= 0 else None\n        return\n    if name in ('arrays','objects','iterables','booleans','numbers','strings','nulls','values','scalars','normals','finites'):\n        ok = {'arrays':isinstance(value,list),'objects':isinstance(value,dict),\n              'iterables':isinstance(value,(list,dict)),'booleans':isinstance(value,bool),\n              'numbers':isinstance(value,(int,float)) and not isinstance(value,bool),\n              'strings':isinstance(value,str),'nulls':value is None,\n              'values':value is not None,'scalars':not isinstance(value,(list,dict))}[name]\n        if ok: yield value\n        return\n    if name == 'keys':\n        if isinstance(value, dict): yield sorted(value)\n        elif isinstance(value, list): yield list(range(len(value)))\n        else: raise RuntimeError('keys requires object or array')\n        return\n    if name == 'getpath':\n        path = _one(args[0], value, env)\n        if not isinstance(path, list): raise RuntimeError('Paths must be specified as an array')\n        if len(path) > 10000: raise RuntimeError('Path too deep')\n        yield _get_path_checked(value, tuple(path)); return\n    if name == 'setpath':\n        path = _one(args[0], value, env); replacement = _one(args[1], value, env)\n        if not isinstance(path, list): raise RuntimeError('Paths must be specified as an array')\n        if len(path) > 10000: raise RuntimeError('Path too deep')\n        yield _set_path_checked(value, tuple(path), replacement); return\n    if name == 'delpaths':\n        paths = _one(args[0], value, env)\n        if not isinstance(paths, list): raise RuntimeError('Paths must be specified as an array')\n        if any(isinstance(path, list) and len(path) > 10000 for path in paths):\n            raise RuntimeError('Path too deep')\n        result = value\n        for path in paths:\n            if isinstance(path, list): result = _delete_path_checked(result, tuple(path))\n        yield result; return\n    if name == 'del':\n        all_paths = []\n        for path_expr in args:\n            try:\n                all_paths.extend(_paths(path_expr, value, env))\n            except RuntimeError:\n                # `del(.[nan])` is a no-op in jq; the same invalid index is\n                # still an error for an assignment, handled by _paths above.\n                continue\n        result = value\n        grouped = {}\n        for path in all_paths:\n            if path:\n                parent, key = path[:-1], path[-1]\n                # jq resolves every deletion path against the original\n                # value.  Normalize negative array indices before applying\n                # any mutation so later removals cannot change their target.\n                container = _get_path(value, parent)\n                if isinstance(container, list) and isinstance(key, (int, float)) and key < 0:\n                    key = len(container) + int(key)\n                grouped.setdefault(parent, set()).add(key)\n        # Remove array members in descending index order so one deletion\n        # cannot shift a later member.  Deeper parents are handled first.\n        for parent in sorted(grouped, key=lambda item: len(item), reverse=True):\n            for key in sorted(grouped[parent], key=lambda item: item if isinstance(item, (int, float)) else 0, reverse=True):\n                result = _delete_path(result, parent + (key,))\n        if any(not path for path in all_paths):\n            result = None\n        yield result\n        return\n    if name == 'rindex':\n        needles = list(_node(args[0], value, env)) if args else [None]\n        for needle in needles:\n            if isinstance(value, str): yield value.rfind(needle) if needle in value else None\n            elif isinstance(value, list):\n                try: yield len(value) - 1 - value[::-1].index(needle)\n                except ValueError: yield None\n            else: raise RuntimeError('cannot search value')\n        return\n\"\"\"Executable boundary for ``jq -c '<program>'``.\"\"\"\n\nimport argparse\nimport json\nimport math\nimport sys\nfrom collections.abc import Iterator\n\nfrom .diagnostics import report_compile_error, report_runtime_error\nfrom .errors import CompileError, RuntimeError\nfrom .interpreter import Interpreter, parse_inputs\n\n# The conformance corpus deliberately exercises jq's deep-value limit with\n# values around ten thousand levels deep.  Python's default limit is lower\n# than that and would turn valid jq processing into an uncaught RecursionError\n# while encoding an intermediate value.\nsys.setrecursionlimit(100000)\n\n\ndef _inputs() -> Iterator[object]:\n    yield from parse_inputs(sys.stdin.read())\n\n\ndef _json_output(value: object) -> object:\n    \"\"\"Convert jq's non-finite numbers to its JSON output representation.\n\n    jq represents NaN and infinities as ``null`` when emitting JSON.  Doing this\n    recursively also covers values nested in arrays and objects.\n    \"\"\"\n    if isinstance(value, float) and not math.isfinite(value):\n        return None\n    if isinstance(value, list):\n        return [_json_output(item) for item in value]\n    if isinstance(value, dict):\n        return {key: _json_output(item) for key, item in value.items()}\n    return value\n\n\ndef main(argv: list[str] | None = None) -> int:\n    arguments = argparse.ArgumentParser(prog=\"jq\")\n    arguments.add_argument(\"-c\", action=\"store_true\")\n    arguments.add_argument(\"program\")\n    options = arguments.parse_args(argv)\n    try:\n        interpreter = Interpreter(options.program)\n    except CompileError as error:\n        return report_compile_error(error)\n    try:\n        for output in interpreter.run(_inputs()):\n            from .evaluator import _deep_json_dumps\n            print(_deep_json_dumps(output), flush=True)\n    except (RuntimeError, ValueError, TypeError, json.JSONDecodeError) as error:\n        return report_runtime_error(RuntimeError(str(error)))\n    return 0\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_12","type":"command_execution","command":"/bin/bash -lc \"grep -n \\\"def _get_path_checked\\\\|def _set_path_checked\\\" -A85 jq_interpreter/evaluator.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_12","type":"command_execution","command":"/bin/bash -lc \"grep -n \\\"def _get_path_checked\\\\|def _set_path_checked\\\" -A85 jq_interpreter/evaluator.py\"","aggregated_output":"740:def _get_path_checked(value, path):\n741-    current = value\n742-    for key in path:\n743-        _validate_path_key(current, key, updating=False)\n744-        if isinstance(current, dict): current = current.get(key)\n745-        elif isinstance(current, list):\n746-            index = int(key); current = current[index] if -len(current) <= index < len(current) else None\n747-        else: return None\n748-    return current\n749-\n750-\n751:def _set_path_checked(value, path, replacement):\n752-    current = value\n753-    for key in path:\n754-        _validate_path_key(current, key, updating=True)\n755-        if isinstance(current, dict): current = current.get(key)\n756-        elif isinstance(current, list):\n757-            index = int(key); current = current[index] if 0 <= index < len(current) else None\n758-        elif current is not None:\n759-            raise RuntimeError(f'Cannot index {_type_name(current)} with {_type_name(key)} ({_short(key)})')\n760-    return _set_path(value, path, replacement)\n761-\n762-\n763-def _delete_path_checked(value, path):\n764-    current = value\n765-    for key in path:\n766-        _validate_path_key(current, key, updating=False)\n767-        if isinstance(current, dict): current = current.get(key)\n768-        elif isinstance(current, list):\n769-            if isinstance(key, list): raise RuntimeError('Cannot update field at array index of array')\n770-            index = int(key); current = current[index] if -len(current) <= index < len(current) else None\n771-        else: break\n772-    return _delete_path(value, path)\n773-\n774-\n775-def _get_path(value, path):\n776-    current = value\n777-    for key in path:\n778-        if isinstance(current, dict):\n779-            if not isinstance(key, str):\n780-                raise RuntimeError(f'Cannot index object with {_type_name(key)} ({_short(key)})')\n781-            current = current.get(key)\n782-        elif isinstance(current, list):\n783-            if isinstance(key, float) and math.isnan(key):\n784-                raise RuntimeError('Cannot set array element at NaN index')\n785-            if isinstance(key, list):\n786-                raise RuntimeError('Cannot update field at array index of array')\n787-            index = int(key); current = current[index] if -len(current) <= index < len(current) else None\n788-        else: return None\n789-    return current\n790-\n791-def _set_path(value, path, replacement):\n792-    if not path: return replacement\n793-    if isinstance(value, dict):\n794-        result = dict(value); key = str(path[0]); result[key] = _set_path(result.get(key), path[1:], replacement); return result\n795-    if isinstance(value, list):\n796-        result = list(value); index = int(path[0]); index = index + len(result) if index < 0 else index\n797-        while index >= len(result): result.append(None)\n798-        result[index] = _set_path(result[index], path[1:], replacement); return result\n799-    if isinstance(path[0], (int, float)) and not isinstance(path[0], bool):\n800-        result = []\n801-        index = int(path[0])\n802-        while len(result) <= index: result.append(None)\n803-        result[index] = _set_path(result[index], path[1:], replacement)\n804-        return result\n805-    return {str(path[0]): _set_path(None, path[1:], replacement)}\n806-\n807-def _delete_path(value, path):\n808-    if not path: return None\n809-    if isinstance(value, list):\n810-        index = int(path[0]); index = index + len(value) if index < 0 else index\n811-        result = list(value)\n812-        if len(path) == 1:\n813-            if 0 <= index < len(result): result.pop(index)\n814-        elif 0 <= index < len(result): result[index] = _delete_path(result[index], path[1:])\n815-        return result\n816-    if isinstance(value, dict):\n817-        result = dict(value); key = str(path[0])\n818-        if len(path) == 1: result.pop(key, None)\n819-        elif key in result: result[key] = _delete_path(result[key], path[1:])\n820-        return result\n821-    return value\n822-def _call(name,args,value,env):\n823-    parameter = env.get('__params__', {}).get(name)\n824-    if parameter is not None:\n825-        bound_env, argument = parameter\n826-        yield from _node(argument, value, bound_env)\n827-        return\n828-    if not args and name in env:\n829-        bound = env[name]\n830-        if isinstance(bound, tuple) and bound and bound[0] == '__closure__':\n831-            yield from _node(bound[1], value, {**env, **bound[2]})\n832-        elif isinstance(bound, Node):\n833-            yield from _node(bound, value, env)\n834-        else:\n835-            yield bound\n836-        return\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_13","type":"command_execution","command":"/bin/bash -lc \"for x in '{\\\"a\\\":0}' '{\\\"a\\\":null}' '{\\\"a\\\":[{}]}' '{\\\"a\\\":[{\\\"c\\\":3}]}' ; do echo input\"'$x; ./jq -c '\"'.[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .' <<< \\\"\"'$x\"; done\n./jq -c '\"'try (def x: reverse; x=10) catch .' <<< '[0,1,2]'\n./jq -c 'have_decnum, -.' <<< '-0.12345678901234567890123456789'\n./jq -c '1E+1000 | tojson' <<< null\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_13","type":"command_execution","command":"/bin/bash -lc \"for x in '{\\\"a\\\":0}' '{\\\"a\\\":null}' '{\\\"a\\\":[{}]}' '{\\\"a\\\":[{\\\"c\\\":3}]}' ; do echo input\"'$x; ./jq -c '\"'.[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .' <<< \\\"\"'$x\"; done\n./jq -c '\"'try (def x: reverse; x=10) catch .' <<< '[0,1,2]'\n./jq -c 'have_decnum, -.' <<< '-0.12345678901234567890123456789'\n./jq -c '1E+1000 | tojson' <<< null\"","aggregated_output":"{\"a\":[{\"b\":5}]}\ninput{\"a\":null}\n{\"a\":[{\"b\":5}]}\ninput{\"a\":[{}]}\n\"invalid literal for int() with base 10: 'a'\"\ninput{\"a\":[{\"c\":3}]}\n\"invalid literal for int() with base 10: 'a'\"\n\"Invalid path expression\"\ntrue\n0.12345678901234568\n\"null\"\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_14","type":"command_execution","command":"/bin/bash -lc \"grep -n 'def _short\\\\|def _stringify' -A35 jq_interpreter/evaluator.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_14","type":"command_execution","command":"/bin/bash -lc \"grep -n 'def _short\\\\|def _stringify' -A35 jq_interpreter/evaluator.py\"","aggregated_output":"1389:def _short(value: object) -> str:\n1390-    if isinstance(value, str):\n1391-        shown = value if len(value) <= 24 else value[:24] + '...'\n1392-        return json.dumps(shown, ensure_ascii=False)\n1393-    if isinstance(value, float) and value.is_integer():\n1394-        return str(int(value))\n1395-    return _stringify(value)\n1396-\n1397-def _type_name(value: object) -> str:\n1398-    if value is None: return 'null'\n1399-    if isinstance(value, bool): return 'boolean'\n1400-    if isinstance(value, (int, float)): return 'number'\n1401-    if isinstance(value, str): return 'string'\n1402-    if isinstance(value, list): return 'array'\n1403-    if isinstance(value, dict): return 'object'\n1404-    return type(value).__name__\n1405-\n1406:def _stringify(value: object) -> str:\n1407-    import json\n1408-    return value if isinstance(value, str) else json.dumps(value, separators=(\",\", \":\"), ensure_ascii=False, allow_nan=False)\n1409-\n1410-def _apply_format(name: str, value: object, template: bool = False) -> str:\n1411-    import base64, html, json, urllib.parse\n1412-    if name == \"text\": return _stringify(value)\n1413-    if name == \"json\": return json.dumps(value, separators=(\",\", \":\"), ensure_ascii=False)\n1414-    if name == \"html\": return html.escape(_stringify(value), quote=True).replace(\"&#x27;\", \"&apos;\")\n1415-    if name == \"uri\": return urllib.parse.quote(_stringify(value), safe=\"-_.~\")\n1416-    if name == \"urid\": return urllib.parse.unquote(_stringify(value))\n1417-    if name == \"base64\": return base64.b64encode(_stringify(value).encode()).decode()\n1418-    if name == \"base64d\": return base64.b64decode(_stringify(value)).decode()\n1419-    if name == \"csv\": return \",\".join('\"' + str(x).replace('\"', '\"\"') + '\"' if isinstance(x, str) else _stringify(x) for x in value)\n1420-    if name == \"tsv\": return \"\\t\".join(_stringify(x).replace(\"\\\\\", \"\\\\\\\\\").replace(\"\\n\", \"\\\\n\").replace(\"\\r\", \"\\\\r\").replace(\"\\t\", \"\\\\t\") for x in value)\n1421-    if name == \"sh\": return \"'\" + _stringify(value).replace(\"'\", \"'\\\\''\") + \"'\"\n1422-    raise RuntimeError(f\"unknown format @{name}\")\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_8","type":"command_execution","command":"/bin/bash -lc \"for q in '\"'^'\"\\\\.' '\"'^'\"\\\\[' '\"'^'\"\\\\{' '[+*/%]' '[-]' 'assignment' ; do echo ===\"'$q; timeout 25s bash -c \"JQ='\"\\\\\"'$PWD/jq python3 sources/run_conformance.py --select '\"\\\\\\\"\"'$q'\"\\\\\\\" --json\\\" > /tmp/out.json; rc=\"'$?; if [ $rc -eq 0 ]; then python3 -c '\"'import json;d=json.load(open(\\\"/tmp/out.json\\\"));print(d[\\\"summary\\\"]);[print(x) for x in d[\\\"cases\\\"]]'; else echo timed-\"'$rc; fi; done'","aggregated_output":"timed-1\n===^\\[\ntimed-124\n===^\\{\ntimed-124\n===[+*/%]\ntimed-1\n===[-]\ntimed-1\n===assignment\n{'pass': 0, 'fail': 0, 'error': 0, 'skip': 0}\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_15","type":"command_execution","command":"/bin/bash -lc \"sed -n '66,82p' jq_interpreter/evaluator.py; sed -n '355,370p' jq_interpreter/evaluator.py; sed -n '876,884p' jq_interpreter/evaluator.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_15","type":"command_execution","command":"/bin/bash -lc \"sed -n '66,82p' jq_interpreter/evaluator.py; sed -n '355,370p' jq_interpreter/evaluator.py; sed -n '876,884p' jq_interpreter/evaluator.py\"","aggregated_output":"        raise RuntimeError(program.message)\n    if isinstance(program, Array):\n        yield list(evaluate(program.expression, value))\n        return\n    if isinstance(program, Limit):\n        outputs = iter(evaluate(program.expression, value))\n        for _ in range(program.count):\n            try:\n                yield next(outputs)\n            except StopIteration:\n                break\n        return\n    raise RuntimeError(\"unknown compiled filter\")\n\ndef _node(node: Node, value: object, env: dict[str, object]) -> ValueStream:\n    op, a = node.operation, node.arguments\n    if op == \"identity\": yield value\n            if _truth(item): emitted = True; yield item\n        if not emitted: yield from _node(right, value, env)\n        return\n    if op in ('=', '|=', '+=', '-=', '*=', '/=', '%=', '//='):\n        if op == '=' and left.operation == 'slice':\n            for replacement in _node(right, value, env):\n                yield _assign_slice(left, value, replacement, env)\n            return\n        paths = _paths(left, value, env)\n        if not paths:\n            raise RuntimeError('Invalid path expression')\n        if op == '|=':\n            result = value\n            for path in sorted(paths, key=lambda path: tuple(\n                    -part if isinstance(part, int) else part for part in path)):\n                old = _get_path(result, path)\n                else: raise RuntimeError('cannot add values')\n            yield result\n        return\n    if name=='type': yield 'null' if value is None else 'boolean' if isinstance(value,bool) else 'number' if isinstance(value,(int,float)) else 'string' if isinstance(value,str) else 'array' if isinstance(value,list) else 'object'; return\n    if name=='not': yield not _truth(value); return\n    if name == 'have_decnum': yield True; return\n    if name in ('any', 'all'):\n        stream = _node(args[0], value, env) if args else iter(value if isinstance(value, list) else [])\n        desired = name == 'any'\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_16","type":"command_execution","command":"/bin/bash -lc \"sed -n '82,100p' jq_interpreter/evaluator.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_16","type":"command_execution","command":"/bin/bash -lc \"sed -n '82,100p' jq_interpreter/evaluator.py\"","aggregated_output":"    if op == \"identity\": yield value\n    elif op == \"literal\":\n        text=a[0]; special={\"true\":True,\"false\":False,\"null\":None,\"nan\":float(\"nan\"),\"infinite\":float(\"inf\"),\"-infinite\":float(\"-inf\"),\"-nan\":float(\"nan\")}; yield special[text] if text in special else json.loads(text)\n    elif op == \"string\": yield _decode_string(a[0], value, env)\n    elif op == \"format\": yield _apply_format(a[0], value)\n    elif op == \"format_template\":\n        # Interpolation is evaluated first; the formatter consumes the\n        # resulting string (not the original input value).\n        yield _apply_format(a[0], _decode_string(a[1], value, env))\n    elif op == \"var\":\n        if a[0] == '__loc__':\n            yield {'file': '<top-level>', 'line': 1}\n            return\n        if a[0] in env and not isinstance(env[a[0]], tuple):\n            bound = env[a[0]]\n            if isinstance(bound, Node): yield from _node(bound, value, env)\n            else: yield bound\n            return\n        if a[0] in env.get('__params__', {}):\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_17","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_17","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_18","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_18","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_19","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'have_decnum, -.' <<< '-0.12345678901234567890123456789'; ./jq -c '1E+1000 | tojson' <<< null; ./jq -c '\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .' <<< null; timeout 30s bash -c 'JQ=\\\"\"'$PWD/jq\" python3 sources/run_conformance.py --select \"reduce |foreach |def \" --json'\"' > /tmp/p4.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'));print(x['summary']);print(x['cases'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_19","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'have_decnum, -.' <<< '-0.12345678901234567890123456789'; ./jq -c '1E+1000 | tojson' <<< null; ./jq -c '\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .' <<< null; timeout 30s bash -c 'JQ=\\\"\"'$PWD/jq\" python3 sources/run_conformance.py --select \"reduce |foreach |def \" --json'\"' > /tmp/p4.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'));print(x['summary']);print(x['cases'])\nPY\"","aggregated_output":"false\n0.12345678901234568\n\"null\"\n\"string (\\\"☆☆☆☆☆☆☆☆\\\") cannot be negated\"\n\"string (\\\"xx☆☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxx☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxx☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxxxx☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxxxxxx☆☆☆☆...\\\") cannot be negated\"\n{'pass': 46, 'fail': 0, 'error': 0, 'skip': 2}\n[{'line': 1900, 'program': 'import \"a\" as foo; import \"b\" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a]', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['[\"a\",\"b\",\"c\",\"a\"]'], 'actual': []}, {'line': 1917, 'program': 'import \"data\" as $a; import \"data\" as $b; def f: {$a, $b}; f', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['{\"a\":[{\"this\":\"is a test\",\"that\":\"is too\"}],\"b\":[{\"this\":\"is a test\",\"that\":\"is too\"}]}'], 'actual': []}]\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_20","type":"agent_message","text":"The focused control/declaration cluster now passes (46 pass, 0 fail, 2 excluded), and the numeric capability branch is corrected to match this jq build’s non-decimal mode. I’m tightening the remaining expression and error-path mismatches before rerunning the full declared selectors."}}
{"type":"item.started","item":{"id":"item_21","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_21","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json\"","aggregated_output":"{\r\n  \"candidate\": [\r\n    \"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq\"\r\n  ],\r\n  \"corpus\": \"jq.test\",\r\n  \"summary\": {\r\n    \"pass\": 201,\r\n    \"fail\": 10,\r\n    \"error\": 0,\r\n    \"skip\": 13\r\n  },\r\n  \"cases\": [\r\n    {\r\n      \"line\": 1258,\r\n      \"program\": \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\",\r\n      \"status\": \"fail\",\r\n      \"detail\": \"output mismatch\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n        \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n        \"\\\"Cannot index number with number (0)\\\"\",\r\n        \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n        \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\",\r\n        \"\\\"Cannot index object with number (0)\\\"\",\r\n        \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n        \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"\r\n      ],\r\n      \"actual\": [\r\n        \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n        \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n        \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n        \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n        \"{\\\"a\\\":[{\\\"b\\\":5},1]}\",\r\n        \"\\\"Cannot index object with number (0)\\\"\",\r\n        \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n        \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"\r\n      ]\r\n    },\r\n    {\r\n      \"line\": 1900,\r\n      \"program\": \"import \\\"a\\\" as foo; import \\\"b\\\" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a]\",\r\n      \"status\": \"skip\",\r\n      \"detail\": \"declared in exclusions.txt\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"[\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"a\\\"]\"\r\n      ],\r\n      \"actual\": []\r\n    },\r\n    {\r\n      \"line\": 1904,\r\n      \"program\": \"import \\\"c\\\" as foo; [foo::a, foo::c]\",\r\n      \"status\": \"skip\",\r\n      \"detail\": \"declared in exclusions.txt\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"[0,\\\"acmehbah\\\"]\"\r\n      ],\r\n      \"actual\": []\r\n    },\r\n    {\r\n      \"line\": 1908,\r\n      \"program\": \"include \\\"c\\\"; [a, c]\",\r\n      \"status\": \"skip\",\r\n      \"detail\": \"declared in exclusions.txt\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"[0,\\\"acmehbah\\\"]\"\r\n      ],\r\n      \"actual\": []\r\n    },\r\n    {\r\n      \"line\": 1912,\r\n      \"program\": \"import \\\"data\\\" as $e; import \\\"data\\\" as $d; [$d[].this,$e[].that,$d::d[].this,$e::e[].that]|join(\\\";\\\")\",\r\n      \"status\": \"skip\",\r\n      \"detail\": \"declared in exclusions.txt\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"\\\"is a test;is too;is a test;is too\\\"\"\r\n      ],\r\n      \"actual\": []\r\n    },\r\n    {\r\n      \"line\": 1917,\r\n      \"program\": \"import \\\"data\\\" as $a; import \\\"data\\\" as $b; def f: {$a, $b}; f\",\r\n      \"status\": \"skip\",\r\n      \"detail\": \"declared in exclusions.txt\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"{\\\"a\\\":[{\\\"this\\\":\\\"is a test\\\",\\\"that\\\":\\\"is too\\\"}],\\\"b\\\":[{\\\"this\\\":\\\"is a test\\\",\\\"that\\\":\\\"is too\\\"}]}\"\r\n      ],\r\n      \"actual\": []\r\n    },\r\n    {\r\n      \"line\": 1921,\r\n      \"program\": \"include \\\"shadow1\\\"; e\",\r\n      \"status\": \"skip\",\r\n      \"detail\": \"declared in exclusions.txt\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"2\"\r\n      ],\r\n      \"actual\": []\r\n    },\r\n    {\r\n      \"line\": 1925,\r\n      \"program\": \"include \\\"shadow1\\\"; include \\\"shadow2\\\"; e\",\r\n      \"status\": \"skip\",\r\n      \"detail\": \"declared in exclusions.txt\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"3\"\r\n      ],\r\n      \"actual\": []\r\n    },\r\n    {\r\n      \"line\": 1929,\r\n      \"program\": \"import \\\"shadow1\\\" as f; import \\\"shadow2\\\" as f; import \\\"shadow1\\\" as e; [e::e, f::e]\",\r\n      \"status\": \"skip\",\r\n      \"detail\": \"declared in exclusions.txt\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"[2,3]\"\r\n      ],\r\n      \"actual\": []\r\n    },\r\n    {\r\n      \"line\": 1969,\r\n      \"program\": \"modulemeta\",\r\n      \"status\": \"skip\",\r\n      \"detail\": \"declared in exclusions.txt\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"{\\\"whatever\\\":null,\\\"deps\\\":[{\\\"as\\\":\\\"foo\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"a\\\"},{\\\"search\\\":\\\"./\\\",\\\"as\\\":\\\"d\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"d\\\"},{\\\"search\\\":\\\"./\\\",\\\"as\\\":\\\"d2\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"d\\\"},{\\\"search\\\":\\\"./../lib/jq\\\",\\\"as\\\":\\\"e\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"e\\\"},{\\\"search\\\":\\\"./../lib/jq\\\",\\\"as\\\":\\\"f\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"f\\\"},{\\\"as\\\":\\\"d\\\",\\\"is_data\\\":true,\\\"relpath\\\":\\\"data\\\"}],\\\"defs\\\":[\\\"a/0\\\",\\\"c/0\\\"]}\"\r\n      ],\r\n      \"actual\": []\r\n    },\r\n    {\r\n      \"line\": 1973,\r\n      \"program\": \"modulemeta | .deps | length\",\r\n      \"status\": \"skip\",\r\n      \"detail\": \"declared in exclusions.txt\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"6\"\r\n      ],\r\n      \"actual\": []\r\n    },\r\n    {\r\n      \"line\": 1977,\r\n      \"program\": \"modulemeta | .defs | length\",\r\n      \"status\": \"skip\",\r\n      \"detail\": \"declared in exclusions.txt\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"2\"\r\n      ],\r\n      \"actual\": []\r\n    },\r\n    {\r\n      \"line\": 1982,\r\n      \"program\": \"import \\\"syntaxerror\\\" as e; .\",\r\n      \"status\": \"skip\",\r\n      \"detail\": \"declared in exclusions.txt\",\r\n      \"expect_failure\": true,\r\n      \"expected\": [],\r\n      \"actual\": []\r\n    },\r\n    {\r\n      \"line\": 1993,\r\n      \"program\": \"import \\\"test_bind_order\\\" as check; check::check\",\r\n      \"status\": \"skip\",\r\n      \"detail\": \"declared in exclusions.txt\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"true\"\r\n      ],\r\n      \"actual\": []\r\n    },\r\n    {\r\n      \"line\": 2005,\r\n      \"program\": \"\\\"x\\\" * range(0; 12; 2) + \\\"\\u2606\\\" * 8 | try -. catch .\",\r\n      \"status\": \"fail\",\r\n      \"detail\": \"output mismatch\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"\\\"string (\\\\\\\"\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\\\\\\") cannot be negated\\\"\",\r\n        \"\\\"string (\\\\\\\"xx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\\\\\\") cannot be negated\\\"\",\r\n        \"\\\"string (\\\\\\\"xxxx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n        \"\\\"string (\\\\\\\"xxxxxx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n        \"\\\"string (\\\\\\\"xxxxxxxx\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n        \"\\\"string (\\\\\\\"xxxxxxxxxx\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\"\r\n      ],\r\n      \"actual\": [\r\n        \"\\\"string (\\\\\\\"\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\\\\\\") cannot be negated\\\"\",\r\n        \"\\\"string (\\\\\\\"xx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n        \"\\\"string (\\\\\\\"xxxx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n        \"\\\"string (\\\\\\\"xxxxxx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n        \"\\\"string (\\\\\\\"xxxxxxxx\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n        \"\\\"string (\\\\\\\"xxxxxxxxxx\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\"\r\n      ]\r\n    },\r\n    {\r\n      \"line\": 2014,\r\n      \"program\": \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\",\r\n      \"status\": \"fail\",\r\n      \"detail\": \"output mismatch\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"true\"\r\n      ],\r\n      \"actual\": [\r\n        \"false\"\r\n      ]\r\n    },\r\n    {\r\n      \"line\": 2196,\r\n      \"program\": \".[0] | tostring | . == if have_decnum then \\\"13911860366432393\\\" else \\\"13911860366432392\\\" end\",\r\n      \"status\": \"fail\",\r\n      \"detail\": \"output mismatch\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"true\"\r\n      ],\r\n      \"actual\": [\r\n        \"false\"\r\n      ]\r\n    },\r\n    {\r\n      \"line\": 2200,\r\n      \"program\": \".x | tojson | . == if have_decnum then \\\"13911860366432393\\\" else \\\"13911860366432392\\\" end\",\r\n      \"status\": \"fail\",\r\n      \"detail\": \"output mismatch\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"true\"\r\n      ],\r\n      \"actual\": [\r\n        \"false\"\r\n      ]\r\n    },\r\n    {\r\n      \"line\": 2224,\r\n      \"program\": \"-. | tojson == if have_decnum then \\\"-13911860366432393\\\" else \\\"-13911860366432392\\\" end\",\r\n      \"status\": \"fail\",\r\n      \"detail\": \"output mismatch\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"true\"\r\n      ],\r\n      \"actual\": [\r\n        \"false\"\r\n      ]\r\n    },\r\n    {\r\n      \"line\": 2232,\r\n      \"program\": \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\",\r\n      \"status\": \"fail\",\r\n      \"detail\": \"output mismatch\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"true\"\r\n      ],\r\n      \"actual\": [\r\n        \"false\"\r\n      ]\r\n    },\r\n    {\r\n      \"line\": 2241,\r\n      \"program\": \".[] as $n | $n+0 | [., tostring, . == $n]\",\r\n      \"status\": \"fail\",\r\n      \"detail\": \"output mismatch\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"[-9007199254740992,\\\"-9007199254740992\\\",true]\",\r\n        \"[-9007199254740992,\\\"-9007199254740992\\\",true]\",\r\n        \"[9007199254740992,\\\"9007199254740992\\\",true]\",\r\n        \"[9007199254740992,\\\"9007199254740992\\\",true]\",\r\n        \"[13911860366432392,\\\"13911860366432392\\\",true]\"\r\n      ],\r\n      \"actual\": [\r\n        \"[-9007199254740992.0,\\\"-9007199254740992.0\\\",false]\",\r\n        \"[-9007199254740992,\\\"-9007199254740992\\\",true]\",\r\n        \"[9007199254740992,\\\"9007199254740992\\\",true]\",\r\n        \"[9007199254740992.0,\\\"9007199254740992.0\\\",false]\",\r\n        \"[1.3911860366432392e+16,\\\"1.3911860366432392e+16\\\",false]\"\r\n      ]\r\n    },\r\n    {\r\n      \"line\": 2271,\r\n      \"program\": \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\",\r\n      \"status\": \"fail\",\r\n      \"detail\": \"output mismatch\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"true\"\r\n      ],\r\n      \"actual\": [\r\n        \"false\"\r\n      ]\r\n    },\r\n    {\r\n      \"line\": 2275,\r\n      \"program\": \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\",\r\n      \"status\": \"fail\",\r\n      \"detail\": \"output mismatch\",\r\n      \"expect_failure\": false,\r\n      \"expected\": [\r\n        \"true\"\r\n      ],\r\n      \"actual\": [\r\n        \"false\"\r\n      ]\r\n    }\r\n  ]\r\n}\r\n","exit_code":1,"status":"failed"}}
{"type":"item.started","item":{"id":"item_22","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],'\\\\n',c['expected'],'\\\\n',c['actual'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_22","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],'\\\\n',c['expected'],'\\\\n',c['actual'])\nPY\"","aggregated_output":"{'pass': 201, 'fail': 10, 'error': 0, 'skip': 13}\n1258 .[] | try (getpath([\"a\",0,\"b\"]) |= 5) catch . \n ['{\"a\":[{\"b\":5}]}', '{\"b\":0,\"a\":[{\"b\":5}]}', '\"Cannot index number with number (0)\"', '{\"a\":[{\"b\":5}]}', '\"Cannot index number with string (\\\\\"b\\\\\")\"', '\"Cannot index object with number (0)\"', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"c\":3,\"b\":5}]}'] \n ['{\"a\":[{\"b\":5}]}', '{\"b\":0,\"a\":[{\"b\":5}]}', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"b\":5},1]}', '\"Cannot index object with number (0)\"', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"c\":3,\"b\":5}]}']\n2005 \"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch . \n ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"'] \n ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\n2014 try (. + \"x\") catch . == if have_decnum then \"number (12345678901234567890123456...) and string (\\\"x\\\") cannot be added\" else \"number (12345678901234568000000000...) and string (\\\"x\\\") cannot be added\" end \n ['true'] \n ['false']\n2196 .[0] | tostring | . == if have_decnum then \"13911860366432393\" else \"13911860366432392\" end \n ['true'] \n ['false']\n2200 .x | tojson | . == if have_decnum then \"13911860366432393\" else \"13911860366432392\" end \n ['true'] \n ['false']\n2224 -. | tojson == if have_decnum then \"-13911860366432393\" else \"-13911860366432392\" end \n ['true'] \n ['false']\n2232 [1E+1000,-1E+1000 | tojson] == if have_decnum then [\"1E+1000\",\"-1E+1000\"] else [\"1.7976931348623157e+308\",\"-1.7976931348623157e+308\"] end \n ['true'] \n ['false']\n2241 .[] as $n | $n+0 | [., tostring, . == $n] \n ['[-9007199254740992,\"-9007199254740992\",true]', '[-9007199254740992,\"-9007199254740992\",true]', '[9007199254740992,\"9007199254740992\",true]', '[9007199254740992,\"9007199254740992\",true]', '[13911860366432392,\"13911860366432392\",true]'] \n ['[-9007199254740992.0,\"-9007199254740992.0\",false]', '[-9007199254740992,\"-9007199254740992\",true]', '[9007199254740992,\"9007199254740992\",true]', '[9007199254740992.0,\"9007199254740992.0\",false]', '[1.3911860366432392e+16,\"1.3911860366432392e+16\",false]']\n2271 [1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end \n ['true'] \n ['false']\n2275 [1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end \n ['true'] \n ['false']\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_23","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_23","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_24","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/interpreter.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_24","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/interpreter.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_25","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_25","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_26","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_26","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"{'pass': 206, 'fail': 5, 'error': 0, 'skip': 13}\n2005 \"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch . ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\n2014 try (. + \"x\") catch . == if have_decnum then \"number (12345678901234567890123456...) and string (\\\"x\\\") cannot be added\" else \"number (12345678901234568000000000...) and string (\\\"x\\\") cannot be added\" end ['false']\n2232 [1E+1000,-1E+1000 | tojson] == if have_decnum then [\"1E+1000\",\"-1E+1000\"] else [\"1.7976931348623157e+308\",\"-1.7976931348623157e+308\"] end ['false']\n2271 [1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end ['false']\n2275 [1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end ['false']\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_27","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | tojson]' <<< null; ./jq -c '[1E+1000,-1E+1000 | tojson] == [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"]' <<< null; ./jq -c 'try (. + \\\"x\\\") catch .' <<< 123456789012345678901234567890\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_27","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | tojson]' <<< null; ./jq -c '[1E+1000,-1E+1000 | tojson] == [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"]' <<< null; ./jq -c 'try (. + \\\"x\\\") catch .' <<< 123456789012345678901234567890\"","aggregated_output":"[179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368,\"-179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368\"]\nfalse\n\"number (123456789012345677877719597056) and string (\\\"x\\\") cannot be added\"\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_28","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nfrom decimal import Decimal\nx=float(123456789012345678901234567890)\nprint(x,repr(x),format(Decimal(str(x)),'.0f'))\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_28","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nfrom decimal import Decimal\nx=float(123456789012345678901234567890)\nprint(x,repr(x),format(Decimal(str(x)),'.0f'))\nPY\"","aggregated_output":"1.2345678901234568e+29 1.2345678901234568e+29 123456789012345680000000000000\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_29","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_29","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_30","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | tojson]' <<< null; ./jq -c 'try (. + \\\"x\\\") catch .' <<< 123456789012345678901234567890; ./jq -c '\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .' <<< null\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_30","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | tojson]' <<< null; ./jq -c 'try (. + \\\"x\\\") catch .' <<< 123456789012345678901234567890; ./jq -c '\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .' <<< null\"","aggregated_output":"[179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368,\"-1.7976931348623157e+308\"]\n\"number (123456789012345680000000000000) and string (\\\"x\\\") cannot be added\"\n\"string (\\\"☆☆☆☆☆☆☆☆\\\") cannot be negated\"\n\"string (\\\"xx☆☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxx☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxx☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxxxx☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxxxxxx☆☆☆☆...\\\") cannot be negated\"\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_31","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nfrom jq_interpreter.parser import parse\nprint(parse('[1E+1000,-1E+1000 | tojson]'))\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_31","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nfrom jq_interpreter.parser import parse\nprint(parse('[1E+1000,-1E+1000 | tojson]'))\nPY\"","aggregated_output":"Node(operation='array', arguments=(Node(operation='binary', arguments=(',', Node(operation='literal', arguments=('1E+1000',)), Node(operation='binary', arguments=('|', Node(operation='unary', arguments=('-', Node(operation='literal', arguments=('1E+1000',)))), Node(operation='call', arguments=('tojson', ())))))),))\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_32","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_32","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_33","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | tojson]' <<< null; python3 - <<'PY'\nimport json,subprocess,os,sys\nfor name,sel in [('p4',r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')]:\n p=subprocess.run([sys.executable,'sources/run_conformance.py','--select',sel,'--json'],capture_output=True,text=True,env={**os.environ,'JQ':os.path.abspath('jq')})\n d=json.loads(p.stdout); print(d['summary']);\n for c in d['cases']:\n  if c['status']=='fail': print(c['line'],c['actual'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_33","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | tojson]' <<< null; python3 - <<'PY'\nimport json,subprocess,os,sys\nfor name,sel in [('p4',r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')]:\n p=subprocess.run([sys.executable,'sources/run_conformance.py','--select',sel,'--json'],capture_output=True,text=True,env={**os.environ,'JQ':os.path.abspath('jq')})\n d=json.loads(p.stdout); print(d['summary']);\n for c in d['cases']:\n  if c['status']=='fail': print(c['line'],c['actual'])\nPY\"","aggregated_output":"{'pass': 206, 'fail': 5, 'error': 0, 'skip': 13}\n205 ['[\"KO\",\"OK\"]']\n2005 ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\n2014 ['false']\n2200 ['false']\n2224 ['false']\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_34","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'try (. + \\\"x\\\") catch . == \\\"number (12345678901234568000000000...) and string (\\\\\\\\\\\"x\\\\\\\\\\\") cannot be added\\\"' <<< 123456789012345678901234567890; ./jq -c '.x | tojson | . == \\\"13911860366432392\\\"' <<< '{\\\"x\\\":13911860366432393}'; ./jq -c '-. | tojson == \\\"-13911860366432392\\\"' <<< 13911860366432393; python3 - <<'PY'\nimport sys;sys.path.insert(0,'.');from jq_interpreter.parser import parse\nprint(parse('try (. + \\\"x\\\") catch . == if have_decnum then \\\"a\\\" else \\\"b\\\" end'))\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_34","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'try (. + \\\"x\\\") catch . == \\\"number (12345678901234568000000000...) and string (\\\\\\\\\\\"x\\\\\\\\\\\") cannot be added\\\"' <<< 123456789012345678901234567890; ./jq -c '.x | tojson | . == \\\"13911860366432392\\\"' <<< '{\\\"x\\\":13911860366432393}'; ./jq -c '-. | tojson == \\\"-13911860366432392\\\"' <<< 13911860366432393; python3 - <<'PY'\nimport sys;sys.path.insert(0,'.');from jq_interpreter.parser import parse\nprint(parse('try (. + \\\"x\\\") catch . == if have_decnum then \\\"a\\\" else \\\"b\\\" end'))\nPY\"","aggregated_output":"false\nfalse\nNode(operation='binary', arguments=('==', Node(operation='try', arguments=(Node(operation='binary', arguments=('+', Node(operation='identity', arguments=()), Node(operation='string', arguments=('\"x\"',)))), Node(operation='identity', arguments=()))), Node(operation='if', arguments=(Node(operation='call', arguments=('have_decnum', ())), Node(operation='string', arguments=('\"a\"',)), Node(operation='string', arguments=('\"b\"',))))))\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_35","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'try (. + \\\"x\\\") catch .' <<< 123456789012345678901234567890; ./jq -c '.x | tojson' <<< '{\\\"x\\\":13911860366432393}'; ./jq -c '-. | tojson' <<< 13911860366432393\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_35","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'try (. + \\\"x\\\") catch .' <<< 123456789012345678901234567890; ./jq -c '.x | tojson' <<< '{\\\"x\\\":13911860366432393}'; ./jq -c '-. | tojson' <<< 13911860366432393\"","aggregated_output":"\"1.3911860366432392e+16\"\n\"-1.3911860366432392e+16\"\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_36","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\ns='12345678901234568000000000';print(len(s))\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_36","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\ns='12345678901234568000000000';print(len(s))\nPY\"","aggregated_output":"26\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_37","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_37","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_38","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'))\nfor c in x['cases']:\n if c['status']=='fail' and c['line']<1000: print(c)\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_38","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'))\nfor c in x['cases']:\n if c['status']=='fail' and c['line']<1000: print(c)\nPY\"","aggregated_output":"","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_39","type":"command_execution","command":"/bin/bash -lc 'set -o pipefail; JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%' --json > /tmp/p3.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p3.json'));print(x['summary']);\nfor c in x['cases'][:40]: print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_39","type":"command_execution","command":"/bin/bash -lc 'set -o pipefail; JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%' --json > /tmp/p3.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p3.json'));print(x['summary']);\nfor c in x['cases'][:40]: print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"{'pass': 429, 'fail': 26, 'error': 0, 'skip': 9}\r\n205 try [\"OK\", (.[] | error)] catch [\"KO\", .] ['[\"KO\",\"OK\"]']\r\n661 9E999999999, 9999999999E999999990, 1E-999999999, 0.000000001E-999999990 ['179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368', '179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368', '0', '0']\r\n689 [(infinite, -infinite) % (1, -1, infinite)] []\r\n1201 pick(.a.b.c) []\r\n1306 .[] = 1 []\r\n1421 [(\"foo\" | contains(\"foo\")), (\"foobar\" | contains(\"foo\")), (\"foo\" | contains(\"foobar\"))] ['[false,false,false]']\r\n1625 [.[] * \"abc\"] ['[-1.7976931348623157e+308,-1.7976931348623157e+308,\"\",\"\",\"abc\",\"abc\",\"abcabcabc\",\"abcabcabcabcabcabcabcabcabcabc\"]']\r\n1629 [. * (nan,-nan)] ['[-1.7976931348623157e+308,-1.7976931348623157e+308]']\r\n1661 [({foo: 12, bar:13} | contains({foo: 12})), ({foo: 12} | contains({})), ({foo: 12, bar:13} | contains({baz:14}))] ['[false,false,false]']\r\n1693 [min, max, min_by(.[1]), max_by(.[1]), min_by(.[2]), max_by(.[2])] ['[[1,3,\"a\"],[4,2,\"a\"],[3,1,\"a\"],[3,1,\"a\"],[2,4,\"a\"],[2,4,\"a\"]]']\r\n1697 [min,max,min_by(.),max_by(.)] ['[null,null,[],[]]']\r\n1847 strftime(\"%A, %B %d, %Y\") []\r\n1851 strftime(\"%Y-%m-%dT%H:%M:%SZ\") []\r\n1889 [strptime(\"%Y-%m-%dT%H:%M:%SZ\")|(.,mktime)] []\r\n1895 last(range(365 * 67)|(\"1970-03-01T01:02:03Z\"|strptime(\"%Y-%m-%dT%H:%M:%SZ\")|mktime) + (86400 * .)|strftime(\"%Y-%m-%dT%H:%M:%SZ\")|strptime(\"%Y-%m-%dT%H:%M:%SZ\")) []\r\n1900 import \"a\" as foo; import \"b\" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a] []\r\n1904 import \"c\" as foo; [foo::a, foo::c] []\r\n1908 include \"c\"; [a, c] []\r\n1912 import \"data\" as $e; import \"data\" as $d; [$d[].this,$e[].that,$d::d[].this,$e::e[].that]|join(\";\") []\r\n1917 import \"data\" as $a; import \"data\" as $b; def f: {$a, $b}; f []\r\n1929 import \"shadow1\" as f; import \"shadow2\" as f; import \"shadow1\" as e; [e::e, f::e] []\r\n1973 modulemeta | .deps | length []\r\n1977 modulemeta | .defs | length []\r\n1982 import \"syntaxerror\" as e; . []\r\n2005 \"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch . ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\r\n2089 INDEX(range(5)|[., \"foo\\(.)\"]; .[0]) []\r\n2093 JOIN({\"0\":[0,\"abc\"],\"1\":[1,\"bcd\"],\"2\":[2,\"def\"],\"3\":[3,\"efg\"],\"4\":[4,\"fgh\"]}; .[0]|tostring) []\r\n2135 (.. | select(type == \"object\" and has(\"b\") and (.b | type) == \"array\")|.b) |= .[0] []\r\n2161 \"-1\"|IN(builtins[] / \"/\"|.[1]) []\r\n2165 all(builtins[] / \"/\"; .[1]|tonumber >= 0) []\r\n2169 builtins|any(.[:1] == \"_\") []\r\n2425 [walk(.,1)] ['[{\"x\":0}]']\r\n2430 walk(select(IN({}, []) | not)) []\r\n2455 [[range(10)] | .[1.1,1.5,1.7]] []\r\n2548 strflocaltime(\"\" | ., @uri) []\r\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_40","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'contains(\\\"foo\\\")' <<< '\\\"foo\\\"'; ./jq -c '({foo:12,bar:13}|contains({foo:12}))' <<< '{}'; ./jq -c 'try [\\\"OK\\\", (.[] | error)] catch [\\\"KO\\\", .]' <<< '{\\\"a\\\":[\\\"b\\\"]}'\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_40","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'contains(\\\"foo\\\")' <<< '\\\"foo\\\"'; ./jq -c '({foo:12,bar:13}|contains({foo:12}))' <<< '{}'; ./jq -c 'try [\\\"OK\\\", (.[] | error)] catch [\\\"KO\\\", .]' <<< '{\\\"a\\\":[\\\"b\\\"]}'\"","aggregated_output":"true\n[\"KO\",\"OK\"]\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_41","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nfrom jq_interpreter.parser import parse\nprint(parse('try [\\\"OK\\\", (.[] | error)] catch [\\\"KO\\\", .]'))\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_41","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nfrom jq_interpreter.parser import parse\nprint(parse('try [\\\"OK\\\", (.[] | error)] catch [\\\"KO\\\", .]'))\nPY\"","aggregated_output":"","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_42","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_42","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_43","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_43","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_44","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4b.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4b.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_44","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4b.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4b.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"{'pass': 208, 'fail': 3, 'error': 0, 'skip': 13}\r\n2005 \"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch . ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\r\n2271 [1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end ['false']\r\n2275 [1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end ['false']\r\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_45","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | abs | tojson]' <<< null; ./jq -c '[1E+1000,-1E+1000 | length | tojson]' <<< null\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_45","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | abs | tojson]' <<< null; ./jq -c '[1E+1000,-1E+1000 | length | tojson]' <<< null\"","aggregated_output":"[179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368,\"1.7976931348623157e+308\"]\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_46","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_46","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_47","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_47","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_48","type":"command_execution","command":"/bin/bash -lc \"./jq -c '\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .' <<< null; ./jq -c '[1E+1000,-1E+1000 | abs | tojson] | unique == [\\\"1.7976931348623157e+308\\\"]' <<< null; pytest -q\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_48","type":"command_execution","command":"/bin/bash -lc \"./jq -c '\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .' <<< null; ./jq -c '[1E+1000,-1E+1000 | abs | tojson] | unique == [\\\"1.7976931348623157e+308\\\"]' <<< null; pytest -q\"","aggregated_output":"\"string (\\\"☆☆☆☆☆☆☆☆\\\") cannot be negated\"\n\"string (\\\"xx☆☆☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxx☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxx☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxxxx☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxxxxxx☆☆☆☆...\\\") cannot be negated\"\ntrue\n................................                                         [100%]\n32 passed in 2.67s\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_49","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4c.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4c.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_49","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4c.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4c.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"{'pass': 210, 'fail': 1, 'error': 0, 'skip': 13}\n2005 \"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch . ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_50","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4c.json'))\nfor c in x['cases']:\n if c['status']=='fail':\n  print(repr(c['expected'])); print(repr(c['actual']));\n  for a,b in zip(c['expected'],c['actual']): print(a==b,len(a),len(b),a,b)\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_50","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4c.json'))\nfor c in x['cases']:\n if c['status']=='fail':\n  print(repr(c['expected'])); print(repr(c['actual']));\n  for a,b in zip(c['expected'],c['actual']): print(a==b,len(a),len(b),a,b)\nPY\"","aggregated_output":"['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\n['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\nTrue 41 41 \"string (\\\"☆☆☆☆☆☆☆☆\\\") cannot be negated\" \"string (\\\"☆☆☆☆☆☆☆☆\\\") cannot be negated\"\nFalse 43 46 \"string (\\\"xx☆☆☆☆☆☆☆☆\\\") cannot be negated\" \"string (\\\"xx☆☆☆☆☆☆☆☆...\\\") cannot be negated\"\nTrue 46 46 \"string (\\\"xxxx☆☆☆☆☆☆...\\\") cannot be negated\" \"string (\\\"xxxx☆☆☆☆☆☆...\\\") cannot be negated\"\nTrue 48 48 \"string (\\\"xxxxxx☆☆☆☆☆☆...\\\") cannot be negated\" \"string (\\\"xxxxxx☆☆☆☆☆☆...\\\") cannot be negated\"\nTrue 49 49 \"string (\\\"xxxxxxxx☆☆☆☆☆...\\\") cannot be negated\" \"string (\\\"xxxxxxxx☆☆☆☆☆...\\\") cannot be negated\"\nTrue 50 50 \"string (\\\"xxxxxxxxxx☆☆☆☆...\\\") cannot be negated\" \"string (\\\"xxxxxxxxxx☆☆☆☆...\\\") cannot be negated\"\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_51","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_51","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.completed","item":{"id":"item_52","type":"agent_message","text":"The declaration/control gate is down to a single diagnostic-format mismatch, which I’ve isolated to jq’s Unicode error truncation boundary and corrected. The project’s own 32 tests remain green. I’m doing the final authoritative reruns now; the expression slice still has broader evaluator failures that I’m measuring rather than masking."}}
{"type":"item.started","item":{"id":"item_53","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4final.json; python3 - <<'PY'\nimport json\nprint(json.load(open('/tmp/p4final.json'))['summary'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_53","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4final.json; python3 - <<'PY'\nimport json\nprint(json.load(open('/tmp/p4final.json'))['summary'])\nPY\"","aggregated_output":"{'pass': 211, 'fail': 0, 'error': 0, 'skip': 13}\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_54","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%' --json > /tmp/p3final.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p3final.json')); print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_54","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%' --json > /tmp/p3final.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p3final.json')); print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'])\nPY\"","aggregated_output":"{'pass': 435, 'fail': 20, 'error': 0, 'skip': 9}\r\n661 9E999999999, 9999999999E999999990, 1E-999999999, 0.000000001E-999999990\r\n689 [(infinite, -infinite) % (1, -1, infinite)]\r\n1201 pick(.a.b.c)\r\n1306 .[] = 1\r\n1693 [min, max, min_by(.[1]), max_by(.[1]), min_by(.[2]), max_by(.[2])]\r\n1697 [min,max,min_by(.),max_by(.)]\r\n1847 strftime(\"%A, %B %d, %Y\")\r\n1851 strftime(\"%Y-%m-%dT%H:%M:%SZ\")\r\n1889 [strptime(\"%Y-%m-%dT%H:%M:%SZ\")|(.,mktime)]\r\n1895 last(range(365 * 67)|(\"1970-03-01T01:02:03Z\"|strptime(\"%Y-%m-%dT%H:%M:%SZ\")|mktime) + (86400 * .)|strftime(\"%Y-%m-%dT%H:%M:%SZ\")|strptime(\"%Y-%m-%dT%H:%M:%SZ\"))\r\n2089 INDEX(range(5)|[., \"foo\\(.)\"]; .[0])\r\n2093 JOIN({\"0\":[0,\"abc\"],\"1\":[1,\"bcd\"],\"2\":[2,\"def\"],\"3\":[3,\"efg\"],\"4\":[4,\"fgh\"]}; .[0]|tostring)\r\n2135 (.. | select(type == \"object\" and has(\"b\") and (.b | type) == \"array\")|.b) |= .[0]\r\n2161 \"-1\"|IN(builtins[] / \"/\"|.[1])\r\n2165 all(builtins[] / \"/\"; .[1]|tonumber >= 0)\r\n2169 builtins|any(.[:1] == \"_\")\r\n2425 [walk(.,1)]\r\n2430 walk(select(IN({}, []) | not))\r\n2455 [[range(10)] | .[1.1,1.5,1.7]]\r\n2548 strflocaltime(\"\" | ., @uri)\r\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_55","type":"agent_message","text":"RESULT: FAILED\n\nFILES CHANGED:\n- jq_interpreter/evaluator.py\n- jq_interpreter/interpreter.py\n- jq_interpreter/parser.py\n\nSUMMARY:\nPARSE-004 passes: 211 passed, 0 failed, 13 skipped. Project tests pass: 32 passed.\n\nPARSE-003 remains failing: 435 passed, 20 failed, 9 skipped.\n\nBLOCKERS:\n- Remaining expression/evaluator mismatches include numeric overflow formatting, path assignment, builtins, datetime functions, and advanced path expressions.\n\nFAILURE_SUMMARY: PARSE-003 conformance still has 20 failures.\nFAILURE_DETAIL: The parser/evaluator repair improved the scoped result, but the expression acceptance gate is not yet green. Further evaluator work is required."}}
{"type":"turn.completed","usage":{"input_tokens":6243850,"cached_input_tokens":6091008,"cache_write_input_tokens":0,"output_tokens":15670,"reasoning_output_tokens":5873}}
