---
Function {
 argument: None,
 arguments: FunctionArguments {
  arguments: [
   FunctionArgument {
    identifier: "vde2",
    default: None,
   },
   FunctionArgument {
    identifier: "tesseract4",
    default: None,
   },
   FunctionArgument {
    identifier: "socat",
    default: None,
   },
   FunctionArgument {
    identifier: "qemu_test",
    default: None,
   },
   FunctionArgument {
    identifier: "netpbm",
    default: None,
   },
   FunctionArgument {
    identifier: "libtiff",
    default: None,
   },
   FunctionArgument {
    identifier: "imagemagick_light",
    default: None,
   },
   FunctionArgument {
    identifier: "coreutils",
    default: None,
   },
   FunctionArgument {
    identifier: "qemu_pkg",
    default: Some(
     Variable {
      identifier: "qemu_test",
      position: (4, 14),
     },
    ),
   },
   FunctionArgument {
    identifier: "enableOCR",
    default: Some(
     Variable {
      identifier: "false",
      position: (3, 15),
     },
    ),
   },
   FunctionArgument {
    identifier: "python3Packages",
    default: None,
   },
   FunctionArgument {
    identifier: "lib",
    default: None,
   },
  ],
  ellipsis: false,
 },
 definition: FunctionApplication {
  function: PropertyAccess {
   expression: Variable {
    identifier: "python3Packages",
    position: (15, 1),
   },
   attribute_path: AttributePath {
    attributes: [
     Raw {
      content: "buildPythonApplication",
      position: (15, 17),
     },
    ],
   },
   default: None,
  },
  arguments: [
   Map {
    bindings: [
     KeyValue(
      AttributePath {
       attributes: [
        Raw {
         content: "pname",
         position: (16, 3),
        },
       ],
      },
      String {
       parts: [
        Raw {
         content: "nixos-test-driver",
         position: (16, 12),
        },
       ],
      },
     ),
     KeyValue(
      AttributePath {
       attributes: [
        Raw {
         content: "version",
         position: (17, 3),
        },
       ],
      },
      String {
       parts: [
        Raw {
         content: "1.1",
         position: (17, 14),
        },
       ],
      },
     ),
     KeyValue(
      AttributePath {
       attributes: [
        Raw {
         content: "src",
         position: (18, 3),
        },
       ],
      },
      Path {
       parts: [
        Raw {
         content: "./.",
         position: (18, 9),
        },
       ],
      },
     ),
     KeyValue(
      AttributePath {
       attributes: [
        Raw {
         content: "propagatedBuildInputs",
         position: (20, 3),
        },
       ],
      },
      BinaryOperation {
       operator: Concatenation,
       operands: [
        List {
         elements: [
          Variable {
           identifier: "coreutils",
           position: (20, 29),
          },
          Variable {
           identifier: "netpbm",
           position: (20, 39),
          },
          PropertyAccess {
           expression: Variable {
            identifier: "python3Packages",
            position: (20, 46),
           },
           attribute_path: AttributePath {
            attributes: [
             Raw {
              content: "colorama",
              position: (20, 62),
             },
            ],
           },
           default: None,
          },
          PropertyAccess {
           expression: Variable {
            identifier: "python3Packages",
            position: (20, 71),
           },
           attribute_path: AttributePath {
            attributes: [
             Raw {
              content: "ptpython",
              position: (20, 87),
             },
            ],
           },
           default: None,
          },
          Variable {
           identifier: "qemu_pkg",
           position: (20, 96),
          },
          Variable {
           identifier: "socat",
           position: (20, 105),
          },
          Variable {
           identifier: "vde2",
           position: (20, 111),
          },
         ],
         position: (20, 27),
        },
        FunctionApplication {
         function: PropertyAccess {
          expression: Variable {
           identifier: "lib",
           position: (21, 9),
          },
          attribute_path: AttributePath {
           attributes: [
            Raw {
             content: "optionals",
             position: (21, 13),
            },
           ],
          },
          default: None,
         },
         arguments: [
          Variable {
           identifier: "enableOCR",
           position: (21, 23),
          },
          List {
           elements: [
            Variable {
             identifier: "imagemagick_light",
             position: (21, 35),
            },
            Variable {
             identifier: "tesseract4",
             position: (21, 53),
            },
           ],
           position: (21, 33),
          },
         ],
        },
       ],
       position: (21, 5),
      },
     ),
     KeyValue(
      AttributePath {
       attributes: [
        Raw {
         content: "doCheck",
         position: (23, 3),
        },
       ],
      },
      Variable {
       identifier: "true",
       position: (23, 13),
      },
     ),
     KeyValue(
      AttributePath {
       attributes: [
        Raw {
         content: "checkInputs",
         position: (24, 3),
        },
       ],
      },
      With {
       expression: Variable {
        identifier: "python3Packages",
        position: (24, 22),
       },
       target: List {
        elements: [
         Variable {
          identifier: "mypy",
          position: (24, 41),
         },
         Variable {
          identifier: "pylint",
          position: (24, 46),
         },
         Variable {
          identifier: "black",
          position: (24, 53),
         },
        ],
        position: (24, 39),
       },
       position: (24, 17),
      },
     ),
     KeyValue(
      AttributePath {
       attributes: [
        Raw {
         content: "checkPhase",
         position: (25, 3),
        },
       ],
      },
      String {
       parts: [
        Raw {
         content: "mypy --disallow-untyped-defs \\\n      --no-implicit-optional \\\n      --ignore-missing-imports ",
         position: (26, 1),
        },
        Expression {
         expression: Variable {
          identifier: "src",
          position: (28, 38),
         },
        },
        Raw {
         content: "/test_driver\npylint --errors-only --enable=unused-import ",
         position: (28, 42),
        },
        Expression {
         expression: Variable {
          identifier: "src",
          position: (29, 51),
         },
        },
        Raw {
         content: "/test_driver\nblack --check --diff ",
         position: (29, 55),
        },
        Expression {
         expression: Variable {
          identifier: "src",
          position: (30, 28),
         },
        },
        Raw {
         content: "/test_driver\n",
         position: (30, 32),
        },
       ],
      },
     ),
    ],
    recursive: true,
    position: (15, 40),
   },
  ],
 },
 position: (1, 1),
}